《数据库系统原理.ppt》由会员分享,可在线阅读,更多相关《数据库系统原理.ppt(50页珍藏版)》请在优知文库上搜索。
1、1 王珊、陈红,王珊、陈红,数据库系统原理教程数据库系统原理教程,清华大学出版社,清华大学出版社,1998 萨师煊萨师煊 、王珊,、王珊,数据库系统概论(第三版)数据库系统概论(第三版) ,高等,高等教育出版社,教育出版社,2000 C.J. Date(孟小峰等译),(孟小峰等译),数据库系统导论数据库系统导论 ,机械,机械工业出版社,工业出版社,2000 第一章 绪论 1.1 引言 1.2 数据模型 1.3 数据库系统结构第二章 关系数据库 2.1 关系数据库概述 2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数 2.5 关系数据库管理系统 第三章 关系数据库标准语言SQL 3.
2、1 SQL的数据定义 3.2 SQL的查询语句 3.3 SQL的更新语句 3.4 SQL的视图第四章第四章 关系数据库设计理论关系数据库设计理论 4.1 数据依赖 4.2 范式(1NF,2NF,3NF,BCNF) 4.3 关系模式的规范化第五章第五章 数据库设计数据库设计 5.1 数据库设计的步骤 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计3 1.1 引言引言 1.2 数据模型数据模型 1.3 数据库系统结构数据库系统结构4v数据库是数据管理的最新技术,是计算机科学的重数据库是数据管理的最新技术,是计算机科学的重要分支要分支v数据库技术在信息化社会中的
3、重要作用数据库技术在信息化社会中的重要作用 q信息系统的核心和基础技术q日益广泛的应用 例如:管理信息系统(MIS)、联机事务处理(OLTP)、联机分析处理(OLAP)、计算机辅助设计与制造(CADCAM)、计算机集成制造系统(CIMS)、办公信息系统(OIS)、地理信息系统(GIS).and Internet !51.1.1 数据、数据库、数据库管理系统、数据库系统数据、数据库、数据库管理系统、数据库系统q 数据数据(Data): 描述事物的符号记录。描述事物的符号记录。数据与其语义是不可分的。q 数据库数据库(DataBase,DB) 长期储存在计算机内的、有组织的、可共享的数据集合长期储
4、存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。6 位于用户与操作系统之间的一层数据管理软件。主要功能位于用户与操作系统之间的一层数据管理软件。主要功能包括以下几个方面:包括以下几个方面:1.1.数据定义功能:数据定义功能:数据定义语言(Data Definition Language,DDL)2.数据操纵功能数据操纵功能: : 数据操纵语言(Data Manipulation Language,DML)3.数据库的运行管理数据库的运行管理: : 统一管理、统控制,以保证数据的安全性、
5、完整性、多用户对数据的并发使用及发生故障后的系统恢复。4.数据库的建立和维护功能:数据库的建立和维护功能:数据库初始数据的输入、转换功能,重组织、性能监视、分析功能等7指在计算机系统中引入数据库后的系统,指在计算机系统中引入数据库后的系统,一般由数据库、一般由数据库、数据库管理系统数据库管理系统( (及其开发工具及其开发工具) )、应用系统、数据库管理、应用系统、数据库管理员和用户构成。员和用户构成。数据库管理员(DataBase Administrator,DBA) 应用系统应用系统DB用户用户应用开发工具应用开发工具DBMSOS用户用户用户用户DBA图图1 1 数据库系统数据库系统(DBS
6、)图图2 数据库在计算机系统中的地位数据库在计算机系统中的地位91.1.2 数据管理技术的产生和发展数据管理技术的产生和发展v数据库技术是应数据管理任务的需要而产生的。数据库技术是应数据管理任务的需要而产生的。数据的处理数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。数据管理数据管理则是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。v数据管理技术经历了数据管理技术经历了人工管理人工管理、文件系统文件系统、数据库系数据库系统统三个阶段。三个阶段。10q 人工管理阶段人工管理阶段(20世纪50年代中期以前)特点:特点: (1)数据不保存数据不保存 (
7、2)应用程序管理数据应用程序管理数据 数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。因此程序员负相很重。 (3)数据不共享数据不共享 数据是面向应用的,一组数据只能对应一个程序。 (4)数据不具有独立性数据不具有独立性 数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改。11应用程序1数据集1应用程序2数据集2应用程序n数据集n图1-3 人工管理阶段应用程序与数据之间的对应关系12q 文件系统阶段文件系统阶段(50年代后期60年代中期)特点:特点: (1)数据可长期保存数
8、据可长期保存 (2)由文件系统管理数据由文件系统管理数据 相互独立的数据文件; “按文件名访问,按记录进行存取”的管理技术;记录内的结构性而整体无结构;存取方法转换使应用程序与数据之间有了一定的独立性;数据在存储上的改变不一定反映在程序上。 (3)数据共享性差数据共享性差,冗余度大冗余度大 文件仍然是面向应用的;数据的冗余度大;数据的修改和维护困难 (4)数据独立性差数据独立性差 不容易扩充;数据与程序之间仍缺乏独立性;是一个无弹性的无结构的数据集合。13应用程序1文件1应用程序2文件2应用程序n文件n图1-4 文件系统阶段应用程序与数据之间的对应关系存取方法14q数据库系统阶段数据库系统阶段
9、(60年代 )特点:特点: (1)数据结构化数据结构化 数据结构化是数据库与文件系统的根本区别。n 文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联系。数据的最小存取单位是记录。n 数据库系统实现整体数据的结构化,描述数据时不仅要描述数据本身,还要描述数据之间的联系。数据不再针对其一应用,是面向全组织,具有整体的结构化。数据的最小存取单位是数据项。学生记录格式示例学生记录格式示例主记录详细记录格式示例主记录详细记录格式示例 (a)主记录详细记录格式示例主记录详细记录格式示例(b)面向组织面向组织(多个应用)的学生数据组织多个应用)的学生数据组织17(2)数据的共享性高,冗余度低,易扩
10、充数据的共享性高,冗余度低,易扩充 面向整个系统的数据库系统中的数据可以被多个用户、多个应用共享使用。共享导致数据冗余度低,同时可避免数据之间的不相容性与不一致性。容易增加新的应用,这就使得数据库系统弹性大,易于扩充。(3)数据独立性高数据独立性高n 物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由DBMS管理的、用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。n逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。
11、数据独立性是由数据独立性是由DBMSDBMS的的二级映象功能二级映象功能来保证的。来保证的。18(4)数据由数据由DBMS统一管理和控制统一管理和控制n 数据库的共享是并发的(Concurrency) 。n DBMS还必须提供的数据控制功能: (1)数据的安全性(Security) (2)数据的完整性(Integrity) 正确性、有效性和相容性 (3)并发(Concurrency)控制 (4)数据库恢复(Recovery)19应用程序1应用程序2图图1-5 数据库管理阶段程序与数据的对应关系数据库管理阶段程序与数据的对应关系 DBMS 数据库数据库20数据库系统的出现使信息系统从以加工数据的
12、数据库系统的出现使信息系统从以加工数据的程序程序为中心为中心转向围绕共享的转向围绕共享的数据库为中心数据库为中心的新阶段。的新阶段。211.1.3 数据库技术的研究领域数据库技术的研究领域1.数据库管理系统软件的研制数据库管理系统软件的研制2.数据库设计数据库设计3.数据库理论数据库理论数据收集和数据库创建数据收集和数据库创建(20世纪世纪60年代和更早)年代和更早)原始文件处理原始文件处理 数据库管理系统数据库管理系统 (70年代)年代)层次和网状数据库系统层次和网状数据库系统关系数据库系统关系数据库系统数据建模工具:数据建模工具:E-RE-R模型等模型等索引和数据组织技术:索引和数据组织技
13、术:B+B+树,树,HashHash等等查询语言查询语言:SQL:SQL等等用户界面:表单、报告等用户界面:表单、报告等查询处理和查询优化查询处理和查询优化事务管理:恢复和并发控制等事务管理:恢复和并发控制等联机事务处理(联机事务处理(OLTP)OLTP) 数据仓库和数据挖掘数据仓库和数据挖掘( 8080年代后期现在)年代后期现在)数据仓库和数据仓库和OLAPOLAP技术技术数据挖掘和知识发现数据挖掘和知识发现 高级数据库系统高级数据库系统 (80年代中期现在)年代中期现在)高级数据模型:高级数据模型: 扩充关系、面向对象、 对象关系、演绎面向应用:面向应用: 空间的、时间的、多媒体的、 主动
14、的、科学的、知识库基于基于Web的数据库系统的数据库系统(9090年代现在)年代现在)基于基于XMLXML的数据库系统的数据库系统 WebWeb挖掘挖掘新一代综合信息系统新一代综合信息系统( 2000)24新一代数据库系统及其相互关系新一代数据库系统及其相互关系25 数据库技术的发展是沿着数据库技术的发展是沿着数据模型数据模型的主线展开的。的主线展开的。数据模型是现实世界数据特征的抽象。数据模型是现实世界数据特征的抽象。 数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。 数据模型应满足三方面要求:一是能比较真实地模拟现实世数据模型应满足三
15、方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。界;二是容易为人所理解;三是便于在计算机上实现。26根据应用的不同目的,数据模型划分为两类:根据应用的不同目的,数据模型划分为两类:v 概念模型(信息模型)概念模型(信息模型) 按用户的观点来对数据和信息建模;主要用于数据库设计。v数据模型数据模型 按计算机系统的观点对数据建模;主要包括网状模型、层次模型、关系模型等,主要用于DBMS的实现。 现实世界 信息世界信息世界 概念模型概念模型机器世界机器世界 DBMS支持的数据模型支持的数据模型转换转换认识认识 抽象抽象281.2.1 数据模型的三个要素数据模型的三
16、个要素 1. 数据结构数据结构 是所研究的对象类型的集合。是所研究的对象类型的集合。 与数据类型、内容、性质有关的对象(例如网状模型中的数据项、记录,关系模型中的域、属性、关系等)。 与数据之间联系有关的对象(例如网状模型中的系型)。数据结构是对系统数据结构是对系统静态特性静态特性的描述。数据结构是刻画一个数据的描述。数据结构是刻画一个数据模型性质最重要的方面。模型性质最重要的方面。 29 2. 数据操作数据操作 是指对数据库中各种对象是指对数据库中各种对象( (型型) )的实例的实例( (值值) )允许允许执行的操作的集合,包括操作及有关的操作规则执行的操作的集合,包括操作及有关的操作规则。 数据库主要有检索和更新(包括插入、删除、修改)两大类操作。 数据操作是对系统动态特性的描述 3.数据的约束条件数据的约束条件 是一组完整性规则的集合。是一组完整性规则的集合。 完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。301.2.2 概念模型概念模型v 概念模型是概念模型是现实世界现实世界到到机器