三级模式-二级映射
- 物理数据库 最底层的是一个物理数据库,说白了物理数据库在系统上面的表现形式往往就是一个文件
三级模式
内模式是和物理层次的数据库直接关联的,管的是如何去存储数据,例如按什么格式,如何去优化
概念模式是我们用数据库的时候表这一个级别,把数据分成了若干张表,根据我们业务和应用划分出来的表之间会有相应的关联
外模式所对应的是数据库里面的视图,外模式的应用让我们对数据的控制有了更进一步更灵活的手段或处置方式
两级映射
-
表和视图有一种映射关系,就称之为外模式和概念模式映射 ,我们只需要改映射,不用改应用程序,表就会发生变化
-
概念模式和内模式映射,内部的存储形式和表的情况的一直映射关系,把存储的结构进行改变,只需要调整映射关系,不需要去调整用户程序
数据库设计过程
数据库的每一个阶段会有不同的产出物,在数据库的设计过程中首先是需求分析
-
需求分析是看整个系统对数据这一块有什么要求,有从用户那边收集过来的,同时有转换的过程中产生的一些需求,在这个阶段会有相应的产出
数据流图,数据字典,需求说明书 -
概念结构设计主要的表达形式是做E-R模型,跟数据库管理系统没有关系的模型,往往和物理的数据库还没有什么关系,看数据的实体会有哪些属性,看实体之间会有什么样的联系,这些方面的问题
-
逻辑结构设计要把ER模型转换成关系模式,就是把他转成文字表达的一个一个表的形式。在转换的过程中就设计到规划泛理论
-
有了关系模式 进一步把DBMS也就是数据库管理系统的一些特性融入进来,比如说不同的数据库管理系统,类型方面可能略有一些细微的差别,还有一些约束之类的,会有一些小的差异,就形成了一个物理设计
E-R模型
E-R模型的组成元素
- 实体(entiry):(用矩形表示)
- 现实世界中可区别于其他对象的一个“事物”或“对象”
- 例如,XX银行的每一个用户都是一个实体
- 具有相同性质(或属性)的一个实体集合称为实体集
- 属性:(用椭圆表示)
- 实体通过一组属性来表示
- 属性是实体集中每个成员所拥有的描述性性质
- 例如,一个XX银行的用户的身份证号是一个属性,他的姓名是一个属性,居住地址也是一个属性
- 联系(relationship):(用矩形表示)
- 是指多个实体间的相互关联
- 一个实体型转换为一个关系模式
关于这部分可以去看另一个博主的文章
数据库实体联系如何转换为关系模式. - 例如,可以定义关联“用户”和“账户”的联系“存钱”,也就是用户可以存钱到账户上
- 具有相同类型联系的集合称为联系集
- 联系可分为以下 3 种类型:
- (1) 一对一联系 (1 ∶ 1)
例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。 - (2) 一对多联系 (1 ∶ N)
例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教。 - (3) 多对多联系 (M ∶ N)
读者与图书间的联系(“ 借阅 ”)是多对多的,一个读者可以借多本图书,而图书也能被多个读者借阅。联系也可能有属性。例如,借阅时的借书时间,还书时间,既不是图书的属性也不是读者的属性。由于 “ 借书时间 ”,“还书时间” 既依赖于读者和图书,所以它是读者和图书之间的联系 “ 借阅 ”的属性.
- (1) 一对一联系 (1 ∶ 1)
我们需要去分析局部的E-R图去绘制,设计。把局部的一步一步合成,集成起来变成全局的E-R图
在集成过程中还会出现的冲突问题,比如两个图出现不一致的情况