关系模型习题及答案

合集下载

关系代数习题

关系代数习题

关系代数习题.作者: 日期:1.下面的选项不是关系数据库基本特征的是()。

A.不同的列应有不同的数据类型B .不同的列应有不同的列名C.与行的次序无关D.与列的次序无关2.—个关系只有一个()。

A.候选码B. 外码C.超码D.主码3.关系模型中,一个码是()。

A.可以由多个任意属性组成B.至多由一个属性组成C.可有多个或者一个其值能够唯一表示该关系模式中任何元组的属性组成D .以上都不是4.现有如下关系:患者(患者编号,患者姓名,性别,出生日起,所在单位)医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是()。

A.患者编号B .患者姓名C. 患者编号和患者姓名D.医生编号和患者编号5.现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的外码是()。

A.书号B.读者号C .书号+读者号D.书号+读者号+借期6.关系模型中实现实体间 N:M联系是通过增加一个()。

A.关系实现B.属性实现C.关系或一个属性实现D.关系和一个属性实现7.关系代数运算是以()为基础的运算。

A.关系运算B.谓词演算C.集合运算D.代数运算8.关系数据库管理系统应能实现的专门关系运算包括()A.排序、索引、统计B .选择、投影、连接C. 关联、更新、排序D.显示、打印、制表9.五种基本关系代数运算是()。

