孟彩霞班数据库db习题答案1-6章_第1页
孟彩霞班数据库db习题答案1-6章_第2页
孟彩霞班数据库db习题答案1-6章_第3页
孟彩霞班数据库db习题答案1-6章_第4页
孟彩霞班数据库db习题答案1-6章_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库原理与应用数据库原理与应用习题 第一章第六章第一章第一章 数据库系统概述数据库系统概述基本概念基本概念:1.数据模型数据模型:数据结构、数据操作、完整性约束数据结构、数据操作、完整性约束2.完整性约束完整性约束:实体、参照、用户定义实体、参照、用户定义3.实体、属性、键实体、属性、键4.三级模式结构:外模式、模式、内模式三级模式结构:外模式、模式、内模式第一章第一章 数据库系统概述数据库系统概述4 使用数据库系统有什么有点?使用数据库系统有什么有点?P4 数据结构化数据结构化 数据的共享性高、冗余度低、易扩充数据的共享性高、冗余度低、易扩充 数据独立性高数据独立性高 DBMS对数据进行统

2、一的管理和控制对数据进行统一的管理和控制6 数据库管理系统的主要功能有哪些?数据库管理系统的主要功能有哪些?P6 数据定义功能数据定义功能 数据操纵功能数据操纵功能 数据库的事务管理和运行管理数据库的事务管理和运行管理 数据库的建立和维护功能数据库的建立和维护功能 其他功能其他功能第一章第一章 数据库系统概述数据库系统概述9 简述数据库系统的三级模式结构,这种结构的优点是简述数据库系统的三级模式结构,这种结构的优点是什么?什么?P7-9 模式(逻辑模式):模式结构的中间层,是数据库中全模式(逻辑模式):模式结构的中间层,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数体数据的逻辑结

3、构和特征的描述,是所有用户的公共数据视图。据视图。 外模式外模式(用户模式):是数据库用户能够看见和使用的(用户模式):是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。据视图,是与某一应用有关的数据的逻辑表示。 内模式(存储模式):是数据物理结构和存储方式的描内模式(存储模式):是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。述,是数据在数据库内部的表示方式。 优点:三级模式是对数据的三个抽象级别,它把数据的优点:三级模式是对数据的三个抽象级别,它把数据的具体组织

4、留给具体组织留给DBMS管理,使用户能逻辑地、抽象地处管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与理数据,而不必关心数据在计算机中的具体表示方式与存储方式。存储方式。第一章第一章 数据库系统概述数据库系统概述10 什么是数据库的逻辑独立性、物理独立性?为什么是数据库的逻辑独立性、物理独立性?为什么数据库系统具有数据与程序的独立性什么数据库系统具有数据与程序的独立性?P9逻辑独立性:当模式改变时,由逻辑独立性:当模式改变时,由DBA对各个外模式对各个外模式/模式作相应改变,从而保持外模式不变。因此依据外模式作相应改变,从而保持外模式不变。因此依据外模式所编写的应

5、用程序也可以不必改变。模式所编写的应用程序也可以不必改变。物理独立性:当数据库的存储结构改变时,由数据库物理独立性:当数据库的存储结构改变时,由数据库管理员对模式管理员对模式/内模式映像作相应改变,可以使模式保内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性。序的物理独立性。数据库之所以能够具有数据与程序的独立性,是由两数据库之所以能够具有数据与程序的独立性,是由两级映射所提供的逻辑独立性和物理独立性所保证的。级映射所提供的逻辑独立性和物理独立性所保证的。第一章第一章 数据库系统概述数据库系统概述11

6、什么是数据模型?其作用和三要素是什么?什么是数据模型?其作用和三要素是什么?P11-12 数据模型是对现实世界数据特征的抽象。数据模型是对现实世界数据特征的抽象。 用来描述数据、组织数据和对数据进行操作的。用来描述数据、组织数据和对数据进行操作的。 三要素:三要素: 数据结构、数据操作、数据的完整性约束条件数据结构、数据操作、数据的完整性约束条件第一章第一章 数据库系数据库系统概述统概述15第一章第一章 数据库系统概述数据库系统概述16第一章第一章 数据库系统概述数据库系统概述17基本概念基本概念:1.关系数据库系统关系数据库系统2.关系模型中常用的操作关系模型中常用的操作3.域、笛卡儿积、关

