软件设计师 数据库系统

三级模式-二级映射

在这里插入图片描述

  • 物理数据库 最底层的是一个物理数据库,说白了物理数据库在系统上面的表现形式往往就是一个文件

三级模式

  • 内模式是和物理层次的数据库直接关联的,管的是如何去存储数据,例如按什么格式,如何去优化
  • 概念模式是我们用数据库的时候表这一个级别,把数据分成了若干张表,根据我们业务和应用划分出来的表之间会有相应的关联
  • 外模式所对应的是数据库里面的视图,外模式的应用让我们对数据的控制有了更进一步更灵活的手段或处置方式

两级映射

  • 表和视图有一种映射关系,就称之为外模式和概念模式映射 ,我们只需要改映射,不用改应用程序,表就会发生变化

  • 概念模式和内模式映射,内部的存储形式和表的情况的一直映射关系,把存储的结构进行改变,只需要调整映射关系,不需要去调整用户程序

数据库设计过程

在这里插入图片描述

数据库的每一个阶段会有不同的产出物,在数据库的设计过程中首先是需求分析

  • 需求分析是看整个系统对数据这一块有什么要求,有从用户那边收集过来的,同时有转换的过程中产生的一些需求,在这个阶段会有相应的产出
    数据流图,数据字典,需求说明书

  • 概念结构设计主要的表达形式是做E-R模型,跟数据库管理系统没有关系的模型,往往和物理的数据库还没有什么关系,看数据的实体会有哪些属性,看实体之间会有什么样的联系,这些方面的问题

  • 逻辑结构设计要把ER模型转换成关系模式,就是把他转成文字表达的一个一个表的形式。在转换的过程中就设计到规划泛理论

  • 有了关系模式 进一步把DBMS也就是数据库管理系统的一些特性融入进来,比如说不同的数据库管理系统,类型方面可能略有一些细微的差别,还有一些约束之类的,会有一些小的差异,就形成了一个物理设计

E-R模型

在这里插入图片描述

E-R模型的组成元素

  • 实体(entiry):(用矩形表示)
    • 现实世界中可区别于其他对象的一个“事物”或“对象”
    • 例如,XX银行的每一个用户都是一个实体
    • 具有相同性质(或属性)的一个实体集合称为实体集
  • 属性:(用椭圆表示)
    • 实体通过一组属性来表示
    • 属性是实体集中每个成员所拥有的描述性性质
    • 例如,一个XX银行的用户的身份证号是一个属性,他的姓名是一个属性,居住地址也是一个属性
  • 联系(relationship):(用矩形表示)
    • 是指多个实体间的相互关联
    • 一个实体型转换为一个关系模式
      关于这部分可以去看另一个博主的文章 数据库实体联系如何转换为关系模式.
    • 例如,可以定义关联“用户”和“账户”的联系“存钱”,也就是用户可以存钱到账户上
    • 具有相同类型联系的集合称为联系集
    • 联系可分为以下 3 种类型:
      • (1) 一对一联系 (1 ∶ 1)
        例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。
      • (2) 一对多联系 (1 ∶ N)
        例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教。
      • (3) 多对多联系 (M ∶ N)
        读者与图书间的联系(“ 借阅 ”)是多对多的,一个读者可以借多本图书,而图书也能被多个读者借阅。联系也可能有属性。例如,借阅时的借书时间,还书时间,既不是图书的属性也不是读者的属性。由于 “ 借书时间 ”,“还书时间” 既依赖于读者和图书,所以它是读者和图书之间的联系 “ 借阅 ”的属性.

我们需要去分析局部的E-R图去绘制,设计。把局部的一步一步合成,集成起来变成全局的E-R图

  • 集成的方法

    • 多个局部E-R图一次集成
    • 逐步集成 首先把两个局部集成在一起,如何把这个合并体和第三个局部集成起来,这种方法相对来说比较耗时,但是简单,不容易出错

在集成过程中还会出现的冲突问题,比如两个图出现不一致的情况

  • 集成产生的冲突

    • 属性冲突:比如两个系统里面都有老师,有的老师的属性性别是用男女作为值,有的是T和F,属性值会有差异
    • 命名冲突:包括同名异义,异名同义,也就是命名相同,但是意义不一样,和命名不同,但是表达的意义一样
    • 结构冲突:同一对象在不同应用中有不同的表现,比“老师”它在一个系统里是一个表但是在另外一个系统中” 老师 “一个表的一个字段,这样就有可能导致想法上的一些冲突,抽象级别就不一样了
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值