版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 数据操作数据操作 是指对数据库中各种对象是指对数据库中各种对象( (型型) )的实例的实例( (值值) )允许允许执行的操作的集合,包括操作及有关的操作规则执行的操作的集合,包括操作及有关的操作规则。
17、数据库主要有检索和更新(包括插入、删除、修改)两大类操作。 数据操作是对系统动态特性的描述 3.数据的约束条件数据的约束条件 是一组完整性规则的集合。是一组完整性规则的集合。 完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。301.2.2 概念模型概念模型v 概念模型是概念模型是现实世界现实世界到到机器世界机器世界的一个的一个中间层次中间层次v 概念模型用于信息世界的建模概念模型用于信息世界的建模q应该具有较强的语义表达能力应该具有较强的语义表达能力q应该简单、清晰、易于用户理解。应该简单、清晰、易于
18、用户理解。 1. 信息世界中的基本概念信息世界中的基本概念 (1)实体实体(Entity) 客观存在并可相互区别的事物称为实体。客观存在并可相互区别的事物称为实体。 (2)属性属性(Attribute) 实体所具有的某一特性称为属性。一个实体可以由实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如:若干个属性来刻画。例如: (94002268(94002268,张山,男,张山,男,19761976,计算机系,计算机系,1994)1994) (3)码码(Key) 唯一标识实体的属性集称为码。唯一标识实体的属性集称为码。 (4)域域(Domain) 属性的取值范围称为该属性的域。属
19、性的取值范围称为该属性的域。 例如,学号的域为例如,学号的域为8 8位整数,姓名的域为字符串集合,年龄的域为位整数,姓名的域为字符串集合,年龄的域为小于小于3838的整数,性别的域为的整数,性别的域为( (男,女男,女) )。 (5)实体型实体型(EntityType) 用实体名及其属性集合来抽象和刻画同类实体,称用实体名及其属性集合来抽象和刻画同类实体,称为实体型。为实体型。 学生学生( (学号,姓名,出生年份,系,入学时间学号,姓名,出生年份,系,入学时间) ) (6)实体集实体集(Entity Set) 同型实体的集合称为实体集。同型实体的集合称为实体集。(7)联系联系(Relation
20、ship) 在现实世界中,事物内部以及事物之间是有联系的,在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为这些联系在信息世界中反映为实体实体(型型)内部的联系内部的联系和和实实体体(型型)之间的联系之间的联系。实体内部的联系通常是指组成实体。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。体集之间的联系。 两个实体型之间的联系可以分为三类:两个实体型之间的联系可以分为三类: 一对一联系一对一联系(1:1) ,如,如“班级班长班级班长” 一对多联系一对多联系(1:n),如,如“班
21、级学生班级学生” 多对多联系多对多联系(m:n),如,如“课程学生课程学生”实体型A实体型B实体型B实体型A实体型A实体型B联系名联系名联系名两个实体型之间的三类联系两个实体型之间的三类联系11mnn11:1联系 1:n联系 m:n联系35 多个实体型之间的联系也可以分为三类:多个实体型之间的联系也可以分为三类: 一对一联系一对一联系(1:1) 一对多联系一对多联系(1:n)若实体集E1,E2,En存在联系,对于实体集Ej(j=1,2,i-1,i+1,n)中的给定实体,最多只和Ei中的一个实体相联系,则说Ei与E1,E2,Ei-1,Ei+1,En之间的联系是一对多的。 多对多联系多对多联系(m
22、:n) 例如:例如:“供应商、项目和零件供应商、项目和零件”36v 同一个实体集内的各实体之间也可以存在一对一、一同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。对多、多对多的联系。职工职工领导领导1n37 2.概念模型的表示方法概念模型的表示方法 实体联系方法(Entity-Relationship approach) 由P.P.SChen于于1976年提出年提出 实体型 矩形 属性 椭圆形 联系 菱形 工厂物资管理工厂物资管理E-RE-R图图391.2.2 数据模型数据模型 数据库领域中最常用的数据模型有四种数据库领域中最常用的数据模型有四种q 层次模型层次模型(Hier
23、archical Model),如如 IBM的的IMS系统系统q网状模型网状模型(Network Model),如如DBTG系统系统q 关系模型关系模型(Relational Model),如,如Oracle,Sybaseq 面向对象模型面向对象模型(Object Oriented Model)40v数据库系统结构的两种考察角度数据库系统结构的两种考察角度 从数据库管理系统角度看,数据库系统通常采用三级模式结构,这是数据库管理系统内部的系统结构。从数据库最终用户角度看,数据库系统的结构分为集中式结构(又可有单用户结构、主从式结构)、分布式结构、客户服务器结构和并行结构。这是数据库系统外部的体系
24、结构。411.3.1 数据库系统模式的概念数据库系统模式的概念v “型型” (Type)和和“值值” (Value) 型型是指一类数据的结构和属性的说明,是指一类数据的结构和属性的说明,值值是型的一个具是型的一个具体赋值。体赋值。 例:记录型 (学号,姓名,性别,系别,年龄,籍贯) 记录值 (90020l ,李明,男,计算机,22,江苏) 42v模式(schema):是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。v模式的一个具体值称为模式的一个实例(instance)。 同一个模式可以有很多实例;模式是相对稳定的,而实例是相对变动的;模式反映的是数据的结构及
25、其联系,而实例反映的是数据库某一时刻的状态。v不同的DBMS在体系结构上通常都具有相同的特征,即采用三级模式结构三级模式结构并提供两级映象功能。431.3.2 数据库系统的三级模式结构数据库系统的三级模式结构1) 模式(模式(Schema) 也称也称逻辑模式逻辑模式,是数据库中,是数据库中全体全体数据的逻辑结构和特数据的逻辑结构和特征的描述,是所有用户的征的描述,是所有用户的公共公共数据视图数据视图。它是数据库系统模式结构的中间层模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体
26、。模式定义包括数据的逻辑结构定义、数据之间的联系定义以及安全性、完整性要求的定义。 DBMS提供模式定义语言模式定义语言(模式模式DDL)来严格地定义模式。442) 外模式(外模式(External Schema) 也称也称子模式子模式(Subshema)或或用户模式用户模式,它是数据库用户,它是数据库用户( (包括应用程序员和最终用户包括应用程序员和最终用户) )能够看见和使用的能够看见和使用的局部局部数数据的逻辑结构和特征的描述,据的逻辑结构和特征的描述, 是数据库用户的数据视图,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。是与某一应用有关的数据的逻辑表示。外模式通常是模式的
27、子集。一个数据库可以有多个外模式。 外模式是保证数据库安全性的一个有力措施。 DBMS提供子模式定义语言(子模式DDL)来严格地定义子模式。453) 内模式(内模式(Internal Schema) 也称也称存储模式存储模式(Storage schema),一个数据库只,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。是数据在数据库内部的表示方式。 例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。 DB
28、MS提供提供内模式描述语言内模式描述语言(内模式内模式DDL,或者存储,或者存储模式模式DDL)来严格地定义内模式。来严格地定义内模式。应用A应用B应用C应用C外模式2外模式1外模式3模式内模式DB123外模式外模式/ /模式映象模式映象模式模式/ /内模式映象内模式映象图图1-24 数据库系统的模式结构数据库系统的模式结构471.3.2 数据库系统的二级映象功能与数据独立性数据库系统的二级映象功能与数据独立性三级模式之间的二级映象:三级模式之间的二级映象:1. 外模式外模式/模式映象模式映象 对于对于每一个每一个外模式,数据库系统都有一个外模式外模式,数据库系统都有一个外模式/ /模式映模式映象,它定义了该外模式与模式之间的对应关系象,它定义了该外模式与模式之间的对应关系( (这些映象定这些
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机械租赁发票合同范例
- 合伙加盟合同范例
- 2025年运城货运资格证考试题答案
- 河北省邯郸市八年级语文上册 第五单元 第18课 苏州园林教学实录 新人教版
- 2025年海西驾校考试货运从业资格证考试
- 2025年河南货运从业资格证考试模拟考试题及答案解析
- 水产种苗供应合同范例
- 个人出售小产权房合同范例
- 2023九年级数学上册 第二十一章 一元二次方程21.2 解一元二次方程21.2.1 配方法第2课时 配方法教学实录(新版)新人教版
- 工人签劳务合同范例
- MOOC 中级会计学-中南财经政法大学 中国大学慕课答案
- 中国饮食文化智慧树知到期末考试答案2024年
- 《电力勘测设计企业安全生产标准化实施规范》
- 第五单元《京腔昆韵》-欣赏 ☆姹紫嫣红 课件- 2023-2024学年人音版初中音乐八年级下册
- 国家粮食和物资储备局招聘考试试题及答案
- 宿舍零食盒子项目策划
- 糖尿病治疗研究进展
- 工业互联网标准体系(版本3.0)
- 山东省菏泽市10校2023-2024学年高二上学期期末联考地理试题(含答案解析)
- 初一数学期中考试分析
- 松果体区肿瘤护理
评论
0/150
提交评论