Download presentation
Presentation is loading. Please wait.
1
第一章: 绪论
2
课程要点 掌握数据库系统的基本概念和基本原理。 掌握E-R模型的概念和方法。 了解关系的性质,掌握关系模型的基本概念。
掌握关系数据库标准语言-SQL。 掌握关系数据库规范化理论和数据库设计方法,初步具备进行数据库应用系统开发的能力。 了解数据库的恢复技术及数据库的安全性。 使用关系数据库管理系统DB2、ORACLE。 课程网站:
3
第一章 绪论 信息与数据 数据处理技术的发展 数据描述与概念模型 数据模型 关系数据模型 数据库系统结构 数据库管理系统
4
引 言 计算机的主要应用领域 科学计算、数据处理、过程控制。 数据库系统
引 言 计算机的主要应用领域 科学计算、数据处理、过程控制。 数据库系统 由相关数据集合和操纵这些数据的程序组成。用于存入、保存、读出大量数据 。 管理信息系统,办公自动化系统,决策支持系统等都使用数据库系统或数据库技术。 数据库代表性应用领域 银行业、航空业、学校、信用卡交易、电信业、金融业、销售业、 制造业。
5
数据库的发展概况 数据库发展历程 1. 人工管理阶段 20世纪50年代中期以前,计算机数据管理的初级阶段。 2. 文件系统阶段
20世纪50年代后期-60年代中期。 3. 数据库系统阶段 20世纪60年代后期, 1970年美国IBM公司的高级研究员 E. F. Codd连续发表论文,提出了关系数据模型,奠定了关系数据库的理论基础。
6
人工管理阶段(50年代中期) 计算机主要用于科学计算 例如,高阶方程、曲线拟和等。 特点:数据量小、结构简单。 外存为顺序存取设备
例如,磁带机、卡片机、纸带机。 特点:不能直接存取。 数据是面向程序的 每一组数据对应一个程序。 特点:数据难以在程序之间共享。
7
文件系统阶段(60年代中期) 拥有直接存取设备 如磁盘、磁鼓。 操作系统技术成熟 拥有专门管理数据的文件系统。 存在问题:
数据的冗余和不一致。 数据访问困难。 数据孤岛。 完整性问题。 原子性问题。 并发访问异常。
8
数据库系统阶段 数据库系统阶段(60年代末期) 高级数据库系统阶段(70年代中期至今) 采用数据模型表示复杂的数据结构 数据冗余度小
有较高的数据独立性 提供数据控制功能 为用户提供方便的用户接口 高级数据库系统阶段(70年代中期至今) 分布式数据库系统 半结构化数据库系统 面向对象数据库系统
9
数据库抽象层次 物理层。最低层次的抽象,描述数据在物理存储介质的存储结构。物理层详细描述复杂的低层数据结构。
逻辑层。从应用角度描述数据结构。描述数据库中存储什么数据以及这些数据间存在什么关系,因而整个数据库通过少量相对简单的结构来描述。 视图层。只描述整个数据库的某个部分。可以隐藏掉某些数据信息。 物理模式独立性:虽然简单的逻辑层结构的实现涉及到复杂的物理层结构,但逻辑层的用户不必知道这种复杂性,逻辑层抽象是由数据库管理员所使用的,管理员必须确定数据库中应该保存哪些信息。
10
数据库抽象层次
11
实例与模式 数据库模式 数据库的总体结构。 根据抽象层次的不同,分为物理模式、逻辑模式和子模式。通常,数据库系统支持一个物理模式、一个逻辑模式和多个子模式。 数据独立性 1、物理数据独立性 修改物理模式不必重写应用程序。 2、逻辑数据独立性 修改逻辑模式而不必重写应用程序。 实例:特定时刻存储在数据库中的信息集合。
12
数据模型 数据模型 描述数据、数据关系、数据语义、以及规范数据约束的工具的集合。 数据模型包括: 网状数据模型 层次数据模型 关系模型
实体关系模型 基于对象的关系模型 半结构化数据模型
13
关系数据模型
14
数据模型 实体-联系模型 1) 实体(entity):客观存在,可以相互区别的东西称为实体。 2) 实体集(entity set):性质相同的同类实体的集合。 3) 属性(attribute):实体的某一方面的特征 4) 属性域(domain):属性的取值范围;含值的类型 5) 码(key) :唯一标识每个实体的属性或属性集 6) 实体型(entity type):某一实体属性的集合 实体联系模型简称为E-R模型,该模型直接从现实世界中抽象出实体类型和实体之间的联系,然后用实体联系图(E-R图)表示数据模型。E-R图由以下一些部分组成: 矩形框:表示实体类型。 菱形框:表示联系类型。 椭圆形框:表示实体类型和联系类型的属性。 连线:实体与属性之间,联系与属性之间用直线连接;联系类型与其涉及的实体类型用直线连接,并标注联系的类型。
15
数据模型 面向对象数据模型 半结构化数据模型 其它数据模型 网络数据模型、层次数据模型
16
数据库语言 数据库系统提供两种不同类型的语言:一种用于定义数据库模式;一种用于表达数据库的查询和更新。 数据定义语言
数据字典是一个包含元数据的文件,元数据是关于数据的数据。在数据库系统中,实际数据读取和修改前总要先查询该文件。 数据库系统所使用的存储结构和访问方式通过一系列特殊的DDL语句来定义,这种特殊的DDL语句称作数据存储定义语言。
17
数据操纵语言(DML) 数据操纵是指: 通常有两类数据操纵语言: 过程化的DML要求用户指定需要什么数据以及如何获得这些数据。
对存储在数据库中的信息进行检索。 向数据库中插人新的信息。 从数据库中删除信息。 修改数据库中存储的信息。 通常有两类数据操纵语言: 过程化的DML要求用户指定需要什么数据以及如何获得这些数据。 非过程化的DML只要求用户指定需要什么数据,而不必指明如何获得这些数据。
18
事务管理 事务是数据库应用中完成单一逻辑功能的操作集合,是一个既具原子性又具一致性的单元。因此,我们要求事务不违反任何的数据库一致性约束,也就是说,如果事务启动时数据库是一致的,那么当这个事务成功完成时数据库也应该是一致的。但是,在事务执行过程中,必要时允许暂时的不一致,这种暂时的不,一致尽管是必需的,但在故障发生时,很可能导致问题的产生。 1、正确定义不同事务是程序员的任务,事务的定义应使之能保持数据库的一致性。 2、原子性和持久性的保证则是数据库系统自身的任务,更确切一些,是事务管理器的任务。 3、并发控制管理器控制并发事务间的相互影响,保证数据库的一致性。
19
存储管理 数据库系统的目标是要简化和辅助数据访问,高层视图有助于实现这样的目标。系统用户可以不受系统实现的物理细节所带来的不必要的负担所累。但是,决定用户对数据库系统满意与否的一个主要因素是系统的性能。如果一个要求的响应速度太慢,系统的价值就会下降。系统性能决定于用来表示数据库中数据的数据结构的高效性,以及系统对这样的数据结构进行操作的高效性。正如计算机系统中其他地方也会出现一样,不仅要在时间与空间两者间进行权衡,还要在不同操作的效率间进行权衡。 存储管理器是在数据库中存储的低层数据与应用程序及向系统提交的查询之间提供接口
20
数据库管理员(DBA) 模式定义。通过书写一系列的定义来创建最初的数据库模式,这些定义被DDL编译器翻译成永久地存储在数据字典中的表集合。
存储结构及存取方式定义。通过书写一系列的定义来创建适当的存储结构和存取方式。 模式及物理组织的修改。程序设计人员偶尔也会对数据库模式或物理存储组织的描述进行修改,这是通过书写/系列的定义来实现的。 数据访问授权。通过授予不同的权限,数据库管理员可以规定不同的用户各自可以访问的数据库的部分。 完整性约束的定义。数据库中所存储的数据的值必须满足一定的一致性约束。
21
数据库用户 应用程序设计人员是计算机专业人员、他们通过DML调用,同系统进行交互。
富有经验的用户并非通过编写程序来同系统交互,而是用数据库查询语言来表达他们的要求。每个这样的查询都被提交给查询处理器。 专门的用户是编写专门的、不适合于传统数据处理模式的数据库应用程序的富有经验的用户。 新用户是没有经验的用户,他们通过激活以前已经写好的一个永久的应用程序同系统进行交互。
22
系统总体结构 可以划分为以下四个部分: 数据库用户:包括DBA、专业用户、应用程序员和终端用户。
DBMS的查询处理器:包括DML编译器、嵌入式DML的预编译器、DDL编译器和查询运行核心程序。 DBMS的存储管理器:包括权限和完整性管理器、事物管理器、文件管理器和缓冲区管理器。 磁盘存储器中的数据结构:包括数据文件、数据字典、索引、统计数据和日志。
Similar presentations