1 / 35
文档名称:

SQL数据库设计与实现.ppt

格式:ppt   大小:1,722KB   页数:35页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

SQL数据库设计与实现.ppt

上传人:放射辐射 2022/5/20 文件大小:1.68 MB

下载得到文件列表

SQL数据库设计与实现.ppt

文档介绍

文档介绍:SQL数据库设计与实现

为什么需要设计数据库 2-2
良好的数据库设计:
节省数据的存储空间
能够保证数据的完整性
方便进行数据库应用系统的开发
糟糕的数据库设计:
数据冗余、存储空间浪费
内存空加各表之间的关系
20
数据规范化
仅有好的RDBMS并不足以避免数据冗余,必须在数据库的设计中创建好的表结构
常见数据库设计的问题有:信息重复,更新异常,插入异常,删除异常
Dr 最初定义了规范化的三个级别,范式是具有最小冗余的表结构。这些范式是:
第一范式(1st NF -First Normal Fromate)
第二范式(2nd NF-Second Normal Fromate)
第三范式(3rd NF- Third Normal Fromate)
21
第一范式 (1st NF)
BuyerID
Country
City
1
1
4
2
中国
中国
日本
美国
北京
北京
东京
纽约



BuyerID
Address
1
2
3
4
中国北京市
美国纽约市
英国利物浦
日本东京市


第一范式的目标是确保每列的原子性
如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)
22
第二范式 (2nd NF)
如果一个关系满足1NF,并且除了主键以外的其他列,都依赖与该主键,则满足第二范式(2NF)
第二范式要求每个表只描述一件事情
Orders
字 段
例 子
订单编号
产品编号
订购日期
价 格
001
A001
2000-2-3
$


Orders
字 段
例 子
订单编号
订购日期
001
2000-2-3
Products
字 段
例 子
产品编号
价 格
A001
$
23
第三范式 (3rd NF)
如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF)
Armstrong公理定义的传递依赖:ABC是关系R的3个属性,如果A——〉B且B——〉C,可得出A——〉C
Orders
字 段
例 子
订单编号
订购日期
顾客编号
001
2000-2-3
AB001
顾客姓名
Tony


Orders
字 段
例 子
订单编号
订购日期
顾客编号
001
2000-2-3
AB001


24
规范化实例 5-1
假设某建筑公司要设计一个数据库。公司的业务规
则概括说明如下:
公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等
公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等
公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同)
公司定期制定一个工资报表,如图-1所示
25
规范化实例 5-2
工程号
工程名称
职工号
姓名
职务
小时工资率
工时
实发工资
A1
花园大厦
1001
齐光明
工程师
65
13

1002
李思岐
技术员
60
16

1004
葛宇宏
律师
60
19

小计

A2
立交桥
1001
齐光明
工程师
65
15

1003
鞠明亮
工人
55
17

小计

A3
临江饭店
1002
李思岐
技术员
60
18

1004
葛宇洪
技术员
60
14

小计

图-1 某公司的工资表
26
规范化实例 5-3
工程号
工程名称
职工号
姓名
职务
小时工资率
工时
A1
花园大厦
1001
齐光明
工程师
65
13
A1
花园大厦
1002
李思岐
技术员
60
16
A1
花园大厦
1001
齐光明
工程师
65
13
A1
花园大厦
1003
鞠明亮
工人
55
17
A3
临江饭店
1002
李思岐
技术员
60
18
A3
临江饭店
1004
葛宇洪
技术员
60
14
图-2 某公司的项目工时表
27
规范化实例 5-4