《数据库的大题复习.docx》由会员分享,可在线阅读,更多相关《数据库的大题复习.docx(15页珍藏版)》请在三一办公上搜索。
1、例:两个关系? 与S,接R * SC=D求R *CDRS,以及R和S的等值连SABCBDalbl2bl5alb24b26a2b36b37a2b48b38大于连接(CD)等值连接(C=D)AR.BCS.BDAR.BCS.BDa2b36bl5a2b36b26a2b48bl5a2b48b38a2b48b26a2b48b3729例:两个关刹与,求R * S,以及R和S的等值连R.B=S.BRSABCBDalbl2bl5alb24b26a2b36b37a2b48b38等值连接(R.B=S.B)自然连接AR.BCS.BDABCDalbl2bl5albl25alb24b26alb246a2b36b37a2b
2、367a2b36b38a2b368 3lRSR + SABCDCDABalb2c3d5c3d5alb2alb2c4d6c4d6a2b4cld3a3b5c2d833练习学生(学号,姓名,性别,专业)篆学生合唱团(学号,姓名,性别,专业)学生篮球队(学号,姓名,性别,专业)课程(课号,课名,课时,学分)学生选课(学号,课号,分数)1、列出参加了课外社团的学生的情况。学生合唱团U学生篮球队2、列出既参加了合唱团同时又参加了篮球队的学生的情况学生合唱团ri学生篮球队练习3、4、5、查询没有参加学生社团的学生的情况(学生-学生合唱团)-学生篮球队查询学生的姓名和性别n(学生)查询信息系的学备的学号、姓名
3、、专业学号,姓名,专业 (专业=,信息,(学生)练习电影(片名,日期,片长,类型,出品商)片名日期片长类型出品商Star wars1977124ColorFoxMighty ducks1991104ColorDisneyWayne s world199295ColorParamount列出FOX出品的长度不小于100分钟的影片的片名和日期“片名,日期(。片长=100A出品商=,FOX,(电影)电影1 (片名,日期,片长,类型,出品商)片名日期片长类型出品商Star wars1977124ColorFoxMighty ducks1991104ColorDisney199295ColorParam
4、ount电影2 (片名,日期,主演)片名日期主演Star wars1977Carrie FisherStar wars1977Mark HamillStar wars1977Harrison FordMighty ducks1991Emilio EsteyezWaynes world1992Daa CarveyWaynes world1992Mike Meyers列出长度大于100分钟的影片的片名、主演 n片名,主演7片长100 (电影1)(电影2)练习现有如下关系:职工(职工号,姓名,性别,职务,家庭地址,部门编号)部门(部门编号,部门名称,地址,电话)保健(保健卡编号,职工号,检查身体日期
5、,健康状况) 1.用关系代数表达式写出,查找所有在“办公室”工作的 职工号、姓名和家庭地址。 2.用关系代数表达式写出,查找“办公室”的科长姓名和 爹E家庭地址。BY子句(续)GROUP BY子句(续)ORDER BY子句(续)例24查询选修了3号课程的学生的学号及其成绩,查询结 爹果按分数降序排列。SELECT Sno,Grade FROM SC WHERE Cno= 3 ORDER BY Grade DESC例25查询全体学生情况,查询结果按所在系的系号升序 云排列,同一系中的学生按年龄降序排列。SELECT * FROM Student ORDER BY Sdept Sage DESC;
6、An Introduction to Database System例31求各个课程号及相应的选课人数。多SELECT Cno,COUNT(Sno)FROM SCGROUP BY Cno ;查询结果:CnoCOUNT(Sno)12 3452234443348An Introduction to Database SystemGROUP BY子句(续)例32查询选修了 3门以上课程的学生学号。S亨SELECT SnoJIFROM SC GROUP BY SnoHAVING COUNT(*) 3An Introduction to Database System作业二.程序设计:写SQL语句一.教
7、材 P1121、2、3、4、7、8二.学生-课程数据库中有四个关系SnoSnameSsexSageSdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19ISStudent:SnoCnoGrade9500119295001285950013889500229095002380SCCourse:CnoCnameCpqoCcredit1数据库542数学223信息系统144操作系统635数据结构746数据处理22说明:Student关系中各属性名分别代表:学 号,姓名,性别,年龄和所在系。Course关系中各属性名分别代表:课程 号,课程名,开课学期和学
8、分。SC中各属性名分别代表学号,课程号 和成绩。7Pascal语言641. 查询选修了课程名为“操作系统”的学生姓名及成绩。2. 建立一视图,视图中含有学号,姓名,成绩。3. 查询选修了 4号课程的学生姓名,课程名及成绩。4. 建立一视图myview,通过其可查询学生的姓名,年龄,选修的课程名及成绩。5. 对Course关系按照Cno升序建立一索引myindex。6. 查找姓李的学生的学号、姓名、性别及所在系别。7. 按学分升序排序,对course表输出课程的基本情况。三.职工数据库中有3个关系如下:职工(职工号,姓名,性别,职务,家庭地址,部门编号)部门(部门编号,部门名称,地址,电话)保健
9、(保健卡编号,职工号,检查身体日期,健康状况)1. 查找姓王的职工的职工号、姓名、性别、职务及所在部门名称。2. 针对职工关系的“姓名”按升序建一索引XM_index。3. 查询女职工的职工总数。4. 查找所有在“办公室”工作的职工的职工号、姓名和家庭地址。5. 查找在“资料室”工作的科长姓名和家庭地址。6. 删除“保健”关系表中职工号不确定的记录。7. 用SQL语句建立健康状况为“差”的职工视图MyView,要求据此视图可检索出职工的编 号、姓名。8. 用SQL语句写出,针对保健关系按检查身体日期建一升序索引Myindexo作业一.程序设计:写关系代数表达式一. 教材 P72-2.17二.
10、学生-课程数据库中有四个关系Student:SnoSnameSsexSageSdept95001李勇男20CS95002刘晨女19ISSCSnoCnoGrade9500119295001285950013889500229095002380说明:Student关系中各属性名分别代表:学95003王敏女18MA95004张立男19ISCourse:CnoCnameCpqoCcredit1数据库542数学225信息系统164操作系统635数据结构746数据处理227Pascal语言641. 查询所在系为IS的学生学号和姓名2. 查询选修课程号为1或3的学生学号3. 查询女生的姓名和所在系4. 查询
11、选修数据库课程的学生姓名5. 查询刘晨选修的课程名6. 查询第四学期开课的课程名字7. 查询18岁以上的学生姓名和所在系8. 查询学分是4学分的课程名字三.职工数据库中有3个关系如下:职工(职工号,姓名,性别,职务,家庭地址,部门编号)部门(部门编号,部门名称,地址,电话)保健(保健卡编号,职工号,检查身体日期,健康状况)1.查找所有在“办公室”工作的职工号、姓名和家庭地址。2, 查找“办公室”的科长姓名和家庭地址3. 查找所有女科长的姓名和家庭地址4. 查询在办公室工作的职工的保健卡号及健康状况。5. 查询身体状况为差的职工号,职工姓名和所在部门。6. 查询在2009-01-01到2009-
12、12-31之间,没体检的职工号。下表给出的关系R为第几范式?为什么?将 其分解成高一级范式工程号材料号数量开工日期完工日期价格P1I1498059902250P1I2698059902300P1I31598059902180P2I1698119912250P2I41898119912350下面给出的关系SC是第几范式?试将其分解成 3NF。学号课程号课程名教师名教师地址成绩80152C1OS王平D17080153C2DB高升D28580154C1OS王平D18680154C3AI杨杨D37280155C4CL高升D292设有医生实体和患者实体,医生实体有“医生号”、“姓名”、 “职称”、“所在
13、科”四个关键属性,患者实体有“病例号”、“床 位号”、“姓名”三个关键属性,并且每位医生可以给多个病人 看病,每个病人可以看多位医生。请画出该子系统的实体一联系图。假设某公司的业务规则如下:公司下设几个部门,如技术部、财务部、市场部等。D每个部门承担多个工程项目,每个工程项目属于一个部门。每个部门有多名职工,每一名职工只能属于一个部门。一个部门可能参与多个工程项目,且每个工程项目有多名职工参与施工。 根据职工在工程项目中完成的情况发放酬金。工程项目有工程号、工程名两个属性;部门有部门号、部门名称两个属 性;职工有职工号、姓名、性别属性;1.根据上述规则设计 &R模型。.车间(车间号,车间名,电
14、话)职工(工号,姓名,性别,年龄车间号,聘期)An Introduction to Database System维修人员(工号,姓名,职称,技术等级)设备(设备号,设备名称,制造厂商,使用日期)维护(工号,设备号,检修时间,检修原因)An Introduction to Database SystemAn Introduction to Database System根据上图,四个实体分别转换成四个关系模式学生(学号姓名,性别年龄)课程(课程号,课程名)教师(教师号姓名,性别职称)系(系名,电话)联系分别转换后共有六个关系模式教师(教师号姓名性别职称系名) 学生(学号姓名性别年龄系名) 讲授
15、(教师号,课程号)选修(学号,课程号,成绩)课程(课程号课程名)An Introduction to Database System系(系名,电话)职工(职工号姓名,性别,部门号)部门(部门号部门名称)工程项目(工程号工程名,部门号)参与(职工号,工程号,酬金)An Introduction to Database System练习:作业四.综合应用题要求:画出E-R图,并将E-R图转换为关系模式,主键和外键必须标 出1. 假设要建立一个企业数据库,该企业有多个下属单位每一单位有多个职工,一个职工仅隶属于一个单 位,且一个职工仅在一个工程中工作,但一个工程中有很多职工参加工 作,有多个供应商为
16、各个工程供应不同设备。单位的属性有:单位名、电话。职工的属性有:职工号、姓名、性别。设备的属性有:设备号、设备名、产地。供应商的属性有:姓名、电话。工程的属性有:工程名、地点。2. 设计项目数据库,包含实体集如下:仓库:包含属性仓库号,所在地区和电话配件:包含属性配件号,配件名,规格,价格和说明供货商:包含属性供货商号,供货商名,地址,电话和帐号.项目:包含属性项目号和预算员工:包含属性员工号,员工名和年龄实体间联系如下: 一种配件可以存放在多个仓库内,一个仓库内可以存储多种配件 一个仓库可以有多个雇员,一个雇员只能工作在一个仓库. 一个员工可以领导多个员工. 一个供货商可以提供多种配件给不同
17、的项目,一个项目可以使用 不同供货商的配件.一种配件可被不同的供货商提供.3. 图书管理系统:每本图书可被不同的读者借阅,当图书被借出时,图书状态为“借出”, 当书被归还时,状态为“在库”;每个读者每次可以借多本书,而且 读者可以在不同的时间借同一本书;当读者借一本书时,借出时间将 被记录下来,当书被归还时,归还时间也被记录下来。读者的属性包含读者ID,姓名,电话和所在单位;图书的属性包含 图书ID,书名,作者,出版时间和状态。4. 一个简单的银行业务数据库,对客户的储蓄和贷款行为进行记录。 假设客户以客户ID作为标识,还具有属性:客户名和客户地址;贷 款以贷款号标识,还有一个属性为贷款额;每
18、个储蓄账户由账号标 识,另有一个属性为余额。假设一个客户可能贷多笔款,一笔贷款可能与多个客户有关;一个 客户可以有多个储蓄账户,但是一个储蓄帐户只能归一个客户所有。5. 大学学分管理系统。学生可根据自己实际情况进行选课。每个学 生可以同时选几门课,每门课可同时被几位老师讲授,每位老师可教 多门课程,每名学生有一名导师,每位老师可以同时做多名学生的导 师。学生的属性包括:学号,姓名,年龄和电话;课程的属性包括课程号,课程名,学分和开课学期;老师有属性:老师号,老师名,职称和电话;系有属性:系号,系名和系主任。6. 设计图书销售数据库。该系统中有实体集“出版社”,其属性分别为出版社名、地址;实体集
19、“图书”,其属性分别为书号、书名、作者、单价;实体集“书店”,其属性分别为书店编号、书店名、经理、地址。出版社与图书间的出版联系应反映印数和出版时间,书店与图书间的 销售联系应反映销售量。7. 假设某公司的业务规则如下:公司下设几个部门,如技术部、财务部、市场部等。每个部门承担多个工程项目,每个工程项目属于一个部门。每个部门有多名职工,每一名职工只能属于一个部门。一个部门可能参与多个工程项目,且每个工程项目有多名职工参与施工。 根据职工在工程项目中完成的情况发放酬金。工程项目有工程号、工程名两个属性;部门有部门号、部门名称两个属性; 职工有职工号、姓名、性别属性;8. 教材 P179-5.13 9.教材 P180-5.14 10.教材 P180-5.15解决死锁的方法:1.预防死锁:(1)一次封锁法(2)顺序封锁法2.死锁的诊断与解除(1)死锁的诊断:超时法:事务等待图法