A.U - X (T nB.U - (T nC.U n X (T nD.U n (T n11.关系数据库中的投影操作是指从关系中()。

A.抽出特定记录B.抽出特定字段C.建立相应的影像D.建立相应的图形12. 从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是()操作。

A.投影B.联接C.选择D.复制13.关系代数中的联接操作是由()操作组合而成。

A.选择和投影B.选择和笛卡尔积C .投影、选择、笛卡尔积 D.投影和笛卡尔积1 4.自然联接是构成新关系的有效方法。

第2章关系代数补充作业及答案(选做)

第2章关系代数补充作业及答案(选做)

关系代数补充习题(摘自数据库系统导论)单项选择:1. 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为________。

(1)主码(2)候选码(3)主属性(4)外码2.________由数据结构、关系操作集合和完整性约束三部分组成。

(1)关系模型(2)关系(3)关系模式(4)关系数据库3.SQL 语言属于________。

(1)关系代数语言(2)元组关系演算语言(3)域关系演算语言(4)具有关系代数和关系演算双重特点的语言4.关系演算是用________来表达查询要求的方式。

(1)谓词(2) 关系的运算(3)元组(4)域5.实体完整性要求主属性不能取空值,这一点可以通过________来保证。

(1)定义外码(2)定义主码(3)用户定义的完整性(4)由关系系统自动6.一组具有相同数据类型的值的集合称为________。

(1)关系(2)属性(3)分量(4)域7.在一个关系中,不能有相同的________。

(1)记录(2)属性(3)分量(4)域8.关系是________。

(1)型(2)静态的(3)稳定的(4)关系模型的一个实例9.所谓空值就是________的值。

(1)数值0 (2)空的字符串(3)未知的值(4)任何值10.集合R 与S 的差表示为________。

(1){t|t∈R∨t∈S} (2){t|t∈R∧フt∈S} (3) {t|t∈R∧t∈S}(4) {trts|tr∈R ∧ts∈S}问答题2.1 本章中,我们声称并、交、积和(自然)连接都具有交互性和结合性。

证明之。

2.2 在Codd 最初定义的八个操作符中,并、差、积、选择和投影可以被认为是基本的。

试用这五种基本操作来表示自然连接、交和除。

2.3 如果A 和B 没有共同的属性,则A JOIN B 等价于A TIMES B。

对其进行证明。

如果A 和B 有相同的表头,则上述表达式等价于什么?2.4 证明2.2 中提到的五个基本操作符是基本的(证明任意一个不能被其余四个来表示)。

2-关系模型练习题参考答案

2-关系模型练习题参考答案

2-关系模型一、选择题1、下面对“关系模型”的叙述中,不正确的说法是( C )。

A.关系模型的数据结构就是关系。

B.关系是一个属性数目相同的元组集合。

C.关系模型允许在关系中出现两条完全相同的元组。

D.关系模型具有三类完整性约束。

2、下面对“关系”的叙述中,不正确的说法是( D )。

A.关系中元组顺序的改变不影响关系结果。

B.关系中每个属性都不能再分割。

C.不允许在关系中出现两条完全相同的元组。

D.关系中属性顺序的改变影响关系结果。

E.往一个关系中添加一个元组后,该关系就变成另外一个关系。

3、下面关于“关系模式”与“关系”两个概念的不正确叙述是( D )。

A.关系模式是指二维表的结构,不包括二维表的内容。

B.关系包括二维表的内容。

C.关系是动态的。

D.关系模式也是动态的。

4、下面对关系“候选键”概念的正确叙述是( D )。

A.候选键是指在一个关系中,能够唯一标识每个元组的属性集。

B.一个关系必须有候选键。

C.一个关系只能有一个候选键。

D.候选键不能由多个属性构成。

5、下面对关系“主键”概念的不正确叙述是( C )。

A.主键一定是候选键。

B.一个关系只能有一个主键。

C.主键只能由单属性构成。

D.主键可以由单多个属性构成。

6、在对关系代数表达式进行优化时,一般来说,( A )操作应尽可能早地进行。

A.选择B.联接C.投影D.除法7、下面对两个关系进行自然联接的前提条件的正确的说法是( D )。

A.两个关系必须有属性名称相同的属性。

B.两个关系必须有取值类型都相同的属性。

C.两个关系必须有名称、类型都相同的属性。

D.两个关系必须有取值域相同的属性。

8、设关系R和S的属性集相同,W是R的属性集的子集,下面不正确的等式是()。

A.πW(R-S)=πW(R)-πW(S)B.σ(F)(R-S)=σ(F)(R)-σ(F)(S)C.πW(R∩S)=πW(R)∩πW(S)D.πW(R∪S)=πW(R)∪πW(S)9、设关系R和S的属性集相同,W是R的属性集的子集,下面不正确的等式是()。

数据库教程(SQLServer)课后习题及答案

数据库教程(SQLServer)课后习题及答案

习题13、简述数据库系统的组成。

答:数据库系统一般由数据库、数据库管理系统(及其开发工具)、数据库管理员(DataBase Administrator ,DBA )和用户组成。

4、试述数据库系统的三级模式结构。

这种结构的优点是什么?答:数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成,同时包含了二级映像,即外模式/模式映像、模式/内模式映像,如下图所示。

数据库应用1……外模式A 外模式B 模式应用2应用3应用4应用5……模式外模式/模式映像模式/内模式映像数据库系统的这种结构具有以下优点:(1)保证数据独立性。

将外模式与模式分开,保证了数据的逻辑独立性;将内模式与模式分开,保证了数据的物理独立性。

(2)有利于数据共享,减少了数据冗余。

(3)有利于数据的安全性。

不同的用户在各自的外模式下根据要求操作数据,只能对限定的数据进行操作。

(4)简化了用户接口。

按照外模式编写应用程序或输入命令,而不需了解数据库全局逻辑结构和内部存储结构,方便用户系统。

5、什么是数据的物理独立性与逻辑独立性?并说明其重要性。

答:(1)数据的物理独立性是指数据的物理结构(包括存储结构、存取方式等)的改变,存储设备的更换,物理存储的更换,存取方式改变等都不影响数据库的逻辑结构,从而不致引起应用程序的变化。

(2)数据的逻辑独立性是指数据库总体逻辑结构的改变,如修改数据模式,增加新的数据类型、改变数据间联系等,不需要相应修改应用程序。

(3)数据的独立性使得数据库中数据独立于应用程序而不依赖于应用程序,也就是说数据的逻辑结构、存储结构与存取方式的改变不影响应用程序。

相应的,数据的独立性也使得应用程序的编制不再依赖于数据的物理和逻辑结构,提高了应用程序的可移植性与鲁棒性。

从理论上说,数据的独立性可以使数据的组织和应用程序的编制完全分离。

8、什么是数据模型?答:数据模型(Data Model )是一种抽象模型,是对现实世界数据特征的抽象。

数据库原理与应用(关系数据模型)习题与答案

数据库原理与应用(关系数据模型)习题与答案

一、单选题1、下列关于关系数据模型的术语中,()术语可用二维表中的“行”来表达。

A.域B.属性C.元组D.关系正确答案:C2、设有三个域,它们包含的元素个数分别是3个、4个、5个,则三个域的笛卡尔积的基数是()。

A.12B.3C.60D.36正确答案:C3、设有关系模式EMP(职工号,姓名,年龄,技能)。

假设职工号唯一,每个职工有多项技能,则EMP表的主键是()。

A.(职工号,技能)B.职工号C.技能D.(姓名,技能)正确答案:A4、关系模型中,一个候选键()。

A.可由一个或多个组合能唯一标识该关系模式中任意元组的属性组成B.可由多个任意属性组成C.必须由多个属性组成D.至多由一个属性组成正确答案:A5、如果在一个关系数据库中,存在某个属性(或属性组),虽然不是一个关系的主键或只是主键的一部分,但却与另一个关系的主键对应,称该属性(或属性组)为这个关系的()。

A.候选键B.连接码C.外键D.主键正确答案:C6、有一个“列车运营”关系,含有:车次、日期、实际发车时间、实际抵达时间、情况摘要等属性,该关系的主键是()。

A.(车次,情况摘要)B.车次C.日期D.(车次,日期)正确答案:D7、现有关系:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生日期),它的主键是()。

A.宿舍编号B.(宿舍地址,姓名)C.学号D.(宿舍编号,学号)正确答案:C8、在关系A(S,SN,D)和B(D,CN,NM)中,S是A的主键,A中的属性D与B 中的主键D相对应,则D在A中称为()。

A.主属性B.外键C.主键D.主码正确答案:B9、在关系A(S,SN,D)和B(D,CN,NM)中,S是A的主键,D是B的主键,A 中的外键D对应B的主键,则要求A中D的取值必须来源于关系B中的D,符合()约束。

A.实体完整性B.域完整性C.用户定义完整性D.参照完整性正确答案:D10、关系模型中可以有三类完整性约束,其中()是关系模型必须满足的完整性约束条件,应该由RDBMS自动支持。

(完整版)数据库关系代数习题

(完整版)数据库关系代数习题

1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:S C SCS# SNAME AGE SEX1 李强23 男2 刘丽22 女5 张友22 男C# CNAME TEACHERk1 C语言王华k5 数据库原理程军k8 编译原理程军S# C# GRADE1 k1 832 k1 855 k1 922 k5 905 k5 845 k8 80(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。

(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。

(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。

(4) 检索”李强”同学不学课程的课程号(C#)。

(5) 检索至少选修两门课程的课程号(S#)。

(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。

(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。

(8) 检索选修课程号为k1和k5的学生学号(S#)。

(9) 检索选修全部课程的学生姓名(SNAME)。

(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。

(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。

(12)检索没有一门课程成绩不及格的学生学号,姓名。

答:本题各个查询语句对应的关系代数表达式表示如下:(1) ΠC#,CNAME(σTEACHER ='程军'(C))(2) ΠS#,SNAME(σAGE>21^SEX ='男'(S))(3) ΠSNAME(S(ΠS#,C#(SC)÷ΠC#(σTEACHER ='程军'(C))))(4) ΠC#(C)-ΠC#(σSNAME ='李强'(S)∞SC)(5) ΠS# (σ1=4^2≠5 (S C×SC))(6) ΠC#,CNAME(C∞(ΠS#,C#(SC)÷ΠS#(S)))(7) ΠS# (SC∞ΠC# (σTEACHER ='程军'(C)))(8) ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’K5’ (C))(9) ΠSNAME(S∞(ΠS#,C#(SC)÷ΠC#(C)))(10) ΠS#,C#(SC)÷ΠC#(σC#=’2’ (S C))(11) ΠS#,SNAME(S∞ΠS#(SC∞(σCNAME ='C语言'(C))))(12)П学号,姓名(学生)-П学号,姓名(σ分数<60(学生∞学习))。

数据库技术与应用课后习题答案

数据库技术与应用课后习题答案

第一章习题答案1.1 选择题1. A2. C3. C4. B5. C6. A7. C8. B9. D 10. A 11. D 12. A 13. A1.2 填空题数据数据的逻辑独立性数据的物理独立性层次数据模型,网状数据模型,关系数据模型能按照人们的要求真实地表示和模拟现实世界、容易被人们理解、容易在计算机上实现实体、记录属性、字段码域一对一、一对多、多对多E-R模型E-R模型层次模型、网状模型、关系模型数据操作、完整性约束矩形、菱形、椭圆形层次模型、一对多网状模型关系模型关系外模式、模式、内模式三级模式、两级映像外模式、模式、内模式数据、程序数据逻辑、数据物理DBMS数据库管理系统、DBA数据库管理员1.4 综合题2.注:各实体的属性省略了3.第二章习题答案1.1 单项选择题1. C2. A3. B4. C5. C6. D7. A8. B1.2 填空题集合2. 能唯一标识一个实体的属性系编号, 学号,系编号关系, 元组, 属性关系模型,关系, 实体, 实体间的联系投影1.4 综合题1. πsnoσcno=’2’SC2. πsnoσcname=’信息系统’SCCOURSE3. πsno,SNAME,SAGESTUDENT第三章习题答案1.1select from jobs1.2select emp_id,fname+'-'+lname as 'Name' from employee1.3select emp_id,fname+'-'+lname as 'Name',Yeargetdate-Yearhire_date as 'worke time' from employee order by 'worke time'2.1select from employee where fname like 'f%'2.2select from employee where job_id='11'2.3select emp_id,fname+'-'+lname as 'Name', Yeargetdate-Yearhire_date as worketime from employeewhere Yeargetdate-Yearhire_date >5order by worketime2.4select from employee where castjob_id as integer>=5 and castjob_id as integer<=8 2.5select from employee where fname='Maria'2.6select from employee where fname like '%sh%' or lname like '%sh%'3.1select from sales where ord_date <'1993-1-1'4.1select distinct bh, zyh from stu_info wherebh inselect bh from stu_infogroup by bhhaving count>30 and count<40order by bh或者是select bh,zyh from stu_infogroup by zyh,bhhaving countbh>30 and countbh<40order by bh4.2select from gbanwhere bh like '计%'4.3select from gfiedwhere zym like '%管理%'4.4select xh,xm,zym,stu_info.bh,rxsj from stu_info,gfied,gban where nl>23and stu_info.zyh=gfied.zyh and stu_info.bh=gban.bh4.5select zyh,count from gbanwhere xsh='03'group by zyh第四章习题答案4.1 单项选择题:B 2、A 3、C 4、A 5、A 6、C 7、C 8、D 9、B 10、A 11、C或B,即书上121页例题中from的写法12、A 13、C 14、C 15、C4.2 填空题:drop tablealter table add <列名或约束条件>with check option基本表基本表distinct group by roder by数据定义数据操纵数据控制distinctlike % _自含式嵌入式10、order by asc desc4.3 综合题1、SELECT XH, XM, ZYM, BH, RXSJFROM STU_INFO, GFIEDWHERE STU_INFO.ZYH = GFIED.ZYH AND NL > 23 AND XBM = '男'2、SELECT ZYM 专业名, count 人数 FROM STU_INFO, GFIEDWHERE STU_INFO.XSH = '03' AND STU_INFO.ZYH = GFIED.ZYHGROUP BY ZYM注意:该题目中给出的条件XSH = '03'中的03代表的是“控制科学与工程”学院,信息学院的代码是12,大家可根据具体情况来做该题;3、SELECT bh,count as 人数 FROM STU_INFO GROUP BY bh4、SELECT XH, XM, XBM, BH FROM STU_INFOWHERE ZYH INSELECT ZYHFROM STU_INFOWHERE XM = '李明'ORDER BY XH5、SELECT DISTINCT GCOURSE.KCH, KM FROM STU_INFO, XK, GCOURSEWHERE XK.KCH = GCOURSE.KCH AND STU_INFO.XSH = '12'AND STU_INFO.XH = XK.XH该题中设计到的课程名称只有在GCOURSE表中存在,所以在题目开始的几个表中还应填加该表;另外把信息学院的代码改为12;6、SELECT COUNTDISTINCT KCH AS 选课门数, AVGKSCJ AS 平均成绩FROM STU_INFO, XKWHERE STU_INFO.XH = XK.XH AND XSH = '12'7、SELECT DISTINCT STU_INFO.XH, XM, BH, ZYM, KMFROM STU_INFO, XK, GFIED, GCOURSEWHERE KSCJ > 85 AND STU_INFO.XH = XK.XH AND XK.KCH = GCOURSE.KCH AND STU_INFO.ZYH = GFIED.ZYHORDER BY ZYM, BH, STU_INFO.XH8、SELECT STU_INFO.XH, XM, XSM, ZYM, BH, PYCCMFROM STU_INFO, XK, GDEPT, GFIEDWHERE KKNY = '20011' AND STU_INFO.XH = XK.XH AND STU_INFO.XSH = GDEPT.XSH AND STU_INFO.ZYH = GFIED.ZYHGROUP BY STU_INFO.XH, XM, XSM, ZYM, BH, PYCCMHAVING COUNT > 109、SELECT DISTINCT bhFROM STU_INFO10、DELETE FROM STU_INFOWHERE XH LIKE '2000%'或DELETE FROM STU_INFOWHERE LEFTXH,4 = '2000'11、ALTER TABLE STU_INFOADD BYSJ varchar812、UPDATE XKSET KSCJ = 60WHERE KSCJ BETWEEN 55 AND 59 andXH inSELECT xhFROM stu_infoWHERE zyh = '0501'andKCH inSELECT kchFROM gcourseWHERE km = '大学英语'前面已经考虑到在该题目中应该加入学生课程信息表GCOURSE13、UPDATE GCOURSESET KCXF=6WHERE KCH = '090101'14、CREATE TABLE CCOURSEKCH char6,KM varchar30,KCYWM varchar3015、CREATE VIEW ISE ASSELECTFROM STU_INFOWHERE XSH=’12’第五章课后答案5.11~7 BABABCB5.21 使属性域变为简单域消除非主属性对主关键字的部分依赖消除非主属性对主关键字的传递依赖2 平凡函数依赖3 Y也相同唯一的Y值5.31 函数依赖:P136定义5.1部分函数依赖:P138定义5.4完全函数依赖:P138定义5.4传递函数依赖:P138定义5.51NF:P139定义5.62NF:P141定义5.73NF:P142定义5.8BCNF:P144定义5.9在全码关系中R〈U,F〉中若存在这样的码X,属性组Y及非主属性Z 使得X→Y, Y→Z成立,所以全码关系R〈U,F〉∈3NF;在全码关系R〈U,F〉中,对于R中的函数依赖,若X→Y且X必含有码,所以全码关系R∈BCNF 2 1 R的码是Sno,Cno,R是1NF,因为Teacher和Title属性部分函数依赖于码Sno,Cno,所以R∈1NF2SCSno,Cno,GradeCTCno,teacher TTTeacher,title3 D->B C->A4 需求分析需求分析是数据库设计的第一个阶段,从数据库设计的角度来看,需求分析的任务是对现实世界要处理的对象组织、部门、企业等进行详细的调查了解,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能;概念结构设计阶段将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计;简单地说数据库概念结构设计的任务就是根据需求分析所确定的信息需求,建立信息模型;如E-R模型;逻辑结构设计阶段数据库逻辑结构设计的任务是把概念结构设计阶段所得到的与DBMS无关的数据模式,转换成某一个DBMS所支持的数据模型表示的逻辑结构;数据库物理设计阶段数据库物理设计是对给定的关系数据库模式,根据计算机系统所提供的手段和施加的限制确定一个最适合应用环境的物理存储结构和存取方法数据库实施阶段在数据库实施阶段,设计人员运用DBMS提供的数据语言及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行;在数据库系统运行过程中必须不断地对其进行评价、调整与修改;包括:数据库的转储和恢复、数据库的安全性和完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造;P149最后一段ER图是用来描述某一组织单位的概念模型,提供了表示实体、属性和联系的方法;构成ER图的基本要素是实体、属性和关系;实体是指客观存在并可相互区分的事特;属性指指实体所具有的每一个特性;商店商店编号,商店名,地址,电话码:商店编号顾客顾客编号,姓名,性别,家庭住址,出生年月码:顾客编号消费商店编号,顾客编号,消费金额码:商店编号,顾客编号第六章习题答案6.1 单项选择题1、A2、D3、D4、D5、B6、D7、C6.2 填空题1、原子性一致性隔离性持续性 ACID2、软故障硬故障3、静态动态4、丢失修改不可重复读读“脏”数据5、自主存取控制强制存取控制6、实体完整性约束参照完整性约束用户自定义完整性约束6.4 综合题create table 读者借书证号 char10 primary key,姓名 varchar10 not null,年龄 tinyint not null,所在院系 varchar20 not nullcreate 图书图书号 char8 primary key,书名 varchar20 not null,作者 varchar10 not null,出版社 varchar30 not null,价格 real not null check价格>0 and 价格<=120create 借阅借书证号 char10 not null,图书号 char8 not null,借阅日期 datetime not null,primary key借书证号, 图书号,foreign key借书证号 references 读者借书证号,foreign key图书号 references 图书图书号实验4 答案Select xh,xm,xbm from stu_info,gdept where stu_info.xsh=gdept.xsh and gdept.xsm=’信息科学与工程’或 Select xh,xm,xbm from stu_info where xsh=select xsh from gdept where xsm=’信息科学与工程’Select stu_info.xh,xm,km from stu_info,xk,gcourse where stu_info.xh=xk.xh and xk.kch=gcourse.kch and kscj>85Select xh,xm,xsm from stu_info,gdept where stu_info.xsh=gdept.xsh and xh like ‘2000%’Select xh, xm from stu_info where xh in select xh from xk where kch=’090101’ and kscj<60或 select stu_info.xh,xm from stu_info,xk where stu_info.xh=xk.xh and kch=’090101’ and kscj<605. select stu_info.xh,xm,km from stu_info,xk,gcourse where stu_info.xh=xk.xh and xk.kch=gcourse.kch and xsh=’12’ and kscj<606. select stu_info.xh,xm,xsm from stu_info,xk,gdept where stu_info.xsh=gdept.xsh and stu_info.xh=xk.xh and kkny=’20011’ group by stu_info.xh,xm,xsm having count>=10实验5 答案1、2题参考实验4答案3. Select xh,xm,xbm,bh from stu_info where zyh in select zyh from stu_info where xm=’李明’ order by xh实验6答案Create view num_ban as select countdistinct bh from stu_infoCreate view ban as select distinct bh from stu_infoCreate view is_stu as select xm,xbm,bh from stu_info where xsh=’01’ orxsh=’02’Create view zhang_stu as select from stu_info where xsh=’01’ and xm like ‘张%’或 Create view zhang_stu as select from stu_info,gdept where xsm=’材料科学与工程’ and xm like ‘张%’ and stu_info.xsh=gdept.xsh8. Create view 材0168 as select stu_info.,xk. from stu_info,xk where bh=’材0168’ and stu_info.xh=xk.xhCreate view gaoshu _stu as select xm from stu_info,xk,gcourse where stu_info.xh=xk.xh and gcourse.kch=xk.kch and km=’高等数学’或 Create view gaoshu _stu as select xm from stu_info where xh inselect xh from xk where kch =select kch from gcourse where km=’高等数学’。

4-关系规范化设计练习题参考答案

4-关系规范化设计练习题参考答案

关系规范化设计一、考核内容1、对函数依赖,平凡函数依赖,非平凡函数依赖,完全非平凡函数依赖,部分依赖,传递依赖概念的准确理解。

2、对1NF、2NF、3NF、BCNF概念的准确理解。

3、函数依赖推理规则及应用。

4、找出一个关系模式的候选键,及判断其范式级别。

5、将一个1NF分解为3NF。

二、试题㈠选择1、在关系模式R(U)中,X⊂U,Y⊂U且X→Y,则X与Y之间的关系是( D )。

A.一对一B.一对多C.多对多D.多对一2、设有关系模式R(ABC),下面关于函数依赖不正确的推理是( B )。

A.A→B,B→C,则A→C。

B.AB→C,则A→C,B→C。

C.A →B,A→C,则A→BC。

D.A →B,C→B,则AC→B。

3、下面关于“候选键”概念的叙述中,不正确的叙述是( C )。

A.一个关系可以有多个候选键。

B.关系中任何一个属性都函数依赖于候选键。

C.候选键再添加一个属性还是候选键。

D.从候选键中去掉一个属性后就不再是候选键了4、下面对2NF的叙述中,不正确的说法是( E )。

A.2NF模式中不存非主属性对侯选键的部分依赖。

B.不是2NF模式,一定不是3NF.C.任何一个二元模式一定是2NF。

D.2NF模式中每个属性不可再分割。

E.2NF模式中不存在传递依赖。

5、下面对3NF的叙述中,不正确的说法是( A )。

A.3NF模式中不存属性对侯选键的传递依赖。

B.3NF模式中不存非主属性对侯选键的部分依赖。

C.如果模式R是3NF,那么R一定是2NF。

D.3NF模式中不存非主属性对侯选键的传递依赖。

E.任何一个二元模式一定是3NF。

㈡填空1、在关系模式R(U)中,X和Y是U的子集。

若对R(U)的任一个关系r 都存在如下事实:“r 中不存在两个元组,它们在X属性上的值相同而在X属性上的值相同”,那么我们就称(属性Y函数依赖于属性X)。

2、对于X→Y,若存在W⊂X且W→Y,则称属性Y()函数依赖于属性X。

3、设X→Y为R上的一个函数依赖,若对X的任意一个真子集A,都有(),则称Y完全函数依赖于X。

(完整版)数据库第二章关系代数习题

(完整版)数据库第二章关系代数习题

1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:S C SCS# SNAME AGE SEX1 李强23 男2 刘丽22 女5 张友22 男C# CNAME TEACHERk1 C语言王华k5 数据库原理程军k8 编译原理程军S# C# GRADE1 k1 832 k1 855 k1 922 k5 905 k5 845 k8 80(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。

(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。

(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。

(4) 检索”李强”同学不学课程的课程号(C#)。

(5) 检索至少选修两门课程的课程号(S#)。

(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。

(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。

(8) 检索选修课程号为k1和k5的学生学号(S#)。

(9) 检索选修全部课程的学生姓名(SNAME)。

(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。

(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。

(12)检索没有一门课程成绩不及格的学生学号,姓名。

答:本题各个查询语句对应的关系代数表达式表示如下:(1) ΠC#,CNAME(σTEACHER ='程军'(C))(2) ΠS#,SNAME(σAGE>21^SEX ='男'(S))(3) ΠSNAME(S(ΠS#,C#(SC)÷ΠC#(σTEACHER ='程军'(C))))(4) ΠC#(C)-ΠC#(σSNAME ='李强'(S)∞SC)(5) ΠS# (σ1=4^2≠5 (S C×SC))(6) ΠC#,CNAME(C∞(ΠS#,C#(SC)÷ΠS#(S)))(7) ΠS# (SC∞ΠC# (σTEACHER ='程军'(C)))(8) ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’K5’ (C))(9) ΠSNAME(S∞(ΠS#,C#(SC)÷ΠC#(C)))(10) ΠS#,C#(SC)÷ΠC#(σC#=’2’ (S C))(11) ΠS#,SNAME(S∞ΠS#(SC∞(σCNAME ='C语言'(C))))(12)П学号,姓名(学生)-П学号,姓名(σ分数<60(学生∞学习))。

数据库系统概述习题及答案

数据库系统概述习题及答案

习题一第1章数据库系统概述一、填空题1. 在关系数据库中,一个元组对应表中。

解:一个记录(一行)2. 常用的数据模型有:、、和面向对象模型。

解:关系模型,层次模型,网状模型3. 用二维表来表示实体及实体之间联系的数据模型是。

解:关系模型4.关系模型数据库中最常用的三种关系运算是、、。

解:选择运算,投影运算,连接运算5. 在数据库系统中,数据的最小访问单位是。

解: 字段〔数据项〕对表进行水平方向的分割用的运算是。

解:选择运算7. 数据结构、和称为数据模型的三要素。

解:数据操作,数据约束条件8. 关系的完整性约束条件包括完整性、完整性和完整性三种。

解:用户定义,实体,参照二、单项选择题1. 对数据库进行规划、设计、协调、维护和管理的人员,通常被称为〔 D 〕。

A.工程师B. 用户C.程序员D. 数据库管理员2. 下面关于数据〔Data〕、数据库(DB)、数据库管理系统(DBMS)与数据库系统(DBS)之间关系的描述正确的选项是〔 B 〕。

A.DB包含DBMS和DBSB.DBMS包含DB和DBSC.DBS包含DB和DBMSD. 以上都不对3. 数据库系统的特点包括〔D 〕。

A.实现数据共享,减少数据冗余B. 具有较高的数据独立性、具有统一的数据控制功能C.采用特定的数据模型D. 以上特点都包括4. 以下各项中,对数据库特征的描述不准确的是〔 D 〕。

A.数据具有独立性B. 数据结构化C.数据集中控制D. 没有冗余5. 在数据的组织模型中,用树形结构来表示实体之间联系的模型称为( D )。

A.关系模型B. 层次模型C.网状模型D. 数据模型6. 在数据库中,数据模型描述的是( C ) 的集合。

A.文件B. 数据C.记录D. 记录及其联系7. 在关系数据库中,关系就是一个由行和列构成的二维表,其中行对应〔B 〕。

A. 属性B. 记录C.关系D. 主键8. 关系数据库管理系统所管理的关系是〔 C 〕。

A.一个二维表B. 一个数据库C.假设干个二维表D. 假设干个数据库文件9. 在同一所大学里,院系和教师的关系是〔 B 〕。

Oracle数据库管理习题及答案

Oracle数据库管理习题及答案

1。

6习题一.填空题1、关系模型提供了3类完整性规则,分别是_______、_______、_______。

参考答案:实体完整性规则、参照完整性规则、用户定义的完整性规则2、RDBMS由两部分组成,即_______、_______两部分。

答案:数据库系统内核、数据字典3、关系数据库模型支持三种类型的表关联关系:_______、_______、_______。

答案:一对一、一对多以及多对多4、数据模型的种类有很多,例如_______、_______、_______和_______等.目前理论最成熟、使用最普及的是_______.答案:层次模型、网状模型、关系数据模型、面向对象模型.关系数据模型二、选择题1、Oracle 11g版本号中字母“g”的含义是()A.产品类型的“代"( generation) B.网格(gridding)C.集成(integration)D.无含义答案:A2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是()A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑答案:A3、消除了部分函数依赖的1NF的关系模式必定是()A.1NF B.2NF C.3NF D.4NF答案:B4、当B属于函数依赖于A属性时,属性B与A 的联系是()A.1对多B.多对1 C.多对多D.以上都不是答案:B5、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。

下面“部门”关系中,因哪个属性而使它不满足第一范式?部门(部门号,部门名,部门成员,部门总经理)A.部门总经理B.部门成员C.部门名D.部门号答案:B6、下列不属于Oracle数据库数据类型的是( )A.NUMBER B.FLOAT C.CLOB D.BOOLEAN 答案:D三、简答题1、简述数据库与数据库管理系统的区别。

参考答案:数据库是用来存储信息或数据的机制,是按照数据结构来组织、存储和管理数据的仓库.可以被定义为是在计算机存储设备上合理存放的,互相关联的数据集合。

数据库综合练习(一)习题及答案

数据库综合练习(一)习题及答案

1.现有如下关系模式: R(A#,B#,C,D,E) 其中:A#B#组合为码, R上存在的函数依赖有A#B#→E,B#→C,C→D1)该关系模式满足2NF吗为什么2)如果将关系模式R分解为: R1(A#,B#,E) R2(B#,C,D) 指出关系模式R1和R2的码,并说明该关系模式最高满足第几范式(在1NF~BCNF之内)。

3)将关系模式R分解到BCNF。

解:1)不是2范式,因为C部分依赖于码A#B#2)R1的码为A#B#,R2的码为B#R1最高位BCNF,R2最高为2NF。

3)R1(A#,B#,E)R21(B#,C)R22(C,D)2.设有一个关系模式R(S#, C#, G, TN, D), 其属性S#为学号,C#课程,G成绩,TN任课教师,D教师所在系。

其中学号和课程号分别与其代表的学生和课程一一对应;学生选修的课程都有成绩;每门课程只有一个任课教师,每个教师可以有多门课程,教师没有重名,一个教师只属于一个系。

(1) 试根据上述语义确定函数依赖集。

(2) 关系R属于第几范式(3)试将关系R规范为第3范式,并说明理由。

解:R(S#,C#,G,TN,D)由题意可得关系模式R的函数依赖集:(1)F={S#C#->G, S#C#->TN, S#->D, C#->TN, TN->D}(2)函数依赖集存在部分函数依赖,关系模式R属于1NF。

(3)R分解为如下关系模式:R1(S#,C#,G) 不存在部分函数依赖及传递函数依赖,满足3NF。

R2(S#,D) 不存在部分函数依赖及传递函数依赖,满足3NF。

R3(C#,TN) 不存在部分函数依赖及传递函数依赖,满足3NF。

R4(TN,D) 不存在部分函数依赖集传递函数依赖,满足3NF。

3.某企业有多个下属单位,每个单位有多个员工。

一个员工仅属于一个单位,且一个员工仅在一个工程中工作;一个工程中有多个员工。

有多个供应商为各个工程供应设备。

数据库原理及应用第3章课后习题答案

数据库原理及应用第3章课后习题答案

习题31.试述关系模型的3个组成部分。

1)数据结构关系模型的数据结构非常简单,只包括单一的数据结构——关系。

从用户角度,关系模型中数据的逻辑结构是一张扁平的二维表。

2)数据操作关系操作采用集合操作方式,即操作的对象和结果都是集合。

这种方式称为一次一集合的方式。

而非关系数据结构的数据操作方式为一次一记录方式。

关系模型中常用的关系操作包括查询操作和插入、删除、修改操作两大部分。

3)完整性约束关系模型提供了丰富的完整性控制机制,允许定义三类完整性:实体完整性、参照完整性和用户定义完整性。

2.定义并理解下列术语,说明它们之间的联系与区别:1)域、笛卡尔积、关系、元组、属性①域(Domain)域是一组具有相同数据类型的值的集合。

②笛卡尔积(Cartesian Product)定义 3.2 给定一组域D1,D2,…,D n,这些域中可以有相同的域。

D1,D2,…,D n 的笛卡尔积为:D1×D2×…×D n={(d1,d2,…,d n)|d i D i,i=1,2,…,n}③关系D1×D2×…×D n的子集叫作在域D1,D2,…,D n上的关系,表示为:R(D1,D2,…,D n),这里R是关系名。

④表的每行对应一个元组,也可称为记录(Record)。

⑤表的每列对应一个域,也可以称为字段(Filed )。

由于域可以相同,为了加以区分,必须为每列起一个名字,称为属性(Attribute)。

2)主码、候选码、外码①若关系中的某一属性或属性组的值能唯一地标识一个元组,则称该属性组为候选码或码(Key)。

其中属性组中不能含有多余的属性。

②若一个关系有多个候选码,则选定其中一个作为主码(Primary Key)。

每个关系有且仅有一个主码。

③如果一个属性或属性组不是所在关系的码,却是另一个关系的码,则称该属性或属性组为所在关系的外码。

3)关系模型、关系、关系数据库①关系数据库中关系模式是型,关系是值,关系模式是对关系的描述,关系模式可以用一个五元组表示:R(U,D,DOM,F)。

数据库13章习题参考答案

数据库13章习题参考答案
1、在关系中能唯一标识元组的属性集为( D )。 A.外部键 B.候选键 C.主键 D.超键
2、在实体中有属性可作为键而选定其中一个时,称
为该实体的 ( C )。 A.外部键 B.候选键 C.主键 D.主属性
3、若某属性虽非该实体的主键,却是另一实体的主
键,称该属性为( A )。 A.外部键 B.候选键 C.主键 D.主属性
2、4 查询优化
第二章 习题
3>、检索在“联华公司”工作的工号和姓名。 4>、假设每一个职工可以在多个公司工作,检索在 A1和A4公司兼职职工的工号和姓名。 5>、检索在“联华公司”工作,工资在6000元以上 的女职工的工号和姓名。
2、将上题中的“5、”用优化的查询表达式表示,并 画出语法树。
第二章 习题参考答案: 一、单项选择题
第二章 习题
二、多项选择题
1、按照表达查询的方式不同,关系DML可分( ) A. 关系代数 B. 关系演算 C.元组演算 D.域 演算 2、相容关系满足的条件是( ) 。 A. 属性名相同 B. 关系度数相同 C.相应属性取自同一个域 D.关系元组个数相同 3.关系代数中专门的关系运算包括除法和( ) A. 投影 B. 选择 C.插入 D.联接 4、把关系看成二维表,下列说法正确的是( ) A. 表中允许出现相同的行 B.表中不允许出现相同 的列 C.行的次序可以交换 D.列的次序可以交换
第一章 习题解答
一、填空题 1、DBS,DBMS和DB的关系是——。 DBS包含DBMS和DB 2、 3个模式之间存在的两种映射关系 是——。外模式/模式、模式/内模式 3、在数据库技术发展过程中,文件系统 与数据库系统的重要区别是——。 数据库系统具有特定的数据模型 4、数据是信息的载体,信息是数据的— —。内涵

数据库技术复习题4综合题附答案

数据库技术复习题4综合题附答案

数据库技术试题四、综合题1. 假设某商业集团数据库中有一关系模式R如下:R (商店编号,商品编号,数量,部门编号,负责人)如果规定:(1) 每个商店的每种商品只在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存数量。

试回答下列问题:(1) 根据上述规定,写出关系模式R的基本函数依赖;(2) 找出关系模式R的候选码;(3) 试问关系模式R最高已经达到第几范式?为什么?(4) 如果R不属于3NF,请将R分解成3NF模式集。

2. 有一学生-课程数据库,包括学生关系stu(学号sno,姓名sname,性别sex,年龄sage,所在系sdept)、课程关系Course(课程号cno,课程名cname,学分credit)、选修关系sc(学号sno,课程号cno,成绩grade)。

用SQL语句完成下列查询。

(1) 查询信息系(information)的全体学生的的学号、姓名、年龄。

(2) 查询选修操作系统的学生姓名、课程号和成绩。

(3) 查询学号为95001的学生2号课程的姓名和成绩。

3. 有一学生-课程数据库,包括学生关系stu(学号sno,姓名sname,性别sex,年龄sage,所在系sdept)、课程关系Course(课程号cno,课程名cname,学分credit)、选修关系sc(学号sno,课程号cno,成绩grade)。

用SQL语言完成下列查询。

(1) 查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。

(2) 查询所有比“王华”年龄大的学生姓名、年龄和性别。

(3)查询选修“computer”课程的“女”学生的姓名及成绩。

4. 下表给出的关系SC为第几范式?是否存在插入、删除异常?若存在,则说明是什么情况下发生?发生的原因是什么?将它分解为高一级范式,分解后的关系能否解决操作异常问题?5. 某医院病房计算机管理中需要如下信息:科室:科名,科地址,科电话,医生姓名病房:病房号,床位号,所属科室名医生:姓名,职称,所属科室名,年龄,工作证号病人:病历号,姓名,性别,诊断,主管医生,病房号其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。

《数据库系统原理》习题-第二章关系数据模型

《数据库系统原理》习题-第二章关系数据模型

第二章 关系数据模型一、选择题1.常见的数据模型是A.层次模型、网状模型、关系模型B.概念模型、实体模型、关系模型C.对象模型、外部模型、内部模型D.逻辑模型、概念模型、关系模型答案:A2. 一个结点可以有多个双亲,结点之间可以有多种联系的模型是A.网状模型B.关系模型C.层次模型D.以上都有答案:A3.层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系答案:D4.层次模型不能直接表示A)1:1关系B)1:m关系C)m:n关系D)1:1和1:m关系答案:C5.层次数据模型的基本数据结构是A.树B.图C.索引D.关系答案:A6.层次模型实现数据之间联系的方法是A.连接B.指针C.公共属性D.关系答案:B7.用二维表结构表示实体以及实体间联系的数据模型称为A.网状模型B.层次模型C.关系模型D.面向对象模型答案:C8.关系数据模型的基本数据结构是A.树B.图C.索引D.关系答案:D9.下面关于关系性质的说法,错误的是A.表中的一行称为一个元组B.行与列交叉点不允许有多个值C.表中的一列称为一个属性D.表中任意两行可能相同答案:D10.下列所述数据模型概念,不正确的是A)不同记录型的集合B)各种记录型及其联系的集合C)E-R图表示的实体联系模型D)数据库的概念模型答案:A11.关系数据模型A)只能表示实体之间1:1联系B)只能表示实体之间1:m联系C)只能表示实体之间m:n联系D)可以表示实体间的任意联系答案:D12.存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,简化程序员和数据库开发建立工作的模型是A.网状模型B.关系模型C.层次模型D.以上都有答案:B13.对关系模型叙述错误的是A)在严格的数学理论、集合论和谓词基础之上B)微机DBMS绝大部分采取关系数据模型C)用二维表表示关系模型是其一大特点D)不具有连接操作的DBMS也可以是关系数据库系统答案:D14.关系数据模型是目前最重要的一种数据模型,它的三个要素分别是A.实体完整性、参照完整性、用户自定义完整性B.数据结构、关系操作、完整性约束C.数据增加、数据修改、数据查询D.外模式、模式、内模式答案:B15.实体是信息世界中的术语,与之对应的数据库术语为A)文件B)数据库C)字段D)记录答案:D16.同一个关系模型的任两个元组值A)不能全同B)可全同C)必须全同D)以上都不是答案:A17.在通常情况下,下面关系中不可以作为关系数据库的关系是A)R1(学生号,学生名,性别)B)R2(学生号,学生名,班级号)C)R3(学生号,学生名,宿舍号)D)R4(学生号,学生名,简历)答案:D18.一个关系数据库文件中的各条记录A)前后顺序不能任意颠倒,一定要按照输入的顺序排列B)前后顺序可以任意颠倒,不影响库中的数据关系C)前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同 D)前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列答案:B19.下面的选项不是关系数据库基本特征的是A. 不同的列应有不同的数据类型B. 不同的列应有不同的列名C. 与行的次序无关D. 与列的次序无关答案:A20.关系模式的任何属性A)不可再分B)可再分C)命名在该关系模式中可心不惟一D)以上都不对答案:D21.关系中任何一列的属性取值A)可以再分成更小的数据项,并可取自不同域中的数据B)可以再分成更小的数据项,不能取自不同域 中的数据C)不可再分的数据项,只能取自同一域 中的数据D)不可再分的数据项,可取自大在不同域中数据答案:C22.关系模型中,一个关键字是A)可由多个任意属性组成B)至多由一个属性组成C)可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成D)以上都不是答案:C23.关系数据库中的关键字是指A)能惟一决定关系的字段B)不可改动的专用保留字C)关键的很重要的字段D)能惟一标识元组的属性或属性集合答案:D24.一个关系只有一个A. 候选关键字B.外关键字C.超关键字D.主关键字答案:D25.关系模型中,一个关键字是A. 可以由多个任意属性组成B. 至多由一个属性组成C. 由一个或多个属性组成,其值能够惟一标识关系中一个元组D. 以上都不是答案:C26.有一名为”销售”实体,含有:商品名、客户名、数量等属性,该实体主键A)商品名B)客户名C)商品名+客户名D)商品名+数量答案:C27.有殒为”列车运营”实体,含有:车次、日期、实际发车时间、实际抵达时间、情况摘要等属性,该实体主键是A)车次B)日期C)车次+日期D)车次+情况摘要答案:C28.在订单管理系统中,客户一次购物(一张订单)可以订购多种商品。

