数据库题库


    数据库题库 选择题 1、要保证数据库的逻辑数据独立性,需要修改的是||A||。 A: 模式与外模式之间的映射 B: 模式与内模式之间的映射 C: 模式 D: 三级模式   2、数据库系统的数据独立性体现在||B||。 A: 不会因为数据的变化而影响到应用程序 B: 不会因为数据存储结构与数据逻辑结构的变化而影响应用程序 C: 不会因为存储策略的变化而影响存储结构 D: 不会因为某些存储结构的变化而影响其他的存储结构   3、关系数据模型是目前最重要的一种数据模型,它的三个要素分别是||B||。 A: 实体完整性、参照完整性、用户自定义完整性 B: 数据结构、关系操作、完整性约束 C: 数据增加、数据修改、数据查询 D: 外模式、模式、内模式   4、||B||的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。 A: 网状模型 B: 关系模型 C: 层次模型 D: 以上都有   5、要保证数据库的数据独立性,需要修改的是||C|| 。 A: 模式与外模式 B: 模式与内模式 C: 三级模式之间的两层映射 D: 三层模式   6、概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是||D|| 。 A: 层次模型 B: 关系模型 C: 网状模型 D: 实体-关系模型   7、下述||D||不是DBA数据库管理员的职责。 A: 完整性约束说明 B: 定义数据库模式 C: 数据库安全 D: 数据库管理系统设计   8、下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是||D||。 I.人工管理阶段 II.文件系统阶段 III.数据库阶段 A: I 和 II B: 只有 II C: II 和 III D: 只有 I   9、数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是||A||。 A: DBS包括DB和DBMS B: DBMS包括DB和DBS C: DB包括DBS和DBMS D: DBS包括DB,也就是DBMS   10、在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立的最高的是||A||阶段。 A: 数据库系统 B: 文件系统 C: 人工管理 D: 数据项管理   11、数据库的概念模型独立于||A||。 A: 具体的机器和DBMS B: E-R图 C: 信息世界 D: 现实世界   12、在数据库技术中,面向对象数据模型是一种||A||。 A: 概念模型 B: 结构模型 C: 物理模型 D: 形象模型   13、数据模型用来表示实体间的联系,但不同的数据库管理系统支持不同的数据模型。在常用的数据模型中,不包括||B||。 A: 网状模型 B: 链状模型 C: 层次模型 D: 关系模型   14、DBMS提供的SQL有两种方式,其中一种是将SQL嵌入到某一高级语言中,此高级语言称为||B||。 A: 查询语言 B: 宿主语言 C: 自含语言 D: 会话语言   15、数据库三级模式之间存在的映象关系正确的是||B||。 A: 外模式/内模式 B: 外模式/模式 C: 外模式/外模式 D: 模式/模式   16、数据库技术采用分级方法将数据库的结构划分成多个层次,是为了提高数据库||B|| 。 A: 数据规范性 B: 数据的独立性 C: 管理规范性 D: 数据的共享   17、存储在计算机外部存储介质上的结构变化的数据集合,其英文名称是||C||。 A: Data Dictionary(简写DD) B: Data Base System(简写DBS) C: Data Base(简写DB) D: Data Base Management System(简写DBMS)   18、对于数据库系统,负责定义数据库内容,决定存储结构和存取策略及安全等授权工作的是||C||。 A: 应用程序开发人员 B: 终端用户 C: 数据库管理员 D: 数据库管理系统的软件设计人员   19、数据库中,数据的物理独立性是指||C||。 A: 数据库与数据管理系统的相互独立 B: 用户程序与DBMS的相互独立 C: 用户的应用程序与存储在磁盘上的数据中的数据是相互独立的 D: 应用程序与数据的逻辑结构相互独立   20、通过指针链接来表示和实现实体之间联系的模型是||D||。 A: 关系模型 B: 层次模型 C: 网状模型 D: 层次和网状模型   21、关系数据模型||D||。 A: 只能表示实体间的1∶1联系 B: 只能表示实体间的1∶n联系 C: 只能表示实体间的m∶n联系 D: 可以表示实体间的上述三种关系   22、一般地,一个数据库系统的外模式||D||。 A: 只能有一个 B: 最多只能有一个 C: 至少两个 D: 可以有多个   23、数据库三级模式中,真正存在的是||D||。 A: 外模式 B: 子模式 C: 模式 D: 内模式   24、在数据库中,产生数据不一致的根本原因是||D||。 A: 数据存储量太大 B: 没有严格保护数据 C: 未对数据进行完整性的控制 D: 数据冗余   25、层次模式、网状模型和关系模型的划分原则是||D||。 A: 记录长度 B: 文件的大小 C: 联系的复杂程度 D: 数据之间的联系   26、数据库的管理方法有||D||。 A: 批处理和文件系统 B: 文件系统和分布式系统 C: 分布式系统和批处理 D: 数据库系统和文件系统   27、在数据库设计中用关系模型来表示实体和实体之间的联系。关系模型的结构是||B||。 A: 层次结构 B: 二维表结构 C: 网状结构 D: 封装结构   28、应用数据库的主要目的是为了||C||。 A: 解决保密问题 B: 解决数据库完整性问题 C: 共享数据问题 D: 解决数据最大的问题   29、模式和内模式||A||。 A: 只能有一个 B: 最多只有一个 C: 至少两个 D: 可以有多个   30、在数据库的非关系模型中,基本层次联系是||B||。 A: 两个记录型以及它们之间的多对多联系 B: 两个记录型以及它们之间的一对多联系 C: 两个记录型之间的多对多的联系 D: 两个记录之间的一对多的联系   31、数据库技术的奠基人之一E.F.Codd从1970年起发表过多篇论文,主要论述的是||C||。 A: 层次数据模型 B: 网状数据模型 C: 关系数据模型 D: 面向对象数据模型   32、在数据库技术中,为提高数据库的逻辑独立性和物理独立性,数据库的结构被划分成用户级、||C||和存储级三个层次 A: 管理员级 B: 外部级 C: 概念级 D: 内部级   33、数据库系统的最大特点是||C||。 A: 数据的三级抽象和二级独立性 B: 数据共享性 C: 数据的结构化 D: 数据独立性   34、数据库管理系统中用于定义和描述数据库逻辑结构的语言称为||A||。 A: 数据定义语言 B: 数据库子语言 C: 数据操纵语言 D: 数据结构语言   35、在关系数据库设计中用||C||来表示实体及实体之间的联系。 A: 树结构 B: 封装结构 C: 二维表结构 D: 图结构   36、下面的选项不是关系数据库基本特征的是||A||。 A: 不同的列应有不同的数据类型 B: 不同的列应有不同的列名 C: 与行的次序无关 D: 与列的次序无关   37、现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是||A||。 A: 患者编号 B: 患者姓名 C: 患者编号和患者姓名 D: 医生编号和患者编号   38、假设有关系R和S,关系代数表达式R-(R-S)表示的是||A||。 A: R∩S B: R∪S C: R-S D: R×S   39、关系代数中的连接操作是由||B||操作组合而成。 A: 选择和投影 B: 选择和笛卡尔积 C: 投影、选择、笛卡尔积 D: 投影和笛卡尔积   40、关系模型中,一个码是||C||。 A:  可以由多个任意属性组成 B:  至多由一个属性组成 C:  由一个或多个属性组成,其值能够惟一标识关系中一个元组 D:  以上都不是   41、关系代数运算是以||C||为基础的运算。 A: 关系运算 B: 谓词演算 C: 集合运算 D: 代数运算   42、从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是||C||操作。 A: 投影 B: 连接 C: 选择 D: 复制   43、一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的||C|| 。 A: 记录 B: 行 C: 属性 D: 元组   44、一个关系只有一个||D|| 。 A:  候选码 B: 外码 C: 超码 D: 主码   45、两个关系在没有公共属性时,其自然连接操作表现为||B||。 A: 结果为空关系 B: 笛卡尔积操作 C: 等价连接操作 D: 无意义的操作   46、有两个关系R和S,分别包含15个和10个元组,那么在R∪S、R-S、R∩S,中不可能出现的元组数目情况是||B||。 A:  15,5,10 B:  18,7,7 C:  21,11,4 D:  25,15,0   47、取出关系中的某些列,并消去重复元组的关系代数运算称为||B||。 A: 取列运算 B: 投影运算 C: 连接运算 D: 选择运算   48、参加差运算的两个关系||B||。 A: 属性个数可以不相同 B: 属性个数必须相同 C: 一个关系包含另一个关系的属性 D: 属性名必须相同   49、若D1={a1,a2,a3},D2={1,2,3},则D1×D2集合中共有元组||C||个。 A: 6 B: 8 C: 9 D: 12   50、设有属性A,B,C,D,以下表达中不是关系的是||C||。 A: R(A) B: R(A,B,C,D) C: R(A×B×C×D) D: R(A,B)   51、对关系模型叙述错误的是||D|| 。 A: 建立在严格的数学理论,集合论和谓词演算公式基础之一 B:微机DBMS绝大部分采取关系数据模型 C:用二维表表示关系模型是其一大特点 D:不具有连接操作的DBMS也可以是关系数据库管理系统   52、关系数据库中的码是指||D||。 A:能惟一决定关系的字段 B:不可改变的专用保留字 C:关键的很重要的字段 D:能惟一标识元组的属性或属性集合   53、自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的||D||。 A: 元组 B: 行 C: 记录 D: 属性   54、设W为R和S自然连接之后的结果,且W,R和S的元组个数分别为p,m,n,那么三者之间满足||D||。 A:  p<(m+n) B:  p≤(m+n) C:  p<(m×n) D:  p≤(m×n)   55、若用如下的SQL语句创建一个表student:CREATE  TABLE  student  (NO  CHAR(4)  NOT  NULL,NAME   CHAR(8)  NOT  NULL,SEX  CHAR(2),AGE  INT)可以插入到student表中的是||B||。 A: ('1031','曾华',男,23) B: ('1031','曾华',NULL,NULL) C: (NULL,'曾华', '男', '23') D: ('1031',NULL,‘男’,23)   56、在视图上不能完成的操作是||C|| 。 A: 更新视图 B: 查询 C: 在视图上定义新的表 D: 在视图上定义新的视图   57、SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能||C||。 A: 数据查询 B: 数据操纵 C: 数据定义 D: 数据控制   58、SQL语言中,删除一个视图的命令是||B||。 A: DELETE B: DROP C: CLEAR D: REMOVE   59、  在SQL语言中的视图VIEW是数据库的||A|| 。 A: 外模式 B: 模式 C: 内模式 D: 存储模式   60、下列的SQL语句中,||D||不是数据定义语句。 A: CREATE TABLE B: DROP VIEW C: CREATE VIEW D: GRANT   61、若要撤销数据库中已经存在的表S,可用||C||。 A: DELETE TABLE S B: DELETE S C: DROP TABLE S D: DROP S   62、若要在基本表S中增加一列CName(课程名),可用||C||。 A:  ADD TABLE S(CName CHAR(8)) B:  ADD TABLE S ALTER(CName CHAR(8)) C:  ALTER TABLE S ADD(CName CHAR(8)) D:  ALTER TABLE S (ADD CName CHAR(8))   63、学生关系模式 Student(Sno,Sname,Sex,Age),Student的属性分别表示学生的学号、姓名、性别、年龄。要在表Student中删除一个属性“年龄”,可选用的SQL语句是||B||。 A: DELETE Age from S B: ALTER TABLE S DROP Age C: UPDATE S Age D: ALTER TABLE S ‘Age’   64、有关系S(Sno,SNAME,SAGE),C(Cno,CNAME),SC(Sno,Cno,GRADE)。其中Sno是学生号,SNAME是学生姓名,SAGE 是学生年龄,Cno是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是 SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是||A||。 A: S.Sno = SC.sno and C.Cno = SC.Cno and SAGE>=20 and CNAME='ACCESS' B: S.Sno = SC.sno and C.Cno = SC.Cno  and SAGE in>=20 and CNAME in 'ACCESS' C: SAGE in>=20 and CNAME in 'ACCESS' D: SAGE>=20 and CNAME=' ACCESS'   65、设关系数据库中一个表S的结构为SC(SName,CName,grade),其中SName为学生名,CName为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要把“张二的化学成绩80分”插入S中,则可用||D||。 A:  ADD INTO SC VALUES('张二','化学','80') B:  INSERT INTO SC VALUES('张二','化学','80') C:  ADD INTO SC VALUES('张二','化学',80) D:  INSERT INTO SC VALUES('张二','化学',80)   66、设关系数据库中一个表的结构为:SC(SName,CName,grade),其中SName为学生名,CNamee为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要更正王二的化学成绩为85分,则可用||A|| 。 A: UPDATE SC SET grade=85 WHERE SName='王二' AND CName='化学' B: UPDATE SC SET grade='85' WHERE SName='王二' AND CName='化学' C: UPDATE grade=85 WHERE SName='王二' AND CName='化学' D: UPDATE grade='85' WHERE SName='王二' AND CName='化学'   67、在SQL语言中,子查询是||D|| 。 A: 返回单表中数据子集的查询语言 B: 选取多表中字段子集的查询语句 C: 选取单表中字段子集的查询语句 D: 嵌入到另一个查询语句之中的查询语句   68、SQL中的视图机制提高了数据库系统的||D||。 A: 完整性 B: 并发控制 C: 审计技术 D: 安全性   69、SQL语言的GRANT和REVOKE语句主要是用来维护数据库的||C||。 A: 完整性 B: 可靠性 C: 安全性 D: 一致性   70、在数据库的安全性控制中,授权的数据对象的||A||,授权子系统就越灵活。 A: 范围越小 B: 约束越细致 C: 安全性 D: 约束范围大   SQL设计 **  试完成以下查询,分别存储为题号.sql,如:A.sql、B.sql……J.sql。 A.    查询年龄为19岁的“刘”姓学生。 B.    查询“李勇”选修的所有课程及成绩,显示结果为姓名,课程名,成绩。(用连接实现) C.    查询“李勇”选修的所有课程的课程名程。(用嵌套查询实现) D.    查询和“刘晨”在同一个系学习的其他同学的信息。 E.    查询每个系的学生数,显示结果为系名,人数。 F.    查询选修的课程数超过(含)3门的学生的学号。 G.    查询平均成绩在80分以上(含)的学生的姓名。 H.    查询至少选修了“95001”选的全部课程的学生的姓名。 I.     将女同学选修的“3”号课程成绩提高10%。 J.     删除还没有成绩的选课信息。(成绩为空)   SQL设计·参考答案: --A.查询年龄为19岁的“刘”姓学生 select * from student where Sage=19 and sname like '刘%'   --B.查询“李勇”选修的所有课程及成绩,显示结果为姓名,课程名,成绩。(用连接实现) selectsname,cname,grade fromStudent,Course,SC where student.sno=sc.sno and Course.cno=SC.cno and  sname='李勇'   --C.查询“李勇”选修的所有课程的课程名程。(用嵌套查询实现) selectcname from course wherecno in (selectcno from sc where sno in  (select sno from student where sname='李勇') )   --D.查询和“刘晨”在同一个系学习的其他同学的信息。 select * from student whereSdept= (select Sdept from student where sname='刘晨') and sname<>'刘晨'   --E.查询每个系的学生数,显示结果为系名,人数。 select SDept as 系名,count(*) as 人数 from student group by  SDept   --F.查询选修的课程数超过(含)3门的学生的学号。 selectsno from sc  group by sno having count(*)>=3   --G.查询平均成绩在80分以上(含)的学生的姓名。 selectsname from student wheresno in (selectsno from sc  group by sno having AVG(Grade)>=80)   --H.查询至少选修了“95001”选的全部课程的学生的信息。 selectsname from student Where  not  Exists   (select * from SC Sc1    wheresno in ('95001') and   not Exists     (select * from SC where Sc.sno=Student.sno and Sc1.cno=SC.cno))   --I.将女同学的“3”号课程成绩提高10%。 update sc set Grade=Grade*1.1 where cno='3' and sno in(select sno from student where SSEX='女')   --J.删除还没有成绩的选课信息。(成绩为空) delete from SC where Grade is NULL 1. 试述数据、数据库、数据库系统、数据库管理系统的概念。  数据是用来描述客观事物的可识别的符号系列,用来记录事物的情况。数据用类型和值来表示,不同的数据类型记录的事物性质不一样。  数据库是指长期存储在计算机内的、有结构的、大量的、可共享的数据集合。 数据库系统(DataBase System,简称DBS)是指计算机系统引入数据库后的系统构成,是一个具有管理数据库功能的计算机软硬件综合系统。数据库系统可以实现有组织地、动态地存储大量数据、提供数据处理和资源共享的服务。 数据库管理系统是位于用户与操作系统之间的一层数据管理软件,在数据库建立、运用和维护时对数据库进行统一控制、统一管理,使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。 2. 使用数据库系统有什么好处? 采用数据库系统管理数据具有如下特点: 1数据结构化 2数据共享性高、冗余度低 3数据独立性高 4数据存取粒度小 5数据由DBMS集中管理 6为用户提供了友好的接口 因此,在目前的数据管理中均采用数据库系统进行管理,这也是由于数据库 系统与人工管理或文件管理相比更加有优势。 3.  数据库管理系统的主要功能有哪些? 数据库管理系统是对数据进行管理的一个庞大的系统软件,它由许多程序模块构成。根据DBMS的程序模块划分,DBMS一般具有如下功能。  (1)数据库定义功能  数据库定义就是对数据库最基本信息的描述,是数据库基本规则与结构的体现,是数据库运行的基本依据。  (2)数据库操作功能  数据库操作就是对数据库中的数据进行查询、增加、修改、删除。数据库操作使用的是DML,即数据操作语言(Data Manipulating Language)。DML也是SQL语言中的一部分。一般的DBMS都提供功能强大、易学易用的数据操纵语言DML。DML有两类,一类是宿主型语言,它不能独立使用而必须嵌入某种主语言,如C、Pascal、COBOL语言中使用,另一类是自立(独立)型语言,通常在DBMS提供的软件工具中独立使用。  (3)数据库运行处理  数据库运行处理,就是对数据库运行的过程时刻进行控制和管理,使数据或操作按照数据库数据字典中最初定义的规则和约定正常存储或进行。例如,用户的合法性和权限确认,数据的正确性、有效性、完整性和存取控制,多用户的事务管理和并发控制,数据的自动恢复和死锁检测,运行记录日志等。  (4)数据组织、存储和管理  数据组织和存储的基本目标是提高存储空间利用率和方便存取,提供多种存取方法,从而提高存取效率。DBMS有如一部复杂的机器,只有机器的各个部分协调配合,才能够正常的工作。因此,DBMS需要对数据进行规律、条理的管理。DBMS对各种数据进行分类组织、存储和管理,这些数据包括数据字典、用户数据、存取路径、系统文件、运行的规则和约定、内存的分配与如何使用等。  (5)数据库的建立和维护  若要使DBMS真正发挥作用,就必须使它真正的工作,建立应用数据库为用户服务。数据库的建立与维护程序模块,包括数据库的初始建立、数据的转换、数据的转储和恢复、数据库的重组织和重构造以及性能监测分析等功能。数据库的初始建立也是应用DDL语言。数据转换与转储一般用于在不同DBMS之间的数据转存。  (6)其他  包括DBMS与网络中其他软件系统的通信功能,一个DBMS与另一个DBMS或文件系统的数据转换功能,异构数据库之间的互访和互操作功能等。例如,不同DBMS之间的数据交换接口或者通过网络进行数据库连接的接口等。 4. 假设某工厂物资管理系统涉及如下实体:  仓库(仓库号、面积)  货物(货号、名称)   职工(职工号、姓名、年龄、职称)  各实体之间具有如下所述联系:一个仓库可以存放多种货物,一种货物可以存放在多个仓库中,即仓库与货物之间存在“存货”联系;一个仓库有多个职工当保管员,每一个职工只能在一个仓库工作,即仓库与职工之间存在“工作”联系。  请用E-R图表示该工厂物资管理的概念模型。 候选码,主码,外码  候选码:能唯一表示关系中元组的一个属性或属性集  主码:从关系的多个候选码中的选择出其中一个作为查询、插入或删除元组的操作变量,被选中的候选码称为主码。  外码:设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码)。如果F与基本关系S的主码K相对应,则称F是基本关系R的外部关系码,可简称外码。  关系模式,关系,关系数据库  关系模式:关系模式是关系的框架,是对关系结构的描述。它指出了关系有哪些属性构成。 关系数据库:一组关系模式的集合就叫做关系数据库模式。与关系数据库模式对应的数据库即为关系数据库。 ** 用SQL语言完成第二章简答题第六题中的操作。      S( SNO,SNAME,STATUS,CITY);     P(PNO,PNAME,COLOR,WEIGHT);     J(JNO,JNAME,CITY);  SPJ(SNO,PNO,JNO,QTY);      (1)求供应工程J1零件的供应商号码SNO;   (2)求供应工程J1零件P1的供应商号码SNO;   (3)求供应工程J1零件为红色的供应商号码SNO;    (4)求没有使用天津供应商生产的红色零件的工程号JNO;  (5)求至少用了供应商S1所供应的全部零件的工程号JNO。 ** 设在某仓库管理系统中,有两个实体集:仓库和商品。仓库用来存放商品,且规 定一类商品只能存放在一个仓库中,一个仓库可以存放多件商品。仓库和商品之间是一对多的联系。在存放联系中要反映出存放商品的数量。仓库和商品的属性分别如下:  仓库:仓库号、地点、面积;商品:商品号、商品名、价格 请绘制仓库管理系统的E-R图。   请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号、姓名、地址、性别、年龄。对每本书存有:书号、书名、作者、出版社。对每本被借出的书存有:读者号、书号、借出日期和应还日期。 要求: (1)进行关系数据库的概念结构设计(绘制E-R图);  (2) 进行关系数据库的逻辑结构设计。 仓库(仓库号、地点、面积) 商品(商品号、商品名、价格) 读者记录(读者号、姓名、地址、性别、年龄) 书(书号、书名、作者、出版社) 借阅(读者号、书号、借出日期、应还日期) ** 请简述满足1NF、2NF和3NF的基本条件。并完成下题:某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF的关系。(本小题12分) 第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可分割的数据项。 第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全依赖于其主码。  第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。 考生情况(考生编号,姓名,性别,考生学校) 考场情况(考场号,考场地点) 考场分配(考生编号,考场号) 成绩(考生编号,考试成绩,学分) ** 某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF的关系。(12分) 配件关系:(配件编号,配件名称,型号规格) 供应商关系(供应商名称,供应商地址)  配件库存关系(配件编号,供应商名称,单价,库存量) Delete 配件编号 where a01 Selete供应商名称 ok (配件编号,配件名称,型号规格,供应商名称,单价,库存量) (供应商名称,供应商地址) Delete a01 配件编号 ->供应商名称 简述满足1NF、2NF和3NF的基本条件。并完成下题:已知教学关系,  教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩),试问该关系的主键是什么,属于第几范式,为什么?如果它不属于3NF,请把它规范到3NF。 请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF 。 例1.仓库(仓库号,面积,电话号码,零件号,零件名称,规格,库存数量) 例1答案:  仓库号+零件号;1NF;  仓库(仓库号,面积,电话号码) 零件(零件号,零件名称,规格) 保存(仓库号,零件号,库存数量)  报名(学员编号,学员姓名,培训编号,培训名称,培训费,报名日期),每项培训有多个学员报名,每位学员可参加多项培训。 例2答案:  学员编号+培训编号;1NF; 学员(学员编号,学员姓名) 培训(培训编号,培训名称,培训费) 报名(学员编号,培训编号,报名日期) 请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF,要求每个关系写一条记录。  (部门编号,部门名称,所在城市,员工编号,员工姓名,项目编号,项目名称,预算,职务,加入项目的日期)  [注]职务指某员工在某项目中的职务。   部门(部门编号,部门名称,所在城市) 员工(员工编号,员工姓名,部门编号) 项目(项目编号,项目名称,预算)  工作(员工编号,项目编号,职务,加入项目的日期) 1. 设有关系模式:学生修课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。 设一个学生可以选多门课程,一门课程可以被多名学生选。一个学生有唯一的所在系,每门课程有唯一的课程名和学分。每个学生对每门课程有唯一的成绩。  (1) 请指出此关系模式的候选码。  (2) 写出该关系模式的极小函数依赖集。  (3) 该关系模式属于第几范式?并简单说明理由。  (4) 若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关 系模式的主码和外码。 答:(1)候选码:(学号,课程号)  (2)学号→姓名,学号→所在系,学号→性别,课程号→课程名,课程号→学分,  (学号,课程号)→成绩  (3)属于第二范式,因为存在部分函数依赖:学号→姓名。 (4)第三范式关系模式:  学生(学号,姓名,所在系,性别) 课程(课程号,课程名,学分) 考试(学号,课程号,成绩),学号为引用学生的外码,课程号为引用课程的外码。 设有关系模式:学生(学号,姓名,所在系,班号,班主任,系主任),其语义为:一 个学生只在一个系的一个班学习,一个系只有一个系主任,一个班只有一名班主任,一个系可以有多个班。  (1) 请指出此关系模式的候选码。  (2) 写出该关系模式的极小函数依赖集。  (3) 该关系模式属于第几范式?并简单说明理由。  (4) 若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关 系模式的主码和外码。  解:(1)候选码:学号  (2)学号→姓名,学号→所在系,学号→班号,班号→班主任,所在系→系主任 (3)第二范式,因为有:学号→班号,班号→班主任,因此存在传递函数依赖:  学号 传递 班主任  (4)第三范式关系模式:  学生(学号,姓名,所在系,班号),班号为引用班的外码,所在系为引用系的外码。 班(班号,班主任) 系(系名,系主任)  设有关系模式:教师授课(课程号,课程名,学分,授课教师号,教师名,授课时数), 其语义为:一门课程(由课程号决定)有确定的课程名和学分,每名教师(由教师号决定)有确定的教师名,每门课程可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程有确定的授课时数。 (1) 指出此关系模式的候选码。  (2) 写出该关系模式的极小函数依赖集。  (3) 该关系模式属于第几范式?并简单说明理由  (4) 若不属于第三范式,请将其规范化为第三范式关系模式,并指出分解后的每个关 系模式的主码和外码。  答:(1)候选码:(课程号,授课教师号)  (2)课程号→课程名,课程号→学分,授课教师号→教师名,(课程号,授课教师号)→授课时数  (3)属于第一范式。因为有:课程号→课程名,因此存在部分函数依赖关系: (课程号,授课教师号) P 课程名  (4)第三范式关系模式:  课程(课程号,课程名,学分) 教师(教师号,教师名)  授课(课程号,教师号,授课时数),课程号为引用课程的外码,教师号为引用教师的外码 https://wenku.baidu.com/view/30ae23a8af45b307e971974a.html https://wenku.baidu.com/view/c7e068531711cc7930b71625.html 本文档由香当网(https://www.xiangdang.net)用户上传

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 4 香币 [ 分享文档获得香币 ] 0 人已下载

    下载文档

    文档贡献者

    jjxxp1

    贡献于2018-12-03

    下载需要 4 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档