《数据库系统概论》 -- 1. 绪论
1. 绪论
1.1 数据库的四个基本概念
数据
描述事物的符号记录称为数据。
数据的含义称为数据的语义,数据与其语义是密不可分的。如数据93的语义可以是成绩、人数
数据库
是指长期的、有组织的、可共享的大量数据的集合。
具有较小的冗余度、较高的数据独立性和易扩展性
数据库管理系统
是一个计算机的基础软件。
功能:
数据定义功能
数据组织、存储和管理
数据操纵功能
数据库的事务管理和运行管理
数据库的建立和维护功能
其他功能(如数据库系统与网络中其他软件系统的通讯功能)
数据库系统
由数据库、数据库管理系统、应用程序和数据库管理员组成呢个的存储、管理、处理和维护数据的系统
1.2 数据模型
数据模型是对现实世界数据特征的抽象。
根据模型应用的目的不同,分为概念模型、逻辑模型、物理模型。
概念模型
也称信息模型。
按照用户的观点对数据和信息建模。
用于数据库设计。
扩展:
逻辑模型
包括层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等
按照计算机系统的观点对数据建模。
用于数据库管理系统的实现。
物理模型
描述数据在系统内部的表示方式和存取方法,是面向计算机系统的。
对数据最底层的抽象
从逻辑模型到物理模型的实现主要由数据库管理系统实现
数据模型组成部分:数据结构、数据操作、数据完整性约束条件
数据结构
描述数据库的组成对象以及对象之间的联系
是所描述的对象类型的集合,是对系统静态特性的描述。
数据操作
指对数据库中各种对象(型)的实例(值)所允许执行的操作的集合,包括操作及有关的操作规则
是对系统动态特性的描述
数据的完整性约束条件
是一组完整性规则
反映和规定数据必须遵守的基本的和通用的完整性约束条件(分为实体完整性、参照完整性约束条件)
数据模型的使用:
将现实世界的所有涉及目标转换为概念模型
将概念模型设计成为逻辑模型
数据库管理系统负责将逻辑模型转换为物理模型
1.2.1 概念模型
主要概念
实体Entity:客观存在并可相互区别的事物、抽象的概念或联系,均可称为实体。如:一个学生、一次选课、教师与院系之间的工作关系
属性Attribute:实体所具有的某一特性称为属性。如入学时间、姓名
码Key:唯一标识实体的属性。如学号
实体型Entity type:一类实体及它们所具有的共同属性。如学生(学号,姓名...)
实体集Entity Set:同一类型实体的集合。如全体学生
联系Relatioship:实体之间的联系(通常指实体集之间的联系)。有一对一、一对多、多对多
表示方法
实体-联系方法,通过E-R图来描述
1.2.2 逻辑模型
主要的逻辑数据模型:
层次模型 && 网状模型
层次模型和网状模型统称为格式化模型
格式化模型中数据结构的单位是基本层次联系(两个记录以及他们之间的一对多包括一对一的联系)
层次化模型
有且只有一个根结点(根结点没有双亲节点)
每个非根结点有且只有一个双亲结点
网状模型
可以有多个根结点
每个非根结点可以有多个双亲结点
优点:查询效率高
缺点:结构复杂,数据独立性差,可扩展性差、不易使用、不易维护。
关系模型
建立在严格的数据概念的基础上。
对应关系:
关系--表
元组--行
码--某个属性组
域--一组具有相同数据类型的值的集合。属性的取值范围来源于某个域
分量--元组中的一个属性值
关系模式--对关系的描述。如关系名(属性1,属性2,...,属性n)
原则:
关系的每一个分量必须是一个不可分的数据项
三大完整性约束条件:
实体完整性、参照完整性、用户自定义的完整性
优点:数据独立性高、可扩展性强、易用易懂易维护。
缺点:查询效率低于格式化数据模型。DBMS必须优化用户的查询请求
面向对象数据模型
对象关系数据模型
半结构化数据模型
1.3 数据库系统的结构
从数据库应用开发人员角度看,数据库系统通常采用三级模式结构(内部结构)。
从数据库最终用户角度看,数据库系统的结构分为单用户结构、主从式结构、分布式结构、客户-服务器、浏览器-应用服务器/数据库多层结构等(外部结构)。
模式schema
数据库中全体数据的逻辑结构和特征的描述
仅仅涉及型type的描述
实例instance
模式的一个具体值
三级模式结构
外模式
也称子模式或用户模式
是数据库用户(包括应用程序员和最终用户)能够看见并使用的局部数据的逻辑结构和特征的描述
是数据库用户的数据视图
是与某一应用有关的数据的逻辑表示。
模式
也称逻辑视图
是数据库中全体数据的逻辑结构和特征的描述
是所有用户的公共数据视图
内模式
也称存储模式
是数据物理结构和存储方式的描述
是将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织
是数据在数据库内部的组织方式
二级映像功能
外模式/模式映像
模式改变时,改变外模式/模式映像,从而外模式不改变
应用程序是依据外模式编写的,应用程序不用变,保证了数据与程序之间的逻辑独立性
模式/内模式映像
数据库的存储结构改变时,改变模式/内模式映像,从而模式不用改变
保证了数据与程序的物理独立性
1.4 数据库系统的组成
硬件平台及数据库
内存、磁盘、数据传输
软件
DBMS、支持DBMS的操作系统、具有DB接口的高级语言开发/编译工具、以DBMS为核心的应用开发工具
人员
DBA、系统分析员、应用程序员、用户
1.4.1 DBA责任
决定数据库中的信息内容和结构
决定数据库的存储结构和存取策略
定义数据的安全性要求和完整性约束条件
监控数据库的使用与运行
数据库的改进和重组、重构