数据库一些大题.docx
- 文档编号:30526585
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:15
- 大小:138.73KB
数据库一些大题.docx
《数据库一些大题.docx》由会员分享,可在线阅读,更多相关《数据库一些大题.docx(15页珍藏版)》请在冰豆网上搜索。
数据库一些大题
3.设有下列关系模式:
STUDENT(NO,NAME,SEX,BIRTHDAY,CLASS)
TEACHER(NO,NAME,SEX,BIRTHDAY,PROF,DEPART)
COURSE(CNO,CNAME,TNO)
SCORE(NO,CNO,GRADE)
其中,学生信息表STUDENT由学号(NO)、学生姓名(NAME)、性别(SEX)、出生年月日(BIRTHDAY)、班级(CLASS)组成,记录学生的情况;教师信息表TEACHER由教师号(NO)、教师姓名(NAME)、性别(SEX)、出生年月日(BIRTHDAY)、职称(FROF)、教师所在系(DEPART)组成,记录教师的情况;课程表COURSE由课程号(CNO)、课程名称(CNAME)、任课教师号(TNO)组成,记录所开课程及任课教师情况;成绩表SCORE由学生学号(NO)、课程号(CNO)、成绩(GRADE)组成,记录学生选课情况及相应的成绩。
用SQL语句实现以下操作
1)显示STUDENT表中每个学生的姓名和出生日期。
SELECTNAME,BIRTHDAYFROMSTUDENT;
2)显示STUDENT表中所有姓“王”的学生记录。
SELECT*FROMSTUDENTWHERENAMELIKE‘王%’;
3)显示成绩表中成绩在60分到80分之间的所有记录。
SELECT* FROMSCOREWHEREGRADEBETWEEN60AND80;
或者(SELECT*FROMSCOREWHEREGRADE>60ANDGRADE<80)
4)显示“男”教师及其所上的课程。
(显示该教师的姓名和所上的课程名)
SELECTTEACHER.NAME,COURSE.CNAMEFROMTEACHER,COURSE
WHERE TEACHER.NO=COURSE.TNOANDSEX=‘男’;
5)选出和“李军”同学同性别并同班的学生姓名。
SELECTNAMEFROMSTUDENT
WHERESEX=(SELECTSEXFROMSTUDENTWHERENAME=‘李军’)AND
CLASS=(SELECTCLASSFROMSTUDENTWHERENAME=‘李军’);
6)向STUDENT表中插入一条学生记录。
(学号:
999,姓名:
程功,性别:
男,出生年月日:
1980-01-01,班级:
95035)
INSERTINTOSTYDENTVALUES(‘999’,‘程功’,‘男’,#1980-01-01#,‘95035’);
7)在STUDENT表中将学号为“999”的学生的班号改为“95031”
UPDATESTUDENTSETCLASS=‘95031’WHERENO=‘999’;
8)在STUDENT表中删除学号为“999”的学生记录。
DELETEFROMSTUDENTWHERENO=‘999’;
4.设有下列四个关系模式:
S(SNO,SNAME,CITY)
P(PNO,PNAME,COLOR,WEIGHT)
J(JNO,JNAME,CITY)
SPJ(SNO,PNO,JNO,QTY)
其中,供应商表S由供应商号(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成,记录各个供应商的情况;零件表P由零件号(PNO)、零件名称(PNAME)、零件颜色(COLOR)、零件重量(WEIGHT)组成,记录各种零件的情况;工程项目表J由项目号(JNO)、项目名(JNAME)、项目所在城市(CITY)组成,记录各个工程项目的情况;供应情况表SPJ由供应商号(SNO)、零件号(PNO)、项目号(JNO)、供应数量(QTY)组成,记录各供应商供应各种零件给各工程项目的数量。
用SQL语言完成下列操作:
1出工程项目J2使用的各种零件的名称及其数量
SELECTPNAME,QTYFROMSPJ,PWHERESPJ.PNO=P.PNOANDJNO=‘J2’;
②找出所有零件的名称、颜色、重量
SELECTPNAME,COLOR,WEIGHTFROMP;
③找出上海厂商供应的所有零件号码
SELECTDISTINCTPNO FROMSPJ
WHERESNOIN (SELECTSNO FROMS WHERECITY=’上海’);
④从供应商关系中删除S2(供应商号)的记录,并从供应情况关系中删除相应的记录
DELETEFROMS WHERESNO=‘S2’;
DELETEFROMSPJWHERESNO=‘S2’;
⑤请将(S2,P4,J6,200)插入供应情况关系
INSERTINTOSPJVALUS(‘S2’,‘P4’,‘J6’,200);
5.设有3个关系:
S(S#,SNAME,AGE,SEX)
SC(S#,C#,CNAME)
C(C#,CNAME,TEACHER)
试用关系代数表达式表示下列查询语句:
1)检索LIU老师所授课程的课程号和课程名。
∏C#,CNAME(σTEACHER=‘LIU’(C))
2)检索年龄大于23岁的男学生的学号和姓名。
∏S#,SNAME(σAGE>‘23’∧SEX=‘M’(S))
3)检索学号为S3学生所学课程的课程名与任课教师名。
∏CNAME,TEACHER(σS#=‘S3’(SC∞C))
4)检索至少选修LIU老师所授课程中一门课的女学生姓名。
∏SNAME(σSEX=‘F’∧TEACHER=‘LIU’(S∞SC∞C))
5)检索WANG同学不学的课程的课程名。
∏C#(C)-ΠC#(σSNAME=‘WANG’(S∞SC)
6)检索全部学生都选修的课程的课程号与课程名。
∏C#,CNAME(C∞(πS#,C#(SC)÷πS#(S)))
7)检索选修课程包含LIU老师所授全部课程的学生学号。
∏S#,C#(SC)÷∏C#(σTEACHER=‘LIU’(C))
1.设有下列四个关系模式:
S(SNO,SNAME,CITY)
P(PNO,PNAME,COLOR,WEIGHT)
J(JNO,JNAME,CITY)
SPJ(SNO,PNO,JNO,QTY)
其中,供应商表S由供应商号(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成,记录各个供应商的情况;零件表P由零件号(PNO)、零件名称(PNAME)、零件颜色(COLOR)、零件重量(WEIGHT)组成,记录各种零件的情况;工程项目表J由项目号(JNO)、项目名(JNAME)、项目所在城市(CITY)组成,记录各个工程项目的情况;供应情况表SPJ由供应商号(SNO)、零件号(PNO)、项目号(JNO)、供应数量(QTY)组成,记录各供应商供应各种零件给各工程项目的数量。
分别用关系代数和SQL语言完成下列查询:
1)求供应工程项目号为J1工程零件的供应商号SNO
∏SNO(σJNO=‘J1’(SPJ))
SELECTSNOFROMSPJWHEREJNO=‘J1’;
2)求供应工程项目号为J1工程零件号为P1的供应商号SNO
∏SNO(σJNO=‘J1’∧PNO=‘P1’(SPJ))
SELECTSNOFROMSPJ WHEREJNO=‘J1’ANDPNO=‘P1’;
3)求供应工程项目号为J1工程红色零件的供应商号SNO
∏SNO(σJNO=‘J1’∧COLOR=‘红’(SPJ∞P))
SELECTSNOFROMSPJ,P WHERESPJ.PNO=P.PNOANDP.COLOR=‘红’ANDJNO=‘J1’;
4)求至少使用天津供应商生产的红色零件的工程号JNO
∏JNO(SPJ)-∏JNO(σcity=‘天津’∧COLOR=‘红’(SPJ∞P∞S))
SELECTJNOFROMSPJ,P,S
WHERES.SNO=SPJ.SNOANDSPJ.PNO=P.PNOANDCITY<>‘天津’ANDCOLOR<>‘红’;
5)求至少用了S1供应商所供应的全部零件的工程号JNO(本题不需要用SQL语言完成)
∏JNO,PNO(SPJ)÷∏PNO(σSNO=‘S1’(SPJ))
2.现有如下关系模式:
雇员(员工姓名,居住城市,居住街道)
工作(员工姓名,公司名,工资)
公司(公司名,公司所在城市)
主管(员工姓名,主管姓名)
用关系代数完成下列查询:
1)找出所有在公司名为“firstbank”的公司工作的员工,显示员工姓名。
∏员工姓名(σ公司名=‘firstbank’(工作))
2)显示为“firstbank”公司工作的员工姓名和居住城市。
∏员工姓名,居住城市(σ公司名=‘firstbank’(雇员∞工作))
3)找出所有为“firstbank”公司工作且工资在1000元以上的员工,显示员工姓名和工资。
∏员工姓名,工资(σ公司名=‘firstbank’∧工资>1000(工作))
4)找出每个员工工资都在1000元以上的公司,显示公司名。
∏公司名(工作)-∏公司名(σ工资<1000(工作))
5)找出主管人员Smith领导的员工姓名及员工居住的城市。
∏员工姓名,居住城市(σ主管姓名=‘Smith’(雇员∞主管))
9.设数据库中有3个关系:
职工表EMP(E#,ENAME,AGE,SEX,ECITY),其属性分别表示职工工号、姓名、年龄、性别和籍贯。
工作表WORKS(E#,C#,SALARY),其属性分别表示职工工号、工作的公司编号和工资。
公司表COMP(C#,CNAME,CITY),其属性分别表示公司编号、公司名称和公司所在城市。
试用SQL语言写出下列操作:
1)检索超过50岁的男职工的工号和姓名。
SELECTE#,ENAMEFROMEMPWHEREAGE>50ANDSEX=‘男’;
2)假设每个职工只能在一个公司工作,检索工资超过1000元的男性职工工号和姓名。
SELECTEMP.E#,ENAMEFROMEMP,WORKS
WHEREEMP.E#=WORKS.E#ANDSALARY>1000;
3)假设每个职工可在多个公司工作,检索在编号为C4和C8公司兼职的职工工号和姓名。
SELECTA.E#,A.ENAMEFROMEMPA,WORKSB,WORKSC
WHEREA.E#=B.E#ANDB.E#=C.E#ANDB.C#=‘C4’ANDC.C#=‘C8’;
4)检索在“联华公司”工作、工资超过1000元的男性职工的工号和姓名。
SELECTA.E#,A.ENAMEFROMEMPA,WORKSB,COMPC
WHEREA.E#=B.E#ANDB.C#=C.C#ANDCNAME=‘联华公司’
ANDSALARY>1000ANDSEX=‘M’;
5)假设每个职工可在多个公司工作,检索每个职工的兼职公司数目和工资总数,显示(E#,NUM,SUM_SALARY),分别表示工号、公司数目和工资总数。
SELECTE#,COUNT(C#)ASNUM,SUM(SALARY)ASSUM_SALARYFROMWORKSGROUPBYE#;
6)工号为E6的职工在多个公司工作,试检索至少在E6职工兼职的所以公司工作的职工工号。
SELECTX.E#FROMWORKSXWHERENOTEXISTS
(SELECT*FROMWORKSYWHEREE#=‘E6’ANDNOTEXISTS
(SELECT*FROMWORKSZWHEREZ.E#=X.E#ANDZ.C#=Y.C#));
7)检索联华公司中低于本公司平均工资的职工工号和姓名。
SELECTA.E#,A.ENAMEFROMEMPA,WORKSB,COMPC
WHEREA.E#=B.E#ANDB.C#=C.C#ANDCNAME=’联华公司’ANDSALARY<
(SELECTAVG(SALARY)FROMWORKS,COMPWHEREWORKS.C#=COMP.C#ANDCNAME=‘联华公司’);
8)在每个公司中为50岁以上职工加薪100元(若职工为多个公司工作,可重复加)。
UPDATEWORKSSETSALARY=SALARY+100
WHEREE#IN(SELECTE#FROMEMPWHEREAGE>50);
10)在EMP表和WORKS表中删除年龄大于60岁的职工有关元组。
DELETEFROMWORKSWHEREE#IN(SELECTE#FROMEMPWHEREAGE>60);
DELETEFROMEMPWHEREAGE>60;
5.设有商业销售记账数据库,一个顾客(顾客姓名,单位,电话号码)可以买多种商品,一种商品(商品名称,型号,单价)供应多个顾客。
试画出对应的E-R图并将其转换为关系模式。
答:
E-R图
mn
根据E-R图转换的关系模式为:
顾客(顾客姓名,单位,电话号码)
商品(商品名称,型号,单价)
销售(顾客姓名,商品名称,型号,数量)
6.某商业集团数据库中有3个实体集。
一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,三是有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”关系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店每销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
1)试画出ER图,并在图上注明属性、联系的类型。
2)将ER图转换成关系模式集,并指出每个关系模式主键和外键。
答:
1)E-R图如图所示。
2)这个E-R图可转换4个关系模式:
商店(商店编号,商店名,地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)
商品(商品号,商品名,规格,单价)
销售(商店编号,商店号,月销售量)
7.设某商业集团数据库中有3个实体集。
一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。
公司与仓库间存在“隶属”联系,没个攻击管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库铬镍钢做,仓库聘用职工有聘期和工资。
1)画出ER图,并在图上注明属性、联系的类型。
2)将ER图转换成关系模式集,并指出每个关系迷失的主键和外键。
答:
1)E-R图所示。
2)这个E-R图可转换3个关系模式:
公司(公司编号,公司名,地址)
仓库(仓库编号,仓库名,地址,公司编号)
职工(职工编号,姓名,性别,仓库编号,聘期,工资)
8.设某工商业集团数据库有3个实体集。
一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。
供应商与商品之间存在“供应”关系,每个供应商可供应多种商品,每种商品可向多个供应商订购,每个供应商供应每种商品有个月供应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,没个商店销售每种商品有个月计划数。
1)试画出ER图,并在图上注明属性、联系的类型。
2)将ER图转换成关系模式集,并指出每个关系模式的主键和外键。
答:
1)E-R图所示。
2)这个E-R图可转换5个关系模式:
供应商(供应商编号,供应商名,地址)
商店(商店号,商店名,地址)
商品(商品号,商品名,规格,单价)
供应(供应商编号,商品号,月供应量)
销售(商店号,商品号,月计划数)
9.某医院病房计算机管理中需要如下信息:
科室:
科名,科地址,科电话,医生姓名
病房:
病房号,床位号,所属科室号
医生:
姓名,职称,所属科室名,年龄,工作证号
病人:
病历号,姓名,性别,诊断,主管医生,病房号
其中,一个科室有多个病房,多个医生。
一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
完成入下设计:
1)设计核算计算机管理系统的E-R图;
2)将该E-R图转换为关系模型结构;
3)指出转换结果中每个关系模式的侯选码
2)科室(科名,科地址,科电话)
病房(病房号,床位号,科室号)
医生(工作证号,姓名,职称,科室名,年龄)
病人(病历号,姓名,性别,诊治,主管医生,病房号)
3)每个关系模式的侯选码如下:
科室的侯选码是科名
病房的侯选码是科室名+病房号
医生的侯选码是工作证号
病人的侯选码是病历号
10.一个图书馆借阅管理数据库要求提供下述服务:
1)可随时查询书库中现有书籍品种,数量与存放位置,所有各类书记均可由书号惟一标识。
2)可随时查询书记借还情况,包括借书人单位,姓名,借书证号,借书日期和还书日期。
我们约定:
任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。
1)当需要时,可通过数据库中保存的出版社的电报编号,电话,邮编及地址等信息向有关书籍的出版社增购有关书籍。
我们约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社具有惟一性。
根据以上情况和假设,试作如下设计:
1)构造E-R图;
2)转换为等价的关系模式
答:
1)E-R图
2)关系模式:
借书人(借书证号,姓名单位)
图书(书号,书名.数量.位置.出版社名)
出版社(出版社名,电报,电话.邮编,地址)
借阅(借书证号,书号.借书日期.还书日期)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 一些