第一章 -- 绪论
- 1.1 数据库系统概述
- 1.1.1 数据库的4个基本概念
- 1. 数据
- 2. 数据库
- 3. 数据库管理系统
- 4. 数据库系统
- 1.1.2 数据管理技术的发展
- 1.1.3 数据库系统的特点
- 1. 数据结构化
- 2.数据的共享性高、冗余度低、易扩充
- 3.数据独立性高
- 4. 数据由数据库管理系统统一管理和控制
- 1.2 数据模型
- 1.2.1 两类数据模型
- 1.2.2 概念模型
- 1. 基本概念
- 2. 概念模型的一种表现方式:
- 1.2.3 数据模型的组成要素
- 1. 数据结构
- 2. 数据操作
- 3. 数据库的完整性约束条件
- 1.2.4 常用的数据模型
- 1.2.5 层次模型
- 1. 层次模型中的数据结构
- 2. 层次模型的数据操作与完整性约束
- 3. 层次模型的优缺点
- 1.2.6网状模型
- 1. 网状模型的数据结构
- 2. 网状模型的完整性约束
- 1.2.7 关系模型
- 1. 关系模型的数据结构
- 2. 关系模型数据操作和完整性约束
- 1.3 数据库系统的结构
- 1.3.1 数据库系统模式的概念
- 1.3.2 数据库系统的三级模式结构
- 1. 模式
- 2. 外模式
- 3. 内模式
- 1.3.3 数据库的二级映像功能与数据独立
- 1. 外模式/模式映像
- 2. 模式/内模式映像
- 1.4 数据库系统的组成
数据、数据库、数据库管理系统和数据库系统是与数据库技术相关的4个基本概念。
数据(data)是数据库中存储的基本对象。
从广义上讲,描述事物的符号记录为数据,如,数字,文字,图像,音视频等等。
数据的种类:
数据的含义称为数据的语义,数据与其语义是不可分的。
数据没了语义,那么数据也将无意义,只是单纯的数字或文字,例如,93是一个数字,对于93这个数字本身没有什么意义,但是当它表示一个学生的某一门成绩为93分,此时数据与语义相结合,数据就有了意义。
数据的形式不能完全表示其内容,需要对数据进行解释。
在计算机中常用记录来表示和存储数据。
数据库(database)即存放数据的仓库。
数据库是长期存储在计算机内的、有组织的、可以共享的大量数据的集合。
为什么要建立数据库?
– 有利于对数据进行进一步的加工处理和抽取有用的信息。
数据库的基本特征:
数据库具有永久存储、有组织、可共享三个基本特点。
数据库管理系统(DBMS—Database Management System)是位于用户与操作系统之间一层数据管理软件。
数据库管理系统是计算机的基础软件。
数据库管理系统的主要功能:
补充:
数据库系统(DBS—Database System)是由数据库、数据库管理系统(及其开发工具)、应用程序、数据库管理员(BDA—Database Administrator)组成的存储、管理、处理和维护数据的系统
数据管理技术经历了 人工管理、文件系统、数据库系统 三个阶段
在人工管理阶段,应用程序和数据之间是一一对应的关系
在文件系统阶段,一个或一组文件对应一个应用程序
从文件系统到数据库系统标志着数据管理技术的飞跃
数据结构化是数据库系统和文件系统的 本质区别
数据独立性包括物理独立性和逻辑独立性:
数据模型是对现实世界数据特征的抽象。
数据模型是数据库系统的核心和基础
数据模型应满足三方面要求:
数据模型划分为两大类 1.概念模型;2.逻辑模型和物理模型
概念模型:
也称为信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计
逻辑模型和物理模型:
逻辑模型主要包括层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等,主要用于数据库管理系统的实现
物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法
把现实世界中的具体事物抽象组织为某一数据库管理系统支持的数据模型,要先将现实世界抽象为信息世界,然后将信息世界转换为机器世界
概念模型是现实世界到机器世界的一个中间层次。
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象。
实体:
客观存在并且可以相互区别的事物称为实体
实体即一个具体的事物,例如,一个学生、一门课、一位老师
属性:
实体所具有的的某一特征称为属性
一个实体可以有若干个属性
例如,一个学生的成绩、学号、姓名等等多事学生这个实体的属性
码(key)
可以拿来唯一标识实体的属性称为码
码可以有多个,因为实体中的属性可以唯一标识实体的不止一个,可以有多个
例如,学生的学号可以唯一标识学生实体,每个学生都由各自的身份证号也可以唯一表示实体
实体型
用实体名及其属性名集合来抽象和刻画同类实体,称为实体型
实体型就是所有同类的实体中抽象出来的共同特征
例如,学生(学号,姓名,性别,出生日期,入学时间),这就是学生这个集合所抽象出来的共同特征
实体型与实体之间的关系类似于,Java中类和实例对象之间的关系,实体型是实体的模板图纸,实体是实体型的实例对象
实体集
就是同一类型实体的集合
例如,所有的学生就是一个实体集
联系
实体(型)内部的联系和实体(型)之间的联系
实体内部的联系为实体各个属性之间的联系
实体之间的联系为不同实体集之间的联系
实体之间的联系有 一对一、一对多、多对多等
实体–联系方法
数据模型的组成要素:
数据模型通常由数据结构、数据操作、数据的完整性约束条件三部分组成
数据结构描述数据库的组成对象以及对象之间的联系
数据操作是指对数据库中的各种对象(型)的实例允许执行的操作的集合,包括操作以及有关的操作规则
数据库主要有 查询和更新(增、删、改) 两大类操作
数据库的完整性约束条件是一组完整性规则
完整性规则即对存储在数据库中的数据进行一定的约束
例如,一个人的年龄范围在0-120岁之间,姓名非空等等
数据库中主要的逻辑模型:
层次模型
网状模型
前面两种为非关系模型、格式化模型
关系模型
面向对象数据模型
对象关系数据模型
该模型为对象模型
半结构化模型
在格式化模型中实体用记录表示,实体的属性对应记录的数据项(字段)
实体之间的联系在格式化模型中为记录之间的两两联系
在格式化模型中数据结构的单位基本层次联系
基本层次联系:两个记录以及之间的一对多(或一对一)的联系
由于子女节点可以有一个或多个,所以一对一(一对多)
在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型:
在层次模型中,每个节点表示一个记录类型,记录类型之间的联系用节点之间的连线表示,这种联系是父子之间的一对多的联系
每个记录可以包含多个字段
层次模型像一个倒立的树,节点的双亲是唯一的
只能直接处理一对多的实体联系
任何记录值只有按照路径查看(上到下 从根开始)
没有一个子女记录可以脱离双亲记录独立存在
数据操作:
增删改查
完整性约束:
没有相应的双亲节点就不能插入它子女的节点值,如果删除了双亲节点,相应的子女节点也会被删除,更新操作时应该更新所有相应的记录保证数据的一致性
优点:
缺点:
网状数据库采用网状模型作为数据的组织方式
在数据库中,把满足下面两个条件的基本层次联系集合称为网状模型:
与层次模型一样,网状模型中每个节点表示一个记录类型(实体), 每个记录类型可以包含多个字段(实体的属性),节点间的连线表示记录类型(实体)之间一对多的父子联系
允许多个节点没有双亲
允许一个节点有多个双亲
允许两个节点之间有多种联系
多对多联系在网状模型中的表示:
网状模型间接表示多对多联系的方法:将多对多联系分解成多个一对多的联系
网状模型允许插入未确定双亲节点值的子女节点,允许只删除双亲节点的值
支持记录码的概念
保证一个联系中双亲节点和子女节点之间是一对多的联系
支持双亲记录和子女记录之间的某些约束条件
关系型数据库系统采用关系模型作为数据的组织形式
在关系模型中,每个关系的数据结构都是一张二维表
关系模型中的概念:
关系模型要求关系必须规范化,关系的每一个分量必须是一个不可分割的数据项,即表中不能含有表
数据操作:增删改查
完整性约束:实体完整性、参照完整性、用户定义的完整性
实体完整性、参照完整性为两个不变性
关系模型中的数据操作是集合操作,操作对象和操作结果都是关系
在数据库模型中有“型”和“值”的概念。
例如,学生(学号,姓名,、、、)为一个型,(20200000,张三,、、、)为一个值,后者是前者的一个具体赋值
模式:数据库中全体数据的逻辑结构和特征的描述,仅仅涉及型的描述,不涉及具体的值。
模式的一个具体的值为模式的一个实例,同一个模式可以有多个实例
模式是相对稳定的
实例是相对变动的,实例随着数据库中的数据更新而变动
数据库系统的三级模式结构:指数据库系统是由 外模式、模式、内模式 三级构成
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
模式是数据库系统模式结构的中间层,不涉及数据的物理存储细节和硬件环境,与具体的应用程序、所使用的应用开发工具即高级程序设计语言无关
模式是数据库系统模式结构的中心
一个数据库一个模式
定义模式时要定义数据的逻辑结构,和定义数据之间的联系,定义与数据有关的安全性、完整性要求
数据库管理系统提供数据库定义语言(DDL)来定义模式
外模式也称子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
外模式通常为模式的子集。
一个数据库可以有多个外模式
同一个外模式可以为某一用户的多个应用系统所用,但一个应用程序只能使用一个外模式
外模式是保证数据库安全性的一个有力措施
内模式也称存储模式,一个数据库只有一个内模式,是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。
数据库系统的三级模式是数据的三个抽象级别
实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像、模式/内模式映像
这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性
外模式/模式映像保证了数据的逻辑独立性
对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。映像定义通常包含在各自外模式的描述中。
当模式改变时,由数据库的管理员对各个外模式/模式映像作出相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不用改变,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
模式/内模式映像保证了数据的物理独立性
数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。
该映像通常包含在模式描述中。
当数据的存储结构改变时,由数据库管理员对模式/内模式映像作出相应的改变,可以使得模式保存不变,从而应用程序不用改变。保证了数据与程序的物理独立性,简称数据的物理独立性。
数据库系统一般由数据库、数据库管理系统(及其应用开发工具)、应用程序、数据库管理员构成。