本系列文章为笔者在校学习《数据库原理及应用》课程所作的课程笔记,文中大部分内容参考王珊
的《数据库系统概论》
数据是数据库中存储的基本对象。
存放数据的仓库,特点:
科学的组织和存储数据,高效的获取和维护数据。
数据库管理系统和操作系统一样是计算机基础软件,是一个大型复杂的软件系统。
主要功能:
Data Definition Language
,DLL
:通过它可以方便的对数据库中的存储对象进行定义;组织、存储、管理
:数据组织和存取的基本目标是提高存储空间利用率和方便存取;Data Manipulation Language
,DML
:可以实现对数据库的基本操作,如增删改查;数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统及其开发工具、引用系统、数据库管理员组成;Database Administrator
,DBA。
物理独立性
是指用户的应用程序和存储在硬盘上的数据库中的数据是相互独立的;逻辑独立性
是指用户的应用程序与数据库的逻辑结构是相互独立的。核心
和基础
。也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
网状模型
、层次模型
、关系模型
、面向对象数据模型、对象关系数据模型、半结构化数据模型等。按计算机系统的观点对数据建模,用于DBMS实现。抽象过程-两步抽象:
概念模型的用途:
实体
(Entity)属性
(Attribute)联系
(Relationship)实体之间的联系有一对一、一对多和多对多等多种类型
描述数据库的组成对象,以及对象之间的联系
描述的内容:
数据操作是对系统静态特性的描述
对数据库中各种对象(型
)的实例(值
)允许执行的操作的集合,包括操作及有关的操作规则。
数据操作的类型:
数据模型对操作的定义:
数据操作是对系统动态特性的描述
数据模型对完整性约束条件的定义:
基本的通用的
完整性约束条件。具体应用
所涉及的数据必须遵守的特定的语义约束条件。Hierarchical
Model)Network
Model)Relational
Model)层次模型是数据库系统中最早出现的数据模型
层次数据库系统的典型代表是IBM公司的 IMS(Information Management System)数据库管理系统。
层次模型用树形结构
来表示各类实体以及实体间的联系。
1、层次模型的数据结构
满足下面两个条件的基本层次联系的集合为层次模型:
根结点
层次模型的特点:
层次模型的数据操纵:
层次模型的完整性约束条件:
层次模型的优缺点:
优点:
缺点:
网状数据库系统采用网状模型
作为数据的组织方式。
1、网状模型的数据结构
满足下面两个条件的基本层次联系的集合:
表示方法(与层次数据模型相同):
实体型
:用记录类型描述每个结点表示一个记录类型(实体)属性
:用字段描述每个记录类型可包含若干个字段联系
:用结点之间的连线表示记录类型(实体)之间的一对多的父子联系层次模型实际上是网状模型的一个特例
2、网状模型的操纵与完整性约束
网状数据库系统(如DBTG)对数据操纵加了一些限制,提供了一定的完整性约束:
3、网状模型的优缺点
优点:
缺点:
关系数据库系统采用关系模型作为数据的组织方式
1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的 关系模型。
1、关系模型的数据结构
在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
关系必须是规范化的,满足一定的规范条件
关系的每一个分量必须是一个不可分的数据项, 不允许表中还有表
。
2、关系模型的操纵与完整性约束
数据操作是集合操作,操作对象和操作结果都是关系:
关系的完整性约束条件:
3、关系模型的优缺点
优点:
缺点:
模式(Schema)
实例(Instance)
例如:
在学生选课数据库模式
中,包含:
2020年的一个学生数据库实例
,包含:
一个数据库只有一个模式
模式的地位:是数据库系统模式结构的中间层
模式的定义
外模式(也称子模式
或用户模式)
外模式的地位:介于模式与应用之间
模式与外模式的关系:一对多
外模式与应用的关系:一对多
外模式的用途
内模式(也称存储模式
)
是数据物理结构
和存储方式
的描述,是数据在数据库内部的表示方式:
一个数据库只有一个内模式
三级模式是对数据的三个抽象级别
二级映象在数据库管理系统内部实现这三个抽象层次的联系
和转换
:
模式:描述的是数据的全局逻辑结构 外模式:描述的是数据的局部逻辑结构
保证数据的逻辑独立性
逻辑独立性
模式/内模式映象定义了数据全局逻辑结构
与存储结构
之间的对应关系。
数据库中模式/内模式映象是唯一的
该映象定义通常包含在模式描述中;
保证数据的物理独立性:
数据库模式
数据库的内模式
数据库的外模式
特定的应用程序
数据库的二级映像
数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去
数据的存取由数据库管理系统管理
由硬件平台及数据库
、软件
、人员
组成。
数据库系统对硬件资源的要求: