DBS课后综合作业
三级模式的理解
题目
谈谈你对数据库系统的三级模式结构的理解。
要求
参考其他书籍
包含自己的观点
不少于500字,截至9月23日
Email或单页纸提交,写清姓名和学号
在邮件主题中包含“作业一”及姓名、学号等内容,严格如“作业一 某某某 12345678”的格式
关系代数操作
设有下列四个关系模式:
供应商表(供应商号,供应商名,供应商所在城市) S(SNO,SNAME,CITY)
零件表(零件号,零件名称,零件颜色,零件重量) P(PNO,PNAME,COLOR,WEIGHT)
项目表(项目号,项目名,项目所在城市) J(JNO,JNAME,CITY)
情况表(供应商号,零件号,项目号,供应数量) SPJ(SNO,PNO,JNO,QTY)
试用关系代数语言完成以下操作:
求供应项目J1零件的供应商号SNO
?SNO(?JNO=’J1’(SPJ))
求供应项目J1零件P1的供应商号SNO
?SNO(?JNO=’J1’∧PNO=’P1’(SPJ))
求供应项目J1红色零件的供应商号SNO
?SNO(?COLOR=’红色’(P)*??JNO=’J1’(SPJ))
求没有使用天津供应商生产的红色零件的项目号JNO
?PNO(P)-??PNO(?CITY=’天津’(S)*?SPJ)
求至少使用了S1供应商所供应的全部零件的项目号JNO
?PNO,JNO(SPJ)÷?PNO(?SNO=’S1’(SPJ))
要求
Email或单页纸提交,写清姓名和学号
在邮件主题中包含“作业二”及姓名、学号等内容,严格如“作业二 某某某 12345678”的格式
SQL对用户和权限的操作
要求
每小题首先要写出对应的SQL语句,然后再指出该语句可由哪个(或哪些)用户或角色来操作
如果通过Email提交,必须在邮件主题(Subject)中包含“数据库 作业三”及姓名、学号等内容,如“数据库 作业三 张三 00123456”字样,否则我Outlook的邮件自动分拣功能将有可能将你的作业邮件误删
如果通过纸面提交,也请注明姓名和学号
截至11月10日
根据以上要求完成下列各小题
在数据库系统中建立数据库用户zhang,并设置密码为YourPassword
SQL:CREATE USER zhang IDENTIFIED BY YourPassword
操作者:DBA
将用户zhang的密码更改为MyPassword
SQL:ALTER USER zhang IDENTIFIED BY MyPassword
操作者:DBA,zhang
使包括zhang在内的所有用户拥有登录数据库系统的权限
SQL:GRANT CONNECT TO PUBLIC
操作者:DBA
定义拥有建表和查询权限的角色part1
SQL:GRANT CREATE TABLE, SELECT TO part1
操作者:DBA
将角色part1授予zhang,并允许zhang将该角色传递给其他用户
SQL:GRANT part1 TO zhang WITH GRANT OPTION
操作者:DBA
使zhang拥有修改表Student中Grade属性的权限
SQL:GRANT UPDATE(Grade) ON TABLE student TO zhang
操作者:DBA, 表的创建者
收回zhang操作表Student的所有权限
SQL:REVOKE ALL ON TABLE Student FROM zhang
操作者:DBA, 表的创建者
收回zhang的建表权限
SQL:REVOKE CREATE TABLE FROM zhang
操作者:DBA
删除用户zhang
SQL:DROP USER zhang
操作者:DBA
关系的模式分解
已知
有关系模式UN(Sno,Cno,Dn,Dm,G)
其中Sno为学生编号
Cno为课程编号
Dn为学生所在系的名称
Dm为系主任姓名
G为学生选修对应课程的成绩
求解
该关系模式中的关系键、候选键和主键
分析该关系模式中的所有函数依赖关系
利用规范化理论对该关系模式进行规范化,写出过程
要求
可通过片页纸或Email提交,需注明“数据库 作业四”及姓名、学号等内容
截至11月18日
答案
该关系模式中的关系键、候选键和主键
该关系的关系键为(Sno,Cno),只有一个关系键,所以候选键也为(Sno,Cno),主键也为(Sno,Cno)。
分析该关系模式中的所有函数依赖关系
Sno→Dn, Dn→Dm, (Sno,Cno)→G
利用规范化理论对该关系模式进行规范化,写出过程
由于(Sno,Cno)是键,所以有(Sno,Cno) p→Dn
消除部分依赖,将关系UN分解为两个关系:
UN1(Sno,Cno,G)和UN2(Sno,Dn,Dm)
由Sno→Dn, Dn→Dm,可以得出Sno t→Dm
消除传递依赖,将关系UN2分解为:
UN3(Sno,Dn)和UN4(Dn,Dm)
分解后最终得到三个关系模式:
UN1(Sno,Cno,G),UN3(Sno,Dn)和UN4(Dn,Dm)
这三个关系均不存在异常函数依赖,起码达到3NF,分解结束。
数据库设计步骤
已知
设有某商业单位需要建立商务数据库用以处理销售记帐,它记录的数据包括:顾客姓名、所在单位及单位电话;商品名称、型号及单价;某顾客购买某商品的数量及日期。假定无同名顾客,无同型号的商品,电话公用,顾客可在不同日期购买同一商品。
求解
画出该单位的商务E-R模型,并优化。
将E-R模型转换成关系模型并规范化到3NF。
要求
可通过片页纸或Email提交,需注明“数据库 作业五”及姓名、学号等内容
截至11月18日
答案
画出该单位的商务E-R模型,并优化。
根据已知条件,可以初步画出如下的E-R图:
由于单位的电话是公用的,一个电话可能被同一单位的顾客使用,所以将上面E-R图中的属性单位看成一个实体,优化为以下的E-R图:
将E-R模型转换成关系模型并规范化到3NF。
根据以上的ER图,得到的关系模式为(下划线的为关系的键):
单位(名称,电话)
顾客(姓名,……)
购买(顾客姓名,商品名称,日期,数量)
商品(型号,名称,单价)
所在(姓名,单位名称)
以上关系均不存在异常的函数依赖,自然达到3NF。