7、系、主键、外键、主属性等域、笛卡儿积、关系、主键、外键、主属性等4.关系的完整性:关系的完整性: 实体完整性实体完整性 参照完整性参照完整性 用户定义完整性用户定义完整性5.关系运算的定义关系运算的定义第二章第二章 关系数据库关系数据库关系代数运算关系代数运算二元二元二元二元按列按列辅助专门的关系运算辅助专门的关系运算按行按行按行运算按行运算说明说明不等于不等于小于等于小于等于大于等于大于等于等于等于小于小于或或与与除除 连接连接投影投影 广义笛卡尔积广义笛卡尔积交交差差大于大于比较运比较运算符算符集合运集合运算符算符并并非非 逻辑运逻辑运算符算符选择选择 专门的专门的关系运关系运算符算符含义

8、含义运算符运算符第二章第二章 关系数据库关系数据库2 解释概念解释概念 关系:关系:P25定义定义2.2 关系模式:关系模式:P27 关系数据库:关系数据库:P27 主键:主键: 候选键:候选键: 外键:外键: P25 主属性主属性:第二章第二章 关系数据库关系数据库3 关系的性质关系的性质 P26 任意两个元组不能完全相同任意两个元组不能完全相同 关系中元组的次序是不重要的,次序可以任意关系中元组的次序是不重要的,次序可以任意交换交换 关系种属性的次序是不重要的,次序可以任意关系种属性的次序是不重要的,次序可以任意交换交换 同一列中的分量必须来自同一个域,是同一类同一列中的分量必须来自同一个

9、域,是同一类型的数据型的数据 属性必须有不同的名称,不同的属性可以出自属性必须有不同的名称,不同的属性可以出自相同的域相同的域 每一分量必须取原子量每一分量必须取原子量第二章第二章 关系数据库关系数据库6 关系数据语言的特点和分类关系数据语言的特点和分类 P28 特点:具有完备的表达能力,是非过程化的集合特点:具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。操作语言,功能强,能够嵌入高级语言中使用。 分类:关系代数语言、关系演算语言(元组关系分类:关系代数语言、关系演算语言(元组关系演算语言、域关系演算语言)、具有关系代数和演算语言、域关系演算语言)、具有关系代数

10、和关系演算双重特点的语言关系演算双重特点的语言第二章第二章 关系数据库关系数据库7 关系模型的完整性规则?在参照完整性中,关系模型的完整性规则?在参照完整性中,为什么外键属性的值也可以为空,什么情况为什么外键属性的值也可以为空,什么情况下才可以为空?下才可以为空?P29 实体完整性规则:关系中的元组在主属性上不能实体完整性规则:关系中的元组在主属性上不能有空值;有空值; 参照完整性规则:外参照完整性规则:外键键得知不允许参照不存在的得知不允许参照不存在的相应表的主键的值;相应表的主键的值; 用户定义的完整性规则:用户根据具体应用的语用户定义的完整性规则:用户根据具体应用的语义定义的完整性规则。

