数据库设计流程总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xcymorningsun/article/details/79861984


一、项目中数据库建库套路


      1、概念模型:就是从现实世界到信息世界的第一层抽象,确定领域实体属性关系等,使用E-R图表示,E-R图主要是由实体、属性和联系三个要素构成的。  
 

       2、逻辑模型:是将概念模型转化为具体的数据模型的过程,即按照概念结构设计阶段建立的基本E-R图,按选定的管理系统软件支持的数据模型(层次、网状、关系、面向对象),转换成相应的逻辑模型。这种转换要符合关系数据模型的原则。目前最流行就是关系模型(也就是对应的关系数据库)

      E-R图向关系模型的转换是要解决如何将实体和实体间的联系转换为关系,并确定这些关系的属性和码。这种转换一般按下面的原则进行:

  (1)一个实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码。
  
  (2)一个联系也转换为一个关系,联系的属性及联系所连接的实体的码都转换为关系的属性,但是关系的码会根据联系的类型变化,如果是:
  
     1:1联系,两端实体的码都成为关系的候选码。
  
     1:n联系,n端实体的码成为关系的码。
  

     m:n联系,两端实体码的组合成为关系的码。


     3、物理模型就是根据逻辑模型对应到具体的数据模型的机器实现。物理模型是对真实数据库的描述。如关系数据库中的一些对象为表、视图、字段、数据类型、长度、主键、外键、索引、约束、是否可为空、默认值。



二、E-R图跟UML类图区别


      一般概念设计都是使用E-R图,这里我为什么把UML类图也放进去了呢?

      因为UML是面向对象的,有时候能够表达E-R图不能表达的内容,比如generalization,realization,aggregation,composition,association,dependency等关系,并且在powerdesigner中也能直接生成数据库,比较方便。

      当数据关系比较简单的时候使用E-R图与UML类图都可以,基本没什么区别,但是一旦数据关系比较复杂的时候最好使用UML类图设计,因为从数据库到程序里的数据模型毕竟还是有区别的(现实数据——数据库中存储(E-R图)——程序中存储(UML类图)),直接通过UML类图设计比较能够清晰的掌握数据之间的关系,更好的将数据与功能联系起来,从而减少错误设计==



三、一对多关系总结


      一对一关系和多对多关系大家都比较熟悉了,直接在一个表添加外键或者多建一个表就行了,这里详细说一下一对多的关系,这种也比较常见。

举例如下:

方案一(常规法):在学生表添加字段——班级id,常规设计;

方案二(编号法):在学生表记录id的时候在id前面添加教室id,如教室id有class001、class002,学生表中id写为class001—001,class002—001……类似这样,然年就不用在学生表中添加班级id了,发现很多单位外业习惯这样记录,然后设计数据库的时候就直接使用了。


优缺点:方案一无法直接使用外业数据,必须经过整理添加教室id,但是添加数据的时候比较简单规范;

              方案二可以直接使用外业数据,但是添加数据的时候比较麻烦,添加实体数据主键要有规范要求;



四、总结


  • 数据库建库

  • E-R图与UML类区别

  • 一对多关系的建库与优缺点

猜你喜欢

转载自blog.csdn.net/xcymorningsun/article/details/79861984