数据库系统概论第五版课后习题答案王珊版

数据库系统概论第五版课后习题答案王珊版

第二章关系数据库1 .试述关系模型的三个组成部分;答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成;2 .试述关系数据语言的特点和分类;答:关系数据语言可以分为三类:关系代数语言;关系演算语言:元组关系演算语言和域关系演算语言;SQL:具有关系代数和关系演算双重特点的语言;这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用;3 略4 .5 . 述关系模型的完整性规则;在参照完整性中,为什么外部码属性的值也可以为空什么情况下才可以为空答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值;若属性或属性组F是基本关系R的外码,它与基本关系S的主码Ks相对应基本关系R和S 不一定是不同的关系,则对于R中每个元组在F上的值必须为:或者取空值F的每个属性值均为空值;或者等于S中某个元组的主码值;即属性F本身不是主属性,则可以取空值,否则不能取空值;6.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1求供应工程J1零件的供应商号码SNO:πSnoσJno=‘J1’SPJ2求供应工程J1零件P1的供应商号码SNO:πSnoσJno=‘J1’∧Pno=‘P1‘SPJ3求供应工程J1零件为红色的供应商号码SNO:πSnoπSno,,PnoσJno=‘J1‘SPJ∞πPnoσCOLOR=’红‘P4求没有使用天津供应商生产的红色零件的工程号JNO:πJno SPJ- πJNOσcity=‘天津’∧Color=‘红‘S∞SPJ∞P5求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno SPJ÷πPnoσSno=‘S1‘SPJ7. 试述等值连接与自然连接的区别和联系;答:连接运算符是“=”的连接运算称为等值连接;它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉;8.关系代数的基本运算有哪些如何用这些基本运算来表示其他运算答:并、差、笛卡尔积、投影和选择5种运算为基本的运算;其他3种运算,即交、连接和除,均可以用这5种基本运算来表达;第三章关系数据库语言SQL1 .试述sQL 语言的特点;答:l综合统一; sQL 语言集数据定义语言DDL 、数据操纵语言DML 、数据控制语言DCL 的功能于一体;2高度非过程化;用sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL 语句的操作过程由系统自动完成;3面向集合的操作方式; sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合;4以同一种语法结构提供两种使用方式; sQL 语言既是自含式语言,又是嵌入式语言;作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用;5语言简捷,易学易用;2.3 1 select from S where A='10';2 select A,B from S;3 select A,B,S.C,S.D,E,F from S ,T where S.C=T.C and S.D=T.D;4 select from S ,T where S.C=T.C;5 select from S ,T where S.A<T.E;6 select S.C,S.D,T. from S ,T ;4.用sQL 语句建立第二章习题6中的4 个表;答:对于S 表:S SNO , SNAME , STATUS , CITY ;建S 表:CREATE TABLE S Sno C2 UNIQUE,Sname C6 ,Status C2,City C4;对于P 表:P PNO , PNAME , COLOR , WEIGHT ;建P 表:CREATE TABLE PPno C2 UNIQUE,Pname C6,COLOR C2, WEIGHT INT;对于J 表:J JNO , JNAME , CITY ;建J 表:CREATE TABLE JJno C2 UNlQUE,JNAME C8, CITY C4对于sPJ 表:sPJ sNo , PNo , JNo , QTY ;建SPJ 表:SPJSNO,PNO,JNO,QTYCREATE TABLE SPJSno C2,Pno C2,JNO C2, QTY INT针对建立的4 个表用sQL 语言完成第二章习题6中的查询;l 求供应工程Jl 零件的供应商号码SNO ;SELECT DIST SNO FROM SPJ WHERE JNO=’J1’2 求供应工程Jl 零件Pl 的供应商号码SNO ;SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'3 求供应工程Jl 零件为红色的供应商号码SNO ;SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'4 求没有使用天津供应商生产的红色零件的工程号JNO ;SELECT DIST JNO FROM SPJ WHERE JNO NOT IN SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO;5 求至少用了供应商Sl 所供应的全部零件的工程号JNO ;由于VFP不允许子查询嵌套太深,将查询分为两步A、查询S1供应商供应的零件号SELECT DIST PNO FROM SPJ WHERE SNO='S1'结果是P1,P2B、查询哪一个工程既使用P1零件又使用P2零件;SELECT JNO FROM SPJ WHERE PNO='P1'AND JNO IN SELECT JNO FROM SPJ WHERE PNO='P2'5.针对上题中的四个表试用SQL语言完成以下各项操作:1找出所有供应商的姓名和所在城市;SELECT SNAME,CITY FROM S2找出所有零件的名称、颜色、重量;SELECT PNAME,COLOR,WEIGHT FROM P3找出使用供应商S1所供应零件的工程号码;SELECT DIST JNO FROM SPJ WHERE SNO='S1'4找出工程项目J2使用的各种零件的名称及其数量;SELECT PNAME,QTY FROM SPJ,PWHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'5找出上海厂商供应的所有零件号码;SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'6出使用上海产的零件的工程名称;SELECT JNAME FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO7找出没有使用天津产的零件的工程号码;注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT IN SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY='天津' 适用于JNO是唯一或不唯一的情况.注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY<>'天津'适用于JNO是唯一的情况8把全部红色零件的颜色改成蓝色;UPDATE P SET COLOR='蓝' WHERE COLOR='红'9由S5供给J4的零件P6改为由S3供应;UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'10从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录;A、DELETE FROM S WHERE SNO=’S2’B、DELETE FROM SPJ WHERE SNO=‘S2’11请将S2,J6,P4,200插入供应情况关系;INSERT INTO SPJ V ALUES‘S2’,‘J6’,‘P4’,2006 .什么是基本表什么是视图两者的区别和联系是什么答:基本表是本身独立存在的表,在sQL 中一个关系就对应一个表;视图是从一个或几个基本表导出的表;视图本身不独立存储在数据库中,是一个虚表;即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中;视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图;7 .试述视图的优点;答l 视图能够简化用户的操作; 2 视图使用户能以多种角度看待同一数据; 3 视图对重构数据库提供了一定程度的逻辑独立性; 4 视图能够对机密数据提供安全保护;8 .哪类视图是可以更新的哪类视图是不可更新的各举一例说明;答:基本表的行列子集视图一般是可更新的;若视图的属性来自集合函数、表达式,则该视图肯定是不可以更新的;所有的视图是否都可以更新为什么答:不是;视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新;因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的.9 .请为三建工程项目建立一个供应情况的视图,包括供应商代码SNO、零件代码PNO、供应数量QTY;CREATE VIEW VSP AS SELECT SNO,SPJ.PNO,QTY FROM SPJ,JWHERE SPJ.JNO=J.JNO AND J.JNAME='三建'针对该视图VSP完成下列查询:1找出三建工程项目使用的各种零件代码及其数量;SELECT DIST PNO,QTY FROM VSP2找出供应商S1的供应情况;SELECT DIST FROM VSP WHERE SNO='S1'第4章数据库安全性1 .什么是数据库的安全性答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏;2 .数据库安全性和计算机系统的安全性有什么关系答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题;只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出;系统安全保护措施是否有效是数据库系统的主要指标之一;数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,4 .试述实现数据库安全性控制的常用方法和技术;答:实现数据库安全性控制的常用方法和技术有:l 用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份;每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权;2 存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据;例如CZ 级中的自主存取控制DAC , Bl 级中的强制存取控制MAC ;3 视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护;4 审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等;5 数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容;5.什么是数据库中的自主存取控制方法和强制存取控制方法答:自主存取控制方法:定义各个用户对不同数据对象的存取权限;当用户对数据库访问时首先检查用户的存取权限;防止不合法用户对数据库的存取;强制存取控制方法:每一个数据对象被强制地标以一定的密级,每一个用户也被强制地授予某一个级别的许可证;系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象;6. 1 GRANT ALL PRIVILEGES ON Student,ClassTO U1WITH GRANT OPTION ;2GRANT SELECT,UPDATE家庭住址,DELETE ON Student TO U2;3GRANT SELECT ON Class TO PUBLIC;4GRANT SELECT,UPDATE ON Student TO R1;5GRANT R1 TO U1 WITH ADMIN OPTION ;7 .SQL 语言中提供了哪些数据控制自主存取控制的语句请试举几例说明它们的使用方法; 答:SQL 中的自主存取控制是通过GRANT语句和REVOKE语句来实现的;如:GRANT SELECT , INSERT ON StudentTO 王平WITH GRANT OPTION ;就将Student 表的SELECT 和INSERT 权限授予了用户王平,后面的“WITH GRANT OPTION ”子句表示用户王平同时也获得了“授权”的权限,即可以把得到的权限继续授予其他用户;REVOKE INSERT ON Student FROM 王平CASCADE ;就将Student 表的INSERT 权限从用户王平处收回,选项CASCADE 表示,如果用户王平将Student 的INSERT 权限又转授给了其他用户,那么这些权限也将从其他用户处收回;7.请用SQL的GRANT 和REVOKE语句加上视图机制完成以下授权定义或存取控制功能: a 用户王明对两个表有SELECT 权力;GRANT SELECT ON 职工,部门TO 王明b 用户李勇对两个表有INSERT 和DELETE 权力;GRANT INSERT,DELETE ON 职工,部门TO 李勇c 每个职工只对自己的记录有SELECT 权力;GRANT SELECT ON 职工WHEN USER=NAMETO ALL;d 用户刘星对职工表有SELECT 权力,对工资字段具有更新权力;GRANT SELECT,UPDATE工资ON 职工TO 刘星e 用户张新具有修改这两个表的结构的权力;GRANT ALTER TABLE ON 职工,部门TO 张新;f 用户周平具有对两个表所有权力读,插,改,删数据,并具有给其他用户授权的权力;GRANT ALL PRIVILIGES ON 职工,部门TO 周平WITH GRANT OPTION;g 用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资;CREATE VIEW 部门工资ASSELECT 部门.名称,MAX工资,MIN工资,A VG工资FROM 职工,部门WHERE 职工.部门号=部门.部门号GROUP BY 职工.部门号GRANT SELECT ON 部门工资TO 杨兰;8 .把习题8 中1---7的每一种情况,撤销各用户所授予的权力1 REVOKE SELECT ON 职工,部门FROM 王明;2 REVOKE INSERT , DELETE ON 职工,部门FROM 李勇;3 REOVKE SELECT ON 职工WHEN USER =NAMEFROM ALI ;4 REVOKE SELECT , UPDATE ON 职工FROM 刘星;5 REVOKE ALTER TABLE ON 职工,部门FROM 张新;6 REVOKE ALL PRIVILIGES ON 职工,部门FROM 周平;7 REVOKE SELECT ON 部门工资FROM 杨兰;DROP VIEW 部门工资;9.理解并解释MAC 机制中主体、客体、敏感度标记的含义;答:主体是系统中的活动实体,既包括DBMS 所管理的实际用户,也包括代表用户的各进程;客体是系统中的被动实体,是受主体操纵的,包括文件、基表、索引、视图等;对于主体和客体,DBMS 为它们每个实例值指派一个敏感度标记Label ;敏感度标记被分成若干级别,例如绝密Top Secret 、机密Secret ·可信Confidential 、公开PubliC 等;主体的敏感度标记称为许可证级别ClearanCe 玫vel ,客体的敏感度标记称为密级Classification Level ;11 .什么是数据库的审计功能,为什么要提供审计功能答:审计功能是指DBMS 的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中;因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在;利用数据库的审计功能,DBA 可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等;第5章数据库完整性1什么是数据库的完整性答:数据库的完整性是指数据的正确性和相容性;2 .数据库的完整性概念与数据库的安全性概念有什么区别和联系答:数据的完整性和安全性是两个不同的概念,但是有一定的联系;前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出Garba : e In Garba : e out 所造成的无效操作和错误结果;后者是保护数据库防止恶意的破坏和非法的存取;也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据;3 .什么是数据库的完整性约束条件可分为哪几类答完整性约束条件是指数据库中的数据应该满足的语义约束条件;一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束;静态列级约束是对一个列的取值域的说明,包括以下几个方面:l 对数据类型的约束,包括数据的类型、长度、单位、精度等; 2 对数据格式的约束; 3 对取值范围或取值集合的约束; 4 对空值的约束; 5 其他约束;静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上;静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束;常见的静态关系约束有:l 实体完整性约束; 2 参照完整性约束; 3 函数依赖约束;动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:l 修改列定义时的约束; 2 修改列值时的约束;动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件;动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件;4 . DBMS 的完整性控制机制应具有哪些功能答:DBMS 的完整性控制机制应具有三个方面的功能:l 定义功能,即提供定义完整性约束条件的机制; 2 检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;3 违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性;5 . RDBMS 在实现参照完整性时需要考虑哪些方面答RDBMs 在实现参照完整性时需要考虑以下几个方面:l 外码是否可以接受空值;2 册l 除被参照关系的元组时的考虑,这时系统可能采取的作法有三种:l 级联删除CASCADES ; 2 受限删除RESTRICTED ;3 置空值删除NULLIFIES ; 3 在参照关系中插入元组时的问题,这时系统可能采取的作法有:l 受限插入;2 递归插入;4 修改关系中主码的问题;一般是不能用UPDA TE 语句修改关系主码的;如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中;如果允许修改主码,首先要保证主码的惟一性和非空,否则拒绝修改;然后要区分是参照关系还是被参照关系;6 .假设有下面两个关系模式:职工职工号,姓名,年龄,职务,工资,部门号,其中职工号为主码;部门部门号,名称,经理名,电话,其中部门号为主码;用sQL 语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60 岁;答CREATE TABLE DEPTDeptno NUMBER2,Deptname V ARCHAR10,Manager V ARCHAR10,PhoneNumber Char12CONSTRAINT PK_SC RIMARY KEYDeptno;CREATE TABLE EMPEmpno NUMBER4,Ename V ARCHAR10,Age NUMBER2,CONSTRAINT C1 CHECK Aage<=60,Job V ARCHAR9,Sal NUMBER7,2,Deptno NUMBER2,CONSTRAINT FK_DEPTNOFOREIGN KEYDeptnoREFFERENCES DEPTDeptno;7 .关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的答:对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理;而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性;第6章关系数据库理论1 .理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码All 一key 、1 NF 、ZNF 、3NF 、BcNF 、多值依赖、4NF ;定义1:设RU是属性集U上的关系模式;X,Y是属性集U的子集;若对于RU的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y;即只要X上的属性值相等,Y上的值一定相等;术语和记号:X→Y,但Y不是X的子集,则称X→Y是非平凡的函数依赖;若不特别声明,总是讨论非平凡的函数依赖;X→Y,但Y是X的子集,则称X→Y是平凡的函数依赖;若X→Y,则X叫做决定因素Determinant;若X→Y,Y→X,则记作X←→Y;若Y不函数依赖于X,则记作X → Y;定义2:在RU中,如果X→Y,并且对于X的任何一个真子集X’,都有X’→ Y,则称Y对X完全函数依赖若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖定义3:若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式1NF; 定义4:若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF ;即1NF消除了非主属性对码的部分函数依赖则成为2NF;定义5:关系模式R<U,F> 中若不存在这样的码X、属性组Y及非主属性ZZ不是Y的子集使得X→Y,Y → X,Y → Z成立,则称R<U,F>∈3NF;定义6:关系模式R<U,F>∈1NF ;若X→Y且Y不是X的子集时,X必含有码,则R<U,F>∈BCNF;定义7:关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→YY不是X的子集,Z=U-X-Y不为空,X都含有码,则称R<U,F>∈4NF;2.建立一个关于系、学生、班级、学会等诸信息的关系数据库;学生:学号、姓名、出生年月、系名、班号、宿舍区;班级:班号、专业名、系名、人数、入校年份;系:系名、系号、系办公地点、人数;学会:学会名、成立年份、办公地点、人数;语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生;一个系的学生住在同一宿舍区;每个学生可参加若干学会,每个学会有若干学生;学生参加某学会有一个入会年份;请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖;指出各关系模式的候选码、外部码,有没有全码存在解:1关系模式如下:学生:SSno,Sname,Sbirth,Dept,Class,Rno 班级:CClass,Pname,Dept,Cnum,Cyear 系:DDept,Dno,Office,Dnum学会:MMname,Myear,Maddr,Mnum2每个关系模式的最小函数依赖集如下:A、学生S Sno,Sname,Sbirth,Dept,Class,Rno 的最小函数依赖集如下:Sno→Sname,Sno→Sbirth,Sno→Class,Class→Dept,DEPT→Rno传递依赖如下:由于Sno→Dept,而Dept→Sno ,Dept→Rno宿舍区所以Sno与Rno之间存在着传递函数依赖;由于Class→Dept,Dept → Class,Dept→Rno所以Class与Rno之间存在着传递函数依赖;由于Sno→Class,Class→Sno,Class→Dept所以Sno与Dept之间存在着传递函数依赖;B、班级CClass,Pname,Dept,Cnum,Cyear的最小函数依赖集如下:Class→Pname,Class→Cnum,Class→Cyear,Pname→Dept.由于Class→Pname,Pname→Class,Pname→Dept所以C1ass与Dept之间存在着传递函数依赖;C、系DDept,Dno,Office,Dnum的最小函数依赖集如下:Dept→Dno,Dno→Dept,Dno→Office,Dno→Dnum根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖;D、学会MMname,Myear,Maddr,Mnum的最小函数依赖集如下:Mname→Myear,Mname→Maddr,Mname→Mnum该模式不存在传递依赖;3各关系模式的候选码、外部码,全码如下:A、学生S候选码:Sno;外部码:Dept、Class;无全码B、班级C候选码:Class;外部码:Dept;无全码C、系D候选码:Dept或Dno;无外部码;无全码D、学会M候选码:Mname;无外部码;无全码7.下面的结论哪些是正确的哪些是错误的对于错误的请给一个反例说明之;1任何一个二目关系是属于3NF;答:正确;因为关系模式中只有两个属性,所以无传递;2任何一个二目关系是属于BCNF.答:正确;按BCNF的定义,若X→Y,且Y不是X的子集时,每个决定因素都包含码,对于二目关系决定因素必然包含码;详细证明如下:任何二元关系模式必定是BCNF;证明:设R为一个二目关系RA1,A2,则属性A1和A2之间可能存在以下几种依赖关系:A、A1→A2,但A2→A1,则关系R的码为A1,决定因素都包含码,所以,R是BCNF;B、A1→A2,A2→A1,则关系R的码为A2,所以决定因素都包含码,R是BCNF;包含码;R是BCNF;C、R的码为A1,A2即A1 →A2,A2 →A1,决定因素都第七章数据库设计1.试述数据库设计过程;答:这里只概要列出数据库设计过程的六个阶段:l 需求分析; 2 概念结构设计; 3 逻辑结构设计; 4 数据库物理设计; 5 数据库实施; 6 数据库运行和维护;这是一个完整的实际数据库及其应用系统的设计过程;不仅包括设计数据库本身,还包括数据库的实施、运行和维护;设计一个完善的数据库应用系统往往是上述六个阶段的不断反复;2 .试述数据库设计过程各个阶段上的设计描述;答:各阶段的设计要点如下:l 需求分析:准确了解与分析用户需求包括数据与处理; 2 概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型; 3 逻辑结构设计:将概念结构转换为某个DBMS 所支持的数据模型,并对其进行优化; 4 数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构包括存储结构和存取方法; 5 数据库实施:设计人员运用DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行; 6 数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改;3 .试述数据库设计过程中结构设计部分形成的数据库模式;答:数据库结构设计的不同阶段形成数据库的各级模式,即:l 在概念设计阶段形成独立于机器特点,独立于各个DBMS 产品的概念模式,在本篇中就是E 一R 图; 2 在逻辑设计阶段将 E 一R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图Vi 娜,形成数据的外模式; 3 在物理设计阶段,根据DBMS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式;5 .什么是数据库的概念结构试述其特点和设计策略;答:概念结构是信息世界的结构,即概念模型,其主要特点是:l 能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型; 2 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键; 3 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充; 4 易于向关系、网状、层次等各种数据模型转换;概念结构的设计策略通常有四种:l 自顶向下,即首先定义全局概念结构的框架,然后逐步细化; 2 自底向上,即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构; 3 逐步扩张,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;4 混合策略,即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构;7.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修;请用 E 一R 图画出此学校的概念模型;答:。