11、义定义的完整性规则。 当外键非本表的主键当外键非本表的主键(属性)(属性)时可以取空值。时可以取空值。第二章第二章 关系数据库关系数据库 11在下列表中完成相应的操作 S (s#,sname,sex,age) C (c#,cname,teacher) SC (s#,c#,grade)第二章第二章 关系数据库关系数据库(1) 检索检索LIU老师所授课程的课程号和课程名老师所授课程的课程号和课程名: c c# #,cnamecname( (teacherteacher=LIU=LIU(C)(C) (2) 检索年龄大于检索年龄大于22岁的男同学的学号和姓名岁的男同学的学号和姓名: s s# #,sn

12、amesname( (sexsex=男男 age22 age22(S)(S)(3) 检索学号为检索学号为S3的学生所学课程的课程号与任课老的学生所学课程的课程号与任课老师姓名:师姓名: c c# #,teacherteacher( (s s#=S3#=S3 (SC) C)(SC) C)第二章第二章 关系数据库关系数据库(4) 检索检索WANG同学不学的课程的课程号同学不学的课程的课程号: c c# # (C) - -c#c#( (snamesname=WANG=WANG(SC S)(SC S)(5) 检索至少选修检索至少选修LIU老师所授课程中一门课程的女学生老师所授课程中一门课程的女学生的姓

13、名:的姓名:snamesname( (teacherteacher=LIU=LIU(C) SC (C) SC s#,snames#,sname(sexsex=女女(S)(S)第二章第二章 关系数据库关系数据库(6) 检索全部学生都选修的课程的课程号与课程名:检索全部学生都选修的课程的课程号与课程名: c#, cname,s#(SC C) s#(S)(7) 检索选修课程包含检索选修课程包含LIU老师所授全部课程的学生的老师所授全部课程的学生的学号:学号: s#, c#(SC) c#(teacher=LIU(C)第三章第三章 关系数据库标准语言关系数据库标准语言SQL1 SQL具有哪些特点?具有哪

14、些特点?P50 综合统一综合统一 高度非过程化高度非过程化 面向集合的操作方式面向集合的操作方式 以同一种语法结构提供多种使用方式以同一种语法结构提供多种使用方式 语言简洁,易学易用语言简洁,易学易用8 什么是基本表、视图,两者有什么区别?什么是基本表、视图,两者有什么区别? 基本表基本表:本身独立存在的表,一个关系对应一个基本表本身独立存在的表,一个关系对应一个基本表; 视图:从一个或多个基本表或视图导出的表,是关系数视图:从一个或多个基本表或视图导出的表,是关系数据库系统为用户提供从不同角度观察和使用数据库中数据库系统为用户提供从不同角度观察和使用数据库中数据的一种机制。据的一种机制。 视

15、图是虚表,在数据库中只存放视图的定义,而不存放视图是虚表,在数据库中只存放视图的定义,而不存放视图所对应的数据,这些数据仍存放在原来的基本表中。视图所对应的数据,这些数据仍存放在原来的基本表中。第三章第三章 关系数据库标准语言关系数据库标准语言SQL10 是否所有视图都可以更新?为什么?是否所有视图都可以更新?为什么? 并不是所有视图都可以更新,因为有些视图的更并不是所有视图都可以更新,因为有些视图的更新操作不能唯一地、有意义地转换为对相应基本新操作不能唯一地、有意义地转换为对相应基本表的更新。表的更新。第三章第三章 关系数据库标准语言关系数据库标准语言SQL3建立建立chap2习题习题10的

16、各表,包括主键和外键的各表,包括主键和外键CREATE TABLE S( sno char(6) primary key, sname char(20), status int, city char(20);第三章第三章 关系数据库标准语言关系数据库标准语言SQLCREATE TABLE P( pno char(6) primary key, pname char(20), color char(10), weight real);CREATE TABLE J( jno char(6) primary key, jname char(40), city char(20);第三章第三章 关系数据

17、库标准语言关系数据库标准语言SQLCREATE TABLE SPJ( sno char(6) foreign key reference S(sno), pno char(6) foreign key reference P(pno), jno char(6) foreign key reference J(jno), qty int, primary key (sno, pno,jno)第三章第三章 关系数据库标准语言关系数据库标准语言SQL(1)求供应工程求供应工程J1零件的供应商号码零件的供应商号码SNO: select sno from SPJ where jno=J1;(2)求供应工

18、程求供应工程J1零件零件P1的供应商号码的供应商号码SNO: select sno from SPJ where jno=J1 and pno=P1;第三章第三章 关系数据库标准语言关系数据库标准语言SQL(3)求供应工程求供应工程J1零件为零件为红色红色的供应商号码的供应商号码SNO: select sno from SPJ where jno=J1 and pno in (select pno from P where color=红红); 或或: select sno from SPJ,P where SPJ.pno=P.pno and SPJ.jno=J1 and P.color=红红

19、;第三章第三章 关系数据库标准语言关系数据库标准语言SQL(4)求没有使用求没有使用天津天津供应商生产的供应商生产的红色红色零件的工零件的工程号程号JNO: 方法一方法一(不不相关子查询相关子查询): select jno from J where jno not in (select jno from SPJ,S,P where SPJ.sno=S.sno and SPJ.pno=P.pno and city=天津天津 and color=红红);第三章第三章 关系数据库标准语言关系数据库标准语言SQL(4)求没有使用天津供应商生产的红色零件的工求没有使用天津供应商生产的红色零件的工程号程号

20、JNO: 方法二方法二(相关子查询相关子查询): select jno from J where not exists (select * from SPJ,S,P where SPJ.jno=J.jno and SPJ.sno=S.sno and SPJ.pno=P.pno and city=天津天津 and color=红红);第三章第三章 关系数据库标准语言关系数据库标准语言SQL(5)求至少使用了供应商求至少使用了供应商S1所供应的全部零件的所供应的全部零件的工程号工程号JNO: select distinct jno from SPJ A where not exists (sele

21、ct * from SPJ B where sno=S1 and not exists (select * from SPJ C where C.pno=B.pno and C.jno=A.jno);第三章第三章 关系数据库标准语言关系数据库标准语言SQL5 建立建立market 库中的库中的3个表个表CREATE TABLE customers( customerid char(6) primary key, cname char(20), city char(10);第三章第三章 关系数据库标准语言关系数据库标准语言SQLCREATE TABLE goods( goodid char(6)

22、 primary key, gname char(20), price real, provider char(20), stocks int, status int);第三章第三章 关系数据库标准语言关系数据库标准语言SQLCREATE TABLE orders( orderid char(6) primary key, goodid char(6) foreign key reference goods(goodid), customerid char(6) foreign key reference customers(customerid), quantity int, ordersu

23、m real, date datetime);第三章第三章 关系数据库标准语言关系数据库标准语言SQL6针对针对market数据库完成下列操作数据库完成下列操作(1) 查找所有上海客户的信息查找所有上海客户的信息 Select * from customers where city=上海上海;(2) 查找所有商品的名称、库存量、价格及折价查找所有商品的名称、库存量、价格及折价25%后的价格,并使用别名后的价格,并使用别名discount标识折扣标识折扣价。结果按价格由低到高排序价。结果按价格由低到高排序 Select gname,stocks,price,price*0.75 Discount

24、 from goods order by price第三章第三章 关系数据库标准语言关系数据库标准语言SQL(3) 查找商品名中包含查找商品名中包含computer的商品编号、的商品编号、名称及价格名称及价格 Select goodid,gname,price from goods where gname like %computer%;(4) 查找库存量大于查找库存量大于100小于小于500的商品名称、库的商品名称、库存量和单价存量和单价 Select stocks,gname,price from goods where stocks between 100 and 500;第三章第三章

25、关系数据库标准语言关系数据库标准语言SQL(5) 查找查找2007.7.1至至2007.12.31期间,订货金额大期间,订货金额大于于30000的所有订单的客户姓名、商品名称、单的所有订单的客户姓名、商品名称、单价、订货数量和订货金额价、订货数量和订货金额 Select cname,gname,price,quantity,ordersum from customers,goods,orders where customers. customeid=orders. customeid and goods. goodid=orders. goodid and orderdate between2

26、007-7-1and2007-12-31 and ordersum30000;第三章第三章 关系数据库标准语言关系数据库标准语言SQL(6) 查找订单编号、商品编号、和客户编号,查找订单编号、商品编号、和客户编号,要求按日期对订单进行分组,并只显示订货要求按日期对订单进行分组,并只显示订货数量超过数量超过200的订单信息的订单信息 Select customeid, goodid, orderid from orders where quantity200 ORDER BY Orderdate;第三章第三章 关系数据库标准语言关系数据库标准语言SQL(7) 查找所有北京客户的订单信息,要求用不

27、查找所有北京客户的订单信息,要求用不相关查询相关查询 Select * from orders where customeid in (Select customeid from customers where city=北京北京 )第三章第三章 关系数据库标准语言关系数据库标准语言SQL(8) 查找不是天津客户的订单信息查找不是天津客户的订单信息 Select * from orders where customeid not in (Select customeid from customers where city=天津天津 )第三章第三章 关系数据库标准语言关系数据库标准语言SQL(9

28、) 查找所有西安客户的相关信息以及他们的查找所有西安客户的相关信息以及他们的订单情况订单情况Select customers.customeid,cname,city, orderid, goodid,quantity,ordersum,date from customers LEFT OUTER JOIN orders on customers.customeid= orders.customeid where city=西安西安第三章第三章 关系数据库标准语言关系数据库标准语言SQL(10) 将所有的库存量大于将所有的库存量大于500的商品价格下调的商品价格下调15% Upade good

29、s Set price=price*0.85 where stocks500(11) 将库存量为将库存量为0的所有商品记录删除的所有商品记录删除 Delete from goods where stocks=0(12) 将新数据插入到商品表中将新数据插入到商品表中 Insert into goods values(T10056,计算机计算机,5300, 清华同方清华同方, 20,0)第三章第三章 关系数据库标准语言关系数据库标准语言SQL11 在在market库上完成下列操作库上完成下列操作(1)建立北京客户订单视图建立北京客户订单视图CREATE VIEW Bj_orders(orderid

30、,gname,quantity,customerid, cname) AS select orderid,gname,quantity, orders.customerid,cname from orders,customers,goods where customers. customeid=orders.customerid and goods. goodid=orders.goodid and city=北京北京第三章第三章 关系数据库标准语言关系数据库标准语言SQL(2) 针对针对(1)中的视图查询客户张三的所有订单中的视图查询客户张三的所有订单信息信息 Select * from B

31、j_orders where Cname=张三张三第三章第三章 关系数据库标准语言关系数据库标准语言SQL12 在在market数据库上完成下列操作数据库上完成下列操作(1) 允许用户李明对允许用户李明对orders表进行插入、删除操表进行插入、删除操作作GRANT insert,delete on orders to 李明李明(2) 将查询将查询goods表和修改单价的权限授予用户李四表和修改单价的权限授予用户李四GRANT update(price),select on goods to 李四李四(3) 将查询将查询goods表的权限授予用户王二,并允许表的权限授予用户王二,并允许他将此权

32、限授予他人他将此权限授予他人GRANT select on goods to 王二王二 with grant option第四章第四章 存储过程和触发器存储过程和触发器1 什么是存储过程?为什么要使用存储过程?什么是存储过程?为什么要使用存储过程?P89 存储过程是指经过预先编译的存储过程是指经过预先编译的SQL语句的集合,语句的集合,可以以一种可执行的形式永久地存储在数据库中。可以以一种可执行的形式永久地存储在数据库中。 运行速度快运行速度快 模块化编程模块化编程 减少网络通信量减少网络通信量 保证系统的安全性保证系统的安全性第四章第四章 存储过程和触发器存储过程和触发器2 简述触发器的概念

33、和作用。简述触发器的概念和作用。P95 触发器是在满足某个特定条件时自动触发执行的触发器是在满足某个特定条件时自动触发执行的专用存储过程专用存储过程 用于保证表中的数据遵循数据库设计者确定的规用于保证表中的数据遵循数据库设计者确定的规则和约束则和约束第四章第四章 存储过程和触发器存储过程和触发器5 在在market数据库上完成下列操作数据库上完成下列操作(1) 编写存储过程编写存储过程shanghai,查看上海客户的,查看上海客户的信息信息 Create procedure shanghai As select * from customers where city=上海上海第四章第四章 存储

34、过程和触发器存储过程和触发器(2) 编写编写存储过程存储过程goods,查看指定商品的信,查看指定商品的信息,商品编号作为输入参数息,商品编号作为输入参数 Create procedure Goods GoodID char(20) As select * from goods where GoodID = GoodID 第四章第四章 存储过程和触发器存储过程和触发器(3) 编写存储过程编写存储过程goodssum,查看指定客户,查看指定客户的所有订单的订货总金额数,客户编号作为的所有订单的订货总金额数,客户编号作为输入参数,订货总金额数作为输出参数。输入参数,订货总金额数作为输出参数。 Cr

35、eate procedure goodsSum cnum char(6), snum real output As select snum =sum(ordersum) from orders where customerid= cnum 第四章第四章 存储过程和触发器存储过程和触发器(4) 编写存储过程编写存储过程insertgoods,向,向goods表中表中插入一条记录。插入一条记录。 Create procedure insertGoods Goodnum char(6), Goodname char(20), Gprice real, Gprovider char(20), Gsto

36、cks int, Gstate int As insert into goods values(Goodnum, Goodname, Gprice, Gprovider, Gstocks, Gstate )第四章第四章 存储过程和触发器存储过程和触发器(5) 在在customers表上建立删除触发器,实现表上建立删除触发器,实现customers表和表和orders表的级联删除表的级联删除 Create trigger C_delete on customers after delete As delete from orders where customerid in (select cus

37、tomerid from deleted)第四章第四章 存储过程和触发器存储过程和触发器(6) 在在orders表上建立插入触发器,当向表中表上建立插入触发器,当向表中添加一条订货记录时,若订单中的商品状态为添加一条订货记录时,若订单中的商品状态为整理(整理(status=1),则不能插入该条记录。),则不能插入该条记录。 Create trigger Goods_insert on orders after insert As if (select status from goods,inserted where goods. goodid=inserted. goodsid)=1 begi

38、n print 不能插入不能插入 Rollback transaction end第四章第四章 存储过程和触发器存储过程和触发器(7) 在在orders表上建立插入触发器,当添加订表上建立插入触发器,当添加订单时,减少单时,减少goods表中相应商品的库存量表中相应商品的库存量 Create trigger Orders_insert on orders after insert As update goods set stocks=stocks - (select quantity from inserted) where goodid in (select goodid from inse

39、rted)第四章第四章 存储过程和触发器存储过程和触发器(8) 在在orders表上建立触发器,不允许对订单表上建立触发器,不允许对订单日期进行修改。日期进行修改。 Create trigger Goods_update on orders after update As if update(Orderdate) begin print 不能更新日期不能更新日期 Rollback transaction end第四章第四章 存储过程和触发器存储过程和触发器(9) 若在若在orders表中添加一条订单记录时,则该表中添加一条订单记录时,则该订单中的商品必须在订单中的商品必须在goods表中存在,

40、否则不允表中存在,否则不允许添加。许添加。 Create trigger Orders_insert on orders after insert As if( select count(*) from goods, inserted where goods.goodid=inserted.goodid)=0 begin print 该商品不存在该商品不存在 Rollback transaction end 第五章第五章 关系数据库规范化理论关系数据库规范化理论1.名词解释名词解释 P104 函数依赖、平凡函数依赖、非平凡函函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依赖、传

41、数依赖、部分函数依赖、完全函数依赖、传递函数依赖递函数依赖 P105 候选键、主键、外键、全键、候选键、主键、外键、全键、1NF、2NF P107 3NF、BCNF P111 4NF P110 多值依赖多值依赖 (了解了解)第五章第五章 关系数据库规范化理论关系数据库规范化理论4 R(商店编号,商品编号,数量,部门编号,负责人商店编号,商品编号,数量,部门编号,负责人)规定:每个商店的每种商品只在一个部门销售;规定:每个商店的每种商品只在一个部门销售; 每个商店的每个部门只有一个负责人;每个商店的每个部门只有一个负责人; 每个商店的每种商品只有一个库存数量。每个商店的每种商品只有一个库存数量。

42、(1)写出关系)写出关系R的基本函数依赖:的基本函数依赖: (商店编号,商品编号)(商店编号,商品编号) 库存数量库存数量 (商店编号,商品编号)(商店编号,商品编号) 部门编号部门编号 (商店编号,(商店编号,部门编号部门编号) 负责人负责人fff第五章第五章 关系数据库规范化理论关系数据库规范化理论(2) 关系模式关系模式R达到了第几范式?为什么?达到了第几范式?为什么? 因为关系因为关系R的键是(商店编号,商品编号)的键是(商店编号,商品编号) 而所有非主属性均对键是完全函数依赖。但而所有非主属性均对键是完全函数依赖。但存在传递函数依赖:存在传递函数依赖: (商店编号(商店编号,商品编号

43、)商品编号) (商店编号(商店编号,部门编号)部门编号) (商店编号(商店编号,部门编号)部门编号) 负责人负责人 (商店编号(商店编号,商品编号)商品编号) 负责人负责人2RNFt第五章第五章 关系数据库规范化理论关系数据库规范化理论(3) 如果如果R不属于不属于3NF,将,将R分解成分解成3NF模式集模式集 R1(商店编号,商品编号,部门编号,数量)(商店编号,商品编号,部门编号,数量) R2(商店编号,部门编号,负责人)(商店编号,部门编号,负责人)第五章第五章 关系数据库规范化理论关系数据库规范化理论5. 给定关系给定关系SC为第几范式?是否存在插入、为第几范式?是否存在插入、删除异常

44、?若存在,说明发生原因。将他分删除异常?若存在,说明发生原因。将他分解为高一级范式后能否解决操作异常问题?解为高一级范式后能否解决操作异常问题? 插入异常:某个教师如未代课,则不能插入插入异常:某个教师如未代课,则不能插入该教师的信息。该教师的信息。 删除异常:删除教授某一门课的所有教师的删除异常:删除教授某一门课的所有教师的信息会导致该课程信息的丢失。信息会导致该课程信息的丢失。第五章第五章 关系数据库规范化理论关系数据库规范化理论 因为存在部分与传递函数依赖因为存在部分与传递函数依赖 关系关系SC键(键(SNO,CNO) 函数依赖:函数依赖: (SNO,CNO)(SNO,CNO)Grade

45、Grade,InameIname CNO CNO CtitleCtitle Iname Iname IlocaIloca 分解为高一级范式:分解为高一级范式:SC1SC1(SNOSNO,CNOCNO,GradeGrade,InameIname,IlocalIlocal)SC2SC2(CNOCNO,CtitleCtitle) 由于仍存在传递函数依赖由于仍存在传递函数依赖InameIname IlocaIloca ,所以,所以不能解决异常。不能解决异常。第五章第五章 关系数据库规范化理论关系数据库规范化理论11. 建立订货系统的数据库关系模式建立订货系统的数据库关系模式顾客顾客订制订制订单订单生产

46、生产货物货物包含包含订货细则订货细则生产厂商生产厂商说明说明订货日期订货日期订货数量订货数量未发货量未发货量实际存货量实际存货量1n1n11nm第五章第五章 关系数据库规范化理论关系数据库规范化理论顾客信息顾客信息(顾客号顾客号,地址地址,赊购限额赊购限额,余额余额,折扣折扣)订单信息订单信息(订单号订单号,顾客号顾客号,收货地址收货地址,订货日期订货日期)订单细则订单细则(订单号订单号,细则编号细则编号,货物号货物号,订货数量订货数量,未发未发货量货量)货物信息货物信息(货物号货物号,制造厂商制造厂商,最低存货量最低存货量,货物描述货物描述)制造厂商信息制造厂商信息(厂商编号厂商编号,名称)

47、名称)货物存货信息货物存货信息(货物号,厂商编号货物号,厂商编号,实际存货量实际存货量)第六章第六章 数据库系统设计数据库系统设计2. 简述数据库设计过程中各个阶段的设计任务。简述数据库设计过程中各个阶段的设计任务。 需求分析需求分析 概念结构设计概念结构设计 逻辑结构设计逻辑结构设计 物理结构设计物理结构设计 数据库实施数据库实施 数据库运行和维护数据库运行和维护 各阶段设计任务各阶段设计任务P128第六章第六章 数据库系统设计数据库系统设计4. 数据字典的内容和作用是什么?数据字典的内容和作用是什么? 定义:数据字典是各类数据描述的集合,是定义:数据字典是各类数据描述的集合,是关于数据库中数据的描述。关于数据库中数据的描述。 内容:对数据流图中涉及的各类元素进行的内容:对数据流图中涉及的各类元素进行的规范描述;包括数据项、数据结构、数据流、规范描述;包括数据项、数据结构、数据流、数据存储和处理过程五个部分。数据存储和处理过程五个部分。 作用:是概念模式设计、逻辑模式设计和物作用:是概念模式设计、逻辑模式设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论