数据库设计 三大范式

来源:互联网 发布:域名备案要求 编辑:程序博客网 时间:2024/06/06 00:13

引入
需求分析:–需求分析师—》原始需求—–》抽取业务模型
图书模型 : 图书名称 版本号 作者
学生模型: 学号 学生名字 手机号码
……
角色: 学生 老师 图书管理员
《需求说明书》
需求设计 :-
概要设计:
抽取实体:业务模型–》实体模型 (java类 c++类) 内存
、class Book{name,book,author}
数据库设计 数据表的设计
业务模型、实体模型 —–》数据模型(硬盘)
、如何设计?

详细设计:
类详细,属性和方法

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

        一:要求表的每个字段必须是不可分割的独立单元         student :name   违反了第一范式                 小明|狗黑        查询曾用名是以姓“狗”        name like‘狗%’        student :name old name 符合第一范式        二:在第一范式的基础上,要求每张表只表达一个意思。表的每个字段都和表的主键有依赖关系。              employee :员工编号 员工姓名 部门名称 订单名称 违反第二范式              员工编号 员工姓名 部门名称              订单表 :  订单编号 订单名称           符合第二范式        三:第三范式 在第二范式的基础上,要求每张表的主键之外的其他字段只能和主键有直接决定依赖关系。                员工表 : 员工编号(主键) 员工姓名 部门编号 部门名称  违反第三范式 (数据冗余高)                员工表: 员工编号(主键) 员工姓名 部门编号    ---符合第三范式                部门表: 部门编号 部门名            总结:行唯一 列唯一  消除数据冗余
原创粉丝点击