数据库基本概念review

1. 基本概念

1.1. 数据库阶段

  • 人工管理阶段
  • 文件系统阶段:使用文件系统来进行管理,缺陷:数据荣誉,数据不一致
  • 数据库阶段:三大事件:层次模型的出现,网状模型的出现,关系模型的出现(Codd)

    1.2. DB、DBMS、DBS定义

  • 数据库(DB),DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。其特点是较小的冗余度、数据间联系紧密、有较高的数据独立性特点。
  • 数据库管理系统(DBMS),是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提高了一层数据管理软件,包括DB的建立、查询、更新和各种数据控制。
  • 数据库系统(DBS),DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统。(采用数据库技术的计算机系统)
  • 数据库技术,数据库技术是研究数据库的结构、存储、设计、管理和使用的一门软件学科。

1.3. 数据描述

在对事务描述到计算机的具体表示过程中,数据经过了3个阶段:概念设计、逻辑设计、物理设计。
其中数据描述有两种形式:物理数据描述和逻辑数据描述。

1.3.1. 概念设计

概念设计是根据用户的需求设计数据库的概念结构。这个阶段简单的来说就是把一个事务用ER模型抽象表示。
涉及到的术语:

  • 实体,客观存在,可以相互区别的事物叫做实体。例如一名学生。
  • 实体集,性质相同的同类实体的集合。如所有的男生。
  • 属性,实体的特性,一个特性为一个属性。例如学生有年龄、学号等属性。
  • 实体标识符,能唯一表示实体的属性或者属性集

    1.3.2. 逻辑设计

    逻辑设计是根据概念设计的结果设计数据库的逻辑结构。
  • 字段,标记实体属性的命名单位称为字段或者数据项。
  • 记录,字段的有序集合称为记录。
  • 文件,同一类记录的集合称为文件。
  • 关键码,能够唯一表示文件中的每条记录的字段和字段集,称为记录的关键码。
    概念设计和逻辑设计的术语对应关系如下:

概念设计 逻辑设计
实体 记录
属性 字段(数据项)
实体集 文件
实体标识符 关键码

1.3.3. 物理设计

数据库的存储结构和具体实现方式即物理设计

1.3.4. 数据联系的描述

即描述实体和实体之间的联系。同样的举基本概念。
联系是实体直接按的相互关系。与一个联系有关的实体集个数,称为联系的元数。
拿二元联系举例子,其中二元联系有以下3个类型:

  1. 一对一,一个实体集E1中的每个实体至多和实体集E2中的一个实体有联系,反之亦如此。记作"1:1"。
    2. 一对多,一个实体集E1中的每个实体可以和实体集E2中的任意多个实体有联系,而E2中的每个实体至多和E1中的一个实体有联系,那么就称E1对E2的联系是一对多联系。记作"1:N"。
  2. 多对多,一个实体集E1中的每个实体可以和实体集E2中的任意多个实体有联系,反之亦如此。记作"N:N"。

1.4. 数据抽象的级别

1.4.1. 数据抽象的过程

DB全局逻辑结构模型称为“逻辑模型”,DB局部逻辑结构的模型称为“外部模型”。表达DB物理结构的模型叫“内部模型”。

外部模型
逻辑模型
内部模型

对应到关系数据库中为

外部模型
逻辑模型
内部模型

步骤如下:

  1. 根据用户需求得到概念模型。
  2. 通过概念模型转化为逻辑模型。
  3. 设计不同的外外部模型(外部模型供给程序员使用)。
  4. 根据逻辑模型设计得到内部模型。

1.4.2. 概念模型

实体联系模型(ER模型),模型直接从现实世界中抽线出实体类型和实体之间的联系。然后用实体联系图表示数据模型。
即ER图是概念模型的工具。
ER图成分:

  1. 矩形框:表示实体(考虑问题的对象)
  2. 菱形框:表示联系类型(实体之间的联系)
  3. 椭圆形框:表示实体类型和联系类型的属性
  • 其中相应的命名加入到各种框内,对于实体标识符的属性,在属性下面加入一条横线。
  • 实体和属性之间,联系和属性之间用直线连接,联系类型和涉及到的实体类型之间也可以用直线相连,用来表示其中的联系。并且注明联系类型(1:1、1:N、M:N)

1.4.3. 逻辑模型

选定DBMS后,即可将概念模型转化为逻辑模型。
逻辑模型独立与硬件,是从数据库的观点对数据建模,有以下几种类型

1.4.3.1. 层次模型

树状结构表示实体类型以及实体联系之间的数据模型叫做层次模型。
上一层记录和下一层记录类型之间的联系是1:N的联系。
缺点:

  1. 只能直观1:N表示,若需要N:M则实现复杂。
  2. 查询操作复杂、应用程序编写复杂。

1.4.3.2. 网状结构

有向图结构表示实体类型和实体之间联系的数据模型称为网状结构。
优点:

  1. N:M联系容易实现
  2. 查询效率高

缺点:

  1. 编程复杂

1.4.3.3. 关系模型

关系模型是由若干个关系模式(Relational Schema)组成的集合(二维表的集合)。
注意:关系模型相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表。

关系模式和网状/层次结构的区别:使用关键码而不是指针导航数据(使用主键建立联系)

1.4.3.4. 对象模型

