您的位置:首页 > 数据库

数据库设计 三大范式

2017-11-07 13:53 302 查看
引入

需求分析:–需求分析师—》原始需求—–》抽取业务模型

图书模型 : 图书名称 版本号 作者

学生模型: 学号 学生名字 手机号码

……

角色: 学生 老师 图书管理员

《需求说明书》

需求设计 :-

概要设计:

抽取实体:业务模型–》实体模型 (java类 c++类) 内存

、class Book{name,book,author}

数据库设计 数据表的设计

业务模型、实体模型 —–》数据模型(硬盘)

、如何设计?



详细设计:

类详细,属性和方法

—————————————————————————————————————————————三大范式

一:要求表的每个字段必须是不可分割的独立单元
student :name   违反了第一范式
小明|狗黑
查询曾用名是以姓“狗”
name like‘狗%’
student :name old name 符合第一范式

二:在第一范式的基础上,要求每张表只表达一个意思。表的每个字段都和表的主键有依赖关系。
employee :员工编号 员工姓名 部门名称 订单名称 违反第二范式
员工编号 员工姓名 部门名称
订单表 :  订单编号 订单名称           符合第二范式
三:第三范式 在第二范式的基础上,要求每张表的主键之外的其他字段只能和主键有直接决定依赖关系。
员工表 : 员工编号(主键) 员工姓名 部门编号 部门名称  违反第三范式 (数据冗余高)
员工表: 员工编号(主键) 员工姓名 部门编号    ---符合第三范式
部门表: 部门编号 部门名
总结:行唯一 列唯一  消除数据冗余
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计 需求 数据库