习题-ER图(附答案)

习题-ER图(附答案)

7、一个图书馆借阅管理数据库要求提供下述服务:(1)可随时查询书库中现有书籍的品种、数量与存放位置。

所有各类书籍均可由书号惟一标识。

(2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。

我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有惟一性。

(3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息下相应出版社增购有关书籍。

我们约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有惟一性。

根据以上情况和假设,试作如下设计:(1)构造满足需求的E-R图。

(2)转换为等价的关系模式结构。

答:(1)满足上述需求的E-R图如图11所示。

(2)转换为等价的关系模式结构如下:借书人(借书证号,姓名,单位)图书(书号,书名,数量,位置,出版社名)出版社(出版社名,电报编号,电话可,邮编,地址)借阅(借书证号,书号,借书日期,还书日期)8、工厂(包括厂名和厂长名)需建立一个管理数据库存储以下信息:(1)一个工厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。

(2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。

(3)一个车间生产多种产品,产品有产品号和价格。

(4)一个车间生产多种零件,一个零件也可能为多个车间制造。

零件有零件号、重量和价格。

(5)一个产品由多种零件组成,一种零件也可装配出多种产品。

(6)产品与零件均存入仓库中。

(7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。

试:(1)画出该系统的E-R图。

(2)给出相应的关系模式。

(3)画出该系统的层次模式图。

答:(1)该系统的E-R图如图12所示。

各实体的属性为:工厂:厂名、厂长姓名车间:车间号、车间主任姓名、地址、电话工人:职工号、姓名、年龄、性别、工种仓库:仓库号、仓库主任姓名、电话零件:零件号、重量、价格产品:产品号、价格(2)相应的关系模式如下:工厂(厂名、厂长姓名)车间(车间号、车间主任姓名、地址、电话、厂名)工人(职工号、姓名、年龄、性别、工种、车间号)仓库(仓库号、仓库主任姓名、电话、长名)产品(产品号、价格、车间号、仓库号)零件(零件号、重量、价格、仓库号)制造(车间号、零件号)(3)该系统的层次模型图如图13所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库原理之关系模型课后习题及答案2.1名词解释(1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。

(2)关系模式:关系模式实际上就是记录类型。

它的定义包括:模式名,属性名,值域名以及模式的主键。

关系模式不涉及到物理存储方面的描述,仅仅是对数据特性的描述。

(3)关系实例:元组的集合称为关系和实例,一个关系即一张二维表格。

(4)属性:实体的一个特征。

在关系模型中,字段称为属性。

(5)域:在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域。

(6)元组:在关系中,记录称为元组。

元组对应表中的一行;表示一个实体。

(7)超键:在关系中能唯一标识元组的属性集称为关系模式的超键。

(8)候选键:不含有多余属性的超键称为候选键。

(9)主键:用户选作元组标识的一个候选键为主键。

(单独出现,要先解释“候选键”)(10)外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。

(11)实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。

如果出现空值,那么主键值就起不了唯一标识元组的作用。

(12)参照完整性规则:这条规则要求“不引用不存在的实体”。

其形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值。

这条规则在使用时有三点应注意:1)外键和相应的主键可以不同名,只要定义在相同值域上即可。

2)R1和R2也可以是同一个关系模式,表示了属性之间的联系。

3)外键值是否允许空应视具体问题而定。

(13)过程性语言:在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。

如Pascal 和C语言等。

(14)非过程性语言:编程时只须指出需要什么信息,不必给出具体的操作步骤。

各种关系查询语言均属于非过程性语言。

(15)无限关系:当一个关系中存在无穷多个元组时,此关系为无限关系。

如元组表达式{t|┐R(t)}表示所有不在关系R中的元组的集合,这是一个无限关系。

(16)无穷验证:在验证公式时需对无穷多个元组进行验证就是无穷验证。

如验证公式(u)(P(u))的真假时需对所有的元组u进行验证,这是一个无穷验证的问题。

2.2 为什么关系中的元组没有先后顺序?因为关系是一个元组的集合,而元组在集合中的顺序无关紧要。

因此不考虑元组间的顺序,即没有行序。

2.3为什么关系中不允许有重复元组?因为关系是一个元组的集合,而集合中的元素不允许重复出现,因此在关系模型中对关系作了限制,关系中的元组不能重复,可以用键来标识唯一的元组。

2.4关系与普通的表格、文件有什么区别?关系是一种规范化了的二维表格,在关系模型中,对关系作了下列规范性限制:1)关系中每一个属性值都是不可分解的。

2)关系中不允许出现相同的元组(没有重复元组)。

