



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理与系统习题解答习题一一、名词解释DB 、 DBMS 、 DBS 、 DBA 、数据冗余、数据异常二、单项选择题1 DBMS 是A 、数据库B 、数据库系统C、数据库应用系统C、数据库管理软件2 DB 、 DBMS 和 DBS 三者之间的关系是A 、 DB 包括 DBMS 和 DBSB、 DBMS 包括 DBS 和 DBC、 DBS 包括 DB 和 DBMSD、 DBS 与 DB 和 DBMS 无关3关系数据模型的基本数据结构是A 、树B、图C、索引D、关系4层次数据模型的基本数据结构是A 、树B、图C、索引D、关系5层次模型实现数据之间联系的方法?A 、连接B、指针C、公共属性D 、
2、关系6常见的数据模型是A 、层次模型、网状模型、关系模型B、概念模型、实体模型、关系模型C、对象模型、外部模型、内部模型D、逻辑模型、概念模型、关系模型7提供数据库定义、数据操纵数据控制和数据库维护功能的软件称为A、OSB、DSC、DBMSD、DBS三、简答题1数据库系统的组成部分2 DBA 的主要职责3文件系统的数据管理方法4文件系统的主要缺陷5数据库系统的主要优点6什么是数据模型7层次结构的特点8 DBTG 提出的关于数掂库的3 个重要规范9关系数据模型的基本结构10关系数据模型实现数据联系的方法1/23习题二一、概念题1解释下列事业术语的合义:关系、元组、属性、属性域、超码、候选码、主码
3、、外码。2简述关系的性质。3说明关系数据库实现数据之间联系的方法。4什么是实体完整性和参照完整性?5什么是数据字典和系统目录?6什么是关系代数的选锈、投影、并、差、笛卡儿积、交和连接运算?7什么是自然连接?8什么是左外连接、右外连接和全外连接?9外连接与自然连接的区别是什么?二、单项选择题1下面对关系性质的描述中,错误的是A 、表中的行称为一个元组B 、行与列交叉点不允许有多个值C、表中的一列称为一个属性D 、表中任意两行可能相同2“元数据”是指A 、数据结构的描述B 、数据项的描述C、数据的来源D 、系统自身的各种有用信息,包括数据结构的描述3在数据库系统中,空值是A 、 0B、空格C、空字
4、符串D 、不确定4实体完整性是指关系中A 、不允许有空行B 、主码不允许空值C、属性值外码取空值D 、外码允许取空值5已知关系R 与 S 如图 2.25 所示:在关系 S 中,违反参照完整性约束的元组是A 、 (11, 21)B、 (22, NULL)C、 (33, 33)A 、 (44,11)6已知关系R 和 S, R S 等价于A 、 (R-S)-SB、 S-(S-R)C、(S-R)-RD、 S-(R-S)7关系 R 和 S 各有 10 个元组,则关系R S 的元组个数为A、10B、20C、100D、不确定8从关系中选择指定的属性组成新关系的关系运算是A 、选取B、投影C、连接D、笛卡儿乘
5、积2/239有关系:学生(学号,姓名,性别,专业,宿舍编号,宿舍地址),主码是A 、宿合编号B 、学号C、宿舍地址,姓名D 、宿舍编号,学号10有两个关系: 部门 (编号,部门名称, 地址电话 )和职工 (职工号, 姓名,性别,职务 编号) 。职工关系的外码是A 、职工号B、编号C、职工号,编号D 、编号,部门名称11若关系R1 和 R2 的结构相同,各有10 个元组,则R1R2 的元组个数为A 、 10B、小于等于10C、 20D、小于等于2012 设关系 R 和 S 的属性个数分别为2 和 3,则与关系代数表达式R | S 等价的是1 2A、B、C、D、13当关系 R 和 S 自然连接时,
6、能够把 R 和 S 中不满足连接条件的元组保留在结果关系中的运算是A 、左外连接B 、右外连接C、全外连接D、等值连接14设关系 R(A ,B) 和 S(B,C)中分别有 10 个和 15 个元组,属性 B 是 R 的主码则 R|S 中元组数目的范围是A 、 (0, 15)B、 (10, 15)C、 (10,25)D、 (0, 150)l 5设有关系R 和 S 如图 226 所示,则关系的元组数目是A、6B、7C、8D、916设有关系R 和 S,如图 2 27 所示, R 的主码是编号,S 的主码是学号、外码是编号。若有如下4 个元组: I(S 3 李林, C2), (Sl,江荷, C1),
7、(S4,白玉 C4) , (S5,康嘉, NULL) ,能够插入关系 3 的元组是A、I,B、I,C、I,D、I,3/237已知关系R 如图 2 28 所示,可以作为R 主码的属性组是A 、 XYZB、 XYWC、 XZWD、 YZW8关系 R 和 S 分别有 20、15 个元组,则RS、 R-S、R S 的元组数不可能是A 、 29,13,6B、 30,15,5C、 35,20,0D、 28,13,7R-S=R- ( R S)9设关系R 和 S 的属性数目分别是a 和 b、则关系R S 的属性数目是A 、 a 十 bB 、 a bC、 a bD 、 a b三、解答题1设有 4 个关系模式:供
8、应商关系: S(SNO ,SNAME,CITY) ,属性依次是供应商号、供应商名称和所在城市零件关系: P(PNO,PNAME,COLOR),属性依次是是产品号、品名和颜色工程关系: J(JNO,JNAME,CITY),属性依次是是工程号、工程名和所在城市供应关系: SPJ(SNO, PNO, JNO,QTY) ,属性依次是供应商号、产品号、工程号和数量试用关系代数完成下列操作:()J1 工程零件的所有供应商号i(2) 求供应 J1 工程 P1 零件的供应商号;(3) 求供应 J1 工程红色零件的供应商号;(4) 求没有使用天津供应商生产的红色零件的工程号;(5) 求 S1 供应商供应零件的所
9、有工程号。2设有 3 个关系模式:4/23学生 (学号 ,姓名 ,性别 ,专业 )课程 (课程号 ,课程名称 ,学分 )成绩 (学号 ,课程号 ,分数 )试用关系代数表达式完成下列操作:(1) 所有学生成绩获得满分 (100 分 )的课程号、课程名称;(2) 检索至少有一门课程的分数达到95 分以上的学生信息 ,包括学号、姓名和专业(3) 检索没有任何一门课程成绩在80 分以下的学生的信息,包括学号、姓名和专业(4)检索”英语”专业学生所学课程的信息,包括学号、姓名、课程名称和分数;(5)检索“数据库原理“课程分数高于90 分的所有学生的学号、姓名、专业和分数;(6) 检索没有不及格分数的学生
10、的信息,包括学号、姓名和专业;(7) 检索“国际贸易”专业选修“数据库原理”课程的学号和姓名。答案:(1) 所有学生成绩获得满分 (100 分 )的课程号、课程名称;课程号 ,课程名称 (分数 =100(成绩 )| | 课程 )(2) 检索至少有一门课程的分数达到 95 分以上的学生信息 ,包括学号、姓名和专业学号 ,姓名 ,专业 (分数 =95( 成绩 )| | 学生 )(3) 检索没有任何一门课程成绩在 80 分以下的学生的信息,包括学号、姓名和专业学号 ,姓名 ,专业 (学生 )-学号 ,姓名 ,专业 (分数 90( 成绩 )| |学生 )(6) 检索没有不及格分数的学生的信息,包括学号
11、、姓名和专业;学号 ,姓名 ,专业 (学生 )-学号 ,姓名 ,专业 (分数 100000( 员工 | |工作 )5/23(4) 列出所有居住地与工作的公司在同一城市的员工姓名;职工姓名 (员工 .城市 =公司 .城市 (员工 | |工作 | |公司 )(5) 列出不在泰斗公司的所有员工的姓名职工姓名 (员工 )- 职工姓名 (公司名称 =泰斗公司 (员工 |工作 |)习题三一、单项选择题1 SQL 语言是A 、高级语言B、宿主语言C、汇编语言D、非过程化语言2在 SQL 语言查询语句中,SELECT 子句实现关系代数的A 、投影运算B、选择运算C、连接运算D、交运算3在 SQL 语言查询语句
12、中,WHERE 子句实现关系代数的A 、投影运算B、选择运算C、连接运算D、交运算4为在查询结果中去掉重复元组应该使用保留字A 、 UNIQUEB 、UNIONC、 COUNTD 、 DISTINCT5当关系R 和 S 做自然连接时,能够保留R 中不满足连接条件元组的操作是A 、左外连接B、右外连接C、内部连接D、全外连接6 SQL 语言中,更新表结构的的命令是A 、 UPDATE TABLEB、 MODIFY TABLEC、ALTER TABLED 、CHANGE TABLE7下列聚合函数中不忽略空值(NULL) 的是A 、 SUM( 列名 )B、 MAX( 列名 )C、 AVG( 列名 )
13、D、 COUNT(*)8 SQL 语言中,下列涉及空值操作的短语,不正确的是(VFP 全部正确 , SQL SERVER 中C 错)A 、 AGE IS NULLB、 AGE IS NOT NULLC、AGE NULLD 、 NOT (AGE IS NULL)9 SQL 语言中,删除一个表的命令是A 、 CLEAR TABLEC、 DROP TABLEC、 DELETE TABLED、 REMOVE TABLE10设有一个关系: DEPT(DNO ,DNANE) 如果要找出倒数第三个字母为W 并且至少包含 4 个字母的 DNAME ,则查询条件子句应写成 WHERE DNANC LIKE /有
14、疑问A _W_,BW_,C _W_ DW_ _ SELECT * FROM STUDENT WHERE SNAME LIKE _林_%11 已知班级和学生关系如图3.11 所示。执行下列语句,在学生关系中插入新的数据:I INSERT INTO学生 VALUES( 101,”李玲 ”,”女”,”C01”)INSERT INTO学生 VALUES(103, ”田京 ”,”男 ”,”C03”) INSERT INTO学生 VALUES(106, ”康雨 ”,”男 ”,NULL) INSERT INTO学生 VALUES(105, ”何光 ”,”男 ”,”C02”)6/23能正确执行的语句是A 、
15、I,B、,C、 I,D、 I,二、解答题1没有 3 个关系模式:业务员 (业务员编号 ,业务员姓名 ,性别 ,年龄 ,月薪 )订单 (订单号 ,日期 ,客户编号 ,业务员编号 ,金额 )客户 (客户编号 ,客户姓名 ,地址 ,类别 )用 SQL 语句解答下列 (1)-(12) 题。(1) 显示所有 50 岁以上女业务员的姓名和年龄;(2) 检索年龄最大的业务员姓名和年龄;(3) 显示所有业务员的姓名和月薪要求按照月薪降序排列;(4) 检索月薪在2000 元到 3000 元之间的业务员姓名。用BETWEEN 关键词 ;(5) 统计每个客户签定订单的数目和总金额;(6) 检索所有经办客户王明订单的
16、业务员姓名(分别用连接和子查询实现 )(7) 统计每个业务员签定 500 元以上订单的数目;(8) 检索签定 2 个以上订单的业务员姓名;(9) 将所有业务员的月薪增加 10;(10)将业务员关悦的月薪改为3500 元;(11)检索超过平均月薪的业务员姓名和年龄;(12)将签定订单总金额超过2 万元的月薪增加5。答案:(1) 显示所有 50 岁以上女业务员的姓名和年龄;SELECT业务员姓名 , 年龄FROM业务员WHERE年龄 50 AND性别 =女(2) 检索年龄最大的业务员姓名和年龄;SELECT 业务员姓名 , 年龄 FROM 业务员 WHERE 年龄 =(SELECT MAX( 年龄
17、 ) FROM 业务员 )(3) 显示所有业务员的姓名和月薪要求按照月薪降序排列;SELECT业务员姓名 ,月薪FROM业务员ORDER BY 月薪DESC(4) 检索月薪在2000 元到 3000 元之间的业务员姓名。用BETWEEN 关键词 ;SELECT业务员姓名FROM业务员WHERE月薪BETWEEN 2000 AND 3000(5) 统计每个客户签定订单的数目和总金额;SELECT 客户编号 ,COUNT(*) 订单数目 ,SUM( 金额 ) 总金额 FROM 订单 GROUP BY 客户编号(6) 检索所有经办客户王明订单的业务员姓名(分别用连接和子查询实现 )SELECT业务员
18、 .业务员姓名FROM业务员 ,订单 ,客户WHERE 业务员 .业务员编号 =订单 .业务员编号 AND订单 .客户编号 =客户 .客户编号 AND客户 .客户姓名 =王明SELECT业务员 .业务员姓名FROM业务员 inner join订单 inner join 客户 on 业务员 .业7/23务员编号 =订单 .业务员编号 on 订单 .客户编号 =客户 .客户编号 where 客户 .客户姓名 =王明SELECT业务员姓名FROM业务员WHERE业务员 .业务员编号IN(SELECT业务员编号 FROM 订单 WHERE 客户编号 IN(SELECT 客户编号 FROM 客户 WHE
19、RE 客户姓名=王明 )(7) 统计每个业务员签定 500 元以上订单的数目;SELECT 业务员编号 ,COUNT(*) 订单数目 FROM 订单 where 金额 500 GROUP BY 业务员编号(8) 检索签定 2 个以上订单的业务员姓名;SELECT业务员姓名FROM业务员WHERE业务员编号IN(SELECT业务员编号FROM订单GROUP BY业务员编号HAVING COUNT(*)2)(9) 将所有业务员的月薪增加10;UPDATE业务员SET 月薪 =月薪 *1.1(10)将业务员关悦的月薪改为3500 元;UPDATE业务员SET 月薪 =3500 WHERE 业务员姓名
20、 =关悦(11)检索超过平均月薪的业务员姓名和年龄;SELECT业务员姓名 , 年龄FROM业务员WHERE 月薪 (SELECT A VG( 月薪 )FROM业务员)(12)将签定订单总金额超过2 万元的月薪增加5。UPDATE 业务员 SET 月薪 =月薪 *1.05 WHERE 业务员编号 IN(SELECT 业务员编号 FROM 业务员 GROUP BY 业务员编号 HAVING SUM( 金额 ) 20000)2设有 3 个关系模式:学生(学号,姓名,性别,专业,籍贯)课程(课程号,课程名,学时,性质)成绩(学号,课程号,分数)回答下列( 1) -( 10)题。(1)检索所有女同学的
21、姓名。试写出实现该查询的关系代数表达式;(2)检索选修 “数据库” 课程的学生姓名。 要求写出关系代数表达式和实现这个查询的 SQL 语句;(3)检索课程号等于“C101”,且分数90 分以上(含90 分)学生的姓名。要求写出关系代数表达式和实现这个查询的SQL 语句 ;( 4)写出 SQL 语句,检索学习“ Cl01 ”课程中分数最高的学生姓名;( 5)写出 SQL 语句,检索所有未选修“ Cl01 ”课程的学生姓名;(6)写出 SQL 语句,在成绩表中增加“学分”列,并根据学分学时/18 的算法,填上每门课程的学分;(7)写出 SQL 语句,实现关系代数表达式:成绩-分数 =60 (成绩)
22、;( 8)写出 SQL 语句,检索选修 5 门以上课程的学生姓名;( 9)创建一个查询成绩的视图VSK ,其属性有姓名、课程名和分数;( 10)检索学生选课情况,显示姓名、课程名和分数,其中包括没有选课的学生。答案:( 1)检索所有女同学的姓名。试写出实现该查询的关系代数表达式;姓名 (性别 =女 (学生 )(2)检索选修 “数据库” 课程的学生姓名。 要求写出关系代数表达式和实现这个查询的SQL8/23语句;姓名 (课程名 = 数据库 (课程 | |成绩 )| |学生 )SELECT 姓名 FROM课程 ,成绩 ,学生 WHERE 课程 .课程名 =数据库 AND 课程 .课程号=成绩 .课
23、程号 AND 成绩 .学号 =学生 .学号(3)检索课程号等于“C101”,且分数 90 分以上(含90 分)学生的姓名。要求写出关系代数表达式和实现这个查询的SQL 语句 ;姓名 ( 课程号 = C101分数 =90( 成绩 )| |学生 )SELECT 姓名 FROM成绩 ,学生 WHERE成绩 .课程号 =C101 AND 成绩 .分数 =90AND 成绩 .学号 =学生 .学号(4)写出 SQL 语句,检索学习“ Cl01 ”课程中分数最高的学生姓名;SELECT 姓名 FROM学生 WHERE学号 IN (SELECT学号 FROM成绩 WHERE 课程号= C101 AND 分数
24、=(SELECT MAX(分数 ) FROM成绩 WHERE课程号 = C101 )(5)写出 SQL 语句,检索所有未选修“Cl01 ”课程的学生姓名;SELECT 姓名 FROM学生 WHERE学号 NOT IN (SELECT 学号 FROM 成绩 WHERE课程号 = C101 )SELECT 姓名 FROM学生 WHERE学号 IN (SELECT学号 FROM成绩 WHERE NOT课程号 = C101 )(6)写出 SQL 语句,在成绩表中增加“学分”列,并根据学分学时18 的算法,填上每门课程的学分;ALTER TABLE成绩 ADD学分 INTEGERUPDATE 成绩 SE
25、T 学分课程 .学时 /18 FROM 成绩 INNER JOIN 课程 ON 成绩 .课程号= 课程 .课程号(7)写出 SQL 语句,实现关系代数表达式:成绩- 分数 =60 (成绩);SELECT * FROM成绩 WHERE NOT分数 =60(8)写出 SQL 语句,检索选修 5 门以上课程的学生姓名;SELECT 姓名 FROM学生 WHERE学号 IN (SELECT学号 FROM成绩 GOUP BY 学号 HAVING COUNT(*)5)(9)创建一个查询成绩的视图VSK ,其属性有姓名、课程名和分数;CREATE VIEW VSK AS SELECT 学生 .姓名 ,课程
26、.课程名 ,成绩 .分数 FROM 课程 ,成绩 ,学生 WHERE 课程 .课程号 =成绩 .课程号 AND 成绩 .学号 =学生 .学号(10)检索学生选课情况,显示姓名、课程名和分数,其中包括没有选课的学生。SELECT 学生 .姓名 ,课程 .课程名 ,成绩 .分数 FROM学生left outer join 成绩 inner join 课程on 成绩 .学号 =学生 .学号 ON 课程 .课程号 =成绩 .课程号(错误的写法)SELECT 学生 .姓名 ,课程 .课程名 ,成绩 .分数 FROM学生left outer join 成绩 on 成绩 .学号 =学生 .学号 inner
27、join 课程 ON 课程 .课程号 =成绩 .课程号inner 、outer 可省略SELECT student.sname,ame,sc.gradeFROM student left outer join sc onsc.sno=student.sno inner join courseON o=o9/23习题四一、名词解释实体、实体集、属性、属性域、主码、单值属性、多值属性、派生属性、基数二、单项选择题1数据库设计中,概念模型A 、依赖于计算机的硬件B 、依赖于 DBMSC、独立于DBMSD 、独立于计算机的硬件和DBMS2将 E-R 模型转换为关系数据模型属于数据库的A 、概念设计B
28、、物理设计C、逻辑设计D、运行设计3设在某个公司环境中,一个部门有多名职工,一名职工只能属于一个部门,则部门与职工之间的联系是A 、对一B、一对多C、多对多D、不确定4概念结构设计的主要目标是真实地反映A 、企业对信息的需求B、 DBA 的管理信息需求C、数据库系统的维护需求D、应用程序员的编程需求5数据库设计人员和用户之间沟通信息的桥梁是A 、程序流程图B、实体 -联系图C、模块结构图D 、数据结构图6在 E-R 模型转换成关系模型的过程中,下列不正确的做法是A 、每个联系均转换成一个关系B、每个实体集均转换成一个关系C、1: N 联系不必转换成关系D 、 M :N 联系转换成个关系7假设任
29、一个 E-R 模型中, 存在 10 个不同的实体集和 12 个不同的二元联系 (二元联系是指两个实体集之目的联系 ),其中 3 个 1: 1 联系、 4 个 1: N 联系、 5 个 M : N 联系,则这个E-R 模型转换成关系的数目可能是A 、 14B、 15C、19D、 228当同一个实体集内部实体之间存在着一个M :N 的关系时,根据E-R 模型转换成关系模型的规则,转换成关系的数目为A 、1B、2C、3D、4三、简答题1简述数据库设计的基本步骤。2概念设计的主要内容有哪些?3使用派生属性有什么好处?4确定基数的依据是什么?基数的用途是什么?5举例说明一元、二元、三元和N 元联系。6举
30、例说明实体之间的联系方式?7简述 E-R 模型转换为关系模型的规则。四、设计题1假设图书馆业务规则:( 1)读者需要凭借书证借阅图书,借书证有借书证号、姓名、年龄、单位等属性;( 2)每一本图书有书号、书名、作者、出版社等属性;( 3)每一本借出的图书有借书证号、书号、借出日期、应还日期。试:10/23根据上述业务规则设计E-R 模型,要求E-R 图中注明属性和联系的类型。将 E-R 模型转换成关系模型。用 SQL 语句创建表、定义完整性规则。答案:三个关系模式:借书证(借书证号 ,姓名 ,年龄 ,单位),主码为 借书证号 ;图书(书号 ,书名 ,作者 ,出版社),主码为 书号 ;借阅(借书证
31、号,书号 ,借出日期 ,应还日期),主码为 借书证号,书号 , 借书证号 为外码, 书号 为外码。借出日期应还日期nm借书证借阅图书借书证姓名单位年龄书号书名作者出版社号略2假设城市交通管理业务规则:( 1)每个驾车者必须有驾驶执照,驾照有编号、姓名、性别、年龄、身份证号、工作单位、发证日期等属性( 2)每个机动车要有一个牌照,牌照有车号、型号、制造商、生产日期、所有者等属性;( 3)如果司机违反交通规则,将受到惩罚,惩罚记录有日期、车号、驾照编号、违章情节记载、处罚方式等属性。试:根据上述业务规则设计 E-R 模型,要求 E-R 图中注明属性和联系的类型。将 E-R 模型转换成关系模型。用
32、SQL 语句创建表、定义完整性规则。答案:日期违章情节处罚方式记载mn驾照惩罚牌照11/23编号姓名性别年龄车号型号制造商生产日三个关系模式:略3假设某集团公司生产多种产品,公司在全国没有多个代理两,由代理商经销本公司的所有产品。 每个代理商可以经销公司的多种产品, 且在每一个代理商处都能够买到公司的任何一种产品。代理商有编号、代理商名称和地址等属性;产品有产品号、品名、规格、单价等属性。代理商与产品之间存在供货联系,每次供货将记录供贷日期、产品号、数量、单价和经办人。试:根据上述业务规则设计E-R 模型,要求E-R 图中注明属性和联系的类型。将 E-R 模型转换成关系模型。用 SQL 语句创
33、建表、定义完整性规则。答案:略习题五一、单项选择题1如果关系模式R 属于 1NF,且每个非主属性都完全函数依赖于R 的主码,则R 属于A 、 2NFB、 3NFC、 BCNFD、 4NF2有关系 R(P, Q, M ,N),F 是 R 上成立的函数依赖集, F (P Q,Q M)| ,则 R 的候选码是A、PB、QC、PQD、PN3有学生关系R( 学号,姓名,系名称,系地址),每一名学生属于一个系,每一个系有一个地址,则R 属于A、1NFB、2NFC、3 NFD、4 NF4下列陈述中错误的是A 、 2NF 必然属于 1NFB 、3NF 必然属于 2NFC、 3NF 必然属于 BCNFD 、 B
34、CNF 必然属于 3NF5已知关系 R(A , B, C, D), F 是 R 上成立的函数依赖集, F (A ,B C,D) , B D ,则 R 应分解成A 、 R1(A ,B) 和 R2(C, D)B、 R1(A , B ,C) 和 R2(B ,D)C、 R1 (A , C)和 R2(B, D)D、 R1(A , B,D) 和 R2(B ,C)6在订单管理中,客户次购物(一张订单 )可以订购多种商品。设有订单关系R(订单号,日期,客户名称,商品编码,数量),则 R 的主码是A 、订单号B、订单号,客户名称C、商品编码D、订单号,商品编码7第 6 题中的关系R 最高属于12/23选码是A、
35、ADA 、1NFB 、2NFC、3NFD、4NF( 商品编码,数量,日期 多值依赖于 订单号 ,但是 订单号 不是候选码)8设有关系模式R(A , B ,C, D) F 是 R 上的函数依赖集,F D A ,D B ,R 的候B 、BCC、 BDD、 CD9设有关系模式R(A , B, C, D, M, N), R 上的函数依赖集(C, M ) N ,则 R 最高达到 /推出 C ,M 为候选码,推出(为部分函数依赖F M D,CB,BA ,C,M ) D,推出 M DA 、 1NFB、 2NFC、 3NFD、 4NF二、综合设计题解题步骤:1)分析问题中包含的基本概念(即实体)2)假设一个实
36、体对应一个关系模式,确定每个关系模式的主码3)由上述基本关系模式的主码合并成一个超码4)剔除超码中的部分属性,得到给定关系模式的候选码5)由每个关系模式的主码、给定关系模式的候选码识别出属性间的基本函数依赖关系6)识别出部分依赖关系、传递依赖关系1假设某商业集团数据库中有一个关系模式:R(商店编号,商品编号,数量,部门编号,负责人)如果规定:(1) 每个商店的每种商品只在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存数量。试回答下列问题:根据上述规定写出 R 的基本函数依赖;找出 R 的候选码;试问 R 最高达到第几范式?为什么?如果 R 不属于
37、 3NF,请将分解成3NF 模式集。答案: R 中包含三个基本概念:商店,商品,部门R 的基本函数依赖包括: 商店编号,商品编号数量 , 商店编号,商品编号部门编号 , 商店编号,商品编号负责人/ 传递依赖, 部门编号负责人R 的候选码为 商店编号,商品编号R 最高达到 2 范式。因为非主属性都完全函数依赖于候选码,但存在传递函数依赖 商店编号,商品编号负责人可将 R 分解为两个关系模式:商店商品 (商店编号,商品编号,数量,部门编号)部门 (部门编号,负责人)2假设当前使用一个手工操作的学生文档,其文档的格式如图5.13 所示假设规定:(1) 一名学生可以选修多门课程,且一门课程有多人选修;
38、(2) 一门课程仅有一个教师讲授,名教师可以讲多门课程;(3) 学生学习一门课程有一个分数;13/23(4) 每一名教师有一个办公室,一个办公室有多么教师;如果依据上述文档和规定,设计一个关系模式R:R(学号,学生姓名,课程号,课程名,分数,教师姓名,教师办公室)试:找出 R 的候选码;写出关系R 的基本函数依赖集,并画出函数依赖图;判断 R 最高达到第几范式,说明理由;如果有必要,将R 分解成 3NF 模式集。答案: R 中包含三个基本概念:学生,课程,教师(学号,学生姓名,课程号,课程名,分数,教师姓名,教师办公室R 的候选码为 学号,课程号R 的基本函数依赖包括: 学号,课程号学生姓名
39、, / 部分函数依赖 学号,课程号课程名 , / 部分函数依赖 学号,课程号分数 , 学号,课程号教师姓名 , / 部分函数依赖 学号,课程号教师办公室 , /传递依赖 学号学生姓名 , 课程号课程名 , 教师姓名教师办公室 , 课程号教师姓名 , 课程号教师办公室 R 最高达到 1 范式。因为存在非主属性部分函数依赖于主码,如学号学生姓名可将 R 分解为五个关系模式:学生 (学号,学生姓名)课程 (课程号,课程名)教师 (教师姓名,教师办公室)成绩 (学号,课程号,分数)教师课程 (教师姓名,课程号)函数依赖图略3假设公司的订单业务规定:(1) 订单号是惟一的,每一张订单对应一个订单号;(2
40、) 一张订单可以订购多种产品,每一种产品可以在多个订单中出现;(3) 一张订单有一个客户,且一个客户可以有多张订单;(4) 每一个产品编号对应一种产品的品名和单价;(5) 每一个客户有一个确定的名称和电话号码。14/23根据上述规定设计一个关系模式:R(订单号,日期,客户名称,电话号码,产品编码,品名,价格,数量)试:找出 R 的候选码;写出关系R 的基本函数依赖集,并画出函数依赖图;判断 R 最高达到第几范式,说明理由;给出一个可能的3NF 模式集。答案: 订单号, 客户名称, 产品编码 为一个超码, 由于“一张订单有一个客户” ,所以 订单号,产品编码 为一个候选码关系 R 的基本函数依赖
41、集为 (订单号日期) ,(客户名称电话号码) ,(产品编码品名),(产品编码价格) ,(订单号,产品编码数量) ,(订单号客户名称) ,(订单号电话号码) /传递依赖,(订单号,产品编码日期) /部分依赖,(订单号,产品编码客户名称),(订单号,产品编码电话号码) ,(订单号,产品编码品名) ,(订单号,产品编码价格),(订单号,产品编码数量) 函数依赖图略R 最高达到第几范式1NF,因为非主属性日期部分函数依赖于主码 订单号,产品编码一个可能的3NF 模式集为:订单 (订单号,客户名称,产品编码,日期,数量),主码为 订单号,产品编码客户 (客户名称,电话号码),主码为 客户名称 产品 (产
42、品编码,品名,价格),主码为 产品编码 习题六一、简答题1什么是局部变量和全局变量?2局部变量与全局变量的主要区别是什么?3在 SQL 程序设计中,游标的用途是什么?4简述 SQL 程序设计中游标的使用方法。5什么是存储过程?其优点是什么?6什么是数据库触发器?其作用是什么?7 INSERTED 和 DELETED表的用途是什么?8简述 INSERT 触发器的工作原理。9简述 DELETE 触发器的工作原理。10简述 UPDATE 触发器的工作原理。11简述 INSTEAD OF触发器的工作原理。12简述嵌入式SQL 的预处理过程。二、 SQL 程序设计1. 编写一个 SQL 程序,完成将新生信息插入到学生档案表,并将其中一部分信息再插入借书证表、学生贷款、学生医疗表,要求插入之后显示插入的数据。15/232. 在学生档案表上创建一个触发器,实现下列任务:当新生信息插入到学生档案表中时,将其中一部分信息再插入借书证表、学生贷款、 学生医疗表, 要求插入之后显示插入的数据。CREATE TRIGGER TRIGGER_学生档案表 _INSERTON 学生档案表FOR INSERTASBEGINinsertinto 借书证表 (学号 )select 学号 from inse
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年(试题)无人机地面站考试题库及答案详解(易错题)
- 安丘市2025-2026学年七年级下学期语文期中测试试卷
- 安徽省滁州市凤阳县2022-2023学年高三下学期高考第一模拟考试(一模)英语考题及答案
- 四川省绵阳市江油2025-2026学年八年级下学期第三学月四校联考物理试题
- DB21-T 4163-2025 城市隧道工程施工质量验收规程
- 社区消防知识培训课件标语
- 社区消防知识培训课件
- 2024-2025学年河南省周口市沈丘县西师大版六年级下册期中测试数学试卷(含部分答案)
- 废品纸板购销合同范本
- 社区暑期安全知识培训课件
- 无障碍产品设计-洞察阐释
- 和平精英考试题及答案
- 器械gcp培训课件
- 中国工分制管理制度
- 广东省汕头市汕头市聿怀初级中学2025届八年级英语第二学期期中学业水平测试模拟试题含答案
- 口腔门诊运营管理实务
- 2024年湖南省古丈县卫生局公开招聘试题带答案
- 毛巾关键工序管理制度
- 2025至2030年中国电动船行业市场供需态势及发展前景研判报告
- 2025-2030年中国城市轨道交通行业市场现状供需分析及投资评估规划分析研究报告
- 2025安徽龙亢控股集团有限公司招聘招聘21人笔试参考题库附带答案详解析集合
评论
0/150
提交评论