概念结构设计
概念结构设计参照了需求说明的产物,同时也要考虑数据里面的应用要求,概念设计是对现实世界的抽象,得到的是一个概念模型,在数据库中提到的概念模型其实指的就是ER图,也叫实体关系图。
概念结构设计阶段,在处理过程的时候,并没有考虑数据库管理系统,它与比数据库管理系统无关的,即与DBMS无关,不管是MySQL,Oracle等,不管是什么,在设计的过程当中,概念结构设计阶段只是对现实世界将相应的数据抽象成ER图的形式。
得到ER图之后,下一步就可以进入逻辑结构设计。
ER图
ER图是实体联系图的简称,E表示实体,R表示联系。
实体是一些实例的集合,也叫做实体集,它用矩形来表示,二实体与实体之间有联系,这个联系会用菱形来表示,除了实体和联系之外,还会将相应的实体联系中,特殊的特征值记录下来,叫做属性。属性用椭圆来表示,然后用线将相应的实体连接上。
属性可以是实体的属性,也可以是联系自身的属性。
两个不同实体之间的联系:
- 一对一(1:1)
- 一对多(1:n)
- 多对一(n:1)
- 多对多(n:m)
概念结构设计流程
一个人搞ER图,工作量压力太大,因此根据需求,先抽象数据,然后分给不同的人去设计局部ER模型,最后进行合并。
集成的方法:
- 多个局部ER图一次集成
- 逐步集成,用累加的方式一次集成两个局部ER
集成产生的冲突及解决办法:
- 属性冲突:包括属性冲突和属性取值冲突
- 命名冲突:包括同名异义和异名同义
- 结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部ER图所包含的属性个数和属性排列次序不完全相同