跳转至

引言

数据库结构的基础是 数据模型,数据模型描述了数据、数据之间的联系以及数据的操作。

数据模型可以分为四类:

  • 关系模型:用表的关系描述数据与数据的关系
  • 实体 - 联系模型
  • 半结构化数据模型(JSON,XML)
  • 基于对象的数据模型

数据抽象层次:

  • 物理层,描述数据实际上是怎样存储的
  • 逻辑层,描述数据库存储什么数据及数据之间的关系
  • 视图层,最高层的抽象,只描述数据库的某个部分

特定时间存储在数据库中的信息的集合被称为数据库的一个实例,数据库的总体设计称为数据库模式(schema)

按照不同的抽象层次划分,物理模式在物理层描述数据库设计,逻辑模式在逻辑层描述数据库设计,数据库在视图层也有几种模式,有时候称为子模式。

数据库系统提供数据定义语言(DDL)来定义数据库模式,数据操纵语言(DML)来定义数据库实例。

DDL定义了数据库模式的实现细节,对用户通常不可见,比如域约束,引用完整性,授权,创建表

DML对数据进行操作,比如查询插入删除更新

过程化的DML要求用户指定需要什么数据以及如何获得这些数据,非过程化的(声明式的)DML只要求用户指定需要什么数据

三层体系结构:客户端 - 应用服务器 - 数据库系统

DBMS的定义:数据库管理系统由相互关联的数据集合 和 一组用于操作这些数据的应用程序组成。

物理数据独立性是指应用程序与数据库的物理存储结构(如磁盘上的数据文件存储方式)之间的解耦。在不影响上层应用程序和用户查询的前提下,数据库管理员可以自由修改物理存储方式。

DBMS的五个主要职责:

  • 数据冗余与一致性
  • 数据安全与权限控制
  • 数据完整性维护
  • 并发控制和事务管理
  • 备份与恢复

数据库引入空值的原因:

  • 未知或不适用,某些信息可能无法现在就获取,或者某些信息对于特定的记录可能不适用
  • 数据不一定是完好的,可能缺失一部分

关系模型介绍

关系数据库由表的集合组成

关系指代表,元组指代行,关系实例指 一组 特定的行。

域:一个表元素的取值域domain。

数据库模式和数据库实例的区别:

  • 模式:描述数据库的结构,是静态的,不变的(表头)
  • 实例:特定时间存储在数据库中的信息(表体)

超码:一个或多个属性,组合在一起可以在一个关系中,唯一标识出一个元组。

候选码:最小超码(这里的最小的定义是,去掉里面的任何一个元素后,闭包不再是整个集合,而不是元素个数最少!!!

主码:数据库设计者选择的一个候选码,作为表的唯一标识

外码:一个引用。\(r_1\) 关系的A属性 到 \(r_2\) 关系的B属性,则B是A的外码。即 \(r_1\) 中的属性 A 的取值必须是B中的某个取值。\(r_1\) 是引用关系,\(r_2\) 是被引用关系。

注意,外码约束要求被引用属性是那个表的主码。

重点

DBMS核心功能:数据定义,数据操纵、数据控制、事务管理、恢复与安全

数据库:有组织的数据集合。

DBMS:数据库管理系统由相互关联的数据集合一组用于操作这些数据的应用程序组成。

数据独立性:逻辑独立性和物理独立性(逻辑、物理视图不改变应用程序)

三级结构:外部概念物理模式,对应用户视图-逻辑视图-物理视图。

关系,属性,元组分别是什么

关系模式,域,主键,候选键,外键是什么

选择,投影,连接,并/交/差,笛卡尔积,除运算对应的记号