一、数据库设计方法

    1、根据需求抽出项目中的实体

    2、总结每个实体的属性

    3、确定实体之间的关系

二、数据库设计的三个范式

    1、原子性及数据库的每一列是最小单位,根据需求不可拆分

    2、每个表只描述一个实体,确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)

    3、每个表不应该包含冗余信息,如果a表里包含b表的主键,则a表就不需要包含b表的其他信息


例如下表错误示范:

    工程号  工程名称  职工号  姓名  职务 小时工资率 工时  工作地点

                                        河南开封杞县

其中 表里包含了工程信息,职工信息,项目工时信息违反了第二范式

工作地点可以拆分为省市县违反了第一范式

有工程号不需要工程名称违法第三范式


该表可以拆分为

1、工程信息表   包含工程号 工程名称

2、员工信息表   包含 职工号 姓名 职务  

3、项目工时表   工程号 职工号 工时

4、职务表          职务  小时工资率