2020.5.25-数据库原理与应用:数据库原理与应用Day2

1.2.1 概念模型

1.概念模型的表示方法
  实体-联系方法(Entity-Relationship) E-R图

  • 实体型:用矩形框表示,实体集名字写在框中。
  • 联系:用菱形框表示,联系名写在框中,用无向边与相关实体集连接,并注明联系类型。
  • 属性:用椭圆表示,属性名写在椭圆中,如果为码属性,其名字带下划线。用无向边将实体集和它的全部属性连接起来。若联系也有属性,把属性和菱形用无向边连起来。
    2020.5.25-数据库原理与应用:数据库原理与应用Day2上图表示单个实体集之间的联系。
    2020.5.25-数据库原理与应用:数据库原理与应用Day2以上表示多个实体集之间的联系。
    例如某大学选修课程案例。
    2020.5.25-数据库原理与应用:数据库原理与应用Day2添加上属性后为:
    2020.5.25-数据库原理与应用:数据库原理与应用Day2

1.2.2 逻辑模型

逻辑模型是从软件管理角度组织数据。
  逻辑模型通常由数据结构数据操作数据的完整性约束条件三部分组成。

1.2.3逻辑模型的组成要素

  • 数据结构:描述数据库的组成对象以及对象之间的联系。
  • 数据操作:对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。
  • 数据的完整性约束条件:一组完整性规则,给定的数据模型中数据及其联系所具有的制约和依存规则。

1.2.4常用的逻辑模型

  在数据库应用系统中,逻辑模型由概念模型转化而来。目前数据库领域中主要的逻辑模型有:层次模型(树)、网状模型(图)、关系模型(表)、面向对象数据模型、对象关系数据模型、半结构化数据模型。前两种在早期DBMS中存在,后来由于各自的优缺点,目前多用的是关系模型,后三者较为少见。

1.2.5层次模型

  层次模型是数据库系统中最早出现的数据模型。
  层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统。
  层次模型用树形结构来表示各类实体以及实体间的联系。
  层次模型中的几个术语:根节点、双亲结点、兄弟结点、叶节点。
  特点:

  • 结点的双亲是唯一的
  • 只能直接处理一对多的实体联系;
  • 任何记录值只有按其路径查看时,才能显出它的全部意义;
  • 没有一个子女记录值能够脱离双亲记录而独立存在。
      层次模型的优缺点
      优点:层次模型的数据结构比较简单清晰。
      缺点:结点之间的多对多联系表示不自然;对插入和删除操作的限制多,应用程序的编写比较复杂;查询子女结点必须通过双亲结点。

1.2.6 网状模型

  网状数据库系统采用网状模型作为数据的组织方式,典型代表是DBTG系统。
  满足下面两个条件的基本层次联系的集合:

  • 允许一个以上的结点无双亲;
  • 一个结点可以有多于一个的双亲。
      网状模型的优缺点
      优点:能够更为直观地描述现实世界,如一个结点可以有多个双亲;良好的性能,存取效率较高。
      缺点:结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握;DDL、DML语言复杂,用户不容易使用。

1.2.7 关系模型

  关系模型是最重要的一种数据模型,也是目前主要采用的数据模型。
  从用户观点看,关系模型由一组关系组成。每个关系的数据结构是一张规范化的二维表。 (行和列)
关系模型的术语:

  • 关系(Relation):一个关系通常来说是一张表。
  • 元组(Tuple):表中的一行即为一个元组,在机器学习中成为一个样本。
  • 属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名,机器学习中成为特征。
  • 码(Key):表中的某个属性组,它可以唯一确定一个元组。每个元组的不同之处。
  • 域(Domain):一组具有相同数据类型的值的集合(也就是二维表中的一列)。属性的取值范围来自某个域。
  • 分量:元组中的一个属性值。
      关系必须是规范化的,满足一定的规范条件。
      最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。关系模型是一张二维表,但是一张二维表未必是一个关系模型。
      关系模型中的数据都是可查询、插入、删除和更新的。
      关系模型的优缺点
      优点:建立在严格的数据概念的基础上:集合代数;关系模型的概念单一:关系;关系模型的存取路径对用户隐藏:更好的安全保密性。
      缺点:存取路径对用户隐藏,查询效率往往不如格式化数据模型。为了提高性能,数据库管理系统必须对用户的查询请求进行优化,因此增加了开发数据库管理系统的难度。