1.1 数据管理技术的进展
1.1.1 基本概念
- 信息:以物理介质为载体,传递和反映世界各种事物存在方式和运动状态的表征。
- 数据:描述现实世界的各种信息(事物)的符号记录。数据的表现形式:数字、文字、图形、图像、声音、语言等。
- 信息和数据是两个既有联系又有区别的概念,数据是信息的载体,信息是数据的内涵。
- 数据处理:指对各种数据进行收集、存储、加工和传播的一系列活动的总和。
- 数据管理:指对数据进行分类、组织、编码、存储、检索和维护操作。
1.1.2 数据管理技术的进展
- 人工管理阶段
- 数据不长期保存在计算机中
- 数据是面向应用的
- 数据与程序不具有独立性
- 无法实现数据共享
- 数据冗余度大
- 文件系统阶段
- 数据能够长期保存。
- 由专门软件对数据进行管理
- 数据共享性差
- 数据冗余度大
- 数据独立性较差
- 可实现以文件为单位的共享
- 数据库系统阶段
- 数据结构化
- 数据共享性高
- 数据冗余度低
- 数据易于扩充
- 数据独立性高
- 数据统一管理与控制
1.2 理解数据库系统
1.2.1 什么是数据库系统
- 数据库:长期存储在计算机内、有组织、可共享的数据集合。
- 数据库系统:引入数据库之后的计算机系统。
- 数据库管理系统:专门用于管理数据库的系统软件。
1.2.1.1 数据库系统的组成
数据库、数据库管理系统、应用开发工具、数据库管理员、数据库应用系统、用户
1.2.1.2 数据库特点
- 数据结构化
- 整体数据的结构化是数据库的主要特征。
- 数据的结构用数据模型描述,无需程序定义和解释。
- 数据共享性
- 降低数据的冗余度,节省存储空间
- 避免数据间的不一致性
- 使系统易于扩充
- 数据独立性
- 物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。
- 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。
- 数据库管理系统对数据的统一控制
- 数据的安全性保护:使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。
- 数据的完整性检查:将数据控制在有效的范围内,或保证数据之间满足一定的关系。
- 并发控制:对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
- 数据库恢复:将数据库从错误状态恢复到某一已知的正确状态。
1.3 数据库系统结构
型:对某一类数据的结构和属性的说明
值:是型的一个具体赋值
1.3.1 数据库系统的三级模式结构
三级模式结构:外模式、模式、内模式
- 模式(也称逻辑模式):
- 数据库中全体数据的逻辑结构和特征的描述
- 一个数据库只有一个模式
- 是数据库系统模式结构的中间层
- 与数据的物理存储细节和硬件环境无关
- 与具体的应用程序、开发工具及高级程序设计语言无关
- 所有用户的公共数据视图,综合了所有用户的需求
- 数据的逻辑结构(数据项名、类型、取值范围等)
- 数据之间的联系
- 数据有关的安全性、完整性要求
- 外模式(也称子模式或用户模式):
- 数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
- 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
- 外模式的地位:介于模式与应用之间
- 模式与外模式的关系:一对多
- 外模式通常是模式的子集
- 一个数据库可有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求
- 对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同
- 内模式(也称存储模式)
- 是数据物理结构和存储方式的描述
- 是数据在数据库内部的表示方
- 一个数据库只有一个内模式
1.3.2 数据库系统的二级映像
数据库系统的二级映像是指外模式与模式之间、模式与内模式之间的映像关系 。
- 外模式/模式映像:
- 定义外模式与模式之间的对应关系
- 每个外模式都对应一个外模式/模式映象
- 映象定义通常包含在各自外模式的描述中
- 外模式/模式映象的用途:保证数据的逻辑独立性
- 当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变。
- 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性。
- 模式/内模式映象
- 定义了数据全局逻辑结构与存储结构之间的对应关系。
- 数据库中模式/内模式映象是唯一的
- 其定义通常包含在模式描述中
- 模式/内模式映象的用途:保证数据的物理独立性
- 当数据库的存储结构改变了,数据库管理员修改模式/内模式映象,使模式保持不变;
- 应用程序不受影响,保证了数据与程序的物理独立性。
- 三级模式与二级映像结构的优点:
- 保证数据独立性:将外模式与模式分开,保证了数据的逻辑独立性;将内模式与模式分开,保证了数据的物理独立性。
- 有利于数据共享,减少数据冗余。
- 有利于数据的安全性:不同的用户在各自的外模式下根据要求操作数据,只能对限定的数据进行操作。
- 简化了用户接口:用户按照外模式编写应用程序或输入命令,而无须了解数据库全局逻辑结构和内部存储结构,方便用户使用。
1.3.3 数据库管理系统
数据库管理系统(DBMS)是对数据进行统一管理与控制的专门系统软件。
主要功能:
- 数据定义功能
- 数据操纵功能
- 数据控制功能
- 数据库的建立和维护功能
- 数据组织、存储和管理
1.3.4 数据库系统所需人员
- 开发、管理和使用数据库系统的人员主要包括:
- 数据库管理员
- 系统分析员
- 数据库设计人员
- 应用程序员
- 最终用户
1.3.4.1 数据库管理员
- 是指对数据库和DBMS进行管理的一个或一组人员,负责全面管理和控制数据库系统。
- 其具体职责包括:
- 参与数据库设计。
- 数据完整性和安全性管理。
- 数据库运行维护和性能评价。
- 数据库改进和重构。
1.3.4.2 系统分析员
负责应用系统的需求分析和规格说明,要和用户及DBA协商,确定系统的软/硬件配置,并参与数据库系统的概要设计。
1.3.4.3 数据库设计人员
- 是数据库设计的核心人员,负责数据库中数据内容及结构的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调研和系统分析,然后进行数据库设计。
- 通常情况下,数据库设计人员是由DBA或系统分析员担任的
1.3.4.4 应用程序员
负责设计和开发数据库应用程序,并负责进行调试和安装。
1.3.4.5 最终用户
- 偶然用户:不确定的或很少使用系统的人员
- 简单用户:使用应用系统访问数据库的人员(如,银行的职员、机票预定人员、旅馆总台服务员等)
- 复杂用户:直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的API编制自己的应用程序(如,工程师、科学家、经济学家、科技工作者等)
1.4 数据模型
1.4.1 数据模型的概念
- 模型:是对现实世界的模拟和抽象。
- 数据模型:是现实世界中数据特征的抽象。
- 数据模型的作用:用来抽象、表示和处理现实世界中的数据和信息。
- 数据模型的定义:数据的组织结构称为数据模型,它决定了数据及其之间联系的表达方式。
- 数据模型应满足三方面要求
- “模拟逼真”:能较真实地模拟现实世界
- “易理解”:容易为人所理解
- “易实现”:便于在计算机上实现
- 现实世界中的客观对象抽象为概念模型;
- 把概念模型转换为某一DBMS支持的数据模型。
1.4.2 概念数据模型
- 概念数据模型事现实世界到信息世界的抽象
- 概念模型与DBMS无关
- 概念模型的用途
- 用于信息世界的建模
- 是现实世界到机器世界的一个中间层次
- 数据库设计人员和用户之间进行交流
- 对概念模型的基本要求:。
- 较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识
- 简单、清晰、易于用户理解
1.4.2.1 概念模型的表示方法
- 实体-联系(Entity-Relationship)方法(E-R方法):用E-R图来描述现实世界的概念模型
1.4.2.2 E-R模型的三要素
- 实体(Entity)
- 实体是指客观存在并可相互区别的事物。实体可以是人、事或物,也可以是抽象的概念。例如,一件商品、一个客户、一份订单等都是实体。
- 属性(Attribute)
- 实体通常有若干特征,每个特征称为实体的一个属性。属性刻画了实体在某方面的特性。例如,商品实体的属性可以有商品编号、商品类别、商品名称、生产商等。
- 联系(Relationship)
- 现实世界中事物之间的联系反映在E-R模型中就是实体间的联系。例如,订单就是客户和商品之间的联系。
1.4.2.3 实体型和实体值
实体型(Entity Type)是指对某一类数据结构和特征的描述。通常实体型由实体名和属性名的集合来抽象和刻画同类实体。
例如,商品(商品编号,商品类别,商品名称,生产商,单价,库存量,保质期)是一个实体型。
实体值(Entity Value)是实体型的内容,由描述实体的各个属性值组成。
例如,(50020005,体育用品,足球,美好体育用品公司,120,20,2012-1-1)是实体值。
1.4.2.4 两个实体型间联系的类型
- 1:1 联系
- 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。
- 实例:班级与班长之间的联系(一个班级只有一个正班长,一个班长只在一个班中任职)
- 1:n 联系
- 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系;反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系;记为1:n
- 实例:班级与学生之间的联系(一个班级中有若干名学生,每个学生只在一个班级中学习)
- m:n 联系
- 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n
- 实例:课程与学生之间的联系(一门课程同时有若干个学生选修,一个学生可以同时选修多门课程)
1.4.2.5 两个以上的实体型之间的联系
两个以上的实体型内的各实体之间也可以存在一对一,一对多,多对多的联系 。
1.4.2.6 单个实体型内的联系
同一个实体型内的各实体之间也可以存在一对一,一对多,多对多的联系 。
1.4.2.7 E-R模型的表示—E-R图
- 实体型的表示
- 用矩形表示,矩形框内写明实体名。
- 属性
- 用椭圆形表示,并用无向边将其与相应的实体连接起来。
- 联系
- 联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。
- 联系的属性:联系也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。
【例】客户订购某类商品均有数量,则实体型“客户”与实体型“商品”之间的联系就具有属性“数量”,其E-R图表示如下。
1.4.3 逻辑数据模型
- 是信息模型(概念模型)的数据化,从计算机角度出发,提供表示和组织数据的方法。
- 三要素:
- 数据结构:记录间的组织形式。静态
- 数据操纵:建立在特定结构下的操纵实现。动态
- 数据完整性约束:完整性约束是数据的一组完整性规则的集合,是对记录内部及记录间的限定。
- 逻辑数据模型的分类
- 层次模型
- 网状模型
- 关系模型
1.4.4 关系模型
- 1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出。
- 数据结构 – 实体、联系均用二维表:关系模型中基本的数据结构是表格,关系模型使用二维表来表示实体及其联系。
- 数据操作 – 集合操作,存取路径透明:关系数据操作具有两个显著特点:一是关系操作是集合操作,即操作的对象和结果均为集合;二是关系模型将操作中的存取路径向用户屏蔽起来,用户只要说明做什么,而不必指出怎样做。
- 数据完整性约束:关系完整性约束规则包括三类:实体完整性、参照完整性和用户定义完整性。
- 关系模型的特点:
- 优点
- 建立在严格的数学概念的基础上
- 概念单一
- 存取路径对用户透明
- 缺点
- 查询效率往往不如非关系数据模型
- 增加了开发DBMS的难度
- 优点
1.5 数据库系统的发展
1.5.1 数据库系统的发展阶段
- 第一代数据库系统
- 20世纪70年代,层次和网状数据库系统
- 代表:层次模型数据库系统的典型代表是IBM公司的IMS;网状模型的规范是DBTG,实际系统有:HP公司的IMAGE、Honeywell公司的IDS/2等。
- 第二代数据库系统
- 20世纪70年代后期以后,关系数据库系统
- 代表:Oracle、SQL Server、Sybase、DB2、Informix等。
- 第三代数据库系统
- 数据库技术和其他学科内容相结合(分布式数据库、工程数据库、演绎数据库、知识数据库、时态数据库、空间数据库等)
1.5.2 数据库系统主要研究领域
- 数据库管理系统软件的研制
- DBMS核心
- 一组相互联系的软件系统
- 工具软件
- 中间件
- 数据库设计
- 数据库设计理论、方法
- 设计工具
- 数据模型和数据建模
- 数据库理论
- 关系数据模型
- 关系规范化理论
- 新的数据模型等
本章小结
- 数据库系统概述
- 数据库的基本概念
- 信息、数据、数据处理、数据管理、数据库、数据库系统、数据库管理系统
- 数据管理的发展过程
- 手工管理、文件系统、数据库系统
- 数据库系统的特点
- 结构化、共享性、独立型、统一管理与控制
- 数据库的基本概念
- 数据模型
- 数据模型的概念:对数据特征的抽象描述
- 概念模型,E-R模型(三种实体型联系,ER图)
- 逻辑数据模型
- 层次模型、网状模型、关系模型
- 数据库系统的体系结构
- 数据库系统三级模式结构
- 模式、外模式、内模式
- 数据库系统的二级映像
- 模式/外模式映像、模式/内模式映像
- 数据库系统三级模式结构
- 数据库系统的组成
- 数据库、数据库管理系统、应用开发工具、数据库管理员DBA、数据库应用系统、用户