3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序。

4)元组中,属性在理论上也是无序的,但在使用时按习惯考虑列的顺序。

2.5笛卡尔积、等值联接、自然联接三者之间有什么区别?笛卡尔积对两个关系R和S进行乘操作,产生的关系中元组个数为两个关系中元组个数之积。

等值联接则是在笛卡尔积的结果上再进行选择操作,从关系R和S的笛卡儿积中选择对应属性值相等的元组;自然连接则是在等值联接(以所有公共属性值相等为条件)的基础上再行投影操作,并去掉重复的公共属性列。

当两个关系没有公共属性时,自然连接就转化我笛卡尔积。

2.6设有关系R和S(如下:)计算:2.7设有关系R和S(如下:)计算:2.8 如果R是二元关系,那么下列元组表达式的结果是什么?{t|(u)(R(t)∧R(u)∧(t[1]≠u[1]∨t[2]≠u[2]))}这个表达式的意思是:从关系R中选择元组,该元组满足:第1分量值或第2分量值至少有一个不等于其他某元组。

由于R是二元关系,只有两个分量,由于没有重复元组,上述条件显然满足。

所以,这个表达式结果就是关系R。

2.9假设R和S分别是三元和二元关系,试把表达式π1,5(σ2=4∨3=4(R×S))转换成等价的:(1)汉语查询句子;(2)元组表达式;(3)域表达式。

