




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理48学时作业及答案第一章4. 举出适合用文件系统而不是数据库系统的例子;再举出适合用数据库系统的应用例子。答:适用于文件系统而不是数据库系统的应用例子:数据的备份、软件或应用程序使用过程中的临时数据存储一般使用文件比较合适。早期功能比较简单、比较固定的应用系统也适合用文件系统。适用于数据库系统而非文件系统的应用例子:目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都使用数据库。例如,一个工厂的管理信息系统(其中会包括许多子系统,如库存管理系统、物资采购系统、作业调度系统、设备管理系统、人事管理系统等),学校的学生管理系统,人事管理系统,图书馆的图书管理系统,等等,都适合用数据库系统。11. 试给出一个实际部门的ER图,要求有3个实体型,而且3个实体型之间有多对多联系。3个实体型之间的多对多联系和3个实体型两两之间的三个多对多联系等价吗?为什么?答:学生教室课程上课mnp3个实体型之间的多对多联系和3个实体型两两之间的3个多对多联系不等价,因为它们拥有不同的语义。3个实体型两两之间的3个多对多联系如下图所示。学生教室课程学习选修上课mnnnmm12. 学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带有若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用ER图画出此学校的概念模型。答:指导室-教班-生课程选修教员教研室学生班级学校系校-系系-班系-室n111nnnn111nnm解析:在画ER图时,读者可以按照习题中对问题的描述一步一步画出每一句话中涉及的实体,再根据给出的实际语义,画出实体之间的联系。例如,每个教研室有若干教员,每个班由若干学生,可以画出教研室和教员、班级和学生之间一对多的联系。再如,有的教授和副教授每人各带若干研究生,而一个研究生一般指定一个导师,这是通常的规则,所以可以画出教员和学生之间一对多的联系。22. 什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?答:数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映像作相应的改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。第二章 关系数据库3. 定义并理解下列术语,说明它们之间的联系与区别:(1)域,笛卡儿积,关系,元组,属性答:域:域是一组具有相同数据类型的值的集合。笛卡儿积:给定一组域D1,D2,Dn,这些域中可以有相同的。这组域的笛卡儿积为D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n其中每一个元素(d1,d2,dn)叫做一个n元组(n-tuple)或简称元组(Tuple)。元素中的每一个值di叫做一个分量(Component)。关系:在域D1,D2,Dn上笛卡儿积D1D2Dn的子集称为关系,表示为R(D1,D2,Dn)元组:关系中的每个元素是关系中的元组。属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。(2) 主码,候选码,外部码答:候选码:若关系中的某一属性组的值能惟一的标识一个元组,则称该属性组为候选码(Candidate key)。主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。外部码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码(Foreign key),简称外码。基本关系R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。关系R和S可以是相同的关系。(3)关系模式,关系,关系数据库答:关系模式:关系的描述称为关系模式(Relation Schema)。它可以形式化的表示为R(U,D,dom,F)。其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映像集合,F为属性间数据的依赖关系集合。关系:在域D1,D2,Dn上笛卡儿积D1D2Dn的子集称为关系,表示为R(D1,D2,Dn)。关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的;而关系是动态的、随时间不断变化的,因为关系操作在不断更新着数据库中的数据。关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式。是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。4. 试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?答:关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。(1) 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。(2) 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。(3) 用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定,但前提条件是该外部码属性不是其所在关系的主属性。例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空,其语义是,该学生的专业尚未确定。学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)而在下面的“选修表”中的“课程号”虽然也是一个外部码属性,但它又是“课程”表的主属性,所以不能为空,因为关系模型必须满足实体完整性。课程(课程号,课程名,学分)选修(学号,课程号,成绩)5. 设有一个SPJ数据库,包括S、P、J、SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);试用关系代数完成下列操作:(1) 求供应工程J1的供应商号SNOSNO (JNO=J1(SPJ)(2) 求供应工程J1零件P1的供应商号SNOSNO (JNO=J1 PNOP1(SPJ)(3) 求供应工程J1红色零件的供应商号SNO(SNO,PNO (JNO=J1(SPJ) PNO (color=红(P)(4) 求没有使用天津供应商生产的红色零件的工程号JNOJNO(J) JNO(SNO(CITY天津(S) JNO,SNO,PNO(SPJ) PNO(color 红(P)分析:减法运算中被减的部分是使用了天津供应商生产的红色零件的所有工程号, JNO(J)是全部工程的工程号,两者相减即为所求,包括没有使用任何零件的工程号(5) 求至少用了S1供应商所供应的全部零件的工程号JNOJNO, PNO(SPJ) PNO(SNOS1(SPJ) 解析:除号前面部分是所有用了零件的工程与该工程所用的零件,除号后的部分是S1所供应的全部零件号。对于SPJ表中的某一个JNO,如果该工程使用的所有零件的集合包含了S1所供应的全部零件号,则该JNO符合本题条件,在除法运算的结果集中。6. 试述等值连接与自然连接的区别和联系。答:连接运算中有两种最为重要也最为常用的连接,一种是等值连接(Equijoin),另一种是自然连接(Natural join)。为“=”的连接运算,称为等值连接。它是从关系R与关系S的笛卡儿积中选取A、B属性值相等的那些元组。自然连接是一种特殊的等值连接,他要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。第三章 关系数据库标准语言SQL3. 用SQL语句建立第二章习题5中的4个表。答:CREATE TABLE S(SNO CHAR(3),SNAME CHAR(10),STATUS CHAR(2),CITY CHAR(10);CREATE TABLE P(PNO CHAR(3),PNAME CHAR(10),COLOR CHAR(4),WEIGHT INT);CREATE TABLE J(JNO CHAR(3),JNAME CHAR(10),CITY CHAR(10);CREATE TABLE SPJ(SNO CHAR(3),PNO CHAR(3), JNO CHAR(3),QTY INT);4. 针对上题中建立的4个表试用SQL语言完成第二章习题5中的查询。(1) 求供应工程J1零件的供应商号码SNO;SELECT SNO FROM SPJ WHERE JNO=J1;(2) 求供应工程J1零件P1的供应商号码SNO;SELECT SNO FROM SPJ WHERE JNO=J1 AND PNO=P1;(3) 求供应工程J1零件为红色的供应商号码SNO;SELECT SNO FROM SPJ WHERE JNO=J1 AND PNO IN (SELECT PNO FROM P WHERE COLOR=红)或者SELECT SNO FROM SPJ,P WHERE JNO=J1 AND SPJ.PNO=P.PNO AND COLOR=红;(4) 求没有使用天津供应商生产的红色零件的工程号JNO;多重嵌套查询SELECT JNO FROM J WHERE NOT EXISTS(SELECT * FROM SPJWHERE SPJ.JNO=J.JNO AND SNO IN(SELECT SNO FROM S WHERE CITY=天津)AND PNO IN(SELECT PNO FROM P WHERE COLOR=红)或 子查询用多表连接SELECT JNO FROM J WHERE NOT EXISTS(SELECT * FROM SPJ,S,PWHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND SPJ.PNO=P.PNO AND S.CITY=天津 AND P.COLOR=红)(5) 求至少使用了供应商S1所供应的全部零件的工程号。SELECT DISTINCT JNO FROM SPJ SPJZWHERE NOT EXISTS(SELECT * FROM SPJ SPJX WHERE SNO=S1 AND NOT EXISTS(SELECT * FROM SPJ SPJYWHERE SPJY.PNO=SPJX.PNO AND SPJY.JNO=SPJZ.JNO)5.针对习题3中的4个表试用SQL语言完成如下操作:(1) 找出所有供应商的姓名和所在城市SELECT SNAME,CITY FROM S(2) 找出所有零件的名称、颜色、重量SELECT PNAME,COLOR,WEIGHT FROM P(3) 找出使用供应商S1所供应零件的工程号码SELECT JNO FROM SPJ WHERE SNO=S1(4) 找出工程项目J2使用的各种零件的名称及其数量SELECT P.PNAME,SPJ.QTY FROM P,SPJWHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2(5) 找出上海厂商供应的所有零件号码SELECT DISTINCT PNO FROM SPJWHERE SNO IN(SELECT SNO FROM S WHERE CITY=上海)(6) 找出使用上海产的零件的工程名称SELECT JNAME FROM J,SPJ,SWHERE J.JNO=SPJ.JNO AND SPJ.SNO=S.SNO AND S.CITY=上海(7) 找出没有使用天津产的零件的工程号码SELECT JNO FROM J WHERE NOT EXISTS(SELECT * FROM SPJWHERE SPJ.JNO=J.JNO AND SNO IN(SELECT SNO FROM S WHERE CITY=天津)或SELECT JNO FROM J WHERE NOT EXISTS(SELECT * FROM SPJ,S WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND S.CITY=天津)(8) 把全部红色零件的颜色改为蓝色UPDATE PSET COLOR=蓝WHERE COLOR=红(9) 由S5供给J4的零件P6改为由S3供应,请做必要的修改UPDATE SPJ SET SNO=S3WHERE SNO=S5 AND JNO=J4 AND PNO=P6(10) 从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录DELETE FROM SPJ WHERE SNO=S2DELETE FROM S WHERE SNO=S2注意删除顺序(11) 将(S2,J6,P4,200)插入供应情况关系INSERT INTO SPJVALUES (S2,J6,P4,200)11.请为三建工程项目建立一个供应情况的视图,包括供应商代码SNO,零件代码PNO,供应数量QTY。CREATE VIEW V_SPJ ASSELECT SNO,PNO,QTY FROM SPJWHERE JNO=(SELECT JNO FROM J WHERE JNAME=三建)针对该视图完成下列查询:找出三建工程项目使用的各种零件代码及其数量SELECT PNO,QTY FROM V_SPJ找出供应商S1的供应情况SELECT PNO,QTY FROM V_SPJWHERE SNO=S112.针对习题3建立的表,用SQL语言完成如下操作:把对表S的INSERT权限授予用户张勇,并允许他再将此权限授予其他用户GRANT INSERT ON TABLE S TO 张勇WITH GRANT OPTION把查询SPJ表和修改QTY属性的权限授予用户李天明GRANT SELECT ,UPDATE(QTY) ON TABLE SPJ TO 李天明第四章 关系系统及其查询优化4. 对学生-课程数据库有如下的查询:SELECT CNAMEFROM STUDENT,COURSE,SCWHERE STUDENT.SNO=SC.SNO AND SC.CNO=COURSE.CNO AND STUDENT.SDEPT=IS;此查询要求信息系学生选修了的所有课程名称。试画出用关系代数表示的语法树,并用关系代数表达式优化算法队员示的语法树进行优化处理,画出优化后的标准语法树。答:courseStudent.sno=sc.snoJoin(student.sno=sc.sno)student结果Project(Cname)Select(student.sdept=IS )courseSc Join(SC.Cno=Course.Cno)最初的语法树CnameStudent.sdept=ISSo=oStudent.sno=sc.snocoursestudentsc关系代数语法树CnameSo=oSCStudent.sdept=ISstudent优化后的语法树第五章 关系数据理论1.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 印制电路机加工转正考核试卷及答案
- 抖音信息流营销方案
- 气体分离工培训考核试卷及答案
- 七年级代数方程专项辅导练习题
- 罐头企业安全文化评价与改进分析报告
- 汽车维修业务流程标准化方案
- 香肠淀粉改性技术应用报告
- 会计证书考试题目及答案
- 津南教师考试题目及答案
- 液状化妆品制造工主管竞选考核试卷及答案
- 2025-2026学年广美版(2024)小学美术二年级上册(全册)教学设计(附目录P155)
- 2025贵州毕节市赫章县招聘城市社区工作者8人考试参考题库及答案解析
- 机械设计创新项目毕业报告模板
- 2025年辅警面试考试试题库目(答案+解析)
- 校长考试笔试试题及答案
- 2025年江苏保安员考试题库及答案
- 小学二年级综合实践活动课教学计划
- 中小学校长考试试题及答案
- 采矿技术员考试试题及答案
- 第4课 记录数据讲诀窍(教学设计)2024-2025学年四年级上册人教版信息技术
- 2025年船员服务行业规模分析及投资前景研究报告
评论
0/150
提交评论