数据库设计
1.就是设计E-R
2.然后根据转化原则转化成某一模式的数据(关系模式数据)
3.再用范式分析调整关系模式数据使之符合范式(数据存储才高效可用)
1.关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。关系模型是由若干个关系模式组成的集合。
2.关系模式:关系模式实际上就是记录类型。它包括:模式名,属性名,值域名以及模式的主键。关系模式仅是对数据特性的描述。
3.关系实例:就是一个关系,即一张二维表格。
4.属性:在关系模型中,字段称为属性。
5.域:在关系中,每一个属性都有一个取值范围,称为属性的值域。
6.元组:在关系中,记录称为元组。
7.候选码:在关系中能唯一标识元组的最小属性集称为关系模式的候选码。
7.主属性:存在于候选码(一个候选码可能是多个属性)中的某一属性。
8.主码:用户选作元组标识的一个候选码为主码。
9.外码:某个关系的主码相应的属性在另一关系中出现,此时该主码在就是另一关系的外码,如有两个关系S和SC,其中S#是关系S的主码,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外码。
表之间关系只有父表子表关系:父表子表是指,表A的主建在表B中出现,A是附表B是子表
1NF:属性没有再分(例如人有电话号码的属性,里面存了一个串,用的时候要求前半部是家庭号码,后半部是公司号码,。就不符合1NF)
2NF:非主属性直接完全依赖或间接完全依赖候选键。(不可部分依赖候选键)(不符合就会数据冗余,更新异常,插入异常,删除异常)
3NF:非主属性直接完全依赖候选键。(不符合就会数据冗余,更新异常,插入异常,删除异常)
BCNF:非主属性直接完全依赖候选键,主属性对不包含它的键是直接完全函数依赖。
难点:根据约束条件找关系,(一个条件,或多个条件能唯一确定谁),然后确定候选键和主键
E-R图转换成关系模式数据(数据库表)
1 E-R模型向关系模型的转换规则:
从数据需求分析中分析出系统的实体属性图,需要遵循三范式原则,对实体之间的依赖关系进行了整合,得出系统E-R图。
说明:菱形表示实体之间的关系,用矩形表示实体,用无向直线把菱形与有关实体连接,在直线上标明联系的类型。用椭圆表示实体的属性,并用无向直线把实体与属性联系起来。
(1)实体类型的转换
将每个实体类型转换成一个关系模式,实体的属性即为关系的属性,实体标识符即为关系的键。
(2)联系类型的转换
1)实体间的联系是1:1
可以在两个实体类型转换成两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。
2)如实体间的联系是1:N