您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 三级数据库关系数据库系统-6
三级数据库技术第5章关系数据库系统2本部分占总分的8%主要内容:关系模型的数据结构关系模型的三个完整性约束传统的集合运算和专门的关系运算3关系模型的数据结构,难度不大,要求理解和记忆关系模型的基本术语,分值不多关系模型完整性约束,要求在基本概念上理解数据完整性,有一定分值关系代数是本章考试重点,考题多,需要理解和记忆5.1关系数据库系统概述5考点1关系数据模型关系数据模型由关系数据结构、关系操作集合和关系完整性约束三大要素组成关系数据结构:数据库是关系的集合,每个关系表示为一张二维表实体和实体间联系均由关系表示6关系操作关系操作:选择(select),投影(project)连接(join),除(divide),并(union),交(intersection)和差(difference)及查询和插入、删除、更新操作两大部分关系操作通过关系语言(关系代数、关系演算、域关系演算)实现,关系语言特点:高度非过程化7关系的完整性约束指数据库中数据的正确性和相容性数据完整性由完整性规则来定义,对关系的约束如:学生的学号唯一,性别只能是男或女,选修课程必须是已开课程,与实际符合关系模型中完整性约束有三类:实体完整性、参照完整性和域完整性约束(用户定义完整性),前两个由关系数据库关系系统自动支持8考题1、数据库数据的完整性一般是指:A)数据的独立性和一致性B)数据的正确性和相容性C)数据的可控性和有效性D)数据的可移植性和可靠性B2007.042、下列哪一项不是关系数据库语言的共同特点?A)能够嵌入到高级语言中使用B)语言具有完备的表达能力C)是面向集合的语言D)是过程化的语言D2007.045.2关系模型的数据结构10考点1关系模型的数据结构基本术语关系模型的数据结构用单一的二维表结构表示实体及实体间关系基本概念关系:对应一个二维表,表名是关系名属性:二维表中的列(字段),属性的个数称为关系的元数,列的值称为属性值,属性值的取值范围称为值域关系模式:对关系的描述表示:关系名(属性1,属性2,..属性N)学生登记表(学号,姓名,性别,年龄,系号,原单位)系信息表(系号,系名,办公室,系主任,电话)元组:二维表中的行,关系模式和元组的集合为关系分量:元组中的一个属性值候选码(候选键):唯一标识元组的属性或属性组合学号和姓名(不重复)候选码11主码(主键)候选码中选定一个来标识元组主属性:任何候选码中的属性非主属性:不包含在任何一个候选码中的属性外码(外键):关系A中的属性(属性组)是关系B中主码,该属性(属性组)为关系A的外码学生登记表系号为外键,是系信息表中的主码关系A(外键所在的关系)为参照关系,关系B(以外键作为主键)为被参照关系被参照关系与参照关系通常是1:n关系学生登记表为参照关系,系信息表为被参照关系12考题1、如果一个关系模式的所有属性的集合是这个关系的主码,则称这样的主码为A)全码B)参照码C)外码D)连接码A2009.042、在关系数据库中,参照关系和被参照关系以外码相关联的两个关系,被参照关系和参照关系通常是A)1:1的联系B)1:n的联系C)n:1的联系D)n:m的联系B2007.04133、在关系数据模型中,一个关系中的主码A)可以取值NULL(空值)B)只能是单个属性C)不能是其他关系的外码D)只能有一个D4、在一个关系中,任何一个候选码中所包含的属性都称为【12】主属性145、下列叙述中,哪一条是不正确的?A、一个二维表是一个关系,二维表的表名是关系名B、关系中的列称为属性,属性的个数称为关系的元或度C、关系中的行称为元组,对关系的描述称为关系模式D、属性的取值范围称为值域,元组中的一个属性值称为分量A15考点2关系数据库对关系的限定关系模型的数据结构对应二维表,但不是任意一个二维表都能表示一个关系,关系数据库对关系(二维表)有限定16对关系(二维表)的限定1、属性是原子的,不可分解2、同一关系,属性名不同,个数和类型固定3、属性列可以交换4、元组(行)顺序无关5、元组不能相同6、关系中只能有一个关系模式属性不是原子的17下列对于关系的叙述中,哪一个是不正确的?A.关系中的每个属性是不可分解的B.在关系中元组的顺序是无关紧要的C.任意的一个二维表都是一个关系D.每一个关系仅有一种记录类型C5.3关系模型的完整性约束19考点1数据库数据完整性规则的分类完整性规则是对关系的某种约束分为三类:实体完整性规则:主键中的属性都不能为空参照完整性规则:外键值为空值;或者外键值在被参照表中必须存在;用户定义的完整性规则(域完整性约束):用户自定义的完整性规则20考题1、设有关系模式R(A,B,C)和S(E,A,F),若R.A是R的主码,S.A是S的外码,则S.A的值或者等于R中某个元组的主码值,或者取空值(null)。这是【11】完整性规则。参照2、基于“学生——选课——课程”数据库中的三个关系:S(S#,SNAME,SEX,DEPARTMENT),主码是S#C(C#,CNAME,TEACHER),主码是C#SC(S#,C#,GRADE),主码是(S#,C#)下列关于保持数据库完整性的叙述中,哪一个是不正确的?A.向关系SC插入元组时,S#和C#都不能是空值(NULL)B.可以任意删除关系SC中的元组C.向任何一个关系插入元组时,必须保证该关系主码值的唯一性D.可以任意删除关系C中的元组D21考点2实体完整性规则组成主键的属性(主属性)不能为空值例1:设有关系SC(SNO,CNO,GRADE),主码是(SNO,CNO)。遵照实体完整性规则A.只有SNO不能取空值B.只有CNO不能取空值C.只有GRADE不能取空值D.SNO与CNO都不能取空值D222、实体完整性规则规定:关系中的元组在组成【1】的属性上不能为空值。主码23考点3参照完整性规则外码要么为空值,要么外码的值在被参照表中必须存在例:学生(学号,性别,专业号,年龄)主键学号专业(专业号,专业名)主键为专业号学生和专业的关系通过专业号联系专业号是学生关系的外键专业与学生是1:n关系学生关系专业关系专业号24考题1、在关系数据库中,参照关系和被参照关系是以【1】相关联的两个关系外键2、根据参照完整性规则,外码的值或者等于以此外码为主码的关系中某个元组主码的值,或者取【2】。空值(NULL)25考点4用户定义完整性(域完整性约束)对除主码和外码属性外的其他属性取值约束,即对其他属性值域的约束(域完整性约束),包括数据类型、取值范围、精度,空值约束等。例:在“职工”关系中要求在输入职工的年龄时必须在0到200之间,可以通过下列哪个完整性规则来实现?()A、实体完整性规则B、参照完整性规则C、用户自定义完整性规则D以上都不是C26考点5完整性规则在数据操作中的应用数据完整性检查的原则:插入操作:先检查实体完整性规则,如果对外键插入,检查参照完整性,最后检查用户定义完整性删除操作:如果删除被参照关系,检查参照完整性更新操作:先删除,后插入,以上两种情况都要考虑27考题1、基于如表的关系R和S,且属性A是关系R的主码,属性B是关系S的主码ABCa1b15a2b26a3b37a4b48关系RBCb15b26b37b49b58关系S如要在关系R中插入一个元组,下面哪一个元组不能插入?()A、(a5,b2,7)B、(a6,b5,3)C、(a1,b7,8)D、(a8,b4,1)C2005.04282、基于以下描述:设有供应商关系S和零件关系P如下图所示。它们的主码分别是“供应商号”和“零件号”。而且,零件关系P的属性“供应商号”是它的外码,属性“颜色”只能取值为‘红’、‘白’或‘兰’。供应商关系S:供应商号供应商名所在城市B01S10T20Z01红星宇宙黎明立新北京上海天津重庆零件关系P:零件号颜色供应商号010201312红兰白B01T20S102009.0429下列哪个(些)行不能插入到关系P中?I.(’201’,’白’,’S10‘)II.(’101’,’兰‘,’S01’)III.(‘301’,’绿‘,’B01’)A)仅IB)仅I和IIC)仅IIID)都不能DI实体完整II参照III用户定义完整供应商号供应商名所在城市B01S10T20Z01红星宇宙黎明立新北京上海天津重庆零件号颜色供应商号010201312红兰白B01T20S10供应商关系S:零件关系P:30关系S中的下列行,哪个(些)可以被删除I.(‘S10’,‘宇宙’,‘上海’)II.(‘Z01’,‘立新’,‘重庆’)A)仅IB)仅IIC)都可以D)都不可以B参照完整供应商号供应商名所在城市B01S10T20Z01红星宇宙黎明立新北京上海天津重庆供应商关系S:零件号颜色供应商号010201312红兰白B01T20S10零件关系P:31下列哪个(些)更新操作可以执行?I.UPDATESSET所在城市=‘广州’WHERE所在城市=’北京‘;II.UPDATEPSET供应商号=’B02‘WHERE供应商号=‘B01’;A)仅IB)仅IIC)都可以D)都不可以AII参照完整性,修改后P关系中供应商号’B02’在S中供应商号中没有值供应商号供应商名所在城市B01S10T20Z01红星宇宙黎明立新北京上海天津重庆供应商关系S:零件号颜色供应商号010201312红兰白B01T20S10零件关系P:323、下列两个数据库表中,‘雇员号’是雇员信息表的主键,‘部门号’是部门信息表的主键,也是雇员信息表的外键,则部门信息表中的哪一行是可以被删除的?雇员号雇员名部门号工资0801张鸣0220008511王玲珑0450000623陈皆青0425000644章龙0225009438周一宏014000部门号部门名办公地点01营业部1号楼1层02销售部1号楼2层03管理部2号楼04服务部3号楼雇员信息表部门信息表A、部门号’01’的行B、部门号为’02’的行C、部门号为’03’的行D、部门号为’04’的行C2008.09334、下列两个数据库表中,‘雇员号’是雇员信息表EMP的主键,‘部门号’是部门信息表DEPT的主键雇员号雇员名部门号工资001张鸣022000010王玲珑015000056陈皆青022500101章龙042500部门号部门名主任01营业部李建02销售部应伟东03管理部周银04服务部陈力身雇员信息表EMP部门信息表DEPT1)下列哪个操作不能正确执行(不考虑置空值和级联操作)A、从EMP中删除雇员号=‘010’的行B、在EMP中插入行(‘102’,‘赵敏’,’01’,2000)C、将EMP中雇员号=‘056’的工资改为2600D、将EMP中雇员号=‘101’的部门号改为’05’D雇员表部门号05在部门表部门号中没有值2007.09342)下列哪个操作不能正确执行(不考虑置空值和级联操作)A、从DEPT中删除部门号=‘03’的行B、在DEPT中插入行(‘06’,‘计划部’,’李明’)C、将DEPT中部门号=‘02’的部门号改为’10’D、将DEPT中部门号=‘01’的主任改为’陈应先’C部门号改为10,雇员表中部门号’02’在部门表中找不到对应的部门参照完整性雇员号雇员名部门号工资001张鸣022000010王玲珑015000056陈皆青022500101章龙042500部门号部门名主任01营业部李建02销售部应伟东03管理部周银04服务部陈力身雇员信息表EMP部门信息表DEPT355、基于“学生——选课——课程”数据库中的三个关系:S(S#,SNAME,SEX,DEPARTMENT),主码是S#C(C#,CNAME,TEACHER),主码是C#SC(S#,C#,GRADE),主码是(S#,C#)下列关于保持数据库完整性的叙述中,哪一个是不正确的?A.向关系SC插入元组时,S#和C#都不能是空值(NULL)B.可以任意删除关系SC中的元组C.向任何一个关系插入元组时,必须保证该关系主码值的唯一性D.可以任意删除关系C中的元组D在被参照表上删除,考虑参照完整性为了提高特定查询
本文标题:三级数据库关系数据库系统-6
链接地址:https://www.777doc.com/doc-3755054 .html