问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

解释一下数据库完整性约束条件的作用对象的列,元组,关系?

发布网友 发布时间:2022-05-13 20:46

我来回答

1个回答

热心网友 时间:2023-10-27 07:05

您好,关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。

一、实体完整性(Entity Integrity)
规则2.1 实体完整性规则 若属性A是基本关系R的主属性,则属性A不能取空值。
例如在关系“SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)”中,“研究生姓名POSTGRADUATE”属性为主码(假设研究生不会重名),则“研究生姓名”不能取空值。
实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。例如学生选课关系“选修(学号,课程号,成绩)”中,“学号、课程号”为主码,则“学号”和“课程号”两个属性都不能取空值。
对于实体完整性规则说明如下:
(1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。例如学生关系对应于学生的集合。
(2)现实世界中的实体是可区分的,即它们具有某种唯一性标识。
(3)相应地,关系模型中以主码作为唯一性标识。
(4)主码中的属性即主属性不能取空值。所谓空值就是“不知道”或“无意义”的值。如果主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性。

二、参照完整性(Referential Integrity)
现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。这样就自然存在着关系与关系间的引用。先来看三个例子。
例1 学生实体和专业实体可以用下面的关系表示,其中主码用下划线标识:
学生(学号,姓名,性别,专业号,年龄)
专业(专业号,专业名)
这两个关系之间存在着属性的引用,即学生关系引用了专业关系的主码“专业号”。显然,学生关系中的“专业号”值必须是确实存在的专业的专业号,即专业关系中有该专业的记录。这也就是说,学生关系中的某个属性的取值需要参照专业关系的属性取值。
规则2.2 参照完整性规则 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
·或者取空值(F的每个属性值均为空值);
·或者等于S中某个元组的主码值。
三、用户定义的完整性(User-defined Integrity)
任何关系数据库系统都应该支持实体完整性和参照完整性。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。例如某个属性必须取唯一值、某些属性值之间应满足一定的函数关系、某个属性的取值范围在 0~100之间等。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
nfc技术可以把id卡的信息写入手机吗? 不知情的情况下不小心把公交车卡和手机贴在一起,居然读出了公交卡的余额... 奥运会李宁点燃火炬的时候在奔跑中,为啥一会快一会慢的,故意的还是节奏... 糖果的派对是什么意思 贵州的简称是什么字 强制执行公证执行受理法院明显不能授理但由于受了原告的钱所以... 玺悦怎么组成语? cv是处女的意思吗? CV圈跟配音圈的区别,主要区别就是圈子大小 ...我已经去法院申请强制执行了,要多久才能拿到钱? 如何将视频文件的内容剪切下来 怎样在同一部手机上用两个微信!怎么才能下载另一个! 一个手机怎么弄两个怎么下载 手机上二个微信怎么下载 手机有没有ip地址。? 怎样在同一部手机上用两个微信!怎么才能下载另一个! 校园卡的流量是自开通时间开始算吗 皮肤夜间瘙痒是怎么回事 全自动定压补水排气装置全自动定压补水排气机组,北京天御太和环境技术有限公司的电话? 22.32.53.95.70这些数都是两位数吗 个位上的数字比十位上的大2的数是什么? 把数位顺序表补充完整一级万级个级还有要填的是数位级数单位 安卓popupwindow 内多列listview宽度怎么适应? 数学个级数位有多少个 android listview 如何给listview里的textView设置自定义字体,需要自定义BaseAdapter吗? 从右边起,每()个数为一级。各级数位有()表示多少个()万级包括的计数单位有()表示多少个() 数位顺序表中每级有什么个数位,亿级里的计数单位从大到小依次是什么? 如何设置listview的item字体 C# listview 文字的颜色如何设置 在数位顺序表中,个级包括( ) 关于关系模型的3类完整性规则正确的是 双5G网络是什么意思? 怎么看函数的周期的,有哪几种情况 怎么看函数的周期性 怎样才能看出来是周期函数啊… 怎么看函数周期 联想服务器td350怎么装系统 怎么判断是周期函数,过程啊,周期是多少怎么看,过程啊 迪士尼公主中被王子吻醒的是哪个 请问如何判断一个函数的周期性? 女名不带仙男名不带天是什么意思 翻译In the setting of ... emulator display settings是什么意思 银行年收益率是多少 哈尔滨有学习俄语的学校吗? 黑龙江外国语学院周围有什么车站? 下大雨汽车还限号吗 明天下雨西安明天限号吗? 郑州暴雨限号吗 西安本周五大雨汽车限号吗?