首页 > 数据库 >数据库学习笔记 (本数据库学习笔记以SQL sever 2019 为例进行学习) 20220906 第五节课

数据库学习笔记 (本数据库学习笔记以SQL sever 2019 为例进行学习) 20220906 第五节课

时间:2022-09-07 19:35:43浏览次数:73  
标签:关系 候选 DBMS 数据库 笔记 元组 学习 完整性 属性

通过一个表,抽象出表的关系模式:
image

列是同质:即每一列中的分量来自同一域,是同一类型的数据
列位置互换性:区分一列是靠列名
行位置互换性:区分哪一行是靠某一或某几列的值(关键字/键字/码字 )
关系是以内容(名字或值)来区分的而不是属性在关系的位置来区分
关系的特性:
关系的任意两个元组不能完全相同。现实应用中,表(Table)可能并不完全遵守此特性
元组相同是指两个元组的每个分量都相同。
属性不可再分特性:又被称为关系第一范式。
候选码/候选键 :
关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码。
主码/主键:
当有多个候选码时,可以选定一个作为主码。
DBMS以主码为主要线索管理关系中的名个元组。
主属性与非主属性:
包含在任何一个候选码中的属性被称作主属性,而其他属性被称作非主属性
最简单的,候选码只包含一个属性
最极端的,所有属性构成这个关系的候选码,称为全码。
外码/外键:
关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外键
两个关系通常是靠外码连接起来的。
实体完整性:
关系的主码中的属性值不能为空值。
空值:不知道或无意义的值。
意义:关系中的元组对应到现实世界相互之间可区分的一个个个体,这些个体是通过主码来唯一标识的;若主码为空,则出现不可标识的个体,这是不允许的。
参照完整性;
如果关系R1的外码Fk与关系R2的主码Pk相对应,则R1中的每一个元组的Fk值或者等于R2中某个元组的Pk值,或者为空值
意义:如果关系R1的某个元组t1参照了关系R2的某个元组t2,则t2必须存在.
用户自定义完整性:
用户针对具体的应用环境定义的完整性约束条件.
DBMS对关系完整性的支持:
实体完整性和参照完整性由DBMS系统白动支持
DBMS系统通常提供了如下机制:
(1)它使用户可以自行定义有关的完整性约束条件
(2)当有更新操作发生时,DBMS将自动按照完整性约束条件检验更新操作的正确性,即是否符合用户自定义的完整性。
image

标签:关系,候选,DBMS,数据库,笔记,元组,学习,完整性,属性
From: https://www.cnblogs.com/MHRLM/p/16666953.html

相关文章

  • 【笔记】拓扑排序(Ⅱ)
    题单0X00P7860[COCI2015-2016#2]ARTUR好题。首先考虑本题与拓扑排序有和关系。可以想到,某些棍子的先后移动顺序是有限制的。比如:这里红色的必须比蓝色的先移动,因为......
  • 学习python-Day56
    今日学习内容补充:JSON知识点JSON是JavaScript(JavaScriptObjectNotation)是轻量级的文本数据交换的格式,JSON解析器和JSON支持许多不同的编程语言。独立于其......
  • python学习(常用库与IO操作)
    一、模块与包1、定义:package:针对代码结构的组织,一个包里面可以拥有很多的python文件module:一个python文件就是一个模块 2、概念:    二、模块之间的引用一......
  • C++ 由快排学习到的的随机数等知识
    起:力扣的912题数组排序,想着先用快速排序来写写,在实际用c++编写的时候,有一些之前没注意到的细节问题造成了一些麻烦。912.排序数组-力扣(LeetCode)   快排......
  • 数据库三大范式通俗理解
    第一范式(1NF):字段不可分;第二范式(2NF):有主键,非主键字段依赖主键;第三范式(3NF):非主键字段不能相互依赖 https://baijiahao.baidu.com/s?id=1703973144064369296 ......
  • Python简洁语法笔记
    defaultdict需要构造类似{k1:{v11,v12,v13,...},k2:{v21,v22,v23,...},...}结构的数据时,可以用collections.defaultdict:fromcollectionsimportdefaultdict......
  • 学习:Fiddler抓包在测试领域的四大应用
    抓包的意义:1、抓包用于定位前后端的BUG2、弱网测试3、接口测试或接口调试4、线上调试或网络挟持抓包的原理fiddler一打开自动打开计算机代理服务器抓包:数据报文。......
  • TP6框架--CRMEB学习笔记:项目初始化+环境配置
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助最近在研究一个基于TP6的框架CRMEB,这里分享下我的开发心得首先要获取原始项目文件这里是git地址https:......
  • 开源协同OA开发平台:OA办公系统内部的云笔记
    目前市面上有许许多多的云笔记产品,所谓云笔记,主要的作用就是记录个人的备忘需求,比如每天的日程安排、突如其来的灵感、生活笔记等等,只需要一个账号,就可以多平台通用。除了......
  • JS笔记
     1.js获取map的键:bosType:"353E3C6E"dynamic_Field37:falsedynamic_Field39:bankAccountNumber:"45001604255060414843"bosType:"FB326E5E"id:"KggAA......