六、数据库mysql数据库设计


  6.1概要设计
      抽取实体:业务模型->实体模型(java类+c++类)内存
           class Book{name, bookNo, author};
      数据库设计:
           业务模型/实体模型->数据模型(硬盘)
           
           数据库表设计
           问题:如何设计?
      详细设计:
           类详细,属性和方法
  6.2三大范式
       设计原则:建议设计的表尽量遵守三大范式
           第一范式:要求表的每个字段必须是不可分割的独立单元
                                     student     :     name      ---违反第一范式
                                                             lucy|rose
                                     student     :   name    oldname   ---符合第一范式
                                                               lucy           rose
           第二范式:在第一范式的基础上,要求每张表只表达一个意思,表的每个字段都和表的主键有依赖
                    employee(员工):员工编号   员工姓名  部门名称   订单名称  --违反了第二范式
           
                    员工表:员工编号  员工姓名  部门名称
                    
                    订单表:订单编号  订单名称                    --符合第二范式
           
           第三范式:在第二范式的基础上,要求每张表的主键之外的其他字段都和只能和主键有直接的依赖关系
                    员工表:员工编号(主键)   员工姓名   部门编号   部门名称    ---符合第二范式,违反了第三范式(数据冗余高)
                    
                    
                    员工表:员工编号(主键)   员工姓名   部门编号  符合第三范式(降低数据冗余)
                    部门表:部门编号   部门名称 
           
           
           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值