第1讲 数据库系统概述 在人们的周围有各种各样的数据库系统在运行。当人们买飞机票、领发工资、查资料、买卖股票时都需要与数据库打交道。 第1讲 数据库系统概述 在人们的周围有各种各样的数据库系统在运行。当人们买飞机票、领发工资、查资料、买卖股票时都需要与数据库打交道。 数据库系统已成为人们提高工作效率和管理水平的重要手段,已成为企业提高竞争力有力武器。 那么,什么是数据库系统?它是如何构成如何工作的呢?我们怎样才能成功开发出一个高性能的数据库系统呢?
第1讲 数据库系统概述 1.数据库系统组成 2.数据模型 3.数据库的逻辑描述与物理描述 4.数据库三级模式 5.数据库体系结构 第1讲 数据库系统概述 1.数据库系统组成 2.数据模型 3.数据库的逻辑描述与物理描述 4.数据库三级模式 5.数据库体系结构 6.数据库的发展
1. 数据库系统 组成 (1)数据(DATA)如: “姓名“,12 (2)数据库(DATABASE 简称DB) 如:xskc.mdb 1. 数据库系统 组成 (1)数据(DATA)如: “姓名“,12 (2)数据库(DATABASE 简称DB) 如:xskc.mdb (3)数据库管理系统( DataBase Management System 简称DBMS) 如: access 可以控制管理数据库 (4)数据库管理员( Database Administrator DBA) (5)数据库系统( DataBase System 简称DBS)
数据库系统( DataBase System 简称DBS) 它是存储介质、处理对象和管理系统的集合体,一般由数据库、硬件、软件、数据库管理员四部分构成。
1.数据库(DataBase,简称为DB) 数据库是与一个特定组织的各项应用相关的全部数据的 汇集。通常由两大部分组成:一部分是有关应用所需要 的工作数据的集合,称为物理数据库,它是数据库的主 体;另一部分是关于各级数据结构的描述,称为描述数 据库,通常是由一个数据字典系统管理。 数据库构建主要是通过综合各个用户的文件,除去不必 要的冗余,使之相互联系形成的数据结构,数据结构的 实现取决于数据库的类型。
2.硬件支持系统 硬件是数据库赖以存在的物理设备,包括CPU,内存,外存,数据通道等各种存储、处理和传输数据的设备。
3.软件支持系统 主要包括操作系统、数据库管理系统、各种宿主语言和支持开发的实用程序等。 WINDOWS,UNIX ACCESS,ORACLE C++,VB,ASP等等 XXX工资管理系统
(Database Administrator,简记为DBA) 4.数据库管理员 (Database Administrator,简记为DBA) 管理、开发和使用数据库系统的人员主要有系统分析员、数据库管 理员(DBA)、应用程序员和用户。
5.数据库系统层次结构图 数据库用户 应用系统 应用开发工具软件 数据库管理系统 操作系统 硬件/数据库
2. 数据模型 DBMS都是针对数据模型进行设计的,任何一个数据库都 要组织成符合DBMS规定的数据模型。如何将反映现实世 2. 数据模型 DBMS都是针对数据模型进行设计的,任何一个数据库都 要组织成符合DBMS规定的数据模型。如何将反映现实世 界中有意义的信息,转化为能在计算机中表示的数据, 并能被数据库处理,是数据模型要解决的问题。数据模 型不仅要能表示存储了哪些数据,更重要的是还要能以 一定的结构形式表示出各种不同数据之间的联系。利用 这些联系很快找到相关联的数据,完成相关数据的运算 处理。因此,数据模型应具有描述数据和数据联系两方 面的功能。
(1)数据模型的三个层次 概念数据模型 它是一种与具体的计算机和数据库管理系统无关的,面向客观世界和用户的模型。(给用户看的) 逻辑数据模型 是概念世界的抽象描述到信息世界的转换。它是一种面向数据库系统的模型,直接与DBMS有关。(面向专业人员) 物理数据模型。 是信息世界模型在机器世界的实现。它是面向计算机物理表示的模型,此模型给出了数据模型在计算机上真正的物理结构的表示(存放在磁盘上的)
(2) 概念数据模型 1.实体(entity)如 “学生”,“工人” 2.属性(attribute) 如“学号”,“姓名” 3.码(key) 如 “学号” 4.域(domain) 学号取8位 5.实体型(entity type)学生(学号,姓名,..) 6.实体集(entity set) 全体学生 7.联系(relationship) 实体对应关系
联系 ⑴ 一对一联系(1:1) ⑵ 一对多联系(1:N) ⑶ 多对多联系(M:N) ⑴ 一对一联系(1:1) 例如,一个企业只有一个厂长,而一个厂长只在一个企业中任职, 则企业与厂长之间具有一对一联系。 ⑵ 一对多联系(1:N) 例如,一个企业聘用多名工人,而一名工人只在一个企业中工作, 则企业与工人之间具有一对多联系。 ⑶ 多对多联系(M:N) 例如,一个企业聘用多名工程师,而一个工程师在多个企业中兼职, 则企业与工程师之间具有多对多联系。
概念模型的表示方法很多,其中最为常用实体—联系方 法(Entity-Relationship approach)。该方法用E-R图 来描述现实世界的概念模型。E-R图提供了表示实体型、 属性和联系的方法。 (1)实体型(集):用矩形表示,矩形框内写明实体集名。 (2)属性:用椭圆形表示,并用无向边将其与相应的实体集连接起来。 (3)联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,并且在无向边旁标上联系的类型(1:1,1:N或M:N)。 联系本身也是一种实体型,也可以有属性
属性名1 …… 属性名n 实体集A 属性名1 n …… 联系名 属性名n m 实体集B 属性名1 …… 属性名n
学号 …… 姓名 学生 借期 n …… 借阅 还期 m 图书 书号 …… 书名
图1-8用E-R图描述了上面有关两个实体型之间的3类联系、3个实体型之间的一对多联系和一个实体型内部的一对多联系的例子。
图1-8实体型之间关系
带属性的ER图
假设上面的5个实体型即学生、班级、课程、教师、参考书分别具有下列属性: 学生(学号、姓名、性别、年龄) 班级(班级编号、所属专业系) 课程(课程号、课程名、学分) 教师(职工号、姓名、性别、年龄、职称) 参考书(书号、书名、内容提要、价格)
(3) 逻辑数据模型 层次模型(hierarchical model) 网状模型(network model) 关系模型(relational model)。
层次模型 用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型(hierarchical model),层次模型的每个父结点可以有多个子结点,但每个子结点只允许有一个父结点
对于描述一种简单的“树”型结构,层次模型非常合适,并且这种模式对于包含大量数据的数据库来说,效率很高。例如,银行的客户系统就很适合层次模型,这是因为每个客户可能包含多个账户,每个账户可能会进行多个交易。
网状模型 网状模型是利用集合理论创造出的一种类似树状层次的结构,与树状层次结构不同的是其中的子结点可以拥有多个父结点。其实,层次模型是网状模型的一个特例。网状数据库系统的典型代表是DBTG数据库管理系统。 某一结点可以无父结点,某一结点也可以有多个父结点。
下图为一个描述网状模型的简图: 网状模型的数据库,对于寻找附属于指定的对象的一组记录时,效率非常高。但是在按照某种特定的方式查找数据库记录时,数据库的速度会降低。
3.关系数据模型 关系模型是目前最重要的一种模型。在用户看来,一个关系模型的逻辑结构是一张二维表,它由行和列组成。例如,表1-1中的学生人事记录就是一个关系模型,它涉及下列概念。
⑴关系:对应通常说的表,如图1-1中的这张学生人事记录表; ⑵元组:表中的一行即为一个元组, 如(95001,张三,男,计算机系,北京) ⑶属性:表中的一列即为一个属性, 如 学号、 姓名; ⑷候选码(KEY):表中的某个属性组,它可以唯一确定一个元组,如学号,身份证,阅览证号 ⑸主码或主键(KEY):表中如果有多个候选码,只能选其中唯一一个作为主码
⑹域(domain):属性的取值范围,如人的年龄一般在1-100岁之间。图1-1中学生年龄属性的域应是(14—38),性别的域是(男,女),系别的域是一个学校所有系名的集合; ⑺分量:元组中的一个属性值;
学生(学号,姓名,性别,系别,年龄,籍贯) (8)关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,……,属性N) 例如,上面的关系可描述为: 学生(学号,姓名,性别,系别,年龄,籍贯)
3.数据库的逻辑描述与物理描述 表中每一行: 逻辑上称:元组 物理上称:记录 表中每一列: 逻辑上称:属性 物理上称:字段
4.数据库三级模式 应用A 应用B 应用C 应用D 外模式1 外模式2 外模式3 外模式/概念模式映象 概念模式 概念模式/内模式映象 外模式: 用户模式 模式 : 逻辑模式 内模式 : 物理模式 内模式 数据库
5.数据库体系结构 1.单用户 2.主从式结构 3.客户服务器
6.数据库的发展 人工管理 文件管理 数据库管理
1人工管理阶段 20世纪50年代中期以前,计算机应用于科学计算。硬件无直接存取设备,软件无操作系统和专门管理数据的软件;数据处理方式是批处理;管理者是人,方式是手工;是低级阶段。特点是: (1)数据无结构化,不在计算机内部保存。 (2)要手工管理数据物理存储。 (3)数据面向程序不共享。 (4)数据无独立性。一个程序只处理一批数据。 (5)数据处理的效率很低,编写程序麻烦。
2.文件管理阶段 20世纪50年代后期和60年代中期,PC应用从科学计算扩大到了数据管理领域。硬件有了磁盘、磁鼓等直接存储设备;软件有了文件系统;处理方式是批处理和联机实时处理。其特点是: (1)文件长期保存。 (2)由文件系统对数据进行管理。 (3)数据物理结构与逻辑结构有了区别,但较简单。 (4)数据共享性差。 (5)程序与数据之间只有一定的独立性。 缺点:数据冗余大;数据与程序间缺少独立性。
3. 数据库管理阶段 20世纪60年代后期,硬件出现了大容量的磁盘,价格下降,软件出现了数据库管理系统。其特点是: (1) 数据结构化,这是数据库与文件系统的根本区别。 (2) 由DBMS提供统一的管理控制功能(安全性、完整性、并发控制、数据库恢复)。 (3) 数据的共享性好。 (4) 数据的独立性高。 (5)可控数据冗余度,冗余度低。
4. 数据独立性的比较(1) 文件阶段应用程序与数据之间的关系 数据库阶段程序与数据之间的关系
文件 系统 数据库系统阶段 文件系统阶段 人工管理阶段 数据库 数据库 管理系统 5. 数据库技术的产生(2) 应用程序1 应用程序2 应用程序n 数据1 数据2 数据n 数据库 物理文件1 物理文件2 物理文件n 文件 系统 数据库 管理系统 数据库系统阶段 文件系统阶段 人工管理阶段
作业: P25 (10),(11),(12) 讨论内容 1.查询任一种数据库,描述它的产生年代,适用范围,价格,功能,特点,以及适合的操作系统并判断它属于哪一类数据库。(每个组长尽可能安排大,中,小型数据库各一个)。