1、3.简述如下概念,并说明它们之间的联系与区别:。(1)域,笛卡尔积,关系,元组,属性 答: 域:域是一组具有相同数据类型的值的集合。 笛卡尔积:给定一组域 D1,D2,Dn,这些域中可以有相同的。这组域的笛卡尔积为: D1D2Dn (d1,d2,dn)di?Di ,i1,2,n 其中每一个元素(d1,d2,dn)叫作一个 n 元组(n-tuple)或简称元组(Tuple) 。元素中的每一个值 di 叫作一个分量(Component) 。关系:在域 D1,D2,Dn 上笛卡尔积 D1D2Dn 的子集称为关系,表示为 R(D1,D2,Dn) 元组:关系中的每个元素是关系中的元组。 属性:关系也是一
2、个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可 以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute) 。 (2)超码,主码,候选码,外码 答:超码:对于关系 r 的一个或多个属性的集合 A,如果属性集 A 可以唯一地标识关系 r 中的一个元组,则称属性集 A 为关系 r 的一个超码 (superkey) 。 候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key) 。 主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key) 。 外码:设 F 是基本关系 R 的一个或一组属性,但不是关系 R
3、 的码,如果 F 与基本关系S 的主码 Ks 相对应,则称 F 是基本关系 R 的外码(Foreign key) ,简称外码。 基本关系 R 称为参照关系(Referencing relation) ,基本关系 S 称为被参照关系(Referenced relation)或目标关系(Target relation) 。关系 R 和 S 可以是相同的关系。(3)关系模式,关系,关系数据库 答:关系模式:关系的描述称为关系模式(Relation Schema) 。它可以形式化地表示为: R(U,D,dom,F) 其中 R 为关系名,U 为组成该关系的属性名集合,D 为属性组 U 中属性所来自的域,
4、dom 为属性向域的映象集合,F 为属性间数据的依赖关系集合。 关系:在域 D1,D2,Dn 上笛卡尔积 D1D2Dn 的子集称为关系,表示为 R(D1,D2,Dn) 关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。 关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。 2.3.为什么需要空值 null?答:引入空值,可以方便于数据
5、库的维护和建立,数字或者字符有时并不能解决想要解决的问题,毕竟它们是真实的存在,有了空值,那么有些操作,比如查询,插入,删除都可以更加方便,比如公司的部门,新增的部门,信息是不存在的,是之后数据库人员进行添加之后才有的,所以让它为空,比给它 0 更加贴近实际。空值是所有可能的域的一个取值,表明值未知或不存在。2.3.关系模型的完整性规则有哪些?答: 关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。 其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。 1) 实体完整
6、性规则:若属性 A 是基本关系 R 的主属性,则属性 A 不能取空值。 2) 参照完整性规则:若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 Ks 相对应(基本关系 R 和 S 不一定是不同的关系) ,则对于 R 中每个元组在 F 上的值必 须为: 或者取空值(F 的每个属性值均为空值) ; 或者等于 S 中某个元组的主码值。 3) 用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。 2.4.关系模型的主要操作有哪些?答:关系模型中的关系操作有查询操作和更新操作(插入、删除和修改)两大类 。查询操作是关系操作中最主要的
7、部分。查询操作又可以分为选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersection)、差(except)、笛卡尔积等。 2.5.关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算?答:并、差、笛卡尔积、投影和选择 5 种运算为基本的运算。其他 3 种运算,即交、连接和除,均可以用这 5 种基本运算来表达。2.6. 试述等值连接与自然连接的区别与联系? 答:连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join) ,另一种是自然连接(Natural join) 。 为“”的连接运算称为等值连接。
8、 它是从关系 R 与 S 的笛卡尔积中选取 A、B 属性值相等的那些元组。即等值连接为: R A=B S = t t| tR t S tA = t B 自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。即若 R 和 S 具有相同的属性组 B,则自然连接可记作: R S = t t| tR tS tB = tB 2.7. 对于图 2-8 所示的成绩管理数据库 ScoreDB 的模式导航图,根据图 2-11 所示的样例数据,给出如下运算的结果。(1)( studentName,birthday,courseN
9、o(Student Class)( courseNo( studentNo=0701001 Score)答:含义:选修了学号为 0701001 的同学所有选修课程的学生姓名和出日日期。 studentName birthday李小勇 1990-12-21王红 1992-04-26(2)( studentNo,courseNoScore)( courseNo( courseNo LIKE CS%Course) Score答:含义:选修了计算机系所有开设课程的学生的成绩信息。 StudentNo courseNo Term Score0701001 CN028 07081 850701001 CS
10、012 07082 880701001 CS015 08091 920701008 AC001 07081 760701008 CN028 07081 860701008 CS012 07082 930701008 CS015 08091 960802005 AC001 09101 880802005 CS012 08092 900802005 CS015 09101 872.8.对于图 2.8 所示的成绩管理数据库 ScoreDB 的模式导航图,根据图 2-11 所示的实例数据,试写出如下查询的关系代数表达式,并给出其查询结果。(1)查找籍贯为“上海”的全体学生。答: native LIKE
11、 上海% (Student)(2)查找 1992 年元旦以后出生的全体男同学。答: year(birthday)=1992sex=男 (Student)(3)查找信息学院非汉族同学的学号、姓名、性别及民族。答: studentNo,studenName,sex,nation( nation!=汉族 (Student) ( institute=信息学院 (Class)(4)查找 08-09 学年第二学期(08092)开出课程的编号、名称和学分。答: courseNo,courseName,courseHour(Course ( term=08092Score)(5)查找选修了“操作系统”的学生学
12、号、成绩及姓名。答: studentNo,studenName,score(Student (Score ( courseNo( courseName=操作系统 Course)(6)查找班级名称为“会计学 07(3)班”的学生在 07-08 学年第一学期(07081)选课情况,要求显示学生姓名、课程号、课程名称和成绩。答: studenName, courseNo,courseName,score( ( className=会计学 08(3)班Class) Student ( term=07081 Score) Course)(7)查找至少选修了一门其直接先修课编号为 CS012 的课程的学生
13、学号和姓名。答: studenNo, studentName( ( priorCourse=CS012Course) Score Student)(8)查找选修了 08-09 学年第一学期(08091)开出的全部课程的学生学号和姓名。答: studenNo, studentName(Score( courseNo( term=08091 Score) Student)(9)查找至少选修了学号为 0703010 的学生所选课程的学生学号和姓名。答: studenNo, studentName(Score( courseNo( studentNo=0703010 Score) Student)2.
14、9.对于图 2-10 所示的学生选课数据库 SCDB 的模式导航图,试写出如下查询的关系代数表达式。(1)查找 2008 级蒙古族学生信息,包括学号、姓名、性别和所属班级。答: studenNo,studentName,sex,classNo( nation=蒙古族 Student) ( grade=2008Class)(2)查找“C 语言程序设计”课程的课程班号、上课时间以及上课地点。答: cClassNo,time,location( courseName=C 语言程序设计 Course) CourseClass Classroom)(3)查找选修了先修课程为“计算机概论”的学生学号、课程
15、号和成绩。答: studenNo,courseNo,score( C1.courseNo( C1 Course) C1.priorCourse=C2.courseNo( courseName=计算机概论 ( C2Course) SC)(4)查找李勇老师 08-09 学年第二学期(08092)开出的课程号、课程名和学分。答: courseNo,courseName,creditHour( teacherNo( teacherName=李勇 Teacher) ( term=08092CourseClass) Course)(5)查找信息学院学生选课情况,要求显示学生姓名、课程号、课程名、课程班号、成绩和任课教师。答: studentName,courseNo,courseName,cClassNo,score,teacherName( instituteNo( instituteName=信息学院 Institute) Class Student SC Course CourseClass Teacher)
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。