1、数据库系统概论复习资料第一章 绪论一、选择题:1在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是 阶段。A数据库系统 B文件系统 C人工管理 D数据项管理2数据库的概念模型独立于 。A具体的机器和 DBMS BE-R 图 C信息世界 D现实世界3数据库的基本特点是 。A(1)数据可以共享(或数据结构化)(2)数据独立性(3)数据冗余大,易移植(4)统一管理和控制B(1)数据可以共享(或数据结构化)(2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制C(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余小
2、,易扩充 (4)统一管理和控制D(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制4. 是存储在计算机内有结构的数据的集合。A数据库系统 B数据库 C数据库管理系统 D数据结构5数据库中存储的是 。A数据 B数据模型 C数据以及数据之间的联系 D信息6. 数据库中,数据的物理独立性是指 。A数据库与数据库管理系统的相互独立 B用户程序与 DBMS 的相互独立C用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D应用程序与数据库中数据的逻辑结构相互独立7. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指 。A同一个应用中的多个程序共享一个数据集
3、合 B多个用户、同一种语言共享数据C多个用户共享一个数据文件 D多种应用、多种语言、多个用户相互覆盖地使用数据集合8.数据库系统的核心是 。A数据库 B数据库管理系统 C数据模型 D软件工具 9. 下述关于数据库系统的正确叙述是 。A数据库系统减少了数据冗余 B数据库系统避免了一切冗余 C数据库系统中数据的一致性是指数据类型一致D数据库系统比文件系统能管理更多的数据10.数据库的结构划分成多个层次,是为了提高数据库的 和 。A数据独立性 B逻辑独立性 C管理规范性 D数据的共享A数据独立性 B物理独立性 C逻辑独立性 D管理规范性 11. 数据库(DB)、数据库系统(DBS)和数据库管理系统(
4、DBMS)三者之间的关系是 。ADBS 包括 DB 和 DBMS BDDMS 包括 DB 和 DBS CDB 包括 DBS 和 DBMS DDBS 就是 DB,也就是 DBMS12. 在数据库中,产生数据不一致的根本原因是 。A数据存储量太大 B没有严格保护数据 C未对数据进行完整性控制 D数据冗余13. 数据库管理系统(DBMS)是 。A数学软件 B应用软件 C计算机辅助设计 D系统软件14. 数据库管理系统(DBMS)的主要功能是 。A修改数据库 B定义数据库 C应用数据库 D保护数据库15. 数据库系统的特点是 、数据独立、减少数据冗余、避免数据不一致和加强了数据保护。A数据共享 B数据
5、存储 C数据应用 D数据保密16 数据库系统的最大特点是 。A数据的三级抽象和二级独立性 B数据共享性 C数据的结构化 D数据独立性17. 数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作,这种功能称为 。A数据定义功能 B数据管理功能 C数据操纵功能 D数据控制功能18. 数据库管理系统是 。A操作系统的一部分 B在操作系统支持下的系统软件 C一种编译程序 D一种操作系统19.数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是()A外模式 B内模式 C存储模式 D模式20 数据库系统的数据独立性是指 。A不会因为数据的变化而影响应用程序 B不会因为系统数据存
6、储结构与数据逻辑结构的变化而影响应用程序C不会因为存储策略的变化而影响存储结构 D不会因为某些存储结构的变化而影响其他的存储结构21.信息世界中的术语,与之对应的数据库术语为 。A文件 B数据库 C字段 D记录22.层次型、网状型和关系型数据库划分原则是 。A记录长度 B文件的大小 C联系的复杂程度 D数据之间的联系23.传统的数据模型分类,数据库系统可以分为三种类型 。A大型、中型和小型 B西文、中文和兼容 C层次、网状和关系 D数据、图形和多媒体24. 层次模型不能直接表示 。A 1 :1 关系 B1 :m 关系 C m :n 关系 D1 :1 和 1 :m 关系25. 数据库技术的奠基人
7、之一 E.FCodd 从 1970 年起发表过多篇论文,主要论述的是 。A层次数据模型 B网状数据模型 C关系数据模型 D面向对象数据模型 二、填空题1. 数据管理技术经历了 人工管理 、 文件系统 和 数据库系统 三个阶段。2. 数据库是长期存储在计算机内、有 组织 的、可 共享 的数据集合。3DBMS 是指 数据库管理系统 ,它是位于 用户 和 操作系统 之间的一层管理软件。4. 数据库管理系统的主要功能有 数据定义 、 数据操纵 、数据库的运行管理和数据库的建立以及维护等 4 个方面。5. 数据独立性又可分为 物理独立性 和 逻辑独立性 。6. 当数据的物理存储改变了,应用程序不变,而由
8、 DBMS 处理这种改变,这是指数据的 物理独立性 。 7. 数据模型是由 数据结构 、 数据操作 和 完整性约束 三部分组成的。8. 数据结构 是对数据系统的静态特性的描述, 数据操作 是对数据库系统的动态特性的描述。9. 数据库体系结构按照 模式 、 外模式 和 内模式 三级结构进行组织。10. 实体之间的联系可抽象为三类,它们是 一对一 、 一对多 和 多对多 。11数据冗余可能导致的问题有 浪费存储空间及修改麻烦 和 潜在的数据不一致 。三:简答题:1. 什么是数据库?答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库是按某种数据模型进行组织的、存放在外存储器上,且可被
9、多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。2. 什么是数据库的数据独立性?答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就
10、是说,数据库数据的存储结构与存取方法独立。3. 什么是数据库管理系统?答:数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。不同的数据库系统都配有各自的 DBMS,而不同的 DBMS 各支持一种数据库模型,虽然它们的功能强弱不同,但大多数 DBMS 的构成相同,功能相似。一般说来,DBMS 具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。4. 什么是数据字典?数据字典包含哪些基本内容?答:数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有
11、力工具,是进行详细数据收集和数据分析所获得的主要成果。数据字典的基本内容有:数据项、数据结构、数据流、数据存储和处理过程 5 个部分。第一章补充作业部分:假设教学管理规定:一个学生可选修多门课,一门课有若干学生选修;一个教师可讲授多门课,一门课只有一个教师讲授;一个学生选修一门课,仅有一个成绩。学生的属性有学号、学生姓名;教师的属性有教师编号,教师姓名;课程的属性有课程号、课程名。要求:根据上述语义画出 ER 图,要求在图中画出实体的属性并注明联系的类型;解答:成绩教师编号 教师姓名学生 选修m课程教师讲授n n1学号姓名课程号 课程名第 2 章 关系数据库一、选择题1、关系数据库管理系统应能
12、实现的专门关系运算包括 。A排序、索引、统计 B选择、投影、连接 C关联、更新、排序 D显示、打印、制表 2、关系模型中,一个关键字是 。A可由多个任意属性组成 B至多由一个属性组成 C可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D以上都不是3、自然连接是构成新关系的有效方法。一般情况下,当对关系 R 和 S 使用自然连接时,要求 R 和 S 含有一个或多个共有的 。A元组 B行 C记录 D属性4、关系运算中花费时间可能最长的运算是 。A投影 B选择 C笛卡尔积 D除5关系模式的任何属性 。A不可再分 B可再分 C命名在该关系模式中可以不惟一 D以上都不是6在关系代数运算中,五
13、种基本运算为 。A并、差、选择、投影、自然连接 B并、差、交、选择、投影 C并、差、选择、投影、笛卡尔积 D并、差、交、选择、笛卡尔积7、设有关系 R,按条件 f 对关系 R 进行选择,正确的是 。ARf BR f C f(R) Df(R)8、如图所示,两个关系 R1 和 R2,它们进行 运算后得到 R3。R1 R2 R3A B CACD121XYyA交 B并 C笛卡尔积 D连接二、填空题1、一个关系模式的定义格式为 关系(属性名 1,属性名 2,属性名 n) 。2、一个关系模式的定义主要包括 关系名 、 属性名 、 属性类型 、 属性长度 和 关键字 。3、关系代数运算中,传统的集合运算有
14、笛卡尔积 、 交 、 并 和 差 。4、关系代数运算中,基本的运算是 并 、 差 、 笛卡尔积 、 投影 和 选择 。5、关系代数运算中,专门的关系运算有 选择 、 投影 和 链接 。6、关系数据库中基于数学上两类运算是 关系代数 和 关系演算 。B D E125MNMIJKA B C D EACC112XYyMMNIIJ7、已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是 系编号 ,系关系的外关键字 无 ,学生关系的主关键字是 学号 ,外关键字 系编号 三、应用题:1、设有如下所示的关系 S(S#,SNAME,AGE,
15、SEX)、C(C#,CNAME,TEACHER)和 SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句:(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。(2)检索年龄大于 21 的男学生学号(S#)和姓名(SNAME)。(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。(4)检索”李强”同学不学课程的课程号(C#)。(5)检索至少选修两门课程的学生学号(S#)。(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。(7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。(8)检索选修课程号为 k1 和 k5 的学
16、生学号(S#)。(9)检索选修全部课程的学生姓名(SNAME)。(10)检索选修课程包含学号为 2 的学生所修课程的学生学号(S#)。(11)检索选修课程名为“C 语言”的学生学号(S#)和姓名(SNAME)。解:本题各个查询语句对应的关系代数表达式表示如下:(1).C#,CNAME(TEACHER=程军(C)(2).S#,SNAME(AGE21SEX=”男”(C)(3). SNAMEs S#,C#(sc)C#(TEACHER= 程军(C)(4). C#(C)- C#(SNAME=李强(S) SC)(5). S#(1=425 (SC SC)(6). C#,CNAME(C (S#,C#(sc)S
17、#(S)(7). S#(SC C#(TEACHER= 程军(C)(8). S#,C#(sc)C#(C#=k1 C#=k5(C)(9). SNAMEs S#,C#(sc)C#(C)(10). S#,C#(sc)C#(S#=2(SC)(11). S#,SNAMEs S#(SC CNAME=C 语言(C)2、关系 R 和 S 如下图所示,试计算 RS。RA B C Da b c da b e fa b h kb d e fb d d lc k c dc k e f第 3 章 关系数据库标准语言 SQL一、选择题1、SQL 语言是 的语言,易学习。A过程化 B非过程化 C格式化 D导航式2、SQL 语
18、言是 语言。A层次数据库 B网络数据库 C关系数据库 D非数据库3、SQL 语言具有 的功能。A关系规范化、数据操纵、数据控制 B数据定义、数据操纵、数据控制C数据定义、关系规范化、数据控制 D数据定义、关系规范化、数据操纵4、SQL 语言具有两种使用方式,分别称为交互式 SQL 和 。A提示式 SQL B多用户 SQL C嵌入式 SQL D解释式 SQLSC Dc de f在关系 R 中:(a,b)的象集为(c,d),(e,f),(h,k);(b,d)的象集为(e,f),(d,l);(c,k)的象集为(c,d),(e,f);在关系 S 中 CD 在 S 上的投影为 (c,d),(e,f);由
19、此可知:(a,b) 和(c,k)都包含投影(c,d),(e,f);因此:RS=(c,d),(e,f)5、假定学生关系是 S(S#,SNAME,SEX,AGE),课程关系是 C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系 。AS BSC,C CS,SC DS,C,SC 6、如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,下面哪条SQL 操作 不能执行。A从职工表中删除行(025 , 王芳 , 03,720) B将行(005 , 乔兴 , 04,750)插入到职工表中
20、C将职工号为001的工资改为 700 D将职工号为038的部门号改为03 7、若用如下的 SQL 语句创建一个 student 表:CREATE TABLE student(NO C(4) NOT NULL,NAME C(8) NOT NULL,SEX C(2),AGE N(2) 可以插入到 student 表中的是 。A(1031 , 曾华 ,男,23) B(1031 , 曾华 ,NULL,NULL)C(NULL, 曾华 , 男 , 23) D(1031 ,NULL, 男 ,23) 第 8 到第 11 题基于这样的三个表即学生表 S、课程表 C 和学生选课表 SC,它们的结构如下:S(S#,
21、SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN 为姓名,SEX 为性别,AGE 为年龄,DEPT 为系别,C#为课程号,CN 为课程名,GRADE 为成绩。8、检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的 SELECT 语句是 。 ASELECT SN,AGE,SEX FROM SWHERE AGE(SELECT AGE FROM SWHERE SN=“王华”)BSELECT SN,AGE,SEXFROM S WHERE SN“王华”CSELECT SN,AGE,SEX FROM SWHERE AGE(SELECT AGEWHER
22、E SN=“王华”)DSELECT SN,AGE,SEX FROM SWHERE AGE王华AGE9、检索选修课程“C2”的学生中成绩最高的学生的学号。正确的 SELECT 语句是 。ASELECT S# FORM SC WHERE C#=“C2” AND GRAD(SELECT GRADE FORM SCWHERE C#=“C2”)BSELECT S# FORM SCWHERE C#=“C2” AND GRADE IN(SELECT GRADE FORM SCWHERE C#=“C2”)CSELECT S# FORM SCWHERE C#=“C2” AND GRADE NOT IN(SELE
23、CT GRADE FORM SCWHERE C#=“C2”) DSELECT S# FORM SCWHERE C#=“C2” AND GRADEALL(SELECT GRADE FORM SCWHERE C#=“C2”) 10、检索学生姓名及其所选修课程的课程号和成绩。正确的 SELECT 语句是 。ASELECT SSN,SCC#,SCGRADEFROM S WHERE SS#=SCS#BSELECT SSN,SCC#,SCGRADEFROM SC WHERE SS#SCGRADECSELECT SSN,SCC#,SCGRADEFROM S,SCWHERE SS#=SCS#DSELECT S
24、SN,SCC#,SCGRADEFROM SSC11、检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的 SELECT 语句是 ASELECT S#,SUM(GRADE)FROM SCWHERE GRADE=60GROUP BY S#ORDER BY 2 DESC HAVING COUNT(*)4BSELECT S# FORM SCWHERE C#=“C2” AND GRADE IN(SELECT GRADE FORM SCWHERE C#=“C2”)CSELECT S# FORM SCWHERE C#=“C2” AND GRADE NOT IN(SEL
25、ECT GRADE FORM SCWHERE C#=“C2”) DSELECT S# FORM SCWHERE C#=“C2” AND GRADEALL(SELECT GRADE FORM SCWHERE C#=“C2” 二、填空题1、SQL 是 结构化查询语言 。2、视图是一个虚表,它是从 一个或多个表 中导出的表。在数据库中,只存放视图的 定义 ,不存放视图的 对应数据 。3、设有如下关系表 R:R(No,NAME,SEX,AGE,CLASS)主关键字是 NO其中 NO 为学号,NAME 为姓名,SEX 为性别,AGE 为年龄,CLASS 为班号。写出实现下列功能的 SQL 语句。插入一个
26、记录(25, “李明” , “男” ,21, “95031”); 。插入“95031”班学号为 30、姓名为“郑和”的学生记录; 。将学号为 10 的学生姓名改为“王华” ; 。将所有“95101”班号改为“95091” ; 。删除学号为 20 的学生记录; 。删除姓“王”的学生记录; 。答案:INSERT INTO R VALUES(25, “李明” , “男” ,21, “95031”)INSERT INTO R(NO,NAME,CLASS) VALUES(30, “郑和” , “95031”)UPDATE R SET NAME=“王华”WHERE NO10UPDATE R SET CLA
27、SS“95091”WHERE CLASS“95101”DELETE FROM R WHERE NO=20DELETE FROMR WHERE NAME LIKE“王”第 3 章书面作业1、设学生课程数据库中有三个关系:学生关系 S(S#,SNAME,AGE,SEX)学习关系 SC(S#,C#,GRADE)课程关系 C(C#,CNAME)其中 S#、C#、SNAME、AGE、SEX、GRADE、CNAME 分别表示学号、课程号、姓名、年龄、性别、成绩和课程名。用 SQL 语句表达下列操作(1)检索选修课程名称为“MATHS”的学生的学号与姓名(2)检索至少学习了课程号为“C1”和“C2”的学生的
28、学号(3)检索年龄在 18 到 20 之间(含 18 和 20)的女生的学号、姓名和年龄(4)检索平均成绩超过 80 分的学生学号和平均成绩(5)检索选修了全部课程的学生姓名(6)检索选修了三门课以上的学生的姓名答案:(1)SELECT SNAME,AGEFROM S,SC,CWHERE S.S#=SC.S#AND C.C#=SC.C#AND CNAME= MATHS(2) SELECT S#FROM SCWHERE CNO=C1 AND S# IN( SELECT S#FROM SCWHERE CNO=C2)(3)SELECT S#,SNAME,AGEFROM SWHERE AGE BETW
29、EEN 18 AND 20 (4) SELECT S# ,AVG(GRADE) 平均成绩FROM SCGROUP BY S#HAVING AVG(GRADE)80(5) SELECT SNAMEFROM SWHERE NOT EXISTS (SELECT *FROM CWHERE NOT EXISTS (SELECT *FROM SCWHERE S#=S.S# AND C#=C.C#) (6)SELECT SNAMEFROM S,SCWHERE S.S#=SC.S#GROUP BY SNAMEHAVING COUNT(*)3 2、设学生-课程数据库中包括三个表: 学生表:Student (Sn
30、o,Sname,Sex,Sage,Sdept)课程表:Course(Cno,Cname,Ccredit)学生选课表:SC(Sno,Cno,Grade)其中 Sno、Sname、Sex、Sage、Sdept、 Cno、Cname、Ccredit 、Grade 分别表示学号、姓名、性别、年龄、所在系名、课程号、课程名、学分和成绩。试用 SQL 语言完成下列项操作:(1)查询选修课程包括“1042”号学生所学的课程的学生学号(2)创建一个计科系学生信息视图 S_CS_VIEW,包括 Sno 学号、Sname 姓名、Sex 性别;(3)通过上面第 2 题创建的视图修改数据,把王平的名字改为王慧平(4)
31、创建一选修数据库课程信息的视图,视图名称为 datascore_view,包含学号、姓名、成绩。答案:(1) SELECT DISTINCT SNOFROM SC SCXWHERE NOT EXISTS(SELECT *FROM SC SCYWHERE SCY.SNO = 1042 ANDNOT EXISTS(SELECT *FROM SC SCZWHERE SCZ.SNO=SCX.SNO ANDSCZ.CNO=SCY.CNO);(2) CREATE VIEW S_CS_VIEW ASSELECT SNO,SNAME,SEXFROM STUDENTWHERE Sdept=CS(3)UPDATE
32、 S_CS_VIEWSET SNAME= 王慧平WHERE SNAME= 王平(4) CREATE VIEW datascore_viewASSELECT SNO 学号、SNAME 姓名、GRADE 成绩FROM STUDENT,SC,COURSEWHERE STUDENT.SNO=SC.SNOAND COURSE.CNO=SC.CNOAND CNAME=数据库 第 5 章 数据库完整性一、选择题:1、在数据库系统中,保证数据及语义正确和有效的功能是 ( )A.并发控制 B.存取控制 C.安全控制 D.完整性控制2、关于主键约束以下说法错误的是( )A. 一个表中只能设置一个主键约束 B.允许
33、空值的字段上不能定义主键约束C.允许空值的字段上可以定义主键约束 D.、可以将包含多个字段的字段组合设置为主键3、在表或视图上执行除了( )以外的语句都可以激活触发器。A.Insert B. Delete C. Update D. Create4、数据库的_是指数据的正确性和相容性。A安全性 B完整性 C并发控制 D恢复 5、在数据库的表定义中,限制成绩属性列的取值在 0 到 100 的范围内,属于数据的_约束。A、实体完整性 B、参照完整性 C、用户自定义 D、用户操作二、填空题1数据库的完整性是指数据的 实体完整性 、 参照完整性_和 用户自定义完整性 。2、实体完整性是指在基本表中, 主
34、属性不能取空值 。3、参照完整性是指在基本表中, 外码是另一个关系主码的有效值或是空值 。4、为了保护数据库的实体完整性,当用户程序对主码进行更新使主码值不惟一时,DBMS 就 拒绝此操作 。三、设计题在学生课程管理数据库中创建一触发器,当向学生选课表插入记录时,检查该记录的学号在学生表中是否存在,检查该记录的课程号在课程表中是否存在,及选课成绩是否在 0 到 100 范围,若有一项为否,则不允许插入。答案:create trigger stu_ins_trion scfor insertasbegin declare s# char(6),c# char(5),grade int selec
35、t s#=sno,c#=cno,grade=scorefrom insertedif (s# not in(select sno from student) or (c# not in (select cno from course) )or (grade not between 0 and 100)rollback transaction elseprint 成功插入end第 7 章 数据库设计一、选择题1、在数据库设计中,用 E-R 图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的 阶段。A需求分析 B概念设计 C逻辑设计 D物理设计2、在关系数据库设计中,设计关系模式是 的
36、任务。A需求分析阶段 B概念设计阶段 C逻辑设计阶段 D物理设计阶段3、数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是 。A建立库结构 B扩充功能 C加载数据 D系统调试4、在数据库的概念设计中,最常用的数据模型是 。A形象模型 B物理模型 C逻辑模型 D实体联系模型5、从 E-R 模型关系向关系模型转换时,一个 MN 联系转换为关系模型时,该关系模式的关键字是 。AM 端实体的关键字 BN 端实体的关键字 CM 端实体关键字与 N 端实体关键字组合 D重新选取其他属性6、当局部 E-R 图合并成全局 E-R 图时可能出现冲突,不属于合并冲突的是 。A属性冲突 B语
37、法冲突 C结构冲突 D命名冲突 7、概念模型独立于 。AE-R 模型 B硬件设备和 DBMS C操作系统和 DBMS DDBMS8、数据流程图(DFD)是用于描述结构化方法中 阶段的工具。A可行性分析 B详细设计 C需求分析 D程序编码9、下图所示的 E-R 图转换成关系模型,可以转换为 关系模式。A1 个 B2 个 C3 个 D4 个价格借阅日期借阅借书人 图书 借书证号姓名单位总编号书名分类号作者位置mn二、填空题1、数据库设计的几个步骤是 需求分析、概念设计、逻辑设计、物理设计、系统实施、系统运行和维护 。2、 “为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库 物理
38、 设计阶段。3、在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程等的描述,通常称为 数据字典 。4、在设计分 E-R 图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计的,所以各个分 E-R 图之间难免有不一致的地方,这些冲突主要有 属性冲突 、 命名冲突 和 结构冲突 三类。三、应用题设有如下实体:学生:学号、单位、姓名、性别、年龄、选修课程名 课程:编号、课程名、开课单位、任课教师号 教师:教师号、姓名、性别、职称、讲授课程编号 单位:单位名称、电话、教师号、教师名上述实体中存在如下联系:(1) 一个学生可选
39、修多门课程,一门课程可为多个学生选修;(2) 一个教师可讲授多门课程,一门课程可为多个教师讲授;(3) 一个单位可有多个教师,一个教师只能属于一个单位。试完成如下工作:(1) 分别设计学生选课和教师任课两个局部信息的结构 E-R 图。(2) 将上述设计完成的 E-R 图合并成一个全局 E-R 图。(3) 将该全局 E-R 图转换为等价的关系模型表示的数据库逻辑结构。解:(1) 学生选课、教师任课局部 E-R 图如下所示。开课课程学生单位选修拥有姓名性别学号课程名教师号编号单位名年龄教师单位学生选课局部 E-R 图课程mnmm11讲授属于单位名电话编号姓名性别教师授课局部 E-R 图1教师号年龄
40、mnm(2) 合并后的全局 E-R 图如下所示。(3) 该全局 E-R 图转换为等价的关系模型表示的数据库逻辑结构如下:单位(单位名,电话)教师(教师号,姓名,性别,职称,单位名)课程(课程编号,课程名,单位名)学生(学号,姓名,性别,年龄,单位名)讲授(教师号,课程编号)选修(学号,课程编号)四、简答题数据库设计一般分为哪几个阶段,每个阶段的主要任务是什么?解答:(1)数据库设计分为 6 个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。(2)各阶段任务如下:需求分析:准确了解与分析用户需求(包括数据与处理) 。概念结构设计:通过对用户需求进行综合、归
41、纳与抽象,形成一个独立于具体 DBMS 的概念模型。逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化。数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法) 。数据库实施:设计人员运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。 数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。n课程学生教师单位 mmnmmm1 11 属于选修拥有开课 讲授全局 E-R 图为避免图形复杂,下面给出各实体属性:单位:单位名、电话学生:学号、姓名、性别、年龄教师:教师号、姓名、性别、职称课程:编号、课程号