1:收集信息
2:找实体
实体将来就会变成表,实体一般是名词。
3:找属性
属性是说明实体的,比如学生实体,姓名、性别就是学生实体的属性,属性是表中的列,是用来存数据的,因此一般为名词。
4:依次找出每两个实体的映射关系。
关系是指:两个实体间通过某种操作(或者动作)而建立的联系。
关系种类有:1:1 1:N N:M 判断方法为:
分别站在不同的实体角度,取出实体的一条记录,看看另一个实体有一个还是多个记录对应,如果两次结果都为1,则为1,否则为n
5:关系转换成关系模式:表名(属性1,属性2....)
实体 --》关系模式(表)
1:1-》1方实体关键字加入另1方,例如:班级和班长关系是1:1,班长(学生)的编号应加入到班级表
1:n关系--》1方实体关键字和关系的属性加入n方实体,加入的关键字即外键。
n:m关系 --》单独形成关系模式(表),新表的主键至少包括:两端实体主键之和,新表属性是联系的属性
6:对关系模式进行范式检查
1范式:列是原子的,基本不用看都满足。
2范式:一个表只说明一件事,即每列都和主键相关,不存在部分依赖。否则拆分
3范式:每列都和主键直接相关,每列都要随着主键变化而变化。否则进行拆分。
一般要满足到三范式(有时为编程方便可不满足三范式),不满足就拆分,拆分出来的新表主键要保留在原表中,否则原关系会被破坏。