(1)汉语表达式:从R×S关系中选择满足下列条件的元组:第2分量(R中第2分量)与第4分量(S中第1分量)值相等,或第3分量(R中第3分量)与第4分量(S中第1分量)值相等;并取第1列与第5列组成的新关系。

(2)元组表达式:{t|(u)(v)(R(u)∧S(v)∧(u[2]=v[1]∨u[3]=v[1])∧t[1]=u[1]∧t[2]=v[2])}(3)域表达式:{xv|(y)(z)(u)(R(xyz)∧S(uv)∧(y=u∨z=u))}2.10假设R和S都是二元关系,试把元组表达式{t|R(t)∧(u)(S(u)∧u[1]≠t[2])}转换成等价的:(1)汉语查询句子;(2)域表达式:(3)关系代数表达式。

(1)汉语表达式:选择R关系中元组第2分量值不等于S关系中某元组第1分量值的元组。

(2)域表达式:{xy|(u) (v)(R(xy)∧S(uv)∧(u≠y))}(3)关系代数表达式:π1,2(σ2≠3(R×S))2.11 试把域表达式{ab|R(ab)∧R(ba)}转换成等价的:(1)汉语查询句子;(2)关系代数表达式;(3)元组表达式。

(1)汉语查询句子:选择R中元组第1分量值与第2分量值互换后仍存在于R中的元组。

