数据库设计 三大范式

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

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

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

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

        二:在第一范式的基础上,要求每张表只表达一个意思。表的每个字段都和表的主键有依赖关系。
              employee :员工编号 员工姓名 部门名称 订单名称 违反第二范式
              员工编号 员工姓名 部门名称
              订单表 :  订单编号 订单名称           符合第二范式
        三:第三范式 在第二范式的基础上,要求每张表的主键之外的其他字段只能和主键有直接决定依赖关系。
                员工表 : 员工编号(主键) 员工姓名 部门编号 部门名称  违反第三范式 (数据冗余高)
                员工表: 员工编号(主键) 员工姓名 部门编号    ---符合第三范式
                部门表: 部门编号 部门名
            总结:行唯一 列唯一  消除数据冗余
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值