版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数 据 库 技 术课 程 学 习 指 导 资 料编 写 杨晓梅适用专业:电气工程及其自动化适用层次:专升本四 川 大 学 网 络 教 育 学 院二00 三 年 十 月数据库技术课程学习指导资料编写:杨晓梅审稿(签字):审批(主管教学责任人签字):本课程学习指导资料根据该课程教学大纲的要求,参照现行采用教材数据库原理及应用(李大友主编,清华大学出版社,2000年)以及课程学习光盘,并结合远程网络业余教育的教学特点和教学规律进行编写,适用于电气工程及其自动化专升本学生。第一部分 课程的学习目的及总体要求一、 课程的学习目的数据库技术是计算机科学的重要分支。由于数据库具有数据结构化、较低的冗余度、较
2、高的程序与数据独立性、易于扩充和易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。数据库技术成为目前最活跃、应用最广的计算机领域之一,几乎所有的应用系统都涉及到数据库。要想很好地使用数据库管理系统进行应用系统设计,必须全面地掌握数据库技术。 二、 课程的总体要求通过学习,要求学生掌握有关数据库的基本概念和基础理论和技术;掌握关系数据库系统的模型,关系代数,关系数据理论;运用SQL语言对数据库进行查询、定义和操纵;掌握规范化问题、函数依赖和关系范式;通过学习数据库的设计方法设计简单的数据库应用系统;并通过上机掌握一种小型的关系数据库管理系统的使用方法。第二部分 课程学
3、习的基本要求及重点难点内容分析第一章 数据库系统导论1、 本章学习要求(1) 应熟悉的内容应熟悉数据库系统的组成;计算机信息系统的定义及分类;计算机数据管理发展的4个阶段的主要标志、特征、评价;计算机信息系统的定义和分类。(2) 应掌握的内容应掌握数据、信息的定义、区别及联系;数据库系统的主要特征;熟悉现实世界、概念世界和机器世界中的基本术语;E-R模型的三要素;联系的类型。(3) 应熟悉掌握的内容应熟悉掌握数据库管理系统DBMS的主要功能;掌握数据库、数据库系统、数据库管理系统的概念和区别;三级数据模式;数据库的并发控制的原理;数据库的数据独立性;对于给定一个应用环境,能正确地画出E-R模型
4、。 2、 本章重点难点分析l 数据库(DB):通用化的相关数据的集合,它不仅包括数据本身,而且包含数据之间的联系;l 数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件,是数据库系统的重要组成部分(核心);l 数据库系统(DBS)是引入了数据库技术的计算机信息系统,它由硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员、用户五部分组成。三者之间的关系是DBS包括DB和DBMSl 数据和信息:信息=数据+数据处理;l 三级数据模式:外模式(子模式)是用户与数据库的接口,是应用程序可见到的数据描述(用户使用的数据视图); 模式(概念模式)是对数据整体的逻辑结构的描述(全
5、局的逻辑数据视图); 内模式(物理模式)是对数据整体的物理结构的描述。3、 本章典型例题解答(1)数据库体系结构是按照 、 、 进行组织的。答案应为:模式;外模式;内模式 (参见三级数据模式。正是由于数据库三级模式体系结构的划分,才有利于保持数据库的数据独立性,相关连接:数据的独立性)(2)在概念世界的实体、属性术语,相应在机器世界有 、 术语。 答案应为:记录;字段 (在概念世界中实体、属性和实体集术语,对应地在机器世界中记录、字段和文件术语)(3)数据共享是指 。答案应为:多种应用、多种语言、多个用户相互覆盖地使用数据集合(4)数据库三级模式体系结构的划分,有利于保持数据库的 。 答案应为
6、:数据独立性 (在外模式和模式之间有一定的映射关系,当整个系统要求改变模式时,可以改变映射关系而保持外模式不变,这种用户数据独立于全局的逻辑数据的特性称为逻辑数据的独立性。同样地,在模式和内模式之间也有一定的映射关系。当为了某种需要改变内模式时,可以改变两者之间的映射而保持模式和外模式的不变,这种全局的逻辑数据独立于物理数据的特性称为物理数据独立性)(5)在数据库中存储的是 。A.数据 B. 数据模型 C.数据及数据间的联系 D. 信息答案应为C (这是数据库区别与“文件”的重要性质。相关链接:文件的定义)(6)数据库(a)、数据库系统(b)和数据库管理系统(c)三者之间的关系是: 。A. a
7、包括b,c B. c包括a,b C. b包括a,c D. a,b,c是相同的答案应为C (包含关系应是数据库系统包含数据库和数据库管理系统,数据库系统是引进了数据库技术后的计算机系统,它由五部分组成:硬件系统、数据库集合DB、数据库管理系统DBMS及相关软件、数据库管理员DBA和用户。相关链接:信息系统的定义)(7)实体是概念世界的术语,与之对应的数据库术语为 。A.文件 B.数据库 C.字段 D.记录答案应为D (客观存在并可以相互区别的事物称为实体,如一个学生、一个单位,是在概念世界阶段对现实世界客观存在的个体的称呼;在机器世界中与之对应的数据库术语应是“记录”由若干数据项或字段组成,描述
8、具体的一个实体或个体的性质。相关链接:实体集)(8)一个教师教授多个学生,一个学生选修多个教师的课程,教师与学生之间是 。A 一对一联系 B 一对多联系 C多对一联系 D多对多联系答案应为:D(实体之间的联系有三种:1:1、1:n、n:n。每一个教师可与多个学生实体有联系,反过来,每一个学生实体也可以与多个教师实体有联系,因而两个实体之间是n:n的联系)(9)多用户的数据库系统的目标之一是使它的每个用户好象面对着一个单用户的数据库一样使用它,为此数据库系统必须进行 。A安全性控制 B .完整性控制 C. 并发控制 D可靠性控制答案应为:C(并发控制功能保证并发操作的有效进行:允许多个用户同时共
9、享读同一条记录的数据项;保证一个记录在某一时刻只能有一个用户进行修改操作,若多个用户都想修改同一记录,必须首先竟争到“锁定”权限后,方能修改;修改完成后,该程序应“解锁”该记录,让其他用户再竟争)(10)对并发操作若不加以控制,可能会带来 问题。A 不安全 B 不一致 C 死机 D 死锁答案应为:D(分析同上 )(11)请举例说明实体间的各种类型的联系例如:在学生学习课程(大学)应用环境中,通过调研、分析、抽象,我们得到至少两个实体集学生和课程(客观存在的事物或对象):“学生”实体集是用于描述学生的特征,例如:学生(学号,姓名,性别,生日,班级,家庭地址,.) (括号中的为描述学生实体集特征的
10、属性);“课程”实体集是用于描述课程的特征,例如:课程(课程号,课程名,类型,学分,学时,.);“学生” 要选修(学习)“课程”,就引出了联系的概念,该联系可命名为“选修”,属m:n(多对多)联系,即:一个学生可选修多门课程,一门课程能被多名同学选修,该“选修”联系定义为:选修(学号,课程号,成绩)。通过以上两个实体集、一个联系描述的概念模型将全面地反映学生、课程的基本情况,学生选课及成绩的基本情况。注意“联系”的概念。(12)试述DBMS的主要功能。答: DBMS是位于操作系统与用户之间的一个数据管理软件,它的主要功能包括以下几个方面:(1)数据库的定义功能。DBMS提供数据定义语言(DDL
11、),定义数据库的三级结构,包括外模式、概念模式、内模式及其相互之间的映像,定义数据的完整性、安全控制等约束。(2)数据库的操纵功能。DBMS提供了数据操纵语言(DML)实现对数据库中的数据的操作。数据操作分为两类四种:查询和更新(插入、删除、修改)(3)数据库的运行管理。这是DBMS运行时的核心部分,它包括开发控制、安全性检查、完整性约束条件的检查和执行,数据库的内容维护等。(4)数据库的建立和维护功能。它包括数据库初始,数据的输入及转换,数据库的转储与恢复,数据库的重组功能等。(13)试述数据库的数据独立性答: 数据独立性表示应用程序和数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物
12、理独立性。逻辑数据独立性是指局部逻辑数据结构(外视图)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,他不影响某些局部的逻辑结构的性质,应用程序不必修改。物理数据独立性是指数据的存储结构与存储方法(内视图)改变时,对数据库的全局逻辑结构和应用程序不必作修改的一种特性,即数据库数据的存储结构与存取方法独立。4、 本章作业 P16 1,2,6,8,9,10,11,13第二章 关系数据模型1、 本章学习要求(1) 应熟悉的内容应熟悉数据模型的概念;数据模型的分类(层次、网状、关系),非关系模型(层次、网状模型
13、)是用树型结构或网状结构表示实体及其之间联系的模型,是通过指针链表实现的。(2) 应掌握的内容应掌握关系模型的概念;二维表的概念;关系、关系模式、关系模型、属性、元组、关键字、外关键字的概念。(3) 应熟悉掌握的内容应熟悉掌握关系模型的概念;关系、关系模式、关系模型、属性、元组、关键字、外关键字的概念。关系运算;外关键字的概念及作用。2、 本章重点难点分析l 非关系模型的基本层次联系即是指两个记录型以及它们之间的一对多联系;l 关系:一个关系就是一张二维表,表中的一行即为一个元组;表中的一列即为一个属性。l 关键字:属性或属性组合,其值能够唯一地表示一个元组l 外关键字:如果一个关系中的属性不
14、是本关系的关键字,但它们是另外一个关系的关键字,则称其为该关系的外关键l 关系模式格式为 关系名(属性名1,属性名2,属性名3,。)l 关系运算,包括传统的集合运算(并、差、交)和专门的关系运算(选择、投影、联接)。3、 本章典型例题解答(1) 关系操作的特点是 操作。 答案应为:集合(在关系模型中,操作的对象和结果都是远祖的集合,即关系)(2) 在关系运算中,选择运算是一种 运算,从关系中找出若干满足给定条件的 形成新的关系;而投影运算则是一种 运算, 从关系中挑选若干满足给定条件的 组成新的关系。答案应为:行;元组;列;属性(在关系代数的专门关系运算中,从表中取出满足条件的属性(列)的操作
15、称为投影;从表中取出满足某种条件的元组的操作称为选择;将两个关系中具有共同属性值的元组连接到一起构成一个新表的操作称为连接。)(3) 一个关系模式的定义格式为 。 答案应为:关系名(属性名1,属性名2,属性名3,)(4) 关系R有5列属性,关系S有2列属性,则R×S有 列属性。答案应为:10 (R×S是关系R和S的笛卡儿积。例如D1=0,1,D2=a,b,c,则:D1×D2=(0,a),(0,b),(0,c),(1,a),(1,b),(1,c), D1有2列属性,D2有3列属性,D1×D2则有6列属性)(5) 关系模型中,一个关键字是 A 可由多个任意属
16、性组成B 至少由一个属性组成C 可由一个或多个能唯一标识该关系中任何元组的属性组成D 以上都不是答案应为: C(唯一标识性是关键字的一个重要性质,关键字可以只有一个属性,也可由多个属性组成“复合关键字”;无冗余性是关键字的另一个重要性质。相关链接:无冗余性)(6)关系数据库管理系统应能实现的专门关系运算包括 A. 排序、索引、统计 B. 选择、投影、连接C关联、更新、排序 D. 显示、打印、制表答案应为:B(关系的基本运算有两类:一类是传统的集合运算(并、交、差等),另一类是专门的关系运算(选择、投影、连接)(7) 如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,
17、则称为该关系的 A 外关键字 B 数据项 C主属性 D主属性值答案应为:A(一个关系的外关键字自身并非该关系的关键字,但它们是另外一个关系的关键字。有了外关键字,才能实现关系之间的动态连接。)(8)在数据库的非关系模型中,基本层次联系是指 。A 两个记录型以及它们之间的多对多联系 B. 两个记录型以及它们之间的一对多联系C. 两个记录型之间的多对多联系 D. 两个记录型之间的一对多联系答案应为:D(非关系模型是指层次模型和网状模型,基本层次联系表示一对多的联系,通常将表示1的实体称为父结点,把表示n的实体称为子结点。在层次模型中,其他结点有且只有一个父结点。)(9)自然连接是构成新的关系的有效
18、方法,一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的 。A元组 B 行 C 记录 D 属性答案应为:D(自然连接是去掉重复属性的等值连接,不同关系中的公共属性是自然连接的“纽带”。)(10)关系数据模型 。A. 只能表示实体的1:1联系 B. 只能表示实体的1:n联系C. 只能表示实体的m:n联系 D.可以表示实体间的上述三种联系答案应为D(这是关系模型的优势之一,它可以表示1:1、1:n、m:n三种联系;而层次和网状模型局限于1:n和1:1)(11)已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系的主关键字是
19、 ,系关系的外关键字是 ,学生关系的主关键字是 ,外关键字是 。A 系编号 B 无 C 学号 D 系编号答案应为:A;B;C;D (“系编号”能唯一地标识“系”这个关系的一个元组,因而是该关系的主关键字,同理,可判断“学号”是“学生”关系的主关键字;“系编号本身不是”学生“关系的主关键字,但是”系“关系的关键字,因而是”学生“关系的外关键字;而在”系“关系中没有一个属性或属性组合是”学生“关系的主关键字,因而无外关键字)4、 本章作业 P28 1,2,5,6,10,11第三章 结构化查询语言SQL1、 本章学习要求(1) 应熟悉的内容应熟悉SQL的三级模式结构(外模式视图、模式基本表、内模式存
20、储模式);SQL的数据控制功能包括:用户授权和回收权限。(2) 应掌握的内容应掌握SQL的数据定义功能:定义基本表(CREATE TABLE), 定义视图(CREATE VIEW), 定义别名(CREATE SYNONYM), 建立索引(CREATE INDEX.), 修改基本表(ALTER TABLE)。SQL的数据操纵功能:插入记录(INSERT INTO), 更新记录(UPDATESETWHERE), 删除记录(DELETE FROM WHERE).。(3) 应熟悉掌握的内容应熟悉掌握SQL的数据查询功能:SELECTFROMWHERE 实现简单查询(单表查询)、联接查询(多表查询)、嵌
21、套查询(子查询)、统计查询(使用统计库函数);使用GROUP BY子句实现分组,用HAVING子句实现分组内的条件限定;使用ORDER BY子句实现排序。2、 本章重点难点分析l SQL语言中SELECT 命令的完整语法为:SELECT 查询目标(表达式) FROM 关系1,关系2 WHERE 条件表达式 GROUP BY 分组属性名 HAVING 组选择条件表达式ORDER BY 排序属性名ASC/DESC;。l SELECT语句的含义:根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形成结果表。
22、如果有GROUP子句,则将结果按<列名1>的值进行分组,该属性列值相等的元组为一个组,每个组产生结果表中的一条记录。 如果GROUP子句带HAVING短语,则只有满足指定条件的组才予输出。 如果有ORDER子句,则结果表还要按<列名2>的值的升序或降序排序。l 连接查询是在一个查询语句中同时涉及两个以上的表。在FROM子句中指定要连接的表,在WHERE子句中指定要连接的连接条件。3、 本章典型例题解答(1)SQL是 。答案应为:结构化查询语言(2)SQL语言的数据定义功能包括 、 、 、 。答案应为:定义数据库;定义基本表;定义视图;定义索引(3)设有如下关系表R:R(
23、NO,NAME,SEX,AGE,CLASS),主关键字为NO,写出实现下列功能的SQL语句。插入一个记录(25,”李红”,”M”,21,”9808611”) 、将学号为20的学生姓名改为“王华”、删除学号为18的学生记录、 答案应为:insert into R values(25, ”李红”,”M”,21,”9808611”)UPDATE R SET NAME=“王华”WHERE NO=20delete from R where no=18(4)假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TACHER),学生选课关系是SC(S#,C#,GRADE)。
24、要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系 。A. S B. SC.C C. S,SC D. S,C,SC答案应为:D (查询的目标属性“学生姓名”和条件“女”在关系S中,查询条件“COMPUTER”以及发生选修联系将涉及到关系C和SC,因为只有当S.S#=SC.S#,才表明该学生进行了选修。因此完成该查询任务将涉及到S,C,SC三种关系。)(5)SQL语言具有 的功能A关系规范化、数据操作、数据控制B 数据定义、数据操纵、数据控制C 数据定义、关系规范化、数据控制D 数据定义、关系规范化、数据操纵答案应为:B(SQL是结构化语言的缩写,它实际上包括数据查询、数据定义、数
25、据操纵和数据控制四个部分,是一个功能齐全的数据库语言)(6)SQL语言中,实现数据检索的语句是 ASELECT B. INSERT C. UPDATE D. DELETE答案应为:A(SELECTFROMWHERE实现查询,INSERT INTO 插入记录,UPDATESETWHERE更新记录,DELETE FROM WHERE删除记录)(7)下列SQL语句中,修改表结构的是 A ALTER B. CREAT C.UPDATE D. INSERT答案应为:A (定义基本表(CREATE TABLE), 定义视图(CREATE VIEW), 定义别名(CREATE SYNONYM), 建立索引(
26、CREATE INDEX.), 修改基本表(ALTER TABLE)(8)SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等,其中最重要,也是使用最频繁的语句是 A.SELECT B. INSERT C. UPDATE D.DELETE 答案应为:A(数据库操作中最常用的是根据条件去查询相关的记录,SELECTFROMWHERE正是实现这一功能的语句)(9)在学籍管理中,设有4个表,关系模式分别为:STUDENT(SNO,SNAME,SEX,BIRTHDAY,CLASS)TEACHER(TNO,TNAME,SEX,BIRTHDAY,PROFESSION,DEP
27、ARTMENT)COURSE(CNO,CNAME, TNO)SCORE(SNO,CNO,DEGREE) 中文说明学生关系模式中:SNO:学号,SNAME:姓名,SEX:性别,BIRTHDAY:出生日期,CLASS:班级;教师关系模式中:TNO:教师号,TNAME:姓名,SEX:性别,BIRTHDAY:出生日期,PROFESSION:职称,DEPARTMENT:所在系;课程关系模式中:CNO:课程号,CNAME:课程名, TNO:任课教师号;成绩关系模式中:SNO:学号,CNO:课程号,DEGREE:分数。请写出SQL查询语句实现:例 1: 列出存在有85分以上成绩的课程CNO.SELECT D
28、ISTINCT CNOFROM SCOREWHERE DEGREE IN(SELECT DEGREE FROM SCOREWHERE DEGREE>85); 例2: 列出”计算机系”教师所教课程的成绩表.SELECT CNO,SNO,DEGREEFROM SCOREWHERE CNO IN(SELECT X.CNO FROM COURSE X,TEACHER Y WHERE Y.TNO=X.TNO AND Y.DEPARTMENT=”计算机系”);例3: 列出”计算机系”与”电子工程系”不同职称的教师的TNAME和PROFESSION.SELECT TNAME,PROFESSIONFRO
29、M TEACHERWHERE DEPARTMENT=”计算机系” AND PROFESSION NOT IN(SELECT PROFESSION FROM TEACHER WHERE DEPARTMENT=”电子工程系”);例4: 列出选修编号为”3-105”课程且成绩同于选修了编号为”3-245”的同学的CNO,SNO和DEGREE. 并按DEGREE从高到低次序排列.SELECT CNO,SNO,DEGREEFROM SCOREWHERE CNO=”3-105” AND DEGREE=ANY(SELECT DEGREE FROM SCORE WHERE CNO=”3-245”)ORDER
30、BY DEGREE DESC;例5: 列出选修编号为”3-105” 课程且成绩高于选修了编号为”3-245”的同学的CNO,SNO和DEGREE. SELECT CNO,SNO,DEGREEFROM SCOREWHERE CNO=”3-105” AND DEGREE> ALL(SELECT DEGREE FROM SCORE WHERE CNO=”3-245”)例6: 列出成绩比该课程平均成绩低的同学的成绩表.SELECT CNO,SNO,DEGREEFROM SCORE AWHERE DEGREE<(SELECT AVG(DEGREE) FROM SCORE B WHERE A.
31、CNO=B.CNO);4、 本章作业 P47 1,2,3第四章 关系数据库设计理论1、 本章学习要求(1) 应熟悉的内容应熟悉属性间的联系及函数依赖的概念,包括:函数依赖、完全函数依赖、传递函数依赖、侯选关键字、外关键字;熟悉关系范式的概念,掌握1NF、2NF、3NF的定义及规范化过程。(2) 应掌握的内容应掌握存储异常问题,发生的原因及异常现象(数据冗余、更新异常、插入异常、删除异常),认识到规范化的重要作用。(3) 应熟悉掌握的内容应熟悉掌握存储异常问题;对于给定的一个关系模式,应能确定侯选关键字及非主属性,判断该关系模式以达到第几范式,并能将其规范化到第三范式。2、 本章重点难点分析l
32、4种范式之间存在如下关系:BCNFÍ3NFÍ 2NFÍ1NF;l 对于非规范化的模式,经过使关系中的每一个属性为不可再分的单纯形域(消除“表中表”)转变为1NF,将1NF经过使关系中所有非主属性对任意一个侯选关键字不存在部分函数依赖(使关系中所有非主属性都完全函数依赖于任意一个侯选关键字)转化为2NF,将2NF经过使关系中所有非主属性对任意一个侯选关键字不存在传递函数依赖转化为3NF。 3、 本章典型例题解答(1)若关系为1NF,且它的每一非主属性都 候选关键字,则该关系为2NF。答案应为:不部分函数依赖于(消除了非主属性部分函数依赖于侯选关键字的2NF的关系模式
33、就是2NF)(2)1NF,2NF,3NF之间,相互是一种 关系。答案应为:3NFÌ2NFÌ1NF(范式级别是逐级升高的,满足3NF的模式,必定是1NF,2NF,满足了2NF的模式,必定是1NF)(3)关系规范化中的删除异常是指 ,插入异常是指 。A不该删除的数据被删除 B. 不该插入的数据被插入C应该删除的数据未被删除 D. 应该插入的数据未被插入答案应为:A; D(4)规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:其每一属性都是 。 A. 互不相关的 B. 不可分解的 C. 长度可变的 D. 互相关联的答案应为:B(对关系最基本的
34、要求是每个属性必须是不和分割的数据单元,即表中不能再包含表)(5)关系数据规范化是为解决关系数据库中 问题而引入的。A插入、删除和数据冗余 B. 提高查询速度C减少数据操作的复杂性 D. 保证数据的安全性和完整性答案应为:A(6)根据关系数据库规范化理论,关系数据库中的关系要满足1NF。下面“部门”关系中, 因哪个属性使它不满足1NF? 部门(部门号,部门名,部门成员,部门经理)A.部门号 B. 部门成员 C. 部门名 D.部门经理答案应为B (INF要求关系中属性均为单纯域,无重复组或无“表中表”。“部门成员”可能包含一个集合,使“部门”关系不能达到INF。相关链接:规范化处理)(7)假设某
35、商店集团数据库中有一关系模式R如下:R(商店编号,商品编号,数量,部门编号,负责人)如果规定:每个商店的每种商品只有一个部门销售;每个商店的每个部门只有一个负责人;每个商店的每种商品只有一个库存数量。试回答下列问题:I. 找出关系模式R的侯选键;II. 关系模式R最高已经达到第几范式?说明理由;III. 如果R不属于3NF,请将R分解成3NF模式集。答:(1)R的候选键是:(商店编号,商品编号) 分析:由于(商店编号,商品编号)能唯一地标识每一个元组,而且其任何真子集都不具有这个能力,如(商店编号)和(商品编号),因此,该关系模式R的候选关键字是(商店编号,商品编号) (2)因为R中存在着非主
36、属性“负责人”对候选键(商店编号,商品编号)的传递函数依赖,所以R属于2NF,而不属于3NF分析:显然该关系模式属于1NF,而且不存在非主属性对候选键的部分依赖,所以该关系模式满足2NF的太监。由于(商店编号,商品编号)->(商店编号,部门编号), (商店编号,商品编号)->负责人,因此R中存在着非主属性“负责人“对候选键(商店编号,商品编号)的传递函数依赖。所以,该关系模式最高只达到2NF。(3)将R分解成:R1(商店编号,商品编号,数量,部门编号)R2(商店编号,商品编号,负责人)分析:将R(商店编号,商品编号,数量,部门编号,负责人)分解成两个关系模式:R1(商店编号,商品编
37、号,数量,部门编号),其中主关键字是(商店编号,商品编号)R2(商店编号,商品编号,负责人),其中主关键字是商店编号,商品编号)显然,以上两个关系模式都满足2NF,而且,这两个关系模式都不存在非主属性对候选键的传递函数依赖,因此以上两个关系模式都满足3NF。4、 本章作业 P62 1,2第五章 数据库设计1、 本章学习要求(1) 应熟悉的内容应熟悉数据库系统的分析和设计阶段,主要的步骤包括:需求分析;概念结构设计;逻辑结构设计;物理设计。(2) 应掌握的内容应掌握需求分析、概念结构设计、逻辑结构设计、物理设计各阶段的主要工作内容、方法、成果。(3) 应熟悉掌握的内容应熟悉掌握概念结构设计阶段中
38、局部E-R图的设计、E-R图的初步综合和E-R图的优化,逻辑结构设计中初始关系模式的导出和规范化处理。通过对教材中工厂应用环境数据库设计的学习,应能在已知一个较简单的应用环境下,按设计步骤完成相应的数据库设计(最终获得关系数据模型)2、 本章重点难点分析l 在概念设计阶段,首先应按照需求分析阶段数据流程图中的“数据存储”的内容来定义实体及其属性,然后确定实体之间的联系类型(1:1、1:n、n:n),画出局部E-R图。在综合成初步的全局E-R图时,通常从公共实体类型开始合并,解决各局部E-R图之间的冲突问题,生成初步的E-R图。初步E-R图是在需求分析基础上综合出来的全局和整体的概念模型,并不一
39、定是最优的,还需要修改和重构,消除不必要的数据冗余(属性、联系),生成基本的E-R图。l 将E-R图向关系模型的转换中,需要遵循一定的转换原则,将每一个实体转换成一个关系,每一个联系也转换为关系模式。l 最后应用规范化理论对上述产生的关系逻辑模式进行初步优化,考察关系模式的函数依赖关系,确定范式等级,对关系模式进行合并或分解。3、 本章典型例题解答(1)数据库设计的几个步骤 、 、 、 。答案应为:需求分析;概念结构设计;逻辑结构设计;物理设计(2)在设计分E-R图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计的,所以各个分E-R图之间难免有不一致的地方,这些冲突主要有 、
40、 、 。答案应为:属性冲突;命名冲突;结构冲突。(属性冲突是指属性域、精度、单位的不一致。命名冲突是指属性、实体、联系名的同名异义或异名同义。而结构冲突是指同一个对象在不同的局部E-R图中有不同的表示。属性/实体,实体/联系,1:m/m:n,前两种冲突可以通过协商,规定统一的基本数据名称。结构冲突则必须返回到需求分析阶段,更加深入地调查研究、分析,最后进行一致性的调整)(3)在关系数据库设计中,设计关系模式是 的任务。A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段答案应为C(概念设计的结果得到一个与计算机软硬件、DBMS的具体性能无关的全局概念模式,设计成果是E-R模型
41、。逻辑设计阶段设计数据库的整体逻辑数据结构即数据模型,是将概念结构转换成特定DBMS所支持的数据模型。从E-R图所表示的概念模型可以转换成任何一种具体DBMS所支持的数据模型,如:层次模型、网状模型、关系模型。在关系数据库设计中,数据模型为关系模型,它是由一组关系模式组成的。相关链接:第五章)(4)在数据库设计中,在概念设计阶段可用E-R方法 ,其设计出的图称为 。A实物示意图 B.使用概念图 C. 实体表示图 D. 实体联系图答案应为:D (E-R图即是实体联系图的中文名称)(5)从E-R模型想关系模型转换中,一个M:N联系转换为关系模式时,该关系模式的关键字为 。A. M端实体的关键字 B
42、. N端实体的关键字C. M端实体的关键字和N端实体的关键字组合 D.重新选取其他属性答案应为:C (从E-R图向关系模型的转换所遵循的转换原则是:1.一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字。2.一个联系转换为一个关系模式,与该联系相连的各实体的码以及联系的属性转换为该关系的属性,该关系的码有三种情况:(1)一个1:1的联系转换为一个关系,相连实体的关键字都是关系的侯选关键字。(2)一个1:n的联系转换为一个关系,多方实体的关键字是关系的关键字。(3)一个n:m的联系转换为一个关系,相连实体的关键字的组合组成关系的关键字(复合关键字)。 )(6)现有
43、员工和项目两个实体,员工有属性员工号、员工姓名、年龄,项目有属性项目号、项目名称。假设一个员工可以参加多个项目,一个项目也可以有多个员工。员工可能同名。员工参与一个项目主要记录所完成工作。I. 试画出E-R图,并注明属性和联系类型。II. 将所得到的E-R图转换成关系模式,并给出各关系模式的关键字答:(1)E-R图如下所示。NM年龄员工姓名项目名称项目号所完成工作员工号员 工参加项目分析:建立相应的E-R图的过程如下:a.确定实体类型。本问题有两个实体类型,即员工实体、项目实体。b.确定联系类型。员工实体与项目实体之间是多对多联系,即参加关系。c.把实体类型和联系类型组合成E-R图d.确定实体
44、类型和联系类型的属性。员工实体有属性:员工号、员工姓名、年龄项目实体有属性:项目号、项目名称参加联系有属性:所完成工作。(2) 将所得到的E-R图转换成关系模式且各关系模式的关键字如下所示:员工(员工号,员工姓名,年龄),关键字是员工号项目(项目号,项目名称),关键字是项目号参加(员工号,项目号,所完成工作),关键字是(员工号,项目号)。分析:根据E-R图向逻辑模式转换的规则,将实体、属性和联系转换成关系模式。转换的原则请参照上题分析说明。一个实体就是一个关系,实体的属性就是关系的属性,实体的关键字就是关系的关键字。一个M:N的联系转换成一个关系模式,与该联系相连的各实体的关键字以及联系本身的
45、属性均转换为关系的属性,关系的关键字为各实体的关键字的组合。4、 本章作业 P77 1,2,5,6第三部分 综合练习题一、 单项选择题:(共30小题,每题1分,共30分)本题型主要是考查对各章相关概念的掌握,因此必须认真学习复习提纲中要求的内容,举例如下:(1)目前,较通用的描述概念模型的工具是 。A.数据流程图 B. E-R图 C. 物理模型 D. 形象模型答案应为B(3)数据库(a)、数据库系统(b)和数据库管理系统(c)三者之间的关系是: 。A. a包括b,c B. c包括a,b C. b包括a,c D. a,b,c是相同的答案应为:C(4)目前,实体联系图是较通用的描述 的工具。A 数
46、据模型 B 概念模型 C 关系模型 D机器模型答案应为:B(5)通过指针链表来表示和实现实体之间联系的模型是 。A.关系模型 B.层次模型 C.网状模型 D.层次和网状模型答案应为D(层次和网状模型都是使用指针链表表示和实现实体之间的联系,而关系模型是使用“二维表”表示和实现实体以及实体之间的联系。相关链接:非关系模型、关系模型)(6)关系数据模型 。A 只能表示实体的1:1联系 B. 只能表示实体的1:n联系C. 只能表示实体的m:n联系 D.可以表示实体间的上述三种联系答案应为D(7)关系模型中,一个关键字是 。A. 可由多个任意属性组成 B. 至多由一个属性组成C. 可由一个或多个其值能
47、唯一地标识关系中的每一个元组的属性组成 D. 以上都不是答案应为C(8) 关系运算中花费时间可能最长的运算是 。 A.投影 B.选择 C.笛卡儿积 D.除答案应为C(在“关系”的数学定义中讲到笛卡儿积:若D1为姓氏属性域,设D1=王、张、程,D2为性别属性域,D2=男、女,则D1、D2的笛卡儿积D1xD2共有6个元组(全集):(王,男) (王,女) (张,男) (张,女) (程,男) (程,男) ,实际上是D1遍乘D2的运算,是花费运行时间最长的运算。相关链接:连接运算)(10)消除了传递函数依赖的2NF的关系模式,必定是 34 。A.1NF B.2NF C.3NF D.BCNF答案应为C(消
48、除了非主属性传递函数依赖于侯选关键字的2NF的关系模式就是3NF。相关链接:未规范化关系、1NF、2NF、3NF的定义及规范化处理过程)(11)设有关系W(工号,姓名,工种,定额),将其规范化到3NF正确的答案是 35 。A.W1(工号,姓名) W2(工种,定额) B. W1(工号,工种,定额) W2(工号,姓名)C. W1(工号,姓名,工种) W2(工种,定额) D. 以上都不对答案应为C(分析W关系可知:工号为关键字,姓名、工种、定额三个非主属性完全函数依赖于关键字工号,W达到2NF;但非主属性“定额”通过“工种”传递函数以来于关键字工号,未达到3NF。分解为W1(工号,姓名,工种)、W2
49、(工种,定额)均达到3NF,W2是专门关于工种与定额的关系描述,关键字为工种,一个工种对应一种定额。相关链接:规范化处理)(12)在关系数据库设计中,设计关系模式是 的任务。A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段答案应为C(概念设计的结果得到一个与计算机软硬件、DBMS的具体性能无关的全局概念模式,设计成果是E-R模型。逻辑设计阶段设计数据库的整体逻辑数据结构即数据模型,是将概念结构转换成特定DBMS所支持的数据模型。从E-R图所表示的概念模型可以转换成任何一种具体DBMS所支持的数据模型,如:层次模型、网状模型、关系模型。在关系数据库设计中,数据模型为关系模型
50、,它是由一组关系模式组成的。相关链接:第五章)(13)数据库概念设计的E-R方法中,联系用 表示。A.矩形 B.四边形 C.菱形 D.椭圆型答案应为C(E-R模型中使用三个基本图例:实体(集)由矩形表示,属性由椭圆形表示,联系由菱形表示。相关链接:E-R模型设计、联系的分类)(14)解决多用户并发操作带来的数据不一致性问题普遍采用 的方法。A.加锁 B.恢复 C.存取控制 D.协商答案应为A(15)数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的 。A.可靠性 B.一致性 C. 完整性 D.安全性答案应为D(数据库管理系统通常提供建立用户、设置密码、为用户授
51、权来控制不同用户访问数据的范围和权限,这都是出于数据库安全性的考虑)二、 填空题:(共20空,每空1分,共20分)本题型主要也是考查对相关概念及SQL有关语法的掌握。举例如下:(1)数据库系统一般是由 、 、 、 、 五部分组成。答案应为:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员、用户(2)SQL语言中UPDATE 命令的完整语法为: 答案应为: UPDATE 表名 SET 属性1=新值1,属性2=新值2。 WHERE 条件表达式(3)一个关系模式的定义格式为: 。答案应为:关系名(属性1名,属性2名,属性3名,。,属性n名)(4)对于非规范化的模式,经过 转化为1NF,将1NF经过 转化为2NF,将2NF经过 转化为3NF。答案应为:消除关系模式中的重复组项,即消除关系模式中的“表中表”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论