1、1,数据库的基本概念数据库、数据库管理系统、数据库系统数据模型、数据库的结构 关系数据库基本原理关系数据结构、关系代数关系数据库标准语言SQL规范化理论 数据库设计,第一篇 数据库基础,2,数据库的基本概念及其发展 数据模型 数据库系统的结构 数据库管理系统,第一讲 数据库概述,3,一类应用涉及数据量大,一般需存于辅存数据不随程序的结束而消失数据为多个应用程序共享数据库技术是一种数据管理技术,对数据进行分类、组织、编码、储存、检索和维护,1.1 数据库的基本概念及其发展,4,1. 数据(Data)描述客观事物的符号记录。如:(王永晨,男,1955,上海,计算机系,教授) 语法:数据有一定的格式
2、语义:数据表达的内容 (数据项的含义) 信息:从数据中抽取出来对事物感兴趣的特征 数据是信息的载体,1.1.1 基本概念,5,2. 数据库(DataBase,DB)数据库就是长期储存在计算机内、有组织、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 存放数据的场所数据有组织数据可共享较小的冗余度、较高的数据独立性和易扩展性,1.1.1 基本概念,6,数据库管理系统(database management system,DBMS)数据库管理系统是位于用户和操作系统之间的一层数据管理软件。 统一管理、控制数据库的
3、建立、运用和维护 使用户能方便地定义数据和操作数据 保证数据安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复,1.1.1 基本概念,7,数据库系统(database system,DBS)数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成,1.1.1 基本概念,8,1.1.1 基本概念,数据库系统的组成,9,产生:数据管理任务的需要 数据管理,是数据处理的中心问题,是研究如何对数据进行分类、组织、编码、储存、检索和维护的技术。发展人工管理文件系统数据库系统,1.1.2 数据库技术的产生和发展,10,1.
4、 人工管理阶段时 间: 20世纪50年代中期之前应用类型: 科学计算硬件状况: 纸带、卡片、磁带,没有磁盘软件状况: 没有操作系统、数据管理软件特 点: 数据不保存数据由应用程序管理数据不共享,数据冗余大数据不具有独立性,1.1.2 数据库技术的产生和发展,11,2. 文件系统阶段时 间:20世纪50年代后期 60年代中期应用类型:大量用于管理中硬件状况:磁盘、磁鼓等软件状况:有了文件系统 特 点:数据可以长期保存、反复操作有文件系统进行数据管理数据共享性差数据独立性差,1.1.2 数据库技术的产生和发展,12,3.数据库系统阶段时 间:20世纪60年代后期 应用类型: 数据量急剧增长,要求共
5、享数据硬件状况: 硬件价格下降软件状况:价格上升,文件管理不能满足应用需求特 点:数据结构化与文件系统的根本区别数据的共享性好,冗余度低数据独立性高数据由DBMS统一管理和控制,1.1.2 数据库技术的产生和发展,13,文件:记录等长、同格式,粒度大,应用单一,数据库:有组织的数据结构,粒度小,多应用;不仅描,述了数据本身,而且记录了数据之间的联系,1.1.2 数据库技术的产生和发展,文件管理与数据库管理的比较,14,数据与程序紧密耦合,(a) 手工管理阶段,1.1.2 数据库技术的产生和发展,各个阶段,程序和数据之间关系,15,(b) 文件系统阶段,数据与程序分离,松散耦合关系,1.1.2
6、数据库技术的产生和发展,16,(c) 数据库系统阶段,数据与程序彻底分离,1.1.2 数据库技术的产生和发展,17,数据模型:抽象、表示和处理现实世界中的,数据模型的三要素数据结构数据操作完整性约束条件,数据和信息,1.2 数据模型,18,1.数据结构描述系统的静态属性研究的对象类型(object type)的集合两类对象:与数据类型、内容、性质有关的对象与数据之间联系有关的对象数据结构是刻画数据模型性质最重要的方面常以其数据结构的类型来命名数据模型,1.2.1 数据模型的三要素,19,2.数据操作描述系统的动态特性对数据库中各种对象的实例,允许执行的操作集合,包括操作及有关的操作规则两类操作
7、:检索更新(增、删、改)数据模型必须定义操作的具体含义、符号、规规则以及实现操作的语言,1.2.1 数据模型的三要素,20,3.数据的约束条件一组完整性规则的集合完整性规则是给定的数据模型中,数据及其联系所具有的制约和存储规则,用以限定符合数据模型的数据库状态以及状态变化,以保证数据的正确、有效和相容规定基本的、通用的完整性约束条件关系模型中的“实体完整性”和“参照完整性”提供定义完整性约束条件的机制,满足应用要求,1.2.1 数据模型的三要素,21,模拟现实世界要求真实自然易于理解便于实现多级数据模型概念数据模型逻辑数据模型物理数据模型,1.2.2 数据模型的三个级别,22,概念数据模型 ,
8、面向现实, 面向用户, 与DBMS无关 描述一个单位事务的概念化结构 例如:E-R模型、扩充的E-R模型,逻辑数据模型 ,面向用户,面向DBMS 用户从数据库所看到的模型 反映数据的逻辑结构 例如:层次、网状、关系模型,物理数据模型 ,主要用于 数据库设计,用于DBMS 的实现,面向存储结构、面向实现反映数据存储结构(块、指针、索引)与DBMS、 OS和硬件有关,1.2.2 数据模型的三个级别,23,(1) DBMS通常按所采用的逻辑数据模型来分类,常用的逻辑数据模型:,层次模型、 网状模型、 关系模型,(2)概念模型表示的数据逻辑模型表示的数据 DBMS中实现, 层次数据库, 网状数据库,
9、关系数据库,说明:,1.2.2 数据模型的三个级别,24,层次模型(Hierarchical Model)网状模型(Network Model)关系模型(Relational Model),1.2.3 三种主要的数据模型,25,关系:表示实体和实体间联系的二维表结构元组:二维表中的行(记录的值)属性:二维表中的列(字段、数据项)值域(Domain):属性值的取值范围关键字或码(Key):能够用来唯一标识元组的属性(或属性组合),1.2.3 三种主要的数据模型,关系数据模型:,26,关系模式:二维表中的行定义(记录的型)表示:关系名(属性1,属性2,属性n)Student(ID,Name,Sex
10、,Department,Age,Address)关系数据库:基于上述关系模型定义的数据库,即在一个给定的现实世界领域中, 相应于所有实体及实体之间联系的关系集合,构成一个关系数据库,1.2.3 三种主要的数据模型,27,数据模型有型、值之分型(type):对某一类数据的结构和属性的说明值(value):型的一个具体赋值例如:学生记录定义如下,是记录型Student(ID,Name,Sex,Department,Age,Address)该记录型的一个记录值为:( 900201, 李明, 男, 计算机, 22, 江苏 ),1.3 数据库系统的结构,28,数据模式(Schema)数据库中全体数据的逻
11、辑结构和特征的描述仅涉及型的描述,不涉及具体的值数据模式的实例(Instance):模式的一个具体值关系:同一个模式可以有多个实例模式相对稳定,而实例相对变动模式反映数据的结构及其关系,而实例反映数据库某一时刻的状态,1.3 数据库系统的结构,29,数据模式和数据模型的关系数据模型模拟现实世界,包括数据的静态和动态特性数据模式是模型的一部分,仅反映数据静态特性数据模型是描述数据的手段数据模式是用给定数据模型对具体数据的描述,1.3 数据库系统的结构,30,数据库系统的体系结构三级模式结构外模式模式内模式两级映象,1.3 数据库系统的结构,31,1.3.1 三级模式结构,三级模式是对数据的三个抽
12、象级别,32,模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图也称逻辑模式不涉及数据的物理存储细节和硬件环境与具体的应用程序、开发工具、高级程序设计语言无关一个数据库只有一个模式定义模式包括定义:数据的逻辑结构数据之间的联系与数据有关的完整性要求,1.3.1 三级模式结构,模式,33,外模式是数据库用户看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示 也称子模式或用户模式一个数据库可有多个外模式同一外模式可以为某一用户的多个应用系统使用一个应用程序只能使用一个外模式,1.3.1 三级模式结构,外模式,34,内模式是数据物
13、理结构和存储结构的描述,是数据在数据库内部的表示方式也称存储模式一个数据库只有一个内模式独立于具体的存储设备,1.3.1 三级模式结构,内模式,(如:存储方式、是否压缩、加密等),35,1.3.2 两级映象和数据独立性,两级映象,实现三个抽象层次的联系和转换规则,,保证数据具有较高的逻辑独立性和物理独立性,36,外模式/模式映象:保证了数据的逻辑独立性外模式/模式映象定义了外模式和模式之间的对应关系 当数据库总体逻辑结构,即模式改变时(例如 , 增加新的数据类型、新的数据项、新的关系等),只需修改外模式 / 模式映象,可以保持外模式不变,从而使应用程序不必修改 数据的逻辑独立性 对每一个外模式
14、,数据库系统都有一个外模式 / 模式映象, 这些映象定义通常包含在各自的外模式描述中,1.3.2 两级映象和数据独立性,37,模式/内模式映象:保证了数据的物理独立性模式/内模式映象定义了数据全局逻辑结构和存储结构之间的对应关系。 当数据库的存储结构改变了(例如,采用了更先进的存储结构),由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,因而不会引起应用程序的变化 数据的物理独立性 数据库只有一个模式,也只有一个内模式,所以模式/内模式映象是唯一的,通常包含在模式的描述中。 数据的逻辑独立性和物理独立性统称为数据独立性,1.3.2 两级映象和数据独立性,38,定义、建立、使用、管
15、理和维护数据库的软件是数据库系统的核心功能:,1.4 数据库管理系统,数据定义数据操纵数据库运行管理数据组织、存储和管理数据库的建立和维护数据通信接口,Oracle,SQL Server,DB2,Sybase,DBMS,39,1. 数据定义数据定义包括定义构成数据库结构的三个模式和二级映象,以及有关的约束条件。例如:定义完整性规则、用户口令和存取权限等。2. 数据操纵数据操纵包括对数据库中数据的检索、插入、修改和删除等基本操作。,1.4.1 DBMS的功能,40,3. 数据库运行管理 对数据库进行并发控制; 安全性检查; 完整性约束条件的检查和执行; 数据库的内部维护等。4. 数据组织、存储和
16、管理组织、存储和管理数据,确定文件结构和存取方式,提高空间利用率、减少操作时间,1.4.1 DBMS的功能,41,5. 数据库的建立和维护建立数据库包括数据库初始数据的输入和数据转换等。维护数据库包括数据库的转储与恢复、数据库的重组织和重构造、性能的监视和分析等。 6. 数据通信接口DBMS提供与其它软件系统进行通信的功能。,1.4.1 DBMS的功能,42,数据定义语言及其翻译处理程序数据操纵语言及其翻译(或解释)程序数据库运行控制程序实用程序,1.4.2 DBMS的组成,43,1. 数据定义语言及其翻译处理程序数据定义语言 DDL(data definition language)供用户定
17、义数据库的三个模式和二级映象,及有关的约束条件。源模式: 用DDL定义的模式。目标模式:源模式经翻译程序翻译后的内部表示目标模式存放在数据字典中,作为 DBMS 存取和管理数据的基本依据,1.4.2 DBMS的组成,44,2. 数据操纵语言及其翻译(或解释)程序数据操纵语言 DML :(data manipulation language)实现对数据库中数据的检索、插入、修改和删除等基本操作。DML 分为:宿主型、自主型 两类。宿主型 DML:本身不能独立使用,必须嵌入主语言。自主型 DML:是交互式命令语言,语法简单,可以独立使用。,1.4.2 DBMS的组成,45,3. 数据库运行控制程序
18、系统运行控制程序负责数据库运行过程中的控制和管理,包括:系统初启程序、存取路径管理程序、缓冲区管理程序、事务管理程序等。 4. 实用程序 帮助用户完成数据库的建立和维护,数据格式的转换等功能。包括:数据转储程序、数据库恢复程序、性能监测程序、通信程序等。,1.4.2 DBMS的组成,46,用户界面友好功能完备效率高结构清晰开放性,面向应用可靠性简单性灵活性立即反馈,数据定义数据存取数据库运行管理数据库组织和存储管理数据库建立和维护,计算机系统内部资源的效率DBMS本身运行效率用户的生产率,1.4.3 DBMS的目标,47,1. 用户界面友好面向应用采用适合最终用户的界面形式方便使用、保持灵活性
19、可靠性:界面要具有一定容错能力,能及时正确地给出运行状态指示和出错信息,并引导用户改正错误。 简单性:尽量减少用户负担。即操作方式简单,容易记忆,输入/输出容易理解。 灵活性:根据用户背景的不同,提供多级用户接口 立即反馈:对用户的应用请求都应在用户心理许可的时间范围内给出响应 。,1.4.3 DBMS的目标,48,2. 功能完备主要功能:数据定义、数据库数据存取、数据库运行管理、数据库组织和存储管理、数据库建立和维护等。功能随系统的大小而异。 3. 效率高系统效率包括:计算机系统内部资源的效率充分利用资源,负载均衡DBMS本身运行效率根据系统目标确定恰当的体系结构、数据结构和算法 用户的生产
20、率学习、使用DBMS和开发应用系统,1.4.3 DBMS的目标,49,RDBMS提供了严格而简明的数据模型,高度非过程化的数据语言,提高了用户生产率,获得了强大的生命力。查询优化:采用各种查询策略,寻找最佳存取路径提高 RDBMS 的查询效率。 4. 结构清晰便于DBMS支持其外层开发环境的构造,便于自身的设计、开发和维护。DBMS具有开放性。 5. 开放性开放性:程序员能够根据自己的特殊需要方便地 往DBMS中加入一些新的工具模块。它们能和DBMS紧密结合,一起运行。提高DBMS的适应性、灵活性、可扩充性。,1.4.3 DBMS的目标,50,1.4.4 DBMS的工作过程,读数据请求,分析请求,继续分析请求,通过映象定义,确定要读出的数据记录,读物理记录请求,启动读操作,数据送到缓冲区,根据模式和内模式的规定,记录转换为所需格式,返回请求执行情况的信息,数据送到工作区,51,1.4.5 DBMS的系统结构,DBMS程序的模块组成,52,1.4.5 DBMS的系统结构,DBMS的层次结构,53,1.数据、数据库、数据库管理系统、数据库系统的概念 2.数据管理的三个发展阶段:人工管理、文件系统和数据库系统(特点) 3.数据模型的概念、要素、级别和类型 4.数据库系统的三级模式结构和数据独立性 5.数据库管理系统的目标、功能、组成和工作过程,1.5 课堂小结(掌握,了解),