电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据库设计三大范式应用实例VIP专享VIP免费

数据库设计三大范式应用实例_第1页
数据库设计三大范式应用实例_第2页
数据库设计三大范式应用实例_第3页
数据库设计三大范式应用实例 引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(u pdate)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来设计数据库。 实质上,设计范式用很形象、很简洁的话语就能说清楚,道明白。本文将对范式进行通俗地说明,并以笔者曾经设计的一个简单论坛的数据库为例来讲解怎样将这些范式应用于实际工程。 范式说明 第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由 基 本类 型 构成 ,包 括 整 型 、实数、字符 型 、逻 辑 型 、日 期 型 等 。 例如 ,如 下 的数据库表是符 合 第一范式的: 字段1 字段2 字段3 字段4 而这样的数据库表是不符 合 第一范式的: 字段1 字段2 字段3 字段4 字段3.1 字段3.2 很显 然,在 当前 的任 何 关 系 数据库管 理 系 统 (DBMS)中,傻 瓜 也不可能做出 不符 合 第一范式的数据库,因 为这些DBMS 不允 许 你 把 数据库表的一列 再分成 二 列 或 多列 。因 此 ,你 想 在 现 有 的DBMS 中设计出 不符 合 第一范式的数据库都是不可能的。 第二 范式(2NF):数据库表中不存在 非关 键 字段对任 一候 选 关 键 字段的部分函 数依 赖(部 分函 数依 赖 指 的是存在 组 合 关 键 字中的某 些字段决 定 非关 键 字段的情 况 ),也即 所有 非关 键 字段都完 全 依 赖 于任 意 一组 候 选 关 键 字。 假定选课关系表为SelectCou rse(学号, 姓名, 年龄, 课程名称, 成绩, 学分),关键字为组合关键字(学号, 课程名称),因为存在如下决定关系: (学号, 课程名称) → (姓名, 年龄, 成绩, 学分) 这个数据库表不满足第二范式,因为存在如下决定关系: (课程名称) → (学分) (学号) → (姓名, 年龄) 即存在组合关键字中的字段决定非关键字的情况。 由于不符合2NF,这个选课关系表会存在如下问题: (1) 数据冗余: 同一门课程由 n 个学生选修,"学分"就重复 n-1 次;同一个学生选修了 m 门课程,姓名和年...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部