(2)关系代数表达式:π1,2(σ1=4∧2=3(R×R));(3)元组表达式:{t|(u)(R(t)∧R(u)∧t[1]=u[2]∧t[2]=u[1])}2.12 设有两个关系R(A,B,C)和S(D,E,F),试把下列关系代数表达式转换成等价的元组表达式:(1)πA(R);(2)σB='17'(R);(3)R×S;(4)πA,F(σC=D(R×S))(1){t|(u)(R(u)∧t[1]=u[1])}(2){t|R(t)∧t[2]='17')}(3){t|(u)(v)(R(u)∧S(v)∧t[1]=u[1]∧t[2]=u[2]∧t[3]=u[3]∧t[4]=v[1]∧t[5]=v[2]∧t[6]=v[3])}(4){t|(u)(v)((R(u)∧S(v)∧u[3]=v[1]∧t[1]=u[1]∧t[2]=v[3])}2.13 设有三个关系:S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)试用关系代数表达式表示下列查询语句。

(见下一题)2.14 试用元组表达式表示上题中各个查询语句。

(1)检索LIU老师所授课程的课程号、课程名。

πC#,CNAME(σTEACHER='LIU'(C)){t|(u)(C(u)∧C[3]='LIU'∧t[1]=u[1]∧t[2]=u[2])}(2)检索年龄大于23岁的男学生的学号与姓名。

