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