数据库原理练习题.docx
- 文档编号:8842842
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:8
- 大小:63.52KB
数据库原理练习题.docx
《数据库原理练习题.docx》由会员分享,可在线阅读,更多相关《数据库原理练习题.docx(8页珍藏版)》请在冰点文库上搜索。
数据库原理练习题
一、教务治理数据库的三个大体表
S(SNO,SNAME,SEX,AGE,SDEPT)
SC(SNO,CNO,GRADE)
C(CNO,CNAME,CPNO,CCREDIT)
试用SQL查询语句表达以下操作:
(1)统计有学生选修的课程门数。
(2)求选修4号课程的学生的平均年龄。
(3)检索姓名以WANG打头的所有学生的姓名和年龄。
(4)在SC中检索成绩为空值的学生学号和课程号。
(5)求年龄大于女同窗平均年龄的男学生姓名和年龄。
解:
(1)SELECTCOUNT(DISTINCTCNO)
FROMSC;
(2)SELECTAVG(AGE)
FROMS,SC
WHERES.SNO=SC.SNOANDCNO=’4’
(3)SELECTSNAME,AGE
FROMS
WHERESNAMELIKE‘WANG%’
(4)SELECTSNO,CNO
FROMSC
WHEREGRADEISNULL;
(5)SELECTSNAME,AGE
FROMS
WHERESEX=’M’ANDAGE>(SELECTAVG(AGE)
FROMS
WHERESEX=’F’);
试用SQL更新语句表达如下更新操作:
(1)往大体表S中插入一个学生元组(‘202012143’,‘张晶’,21)。
(2)在大体表SC中删除尚无成绩的选课元组。
(3)把张成民同窗在SC中的选课记录全数删去。
(4)把选修高等数学课程中不合格的成绩全数改成空值。
(5)把低于总平均成绩的女同窗成绩提高5%。
解:
(1)INSERTINTOS(SNO,SNAME,AGE)
VALUES(‘202012143’,’张晶’,21);
(2)DELETEFROMSC
WHEREGRADEISNULL;
(3)DELETE
FROMSC
WHERESNOIN(SELECTSNO
FROMS
WHERESNAME=’张成民’)
(4)UPDATESC
SETGRADE=NULL
WHEREGRADE<60ANDCNOIN(SELECTCNO
FROMC
WHERECNAME=’高等数学’);
(5)UPDATESC
WHERESNOIN(SELECTSNO
FROMS
WHERESEX=’F’)
ANDGRADE<(SELECTAVG(GRADE)
FROMSC);
二、假设某“仓库治理”关系模型有以下五个关系模式:
零件PART(PNO,PNAME,COLOR,WEIGHT)
项目PROJECT(JNO,JNAME,JDATE)
供给商SUPPLIER(SNO,SNAME,SADDR)
供给P_P(JNO,PNO,TOTAL)
采购P_S(PNO,SNO,QUANTITY)
试用SQL语句概念上述五个大体表,并说明主键和外键。
解:
CREATETABLEPART
(PNOCHAR(6),
PNAMECHAR(10)NOTNULL,
COLORCHAR(6),
WEIGHTFLOAT(6),
PRIMARYKEY(PNO));
CREATETABLEPROJECT
(JNOCHAR(6),
JNAMECHAR(12)NOTNULL,
DATEDATE,
PRIMARYKEY(JNO));
CREATETABLESUPPLIER
(SNOCHAR(8),
SNAMECHAR(12)NOTNULL,
SADDRVARCHAR(30),
PRIMARYKEY(SNO));
CREATETABLEP_P
(JNOCHAR(6),
PNOCHAR(6),
TOTALINTEGER,
PRIMARYKEY(JNO,PNO);
FOREIGNKEY(JNO)REFERENCESPROJECT(JNO),
FOREIGNKEY(PNO)REFERENCESPART(PNO));
CREATETABLEP_S
(PNOCHAR(6),
SNOCHAR(8),
QUANTITYINTEGER,
PRIMARYKEY(PNO,SNO)
FOREIGNKEY(PNO)REFERENCESPART(PNO),
FOREIGNKEY(SNO)REFERENCESSUPPLIER(SNO));
三、设有两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)
部门(部门号,名称,领导名,地址,号)
请用SQL的GRANT和REVOKE语句完成以下授权概念:
⑴用户王明对两个表有SELECT权限;
⑵用户李勇对两个表有INSERT和DELETE权限;
⑶每一个职工只对自己的记录有SELECT权限;
解:
⑴GRANTSELECT
ONTABLE职工,部门
TO王明
⑵GRANTINSERT,DELETE
ONTABLE职工,部门
TO李勇
⑶GRANTSELECTON职工
WHENUSER()=NAME
TOALL
四、设某商业集团数据库中有三个实体集。
一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每一个商店可销售多种商品,每种商品也可放在多个商店销售,每一个商店销售每一种商品,有月销售量;商店与职工间存在着“聘用”联系,每一个商店有许多职工,每一个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
试画出ER图,并在图上注明属性、联系的类型。
再转换成关系模式集,并指出每一个关系模式的主键和外键。
解:
ER图如以下图所示。
所转换成的关系:
商品(商品号,商品名,规格,单价)
商店(商店编号,商店名,地址)
销售(商店编号,商品号,月销售量)
职工(职工编号,姓名,性别,业绩,聘期,月薪,商店编号)
五、设某商业集团数据库中有三个实体集。
一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。
公司与仓库间存在“隶属”联系,每一个公司管辖假设干仓库,每一个仓库只能属于一个公司管辖;
仓库与职工间存在“聘用”联系,每一个仓库可聘用多个职工,每一个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。
试画出ER图,并在图上注明属性、联系的类型。
再转换成关系模式集,并指出每一个关系模式的主键和外键。
解:
ER图及属性、联系图如下:
将ER图转换成为关系模式集为:
公司(公司编号,公司名,地址)
仓库(仓库编号,仓库名,地址,公司编号)
职工(职工编号,姓名,性别,仓库编号,聘期,工资)
六、设某商业集团数据库中有三个实体集。
一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供给商”实体集,属性有供给商编号、供给商名、地址等。
供给商与商品间存在“供给”联系,每一个供给商可供给多种商品,每种商品可向多个供给商订购,供给商供给每种商品有月供给量;商店与商品间存在“销售”联系,每一个商店可销售多种商品,每种商品可在多个商店销售,商店销售商品有月打算数。
试画出ER图,并在图上注明属性、联系的类型。
再转换成关系模式集,并指出每一个关系模式的主键和外键。
解:
ER图及属性、联系图为:
那个ER图转换的关系模式如下:
商品(商品号,商品名,规格,单价)
供给商(供给商编号,供给商名,地址)
商店(商店号,商店名,地址)
供给(商品号,供给商编号,月供给量)
销售(商品号,商店号,月打算数)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 练习题