数据库与图案件开发基础习题课.ppt
1,P101-4 数据独立性包括哪两个方面,含义分别是什么?,数据独立性是指应用程序与数据库的数据结构之 间相互独立它可以分为物理数据独立性和逻辑数据独立性,第六章 数据库概述,2,第六章 数据库概述,物理数据独立性是指数据的物理结构(或内模式)的改变不影响数据库的逻辑结构,因而应用程序 不变。数据逻辑独立性是指数据库总体逻辑结构(概念 模式)改变时,不需修改应用程序。数据独立性,使用户摆脱了繁琐的物理存储细节,减少了应用程序维护的开销。,P97 P96,3,P101-9 试述数据库系统的三级模式结构,这种结构的优点是什么?,数据库系统的三级模式结构是指数据库系统式由外模式、模式和内模式三级构成。(P95)模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图;外模式是数据库用户看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示;内模式是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。(P95-96)优点:较高的数据独立性(逻辑、物理数据独立性)P96 方便数据库的设计和实现安全性好,4,第七章 关系数据库基本原理,P133-3 关系模型的完整性规则有哪几类?,实体完整性规则:P103参照完整性规则:P103用户定义的完整性:P104,5,第七章 关系数据库基本原理,P133-6 关系代数的基本运算有哪些?,关系代数的五种基本运算:选择、投影、笛卡尔积、并、差,注意:区别关系代数的常用运算和基本运算,6,第七章 关系数据库基本原理,P133-7 S(SNO,SNAME,CITY)P(PNO,PNAME,COLOR,WEIGHT)J(JNO,JNAME,CITY)SPJ(SNO,PNO,JNO,QTY)用关系代数表达式完成下列操作:,(1)求供应工程J1零件的供应商号SNO;,SNO(JNO=J1(SPJ),7,第七章 关系数据库基本原理,(2)求供应工程J1零件P1的供应商号SNO;(3)求供应工程J1红色零件的供应商号SNO;,SNO(JNO=J1 PNO=P1(SPJ),SNO(JNO=J1 COLOR=红(SPJ P),8,第七章 关系数据库基本原理,P133-9 用SQL语言建立四个表,S(SNO,SNAME,CITY)CREATE TABLE S(SNO CHAR(2),SNAME VARCHAR(20)NOT NULL,CITY VARCHAR(10)NOT NULL,PRIMARY KEY(SNO);,9,第七章 关系数据库基本原理,SPJ(SNO,PNO,JNO,QTY)CREATE TABLE SPJ(SNO CHAR(2),PNO CHAR(2),JNO CHAR(2),QTY INT NOT NULL,PRIMARY KEY(SNO,PNO,JNO),FOREIGN KEY(SNO)REFERENCES S(SNO),FOREIGN KEY(PNO)REFERENCES P(PNO),FOREIGN KEY(JNO)REFERENCES J);,10,第七章 关系数据库基本原理,P133-10 用SQL语句完成下列操作:,(1)求供应工程J1零件的供应商号SNO;,SELECT DISTINCT SNO FROM SPJWHERE JNO=J1;,(2)求供应工程J1零件P1的供应商号SNO;(3)求供应工程J1红色零件的供应商号SNO;,SELECT SNO FROM SPJWHERE JNO=J1 AND PNO=P1;,SELECT DISTINCT SNO FROM SPJWHERE JNO=J1 AND PNO IN(SELECT PNO FROM P WHERE COLOR=红);,11,第七章 关系数据库基本原理,P133-10 用SQL语句完成下列操作:,(4)求没有使用天津供应商生产的红色零件的工程号 JNO;,SELECT JNO FROM JWHERE JNO NOT IN();,SELECT JNO FROM S,P,SPJ WHERE S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO AND CITY=天津 AND COLOR=红,12,第七章 关系数据库基本原理,P133-10 用SQL语句完成下列操作:,(5)求至少用了S1供应商所提供的全部零件的工程号 JNO;,SELECT DISTINCT JNO FROM SPJ AS XWHERE NOT EXISTS(SELECT*FROM SPJ AS Y WHERE Y.SNO=S1 AND NOT EXISTS(SELECT*FROM SPJ Z WHERE Z.JNO=X.JNO AND Z.PNO=Y.PNO);,13,第七章 关系数据库基本原理,P133-11 用SQL语句完成下列操作:,(1)统计每种零件的供应总量;,SELECT PNO,SUM(QTY)FROM SPJGROUP BY PNO;,(2)求零件供应总量在1000个以上的供应商名字;,SELECT SNAME FROM S WHERE SNO IN(SELECT SNO FROM SPJ GROUP BY SNO HAVING SUM(QTY)1000);,14,第七章 关系数据库基本原理,P133-11 用SQL语句完成下列操作:,INSERT INTO S VALUES(S6,华天,深圳);,(3)在S表中插入一条供应商信息:(S6,华天,深圳);(4)把全部红色零件的颜色改为粉红色;(5)将S1供应给J1的零件P1改为由S2供给;,UPDATE P SET COLOR=粉红WHERE COLOR=红;,UPDATE SPJ SET SNO=S2WHERE SNO=S1 AND JNO=J1 AND PNO=P1;,15,第七章 关系数据库基本原理,P133-11 用SQL语句完成下列操作:,(6)删除全部蓝色零件及相应的SPJ记录。,DELETE FROM SPJ,PWHERE COLOR=蓝;,DELETE FROM SPJ,P WHERE COLOR=蓝 AND PNO=P3 AND PNO=P5;,16,第七章 关系数据库基本原理,SPJ(SNO,PNO,JNO,QTY)CREATE TABLE SPJ(SNO CHAR(2),PNO CHAR(2),JNO CHAR(2),QTY INT NOT NULL,PRIMARY KEY(SNO,PNO,JNO),FOREIGN KEY(SNO)REFERENCES S(SNO),FOREIGN KEY(PNO)REFERENCES P(PNO),FOREIGN KEY(JNO)REFERENCES J);,17,第七章 关系数据库基本原理,P133-11 用SQL语句完成下列操作:,(6)删除全部蓝色零件及相应的SPJ记录。,DELETE FROM SPJ WHERE PNO IN(SELECT PNO FROM P WHERE COLOR=蓝);DELETE FROM P WHERE COLOR=蓝;,18,第七章 关系数据库基本原理,补充作业1:设有关系模式R(SNO,CNO,GRADE,TNAME,TADDR),其属性分别表示学生学号、课程号、成绩、任课教师名、教师地址。规定:每个学生一门课只有一个成绩;每门课只有一个教师任教;每个教师只有一个地址,所有教师不同名。(1)试写出关系模式R基本的函数依赖和候选键。(2)试把R分解成2NF模式集,并说明理由。(3)试把R分解成3NF模式集,并说明理由。,19,第七章 关系数据库基本原理,R(SNO,CNO,GRADE,TNAME,TADDR)每个学生一门课只有一个成绩;每门课只有一个教师任教;每个教师只有一个地址,所有教师不同名。(1)试写出关系模式R基本的函数依赖和候选键,KEY=SNO,CNO,20,第七章 关系数据库基本原理,(2)试把R分解成2NF模式集,并说明理由;,=R1(SNO,CNO,GRADE),R2(CNO,TNAME,TADDR),F1=SNO,CNO GRADE,KEY=(SNO,CNO),F2=CNOTNAME,TNAMETADDR,KEY=(CNO),中R1、R2的所有属性都是原子的,且没有非主属性对候选键的部分函数依赖,达到2NF;,21,第七章 关系数据库基本原理,(3)试把R分解成3NF模式集,并说明理由;,=R1(SNO,CNO,GRADE),R21(CNO,TNAME),R22(TNAME,TADDR),F1=SNO,CNOGRADE,KEY=(SNO,CNO),F21=CNOTNAME,KEY=(CNO),中R1、R21、R22的所有属性都是原子的,且没有非主属性对候选键的部分和传递函数依赖,达到3NF;,F22=TNAMETADDR,KEY=(TNAME),22,第七章 关系数据库基本原理,补充作业2:若设计如下关系模式:借阅(图书编号,书名,作者,出版社,借书证号,读者姓名,借书日期)请问:(1)该关系存在哪些问题?(2)写出该关系模式的主键。(3)该关系模式最高满足第几范式?并说明理由。,23,第七章 关系数据库基本原理,(1)该关系存在数据冗余和操作异常(插入异常、修改异常、删除异常)。,24,(3)该关系模式最高满足1NF。因为所有属性都是不能分解的,达到1NF。且图书编号(书名,作者,出版社),存在非主属性书名、作者、出版社对主键(图书编号,借书证号)的局部函数依赖,不能达到2NF。所以最高满足1NF。,第七章 关系数据库基本原理,25,第八章 数据库设计,补充作业3:百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,每个职工只能服务于一家商店。该系统的信息需求包括:商店信息:商店编号、店名、地址、经理;商品信息:商品编号、商品名、单价、产地;职工信息:职工编号、职工名、性别、工资;职工参加某商店工作的开始时间;商店销售商品的月销售量。1为该百货公司设计ER模式;2将该E-R模型转换为关系模式,并指出每个关系模式的 主、外键;,26,第八章 数据库设计,1为该百货公司设计ER模式:,27,第八章 数据库设计,2将该E-R模型转换为关系模式,并指出每个关系模式的主、外键;,