1.09k likes | 1.2k Views
第一章 绪 论. 第一节 数据库系统概述. 第二节 数据模型. 第三节 数据库系统结构. 第四节 数据库系统组成. 第五节 DB 技术的研究领域. 参考教材:数据库系统概论(第三版). 第一节 数据库系统概述. 一、四个基本概念. 二、数据库管理技术的产生和发展. 三、数据库系统的特点. 一、四个基本概念. 1. 数据 ( D ata ) 2. 数据库 ( D ata B ase ) 3. 数据库管理系统 ( D ata B ase M anagement S ystem )
E N D
第一章 绪 论 第一节 数据库系统概述 第二节 数据模型 第三节 数据库系统结构 第四节 数据库系统组成 第五节 DB技术的研究领域 参考教材:数据库系统概论(第三版)
第一节 数据库系统概述 一、四个基本概念 二、数据库管理技术的产生和发展 三、数据库系统的特点
一、四个基本概念 1.数据(Data) 2.数据库(Data Base) 3.数据库管理系统(Data Base Management System) 4.数据库系统( Data Base System)
1.数据 描述事物的符号记录称为数据。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等,数据有多种表现形式,它们都可以经过数字化存入计算机。
2.数据库 • 所谓数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
3.数据库管理系统 DBMS • 是位于用户与操作系统之间的一层数据管理软件 • 主要功能 • 数据定义功能 • 数据操纵功能 • 数据库的运行管理 • 数据库的建立和维护功能 • 下面详细介绍
数据定义功能 • 它包括数据库初始数据的输入、转换功能,数据库转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序完成的。
数据操纵功能 • DBMS还提供数据操纵语言(Data Manipulation Language,简称DML),用户可以使用DML操纵数据实现对数据库的基本操作,如查询、插入、删除和修改等。
数据库的运行管理 • 数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。
数据库的建立和维护功能 • 它包括数据库初始数据的输入、转换功能,数据库转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序完成的。
4.数据库系统DBS • 数据库系统 • 是指在计算机系统中引入数据库后的系统,常常把数据库系统称简称为数据库。 • 基本组成: • 数据库 • 数据库管理系统(及其开发工具) • 应用系统 • 数据库管理员和用户 • 数据库管理员 • (即DataBase Administrator,简称DBA)
应用系统 应用开发工具 数据库管理系统 操作系统 用户 用户 用户 数据库系统示意图 数据库管理员 数据库
图1.2数据库在计算机系统中的地位 用 应 系 统 发 开 工 用 具 应 DBMS 作 系 操 统 硬件 编 统 译 系
二、数据库管理技术的产生和发展 1、什么是数据处理?什么是数据管理? • 数据处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。 • 数据管理是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。 2、数据管理技术经历了三个阶段: • 人工管理、文件系统、数据库系统。 3、三个阶段的背景和特点
数据库管理技术发展的三个阶段 人工管理阶段 文件管理阶段 数据库系统阶段
二.1.人工管理阶段(背景) • 20 世纪50年代中期以前,计算机主要用于科学计算。 • 连磁盘这样的直接存取的存储设备都没有,只有纸带、卡片和磁带等 • 还没有象样的操作系统软件,也没有管理数据的软件。 • 数据处理的方式是批处理。
当时由于计算机主要用于科学计算,一般不需要将数据长期保存,只是在计算某一课题时将数据输入,用完就撤走。不仅对用户数据如此处理,对系统软件有时也这样。当时由于计算机主要用于科学计算,一般不需要将数据长期保存,只是在计算某一课题时将数据输入,用完就撤走。不仅对用户数据如此处理,对系统软件有时也这样。 二.1.人工管理阶段(特点) 一旦数据的逻辑结构和物理结构发生变化后,必须对应用程序做相应的修改,加重了程序员的负担。 • ....(1)数据不保存 • ....(2)应用程序管理数据 • ....(3) 数据不共享 • ....(4) 数据不具有独立性 数据需要由应用程序自己管理,一个应用程序对应着一个数据集,没有相应的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。因此程序员负担很重。 数据是面向应用的,一组数据只能对应一个程序。当多个应用程序涉及某些相同数据时,由于必须各自定义,无法互相利用、互相参照,因此程序与程序之间有大量的冗余数据。
二.2.文件管理阶段(背景) • 20世纪50年代后期到60年代中期,这时硬件方面已有了磁盘、磁鼓等直接存取设备 • 软件方面已有了专门的数据管理软件,即文件系统; • 处理方式上不仅有了批处理,而且能够联机实时处理
应用程序1 数据组1 应用程序2 数据组2 … … 存取 方法 即由文件系统提供存取方法 … … 应用程序n 数据组n 二.2.文件管理阶段(特点)
二.2.文件管理阶段(特点) • ....(1) 数据可以长期保存 • 数据长期保存于外存,能够进行反复地查询、修改、插入、删除。
二.2.文件管理阶段(特点) • ....(2) 由文件系统管理数据 • 文件系统把数据组织成相互独立的数据文件,利用“按文件名访问,按记录进行存取”的管理技术,可以对文件进行修改、插入、删除的操作。 • 文件系统实现了记录内的结构性,但整体无结构。 • 程序和数据之间由文件系统提供存取方法进行转换,使应用程序与数据之间有了一定的独立性。 • 程序员不必过多考虑物理细节,将精力集中于算法。而且数据在存储上的改变,不一定反映在程序上,大大节省了维护程序的工作量。
二.2.文件管理阶段(特点) • ....(3) 数据共享性差,冗余度大 • 在文件系统中,一个文件基本上对应于一个应用程序,即文件仍是面向应用的。 • 当不同的应用程序具有相同的数据时,也必须建立各自的文件,而不能共享相同的数据,造成数据的冗余和存储空间的浪费! • 同时由于相同的数据的重复存储、各自管理,容易造成数据的不一致性,给数据的修改和维护带来了困难。
二.2.文件管理阶段(特点) • ....(4)数据独立性差 • 系统不容易扩充!文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此想要对现有的数据再增加一些新的应用会很困难, • 一旦数据的逻辑结构改变,必须修改应用程序,修改文件结构的定义!应用程序的改变,比如应用程序改用不同的高级语言等,也将引起文件的数据结构的改变。因此数据与程序之间仍缺乏独立性。 • 可见文件系统仍然是一个不具有弹性的无结构的数据集合,即文件之间是孤立的!不能反映现实世界事物之间的内存联系。
二.3数据库系统阶段(背景) • 20世纪60年代以来,计算机应用于管理的规模越来越大,应用越来越广泛,数据量急剧增加,同时多种应用、多种语言相互覆盖地共享数据集合的需求越来越强烈。 • 硬件方面:已有大容量磁盘,硬件价格下降; • 软件方面:价格上升,为编制和维护系统软件及其应用程序所需的的成本增加; • 在处理方式上,联机实时处理的要求更多,并开始提出和考虑分布处理。
二.3数据库系统阶段(背景) • 为了解决多用户、多应用共享数据的需求,使数据尽可能多地应用服务,数据库技术便应运而生,出现了统一管理数据的专门软件――――数据库管理系统。
二.3数据库系统阶段(特点) • 多用户、多应用共享数据 • 分布处理、联机实时处理 • 多种应用 • 多种语言互相覆盖地共享数据集合
三、数据库系统特点 1 .数据结构化 2.数据共享性高,冗余小,易扩充 3.具有较高的数据和程序的独立性 4.数据由DBMS统一管理和控制
三、数据库系统特点 • 1 .数据结构化(在文件系统中,相互独立的文件的记录内部是有结构的。) • 数据结构化是数据库与文件系统的根本区别。 • (1)传统文件的最简单形式是等长同格式的记录集合。例如:一个学生人事记录文件。 • 每个记录的长度必须等于信息量最多的记录的长度,因而浪费存储空间。 • 数据的最小存取单位是记录 • 记录之间没有联系 • 不适应多应用的需求 • (2)结构化的数据组织方式 见下图
学生基本记录 学号 姓名 性别 系别 年龄 学生人事记录 学生学籍记录 学生选课记录 家庭出身 籍贯 政治面貌 日期 地点 学历名 课程号 学号 学分 奖惩情况记录 家庭成员记录 课程记录 日期 奖惩条目 姓名 与本人关系 详细情况 课程号 课程 主记录—详细记录格式的学生数据组织图
这种数据组织方式为各部分的管理提供了 必要的记录,使数据结构化了。 • 这就要求在描述数据时不仅要描述数据本身,还要描述数据之间的联系。 • 在文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联系。 • 数据库系统实现整体数据的结构化,是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
三、数据库系统特点 也就是说,数据在磁盘上的数据库中怎样存储是由DBMS 管理的,用户程序不需要了解,应用程序要处理的只是数 据的逻辑结构,这样当数据的物理存储改变了,应用程序 不用改变。 • 2.数据共享性高,冗余小,易扩充 • 3.具有较高的数据和程序的独立性 • 物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。… • 逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的… • 4.数据由DBMS统一管理和控制 • 数据库的共享是并发的共享 • DBMS必须提供如下几种数据控制功能: 数据的安全性保护、数据的完整性检查、并发控制、数据库恢复 多个用户可同时存取数据库中的数据 也就是说,数据的逻辑结构改变了,用户程序也可以不变。
程序和数据的关系如图: 应用程序1 数据库 应用程序2 数据库管 理系统 … …
第二节 数据模型——数据模型的三要素 • 数据模型的概念 • 模型是现实世界特征的模拟和抽象。 • 数据模型( Data Model)也是一种模型,它是现实世界数据特征的抽象。 • 数据模型的三要素 • 数据结构、数据操作、完整性约束 • 概念模型 ①概念模型的概念; ②信息世界的主要概念:实体、属性、码、域、实体型、实体集、联系; ③实体型间的三类联系; ④概念模型的表示方法——E-R图
一、数据模型应满足三方面要求: • 一是能比较真实地模拟现实世界; • 二是容易为人所理解; • 三是便于在计算机上实现。
二、模型分为属于两个不同层次的两类。 • 第一类模型是概念模型,也称信息模型 • 它是按用户的观点来对数据和信展建模,主要用于数据库设计。 • 另一类模型是数据模型 • 主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。主要用于DBMS的实现。
现实世界 认识抽象 信息世界 概念模型 转换 机器世界 DBMS支持的数据模型
三.数据模型的组成要素 1、数据结构 • 数据结构是对系统静态特性的描述。 • 数据结构是所研究的对象类型的集合。 • 这些对象是数据库的组成成分,包括两类: • 一类是与数据类型、内容、性质有关的对象,例如网状模型中的数据项、记录,关系模型中的域、属性、关系等; • 另一类是与数据之间联系有关的对象,例如网状模型中的系型( set Type)。
三.数据模型的组成要素(续) 2、数据操作 • 数据操作是对系统动态特性的描述。 • 数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的 集合,包括操作及有关的操作规则。 • 数据库主要有检索和更新(包括插入、删除、修改)两大类操作。 • 数据模型必须定义这些操作的确切含义、操作符号、 操作规则(如优先级)以及实现操作的语言。
三.数据模型的组成要素(续) 3.数据的约束条件 • 是一组完整性规则的集合。 • 完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 • 数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。 • 例如,在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件
三.数据模型的组成要素(续) 3.数据的约束条件(续) • 数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。 • 例如,在学校的数据库中规定大学生入学年龄不得超过80岁,学生累计成绩不得有若干门以上不及格等。
四、概念模型 • 概念模型的概念 • 信息世界的主要概念: • 实体、属性、码、域、实体型、实体集、联系。 • 实体型间的三类联系 • 概念模型的表示方法——E-R图
四、概念模型(续) • 概念模型的概念 • 概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库 设计人员和用户之间进行交流的语言 • 因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面它还应该简单、清晰、易于用户理解。
四、概念模型(续) 信息世界中的基本概念 • (l)实体(Entity) • 客观存在并可相互区别的事物称为实体。 • (2)属性(Attribute) • 实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。 • (3)码(Key) • 唯一标识实体的属性集称为码。例如学号是学生实体的码。
四、概念模型(续) • 信息世界中的基本概念(续) • (4)域(Domain) • 属性的取植范围称为该属性的域。 • (5)实体型(Enity Type) • 具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,出生年份,系,入学时间)就是一个实体型。
四、概念模型(续) • 信息世界中的基本概念(续) • (6)实体集(Entity Set) • 同型实体的集合称为实体集。例如,全体学生就是一个实体集。 • (7)联系(Relationship) • 在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。
两个实体模型之间的联系: 实体型A 实体型A 实体型A 1 1 m 联系名 联系名 联系名 n n 1 实体型B 实体型B 实体型B (a)1:1的联系 ( b)1:n 的联系 ( c)m :n 的联系 供应商 课题 1 m 讲授 供应 n n p m 教员 参考书 项目 零件 (a)三个实体型之间一对多联系 (b)三个实体型之间多对多联系
四、概念模型(续) 职工 n 1 领导 同一实体集内一对多联系
四、概念模型(续) • 概念模型的表示方法 • 概念模型的表示方法很多,其中最为著名最为常用的是 P.P.S.Chen于1976年提出的实体一联系方法( Entity-RelationshiP-Appfoach)。该方法用 E-R图来描述现实世界的概念模型, E-R方法也称为 E-R模型。 • 实体型:用矩形表示,矩形框内写明实体名。 • 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。 • 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在天向边旁标上联系的类型门:1,1:n或m:n)。
项目 项目号 预算 开工日期 描述 四、概念模型(续) 仓库号 面积 电话号 职工号 姓名 年龄 仓库 职工 职称 零件 姓名 电话号 供应商号 地址 帐号 零件号 规格 供应商 名称 单价