πS#,SNAME(σAGE>'23'∧SEX='男'(S)){t|(u)(S(u)∧u[3]>'23'∧u[4]='男'∧t[1]=u[1]∧t[2]=u[2])}(3)检索学号为S3学生所学课程的课程名与任课教师名。

(σS#='S3'(SC C))πCNAME,TEACHER{t|(u)(v)(SC(u)∧C(v)∧u[1]='S3'∧v[1]=u[2]∧t[1]=v[2]∧t[2]=v[3])}(4)检索至少选修LIU老师所授课程中一门课程的女学生的姓名。

π(σSEX='女'∧TEACHER='LIU'(S SC C))SNAME{t|(u)(v)(w)(S(u)∧SC(v)∧C(w)∧u[4]='女'∧v[1]=u[1]∧v[2]=w[1]∧w[3]='LIU'∧t[1]=u[2])}(5)检索WANG同学不学的课程号。

π(C)-πC#(σSNAME='WANG'(S SC))C#或者,π(SC)-πC#(σSNAME='WANG'(S SC)) (全部课程号减去WANG同学所学的课程号)C#{t|(u)(v)(C(u)∧SC(v)∧(u[1]=v[2]=>(w)(s(w)∧w[1]=v[1]∧W[2]≠'wan g'))∧t[1]=u[1])}(从C中选择满足条件的元组:SC中的所有元组,如果学号与C中所选元组相同的话,其在S 中对应的姓名肯定不是'wang'。

)Notice:"p1=>p2"的含义是:如果p1为真,则p2为真。

(6)检索至少选修两门课程的学生学号。

πS#(σ1=4∧2≠5(SC×SC))SC自乘之后,再选择(同一个学号中两个课程号不同的元组),投影。

{t|(u)(v)(SC(u)∧SC(v)∧u[1]=v[1]∧u[2]≠v[2])∧t[1]=u[1]}(7)检索全部学生都选修的课程的课程号与课程名。

π(C(πS#,C#(SC)÷πS#(S))) (涉及到全部值时,应用除法,“除数”是"全部")C#,CNAME{t|(u)(v)(w)(S(u)∧SC(v)∧C(w)∧u[1]=v[1]∧v[2]=w[1]∧t[1]=v[1]∧t[2]=V[2])}(8)检索选修课程包含LIU老师所授课程的学生学号。

π(σTEACHER='LIU'(SC C))S#{t|(u)(v)(SC(u)∧C(v)∧u[2]=v[1]∧v[3]='LIU'∧t[1]=u[1])}如果LIU老师有多门课程,则选修课程包含LIU老师所授全部课程的学生学号为:πS#,C#(SC)÷πC#(σTEACHER='LIU'(C))2.15 在教学数据库S、SC、C中,用户有一查询语句:检索女同学选修课程的课程名和任课教师名。

(1)试写出该查询的关系代数表达式;(2)试写出查询优化的关系代数表达式。

(σSEX='女'(S SC C))(1)π(CπC#(πS#,C#(SC)πS#(σSEX='女'(S))))(2)优化为:π(基本思路:尽量提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值。

相关文档
最新文档