如何设计数据库二.docx下载

weixin_39822095 2023-01-24 11:00:24
如何设计数据库二全文共5页,当前为第1页。如何设计数据库二全文共5页,当前为第1页。数据规范化 如何设计数据库二全文共5页,当前为第1页。 如何设计数据库二全文共5页,当前为第1页。 仅有好的RDBMS并不足以避免数据冗余,必须在数据库的设计中创建好的表结构。表设计后,很可能结构不合理,出现数据重复保存,简称数据的冗余,这对数据的增删改查带来很多后患,所以我们需要审核是否合理,就像施工图设计后,还需要其他机构进行审核图纸是否设计合理一样。 如何审核呢?需要一些有关数据库设计的理论指导规则,这些规则业界简称数据库的范式。Dr E.F.codd 最初定义了规范化的三个级别,范式是具有最小冗余的表结构。这些范式是: – 第一范式(1st NF -First Normal Fromate) – 第二范式(2nd NF-Second Normal Fromate) – 第三范式(3rd NF- Third Normal Fromate) 如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)。第一范式的目标是确保每列的原子性。 如果一个关系满足1NF,并且除了主键以外的其他列,都依赖于该主键,则满足第二范式(2NF)。第二范式要求每个表只描述一件事情,确保表中的每列,都和主键相关。 如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF)。第三范式确保每列都和主键列直接相关,而不是间接相关。 下面我们来看个形象的例子吧!假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下: 公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等 公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等 公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同) 公司定期制定一个工资报表,如图-1所示 工程号 工程名称 职工号 姓名 职务 小时工资率 工时 实发工资 A1 花园大厦 1001 齐光明 工程师 65 13 845.00 1002 李思岐 技术员 60 16 960.00 1004 葛宇宏 律师 60 19 1140.00 小计 2945.00 A2 立交桥 1001 齐光明 工程师 65 15 975.00 1003 鞠明亮 工人 55 17 935.00 小计 1910.00 如何设计数据库二全文共5页,当前为第2页。如何设计数据库二全文共5页,当前为第2页。A3 如何设计数据库二全文共5页,当前为第2页。 如何设计数据库二全文共5页,当前为第2页。 临江饭店 1002 李思岐 技术员 60 18 1080.00 1004 葛宇洪 律师 60 14 840.00 小计 1920.00 图-1 某公司打印的工资报表 工程号 工程名称 职工号 姓名 职务 小时工资率 工时 A1 花园大厦 1001 齐光明 工程师 65 13 A1 花园大厦 1002 李思岐 技术员 60 16 A1 花园大厦 1004 葛宇洪 律师 60 19 A2 立交桥 1001 齐光明 工程师 65 15 A2 立交桥 1003 鞠明亮 工人 55 17 A3 临江饭店 1002 李思岐 技术员 60 18 A3 临江饭店 1004 葛宇洪 律师 60 14 图-2 某公司的项目工时表 大家都看到,上面这样设计的表会有很多问题: 1.表中包含大量的冗余,可能会导致数据异常: 更新异常 例如,修改职工号=1001的职务,则必须修改所有职工号=1001的行 添加异常 若要增加一个新的职工时,首先必须给这名职工分配一个工程。或者为了添加一名新职工的数据,先给这名职工分配一个虚拟的工程。(因为主关键字不能为空) 删除异常 例如,1001号职工要辞职,则必须删除所有职工号=1001的数据行。这样的删除操作,很可能丢失了其它有用的数据 2.采用这种方法设计表的结构,虽然很容易产生工资报表,但是每当一名职工分配一个工程时,都要重复输入大量的数据。这种重复的输入操作,很可能导致数据的不一致性。 如何设计数据库二全文共5页,当前为第3页。如何设计数据库二全文共5页,当前为第3页。 如何设计数据库二全文共5页,当前为第3页。 如何设计数据库二全文共5页,当前为第3页。 我们用第二范式规范一下: 如何设计数据库二全文共5页,当前为第4页。如何设计数据库二全文共5页,当前为第4页。 如何设计数据库二全文共5页,当前为第4页。 如何设计数据库二全文共5页,当前为第4页。 我们再用第三范式规范一下,是不是明晰了很多?! 规范化和性能的关系 为满足某种商业目标,数据库性能比规范化数据库更重要 – 通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息 , 相关下载链接:https://download.csdn.net/download/qq_43966957/87372246?utm_source=bbsseo
...全文
9 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

13,656

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