数据库系统概论作业.docx
- 文档编号:15023476
- 上传时间:2023-06-29
- 格式:DOCX
- 页数:29
- 大小:159.59KB
数据库系统概论作业.docx
《数据库系统概论作业.docx》由会员分享,可在线阅读,更多相关《数据库系统概论作业.docx(29页珍藏版)》请在冰点文库上搜索。
数据库系统概论作业
数据库系统概论作业
《数据库系统概论》作业
第一章概述
1.层次模型的数据结构是树形结构;网状模型的数据结构是网状结构;
关系模型的数据结构是—二维表—结构。
2•数据库系统具有数据独立性”特点的原因是因为在数据库系统中(B)
(A)、采用磁盘作为外存(B)、采用三级模式结构
(C)、使用OS来访问数据(D)、用宿主语言编写应用程序
3.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是
A
)0
(A)、
DBS包括DB和DBMS
(B)、
DBMS包括DB和DBS
(C)、
DB包括DBS和DBMS
(D)、
DBS就是DB,也就是DBMS
4•数据库系统的数据独立性体现在(B)
(A)、不会因为数据的变化而影响到应用程序
(B)、不会因为系统数据存储结构和数据逻辑结构的变化而影响应用程序
(C)、不会因为存储策略的变化而影响存储结构
(D)、不会因为某些存储结构的变化而影响其他的存储结构
5.要保证数据库的数据独立性,需要修改的是(A)
个用户共享的数据的集合。
(B)、数据库
(D)、数据库管理系统
)°
(A)、外模式、模式、内模式
(B)、关系模型、层次模型、网状模型
(C)、实体、联系、属性
(D)、数据结构、数据操作、完整性约束
9.简述数据库系统的主要特点。
(1)、数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
(2)数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,
(3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。
(4)数据由DBMS统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据
10.简述数据库系统的三级模式和两级映像。
答:
数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
模式实际上是数据库数据在逻辑级上的视图,一个数据库只有一个模式,数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。
外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据购逻辑表示。
外模式通常是模式的子集。
一个数据库可以有多个外模式。
内模式也称存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式
第二章关系数据库
1.设有如下图所示的关系R,W和D:
计算下列代数表达式的结果:
(1)Ri=n,T(R)
(2)R2=6沖='《R)
(3)R3=(RW)
(4)
R?
R4=R—D
R1
Y
T
d
c
f
e
e
d
R3
2、设有如下图所示的关系S,SC,C:
关系S
S#
SNAME
AGE
SEX
1
李强
23
男
2
刘丽
22
女
3
张友
22
男
关系C
C#
CNAME
TEACHER
K1
C语言
王华
K5
数据库原理
程军
K8
编译原理
程军
关系SC
S#
C#
GRADE
1
K1
83
2
K1
85
3
K1
92
2
K5
90
3
K5
:
84
3
K8
80
请用关系代数表达式表示下列查询语句:
(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。
(2)检索“李强”同学不学课程的课程号。
(3)检索既选修了K1课程,也选修了K5课程的学生学号(S#)。
(4)检索选修了课程表中的全部课程的学生姓名(SNAME)。
(5)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)
⑴•厂1mcwu护心卜
©nn側(c>□蚀(口■砌曲“审
口$y0®亠口甜(b晦/jtivg.■紗(C»
0}n3<(n删c(so+门e(c»*
(J口s^sN/wt(So<]n打(Sd><]( 3.在关系中, 元数(arity)是指(A (B).元组个数 ) (C).关系个数 (D).属性个 (A).行数 数 4. 在关系中, 基数(cardinality)是指( A) (A).列数 (B).元组个数 (C).关系个数 (D).属性个 数 5.设W=RIMS,且W、R、S的元组个数分别为p、m、n,那么三者之间 i9j 满足(D) (A).pv (m+n) (B). p<(m+n) (C).pv (mxn) (D). p<(mxn) 6.下列式子中, 不正确的是( D ) (A).R— S=R—(RAS) (B).R=(R—S)U(RAS) (C).RnS=S—(S—R)(D).RAS=S—(R—S) 7.如果两个关系没有公共属性,那么其自然联接操作(A) (A).转化为笛卡尔积操作(B).转化为联接操作 (C).转化为外部并操作(D).结果为空关系 8.一个关系只有一个(D) (A)、候选码(B)、外码 (C)、超码(D)、主码 9.下面的选项不是关系的基本特征(A) (A)、不同的列有不同的数据类型(B)、不同的列有不同的列 名 (C)、与行的次序无关 (D)、与列的次序无关 第三章SQL语言 有两个基本表: 表EMP(ENO,ENAME,SALARY,DNO)其属性分别表示职工的工号、姓名、工资和所在部门的编号表DEPT(DNO,DNAME)其属性分别表示部门的编号和部门名 1.有一SQL语句: SELECTDNO,COUNT(DISTINCTENO) FROMEMP GROUPBYDNO; 该SQL语句实现了以下哪个功能? (C) (A)•统计职工的总人数 (B).统计每一部门的职工人数 (C).统计职工服务的部门数目 (D)•统计每一职工服务的部门数目 2有一个SQL语句: SELECTENO,ENAME FROMEMP WHEREDNONOTIN (SELECTDNO FROMDEPT WHEREDNAME='金工车间'; 其等价的关系代数表达式是: (C) (A).nNO,ENAME(6nAME记金工车间’(EMP? DEPT)) (B).t(Eno,ename(EMP? DEPT) C). ENO,ENAME DNAM€'金工车间' (EMP )- -7(EnO,ENAME (6name=‘金工车间 EMP? DEPT) ) D). ENO,ENAME (EMP )- -nENO,ENAME ((jDname'金工车间 EMP? DEPT) ) 3.有一个SQL语句: UPDATEEMP SETSALARY=SALARY*1.05 WHEREDNO='D6' ANDSALARY<(SELECTAVG(SALARY) FROMEMP);其等价的修改语句为(C) (A).为工资低于D6部门平均工资的所有职工加薪5% (B).为工资低于整个企业平均工资的职工加薪5% (C).为在D6部门工作、工资低于整个企业平均工资的职工加薪5% (D).为在D6部门工作、工资低于本部门平均工资的职工加薪5% 4.SQL中,谓词EXISTS可用来测试一个集合是否(C) (A)•有重复元组(B).有重复的列名 (C)为非空集合(D)有空值 5SQL中,与“NOTIN”等价的操作符是(B) (A)=SOME(B)<>SOME (C)=ALL(D)<>ALL 6.下列关于索引的叙述,正确的是(A)。 (A)、可以根据需要在基本表上建立一个或多个索引,从而提高系统的查询效率。 (B)、一个基本表最多只能有一个索引。 (C)、建立索引的目的是为了给数据表中的元素指定别名,从而使别的表也可以引用这个元素。 (D)、一个基本表至少要存在一个索引。 7.下面列出的关于视图的条目中,不.正确的是(C)。 (A)、视图是外模式 (B)、视图是虚表 (C)、使用视图可以加快查询语句的执行速度 (D)、使用视图可以简化查询语句的编写 8.设数据库中有三个关系: 职工表EMP(E#,ENAME,AGE,SEX,ECITY),其属性分别表示职工工号、姓名、年龄、性别和籍贯。 工作表WORKS(E#,C#,SALARY),其属性分别表示职工工号、工作的公司编号和工资。 公司表COMP(C#,CNAME,CITY),其属性分别表示公司编号、公司名称和公司所在城市。 请写出完成下列操作的SQL语句: 1用CREATETABLE语句创建上述三个表,需定义出各表的主键和外键。 解: ①CREATETABLEEMP (E#CHAR(4)NOTNULL,ENAMECHAR(8)NOTNULL,AGESMALLINT,SEXCHAR (1),ECITYCHAR(20),PRIMARYKEY(E#)) ;CREATETABLECOMP (C#CHAR(4)NOTNULL, CNAMECHAR(20)NOTNULL,CITYCHAR(20),PRIMARYKEY( C#)); CREATETABLEWORKS (E#CHAR(4)NOTNULL,C#CHAR(4)NOTNULL,SALARYS MALLINT,PRIMARYKEY(E#,C#), FOREIGNKEY(E#)REFERENCESEMP(E#),FOREIGNKEY(C#)RE FERENCESCOMP(C#)); 2检索超过50岁的男职工的工号和姓名。 SELECTE#,ENAME FROMEMP WHEREAGE>50ANDSEX='M'; 3假设每个职工只能在一个公司工作,检索工资超过1000元的男性职工工号和姓名。 SELECTEMP.E#,ENAME FROMEMP,WORKS WHEREEMP.E#=WORKS.E#ANDSALARY>1000; 4假设每个职工可在多个公司工作,检索在编号为C4和C8公司兼职的职工工号和姓名。 SELECTA.E#,A.ENAME FROMEMPA,WORKSB,WORKSCWHEREA.E#=B.E#ANDB.E#=C.E#ANDB.C#='C4'ANDC.C#='C8'; 5检索在“联华公司”工作、工资超过1000元的男性职工的工号和姓名。 SELECTA.E#,A.ENAME FROMEMPA,WORKSB,COMPCWHEREA.E#=B.E#ANDB.C#= C.C# ANDCNAME='联华公司'ANDSALARY>1000ANDSEX='M'; 6假设每个职工可在多个公司工作,检索每个职工的兼职公司数目和工资总数,查询结果显示为(E#,NUM,SUM_SALARY),分别表示工号、兼职的公司数目和工资总数。 SELECTE#,COUNT(C#)ASNUM,SUM(SALARY)ASSUM_SAL ARY FROMWORKS GROUPBYE#; 7工号为E6的职工在多个公司工作,试检索至少在E6职工兼职的所有公司工作的职工工号。 SELECTX.E#FROMWORKSX WHERENOTEXISTS (SELECT* FROMWORKSYWHEREE#='E6'ANDNOTEXISTS (SELECT* FROMWORKSZWHEREZ.E#=X.E# ANDZ.C#=Y.C#)); 8检索联华公司中低于本公司平均工资的职工工号和姓名。 SELECTA.E#,A.ENAME FROMEMPA,WORKSB,COMPCWHEREA.E#=B.E#ANDB.C#= C.C#ANDCNAME='联华公司' ANDSALARY<(SELECTAVG(SALARY) FROMWORKS,COMP WHEREWORKS.C#=COMP.C#ANDCNAME='联华公司'); 9在每一公司中为50岁以上职工加薪100元(若职工为多个公司工作,可重复加)。 UPDATEWORKS SETSALARY=SALARY+100 WHEREE#IN(SELECTE#FROMEMPWHEREAGE>50); ⑩在EMP表和WORKS表中删除年龄大于60岁的职工有关元组。 DELETEFROMWORKS WHEREE#IN(SELECTE#FROMEMPWHEREAGE>60);DEL ETEFROMEMP WHEREAGE>60; 第四章数据库安全性 1.以下(D)不属于实现数据库安全性的主要技术和方法。 (A)、存取控制技术(B)、视图技术 (C)、审计技术(D)、出入机房登记和加锁 2.把对关系SC的GRADE属性的修改权授予用户ZHAO的SQL语句是(C)。 (A)、GRANTGRADEONSCTOZHAO (B)、GRANTUPDATEONSCTOZHAO (C)、GRANTUPDATE(GRADE)ONSCTOZHAO (D)、GRANTUPDATEONSC(GRADE)TOZHAO3.保护数据库、防止XX的或不合法的使用造成的数据泄露、更改破坏。 这是数据库的(A)。 (A)、安全性(B)、完整性 (C)、并发控制(D)、恢复 4.今有两个关系模式: (1)职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号 为主码;部门号为外码; (2)部门(部门号,名称,经理名,地址,电话),其中部门号是主码; 请用SQL语言的GRANT语句(加上视图机制)完成以下授权定义: 用户杨兰具有SELECT每个部门的职工最高工资,最低工资,平均工资的权力,但他不能查看每个人的工资。 CREATEVIEW部门工资AS SELECT部门.名称,MAX(工资),MIN(工资),AVG(工资) FROM职工,部门 WHERE职工.部门号=部门.部门号 GROUPBY职工.部门号 GRANTSELECTON部门工资 TO杨兰; 第五章数据库完整性 1•关于主码约束以下说法错误的是(c) A•一个表中只能设置一个主码约束 B•允许空值的字段上不能定义主码约束 C•允许空值的字段上可以定义主码约束 D•可以将包含多个字段的字段组合设置为主码 2•在SQLServer中,可以使用(C)语句创建存储过程。 A.CreateTriggerB.InstallProcedure C.CreateProcedureD.CreateView 3.SQLServer为每个触发器创建了两个临时表,它们是(B)。 A.Updated和DeletedB.Inserted和Deleted C.Inserted和UpdatedD.Seleted和Inserted 4. 设有供应商关系S和零件关系P,如下图所示,S和P的主码分别是“供应商号”和“零件号”,P的外码是“供应商号”。 分析下列4个操作能否被正确执行,并说明理由。 (1)在P中插入元组(’P2','白A2') (2)在P中插入元组(NULL,'绿A1') (3)在P中插入元组(’P4','白A5') (4)在P中插入元组(’P4','绿A2') 答: (1)不能正确执行,插入操作破坏了实体完整性约束,待插入的元组的“零件号”属性值“P2”,在P表中已经存在。 “零 件号”作为主键,其值不能重复,必须唯一。 (2)不能正确执行,插入操作破坏了实体完整性约束,待插入的元组的“零件号”属性值为空,“零件号”作为主属性,其 值不能为空。 (3)不能正确执行,插入操作破坏参照完整性约束,待插入的元组的“供应商 号”属性值“A5”,在S中找不到没有相应的主键值。 (4)能正确执行,因为满足数据库的实体完整性和参照完整性。 5.假设有下面两个关系模式: 职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门号为外码。 部门(部门号,名称,经理名,电话),其中部门号为主码,经理名为外码请用SQL语言定义这两个关系模式,要求在关系模式中完成以下完整性约束条件的定义: (1)定义每个模式的主码; (2)定义参照完整性;职工关系模式中的部门号属性参照部门关系模式中的主码部门号;部门关系模式中的经理名属性参照职工关系模式中的姓名属性。 (3)定义职工年龄不超过60岁。 答: CREATETABLEDEPT (DeptnoNUMBER (2), DeptnameVARCHAR(10),ManagerVARCHAR(10),PhoneNumberChar(12), CONSTRAINTPK_SCRIMARYKEY(Deptno) ); CREATETABLEEMP (EmpnoNUMBER(4), EnameVARCHAR(10), AgeNUMBER (2) CONSTRAINTC1CHECK(Age<=60), JobVARCHAR(9),SalNUMBER(7,2), DeptnoNUMBER (2), CONSTRAINTPK_EMPRIMARYKEY(Empno), CONSTRAINTFK_DEPTNO FOREIGNKEY(Deptno)REFFERENCESDEPT(Deptno)); 1. 2. 3. 4. 5. 第六章关系数据理论 为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是(A) (A)、关系规范化理论(B)、关系代数理论 (C)、数理逻辑(D)、关系运算理论 规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足: 每一个属性都是(B) (A)、长度不变的(B)、不可分解的 (C)、互相关联的(D)、互不相关的 已知关系模式R(A,B,C,D,E),及其上的函数相关性集合F={A-D,B-C,E-A},该关系模式的候选码是(B) (A)、AB(B)、BE C)、CD 关系数据库规范化是为了解决关系数据库中的(插入、删除、更新异常和数据冗余提高查询速度减少数据操作的复杂性保证数据的安全性和完整性 D)的数据 D)、DE问题而引入的。 (A)、 (B)、 (C)、 (D)、数据库中的冗余数据是指(容易产生错误容易产生冲突无关紧要由基本数据导出 (A)、 (B)、 (C)、 (D)、 在关系规范化过程中,分解关系的基本原则是( I.实现无损失连接 II.分解后的关系相互独立 III.保持原有的函数依赖关系 (A)、I和II(B)、I和III(C)、 设关系模式R(A,B,C),F是R上成立的函数依赖集合, P={AB,BC}相对于F(A)0 (A)、 (B)、 (C)、 (D)、 8到第9题基于以下的叙述: 有关系模式A(C,T,H, 的含义是: 属性C代表课程名,属性T代表教师姓名,属性H代表上课时间,属性R代表上课教室,属性S代表学生姓名0 6. 7. 是无损失联接,也是保持函数依赖的分解 是无损失联接,但不保持函数依赖的分解 不是无损失联接,但保持函数依赖的分解既不是无损失联接,也不保持函数依赖的分解 (D)、II F={B-C},则分解 R,S),其中各属性 根据语义有如下函数依赖集: F={C-T,(H,R)-C,(H,T)-R,(H,S)-R}o 8.请问该关系模式A的候选码是(D) (A)、C(B)、(H,R) (C)、(H,T)(D)、(H,S) 9.关系模式A的规范化程度最高达到(B) (A)、1NF(B)、2NF(C)、3NF(D)、BCNF 10.设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。 如果规定: 每个职工每天只有一个营业额;每个职工只在一个部门工作;每个部门只有一个经理。 试回答下列问题: (1)根据上述规定,写出模式R的基本函数依赖和候选码; (2)说明R不是2NF的理由,并把R分解成2NF模式集; (3)进而分解成3NF模式集。 答: (1)基本的FD有三个: (职工编号,日期)->日营业额职工编号->部门编号部门名->部门经理 R的关键码为(职工编号,日期) (2)R中有两个这样的FD: (职工编号,日期)->(部门名,部门经理)职工编号->(部门名,部门经理)可见前一个FD是部分依赖,关系模式中存在非主属性对码的部分函数依赖,所以 R不是2NF模式。 R应分解成R1(职工编号,部门名,部门经理) R2(职工编号,日期,日营业额)此处,R1和R2都是2NF。 (3)R2已是3NF模式。 在R1中,存在两个FD: 职工编号->部门名部门名->部门经理因此,“职工编号->部门经理”是一个传递依赖,R1不是3NF模式。 R1应分解成R11(职工编号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 作业