更加灵活,用于存储复杂的数据结构。
基本概念:

  1. 对象,现实世界的实体的模型化。有唯一标识符,通过封装把状态和行为结合在一起。
  2. 类,对象的集合

1.4.4. 外部模型

供给程序员使用的接口,是逻辑模型的子集,与硬件实现无关,依赖于软件。

1.4.5. 内部模型

内部模型又称为物理模型。是数据库的最底层抽象,描述的是数据在磁盘上的组织。

1.4.6. 三级模型和两层映像

1.4.6.1. 三层模型

在用户到数据库之间,DB的数据结构有三个层次外部模型、逻辑模型和内部模型,这个三个层次使用数据定义语言(Data Definition Language,DDL)定义以后就称为模式(Schema),即外模式、逻辑模式和内模式。数据库的数据结构描述有三个层次:

  1. 外模式:是用户与数据库系统的接口,是用户用到的那部分数据的描述。外模式由若干个。
  2. 逻辑模式是数据库中全部数据的整体逻辑结构的描述。他由若干个逻辑类型组成,还包括记录间联系,数据的完整性、安全性等要求。
  3. 内模式是数据库在物理存储方面的描述。
    三层关系两层映像
  4. 用户使用数据库的数据操纵语言(Data Manipulation Language,DML)语句对数据库进行操作,实际上是对外模式的外部记录进行操作;逻辑模式必须不涉及到存储结构、访问技术等细节;内模式并不涉及到物理设备的约束。
    有了外模式之后,程序员只用考虑和外模式的交互。

  5. 逻辑模式不涉及存储结构和访问技术的细节。逻辑模式处于中间抽象
  6. 内模式并不涉及物理设备的约束(设备无关系),而只是考虑到在磁盘上的读写操作。

1.4.6.2. 两层映像

  1. 外模式/逻辑模式映像
  2. 逻辑模式/内模式映像

1.4.7. 高度的数据独立性

数据独立性指的是程序和数据库的数据结构之间相互独立,不受影响。在修改数据结构时,尽可能不修改应用程序,即达到了数据独立性。
分为两种:

  1. 物理数据的独立性,内模式的修改时,只需要修改逻辑模式/内模式映像,而其他不变
  2. 逻辑数据的独立性,逻辑模式的修改时,只需要修改外模式/逻辑模式映像,而其他不变

1.5. 数据库管理系统DBMS

1.5.1. DBMS的主要功能

  1. 数据库定义功能,对应为DDL
  2. 数据库操作功能,对应为DML
  3. 数据库保护功能,包括恢复、并发、完整性、安全性控制
  4. 数据库维护功能
  5. 数据字典

1.6. 数据库系统DBS

DBS是采用了数据库技术的计算机系统。
它是数据库、软件、硬件、数据库管理员(DBA)的集合。

2. 关系模型和关系运算理论

2.1. 关系模型的基本概念

2.1.1. 基本术语

关系模式:用二维表表示实体集,用关键码表示实体之间的联系的数据模型称为关系模型
e.g.

学号 姓名 年龄 性别 籍贯
S1 WANG 20 M 上海
S4 LIU 18 F 云南
S2 HU 17 M 四川
S3 XIA 19 F 北京

在关系模型中,字段称为属性,字段值称为属性值,记录类型称为关系模式。关系模式名为R,记录称为元组。元组的集合称为关系或者实例

通用习惯:一般使用大写字母A,B,C,...表示单个属性,用大写字母...,X,Y,Z表示属性集。用小写字母表示属性值
习惯称关系为表格或者表
元组为行,属性为列
关系中属性的个数叫做元数(几列),元组的个数叫基数(几行)。
内模式映像,而其他不变**。

关键码由一个或者多个属性组成。
常用的键:

  1. 超键,这个关系中能够唯一标识元组的属性或属性集称为关系模式的超键。
  2. 候选键,不含有多余属性等超键称为候选键。即在候选键中再删除属性就不是键了。
  3. 主键,用户选作元组标识的候选键称为主键。
  4. 外键,如果模式R中属性K是其他模式的外键,那么K在模式R中称为外键。(用于表示引用其他表中的主键)

值域,每一个属性都有一个取值范围,称为该属性的值域。

2.1.2. 关系的定义和性质

关系是一个属性数目相同的元组的集合
其中有一下规范性限制:

  1. 关系中的每一个属性都是不可再分解的
  2. 关系中不允许出现重复的元组(不能有相同的行)
  3. 由于关系是一个集合,因此不用考虑元组出现的顺序(没有行序)
  4. 元组中的属性在理论上是无需的,但是按照习惯应该考虑下顺序的

2.1.3. 关系模型的3中完整性规则

2.1.3.1. 实体完整性

要求元组在组成主键的属性上不能为空值

2.1.3.2. 参照完整性

定义:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键。那么
在R2关系中,K的取值有只有两种可能,或者为空值,或者等于R1关系中的某个主键值。
这条规则的实质是“不允许引用不存在的实体”

  1. 外键和对应的主键可以不同名,只要在定义在相同的值域上即可
  2. R1和R2可以是同一个关系模式,此时表示了同一个关系模式中不同元组之间的联系
  3. 外键值是否可以是空,应该看具体问题

猜你喜欢

转载自www.cnblogs.com/adameta/p/12156197.html