数据库原理课件_第1页
数据库原理课件_第2页
数据库原理课件_第3页
数据库原理课件_第4页
数据库原理课件_第5页
已阅读5页,还剩526页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2024/3/9第一章绪论1本章内容提要概述数据库的基本概念,阐述数据库技术产生和发展的背景,说明了数据库系统的优点。数据模型是数据库系统的核心和基础。本章介绍三种常用的数据模型。概念模型也称信息模型,用于信息世界的建模,E-R模型是这类模型的典型代表,E-R方法简单、清晰,应用十分广泛。数据库系统的三级模式和两层映象系统结构。2024/3/9第一章绪论2本章重点:数据库的基本概念;数据库系统的特点;数据模型及其三要素;概念模型与E-R方法;数据库系统的三级模式结构本章难点:数据库系统的特点数据库系统的三级模式结构2024年3月9日3第一章绪论今天需要掌握的内容:数据,数据库,数据库管理系统,数据库系统的概念。文件系统和数据库系统有什么不同?什么是数据结构化、数据的冗余度、数据独立性、数据的完整性?2024/3/91.1.1数据、数据库、数据库管理系统、数据库系统一、数据(DATA)

数据:描述事物的符号记录。

数据的语义:数据的含义。

数据和关于数据的解释是不可分的。例:学生档案(姓名、性别、出生年月、籍贯、所在系别、入学时间)张强男1982/01重庆计算机2001第一章绪论

1.1数据库系统概述2024年3月9日5第一章绪论

1.1数据库系统概述1.1.1数据、数据库、数据库管理系统、数据库系统二、数据库(DATABASE,简称DB)

数据库是长期存放在计算机内的、有组织的、可共享的数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性、并可为各用户共享。2024/3/91.1.1数据、数据库、数据库管理系统、数据库系统三、数据库管理系统(DATABASEMANAGEMENTSYSTEM,简称DBMS)

数据库管理系统是位于用户和操作系统之间的一层管理软件。它为用户和应用程序提供访问数据库(DB)的方法。

数据库管理系统应有的功能:

1、数据定义功能

(数据定义语言DataDefinitionLanguageDDL)

2、数据操纵功能

(数据操纵语言DataManipulationLanguageDML)

3、

数据库运行管理

4、

数据库的建立和运行管理

第一章绪论

1.1数据库系统概述2024/3/91.1.1数据、数据库、数据库管理系统、数据库系统

四、数据库系统(DATABASESYSTEM,简称DBS)

数据库系统是指在计算机系统中引入数据库后的系统。

数据库系统的组成:

数据库(DB)、

数据库管理系统(及其开发工具)(DBMS)

应用系统、

人员(数据库管理员DBA和用户)

第一章绪论

1.1数据库系统概述2024年3月9日8第一章绪论

1.1数据库系统概述

1.1.1数据、数据库、数据库管理系统、数据库系统

数据库系统的构成相互有关联关系的数据的集合DBDBMS管理数据库的系统软件完成某一功能的应用程序1应用程序2应用程序nDBAP1DBAP2DBAPnComputerSystemDBA2024年3月9日9第一章绪论

1.1数据库系统概述

1.1.1数据、数据库、数据库管理系统、数据库系统数据库系统示意图

2024年3月9日10第一章绪论

1.1数据库系统概述

1.1.1数据、数据库、数据库管理系统、数据库系统硬件操作系统DBMS应工发开用具应用系统数据库系统在计算机系统中的地位2024/3/91.1.2数据管理技术的产生和发展

数据库技术是应数据管理任务的需要而产生的。

数据处理------是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。

数据管理------是对数据的分类、组织、编码、储存、检索和维护。是数据处理的中心问题。数据管理随着计算机硬件和软件的发展而不断发展。第一章绪论

1.1数据库系统概述2024/3/91.1.2数据管理技术的产生和发展数据管理技术经历了三个阶段:

人工管理阶段(20世纪50年代中期以前)文件系统阶段(20世纪50年代后期到60年代中期)数据库系统阶段(20世纪60年代后期以来)第一章绪论

1.1数据库系统概述2024/3/91.1.2数据管理技术的产生和发展一、

人工管理阶段特点:(1)数据不保存

(2)应用程序管理数据(3)数据不共享--数据是面向应用的,有大量冗余数据

(4)数据不具独立性第一章绪论

1.1数据库系统概述2024年3月9日14第一章绪论

1.1数据库系统概述访问访问访问数据1数据2数据n程序1程序2程序n人工管理阶段2024年3月9日15第一章绪论

1.1数据库系统概述

1.1.2数据管理技术的产生和发展二、文件系统阶段特点:(1)数据可以长期保存(2)由文件系统管理数据(3)数据共享性差,冗余度大—文件是面向应用的(4)数据独立性差—是不具有弹性的无结构的数据集合,文件之间是孤立的,不能反映事物间联系。2024年3月9日16第一章绪论

1.1数据库系统概数据1数据2数据n存取方式程序1程序2程序n文件系统阶段2024年3月9日17第一章绪论

1.1数据库系统概

三、数据库系统阶段数据1统一存取数据2数据n程序2程序1程序n数据库系统阶段2024年3月9日18第一章绪论

1.1数据库系统概述1.1.2数据管理技术的产生和发展三者在以下特点的比较数据结构化数据共享度数据独立性数据管理者人工管理阶段无结构无共享、冗余度极大不独立,完全依赖于程序用户(程序员)文件系统阶段记录内有结构、整体无结构共享性差,冗余度大独立性差文件系统数据库系统阶段整体结构化共享性高,冗余度小数据独立性高数据库管理系统2024/3/91.1.3数据库系统的特点一、

数据结构化数据是面向全组织的。

整体数据结构化是数据库与文件系统的根本区别二、

数据的共享性高,冗余度低,易扩充三、

数据的独立性高(数据的物理独立性和逻辑独立性)四、

数据由DBMS统一管理和控制

DBMS提供以下几个方面的数据控制功能:(1)

数据的安全性(Security)保护(2)

数据的完整性(Integrity)检查(3)

并发(Concurrency)控制(4)数据库恢复(Recovery)

第一章绪论

1.1数据库系统概述2024年3月9日20第一章绪论

1.1数据库系统概述学号姓名性别系别年龄家庭出身籍贯政治面貌日期地点学历名课程号学号学分日期奖惩条目姓名与本人关系详细情况课程号课程

学生基本记录学生人事记录学生学籍记录学生选课记录奖惩情况记录家庭成员记录课程记录学生数据的组织2024年3月9日21第一章绪论今天需要掌握的内容:实体间联系的种类?数据模型的三要素概念模型及E-R表示方法2024年3月9日22第一章绪论

1.2数据模型模型:是现实世界特征的模拟和抽象。数据模型(DataModel):是一种模型,它是现实世界数据特征的抽象。数据模型的作用: 在数据库中用这个工具来抽象、表示和处理现实世界中的数据和信息。

数据模型是现实世界的模拟。2024年3月9日23第一章绪论

1.2数据模型数据模型应满足的要求:

一是能较真实地模拟现实世界;二是容易为人理解;三是便于在计算机上实现。

两类(两层)模型:

概念模型(信息模型):是按用户的观点对数据和信息建模,主要用于数据库设计。数据模型:是按计算机的观点对数据建模,主要用于DBMS的实现。

2024年3月9日24第一章绪论

1.2数据模型信息世界计算机世界现实世界问题概念模型数据模型抽象转换注意相应世界的术语现实世界中客观对象的抽象过程2024年3月9日25第一章绪论

1.2数据模型1.2.1数据模型的组成要素一般讲数据模型是严格的一组概念的集合。这些概念精确地描述了: 系统的静态特征 系统的动态特性 完整性约束条件

数据模型的组成要素:数据结构数据操作数据的完整性约束

2024年3月9日26第一章绪论

1.2数据模型1.2.1数据模型的组成要素一、数据结构 数据结构是所研究的对象类型的集合。这些对象是数据库的组成部分,一般可分为两类: 与数据类型、内容、性质有关的对象; 与数据之间联系有关的对象。

数据结构是对系统静态特性的描述。在数据库系统中通常按照数据结构的类型来命名数据模型。2024年3月9日27第一章绪论

1.2数据模型二、数据操作数据操作是对数据库中各种对象的实例允许的操作的集合,包括操作及有关的操作规则。

数据库主要有检索和更新(包括插入、修改删除)两大类操作。

数据操作是对系统动态性特性的描述。2024年3月9日28第一章绪论

1.2数据模型三、数据的约束条件数据的约束条件是一组完整性规则的集合。

l

完整性规则是给定的数据模型及其联系所具有的制约和依存法则,用以限定符合数据模型的数据库状态及状态的变化,以确保数据的正确、有效、相容。

l

数据模型应该反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。(通用) l

数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。

(专用)2024年3月9日29第一章绪论

1.2数据模型1.2.2概念模型

概念模型用于信息世界的建模,是现实世界的第一层抽象。

一、

信息世界的基本概念(1)

实体(Entity)客观存在的并可区别的事物称为实体。(2)

属性(Attribute)实体具有的某一特性称为属性。

(3)码(Key)唯一标识实体的属性集称为码。

(4)

域(Domain)

属性的取值范围称为该属性的域。

2024年3月9日30第一章绪论

1.2数据模型1.2.2概念模型(5)实体型(EntityType) 具有相同属性的实体具有的共同的特征和性质。即:用实体名及其属性名集合来抽象和刻画同类实体如:学生(学号、姓名、性别、出生年月、系、入学时间)(6)实体集(EntitySet)同型实体的集合称为实体集。如全体学生即一个实体集。

注意区分:实体型属性 实体值属性值2024年3月9日31第一章绪论

1.2数据模型1.2.2概念模型(7)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系实体内部的联系通常指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。2024年3月9日32第一章绪论

1.2数据模型1.2.2概念模型两实体之间的联系分为三类:1)

一对一联系(1:1)2)

一对多联系(1:N)3)

多对多联系(M:N)2024年3月9日33第一章绪论

1.2数据模型

实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。一对一

一对多多对多三种联系的关系2024年3月9日34第一章绪论

1.2数据模型1.2.2概念模型两个以上的实体之间也存在三类联系:1)

一对一联系(1:1)2)

一对多联系(1:N)3)

多对多联系(M:N)讲授课程教员参考书1mn三个实体型之间的联系2024年3月9日35第一章绪论

1.2数据模型供应供应商项目零件mnp供应商项目零件nmmmnn

三个实体型之间多对多的联系和三个实体型两两之间的多对多的语义不同2024年3月9日36第一章绪论

1.2数据模型1.2.2概念模型同一个实体集内的各实体之间之间也存在三类联系:1)

一对一联系(1:1)2)

一对多联系(1:N)3)

多对多联系(M:N)职工领导1N2024年3月9日37第一章绪论

1.2数据模型1.2.2概念模型二、

概念模型的表示方法概念模型的表示方法中最著名也是最常用的是实体-联系方法(Entity–RelationshipApproach简称E-R图法)

E-R图的绘制:(1)

实体型:用矩形表示,矩形框内写明实体名(2)

属性:用椭圆形表示,并用无向边将其与相应的实体联接起来(3)联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体联接起来,同时在并无向边旁标上联系的类型(1:1,1:N,M:N)特别注意:如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。

2024年3月9日38例:某个工厂物资管理E-R图

(P19)供应供应商供应商号姓名电话号地址账号仓库仓库号面积电话号职工职工号姓名年龄职称库存量m零件零件号规格描述名称单价库存领导供应量项目开工日期预算项目号工作1n1mnnnp2024年3月9日391.2.3最常用的数据模型按数据结构的类型来命名数据模型.常用的有四种:l

层次模型(HierarchicalModel)l

网状模型(NetworkModel)l

关系模型(RelationalModel)l

面向对象型模型(ObjectOrientedModel)

第一章绪论

1.2数据模型非关系模型2024年3月9日40在非关系模型中,实体用记录表示,实体的属性对应记录的数据项(或字段)。实体之间的联系在非关系模型中转换成记录之间的两两联系。

非关系模型中数据结构的单位是基本层次联系。所谓基本层次联系是指两个记录以及它们之间一对多(包括一对一)的联系。联系的起点叫做双亲节点(Parent),联系的终点叫做子女节点(Child)。

第一章绪论

1.2数据模型RiRjLij双亲节点子女节点一对多(包括一对一)的联系名2024年3月9日41第一章绪论

1.2数据模型1.2.4层次模型层次模型是用树形结构来表示各类实体以及实体间的联系。一、层次数据模型的数据结构

在数据库中定义满足以下两个条件的基本层次联系的集合称为层次模型。(1)

有且只有一个节点没有双亲节点,这个节点称为根节点;(2)

根以外的其他节点有且只有一个双亲节点。2024年3月9日42第一章绪论

1.2数据模型在层次模型中,同一双亲的子女结点称为兄弟结点,没有子女结点的结点称为叶结点。图中工厂结点为根结点,分厂、处、研究所为兄弟结点,是工厂结点的子女结点,班组、科、室均为叶结点。层次模型象一棵倒立的树,树中实体间的联系是单向的,由父结点指向子结点,且一对父子之间只有一种联系,且是父对子的一对多联系。工厂处研究所分厂科室车间班组层次模型示例2024年3月9日43第一章绪论

1.2数据模型在层次模型中,每个结点表示一个记录类型,记录(类型)之间的联系用结点之间的连线(有向边)表示,这种联系是父子间的一对多类型。因此,层次模型使得层次数据库系统只能处理一对多的实体联系。每个记录类型可包含若干个字段,记录类型描述的是实体,而字段描述的是实体的属性。层次模型的基本特点:任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。2024年3月9日44第一章绪论

1.2数据模型二、多对多联系在层次模型中的表示l

用层次模型表示多对多联系,必须先将其分解成一对多的联系。l

分解方法有两种:

冗余节点法:

优点:结构清晰,允许结点改变存储位置.

缺点:需额外占用存储空间,有潜在的不一致性.

虚拟节点法:

优点:减少对存储空间的浪费,避免产生潜在的数据不一致性.

缺点:结点改变存储位置,可能引起虚拟结点中指针的修改.2024年3月9日45第一章绪论

1.2数据模型用层次模型表示多对多联系V.C学号姓名成绩课程号课程名V.SCSCS(c)虚拟节点法学生S学号姓名成绩S-C课程号课程名课程Cmn(a)多对多联系学号姓名成绩课程号课程名CS学号姓名成绩课程号课程名SC(b)冗余节点法2024年3月9日46第一章绪论

1.2数据模型二、层次模型的数据操纵与完整性约束l

层次模型的数据操纵主要有查询、插入、删除和修改。l

在进行数据操纵时,要满足层次模型的完整性约束条件。(1)插入节点时,必须知道该节点的父节点(根节点除外);(2)删除节点时,则相应的子女节点也将删除;(3)修改节点时,应修改所有相应记录以保证数据的一致性;2024年3月9日47第一章绪论

1.2数据模型三、层次数据模型的存储结构l

层次数据库中不仅要存储数据本身,还要存储数据之间的层次联系。其方法有:

1、邻接法:按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来体现(或隐含)层次顺序。

2、链接法:用指引元来反映数据之间的层次联系。

2024年3月9日48第一章绪论

1.2数据模型四、层次模型的优缺点优点:1、层次数据模型本身比较简单;记录间的联系通过指针,实现容易,查询效率高。2、对于实体联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型。3、层次数据模型提供了良好的完整性支持。缺点:1、在处理非层次联系的事物时显得很笨拙;2、对插入和删除操作的限制比较多;3、查询子女节点必须通过双亲节点;4、由于结构严密,层次命令趋于程序化。

2024年3月9日49第一章绪论

1.2数据模型1.2.5网状模型

网状模型是用丛结构来表示各类实体以及实体间的联系。一、网状数据模型的数据结构

在数据库中,满足以下两个条件的基本层次联系集合称为网状模型:(1)

允许一个以上的节点无双亲;(2)

一个节点可以有多于一个的双亲。2024年3月9日50第一章绪论

1.2数据模型例:多对多的网状数据模型学号姓名系别学号课程号成绩课程课程号课程名学分学生

学生/选课/课程的网状数据库模式选课S-SCC-SC2024年3月9日51第一章绪论

1.2数据模型二、网状数据模型的操纵与完整性约束网状数据模型没有层次模型那样严格的完整性约束条件。三、网状数据模型的存储结构网状数据模型的存储结构关键在于如何实现记录之间的联系。常用方法:单向链接、双向链接、环状链接、向首链接等。

2024年3月9日52第一章绪论

1.2数据模型四、网状数据模型的优缺点优点:1、可以更直接地描述现实世界;2、具有良好的性能,存取效率高。缺点:1、结构比较复杂,特别是当环境变大时,数据库的结构会变得越来越复杂,不利于最终用户掌握。2、其DDL、DML语言复杂,用户不容易掌握注:DDL(DataDefinitionLanguage)DML(DataManipulationLanguage)3、记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,这样用户必须了解系统结构的细节,加重了编写应用程序的负担。2024年3月9日53第一章绪论

1.2数据模型1.2.6关系模型关系模型是目前最重要的一种数据模型。关系模型是用关系(二维表)结构来表示各类实体以及实体间的联系。一、关系数据模型的数据结构关系模型的常用术语:l

关系(Relation):一个关系通常对应一张表;l

元组(Tuple):表中的一行即为一个元组;l

属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名;

2024年3月9日54第一章绪论

1.2数据模型1.2.6关系模型l

主码(Key):表中的某个属性组,它可以唯一确定一个元组;l

域(Domain):属性的取值范围;l

分量:元组中的一个属性值;l

关系模式:对关系的描述,一般表示为:

关系名(属性1,属性2,……属性n)注意:关系模型要求关系必须是规范化的,最基本的一条就是关系的每一个分量必须是一个不可再分的数据项,即不允许表中有表。

2024年3月9日55第一章绪论

1.2数据模型学号姓名年龄性别系名年级95004王小明19女社会学9595006黄小明20男心理学9595008张小明18女法律学95………………元组关系属性列分量

主码

关系模式:学生(学号,姓名,年龄,性别,系,年级)2024年3月9日56第一章绪论

1.2数据模型二、关系数据模型的操纵与完整性约束l

关系数据模型的操作主要有:查询、插入、删除和修改数据。l

关系的完整性约束包括三大类:实体完整性、参照完整性、用户定义完整性。三、关系数据模型的存储结构l

在关系数据模型中,实体及实体间的联系都用表来表示。2024年3月9日57第一章绪论

1.2数据模型四、关系数据模型的优缺点优点:1、

建立在严格的数学概念基础上;2、概念单一,其数据结构简单、清晰,用户易懂易用;3、存取路径对用户透明,具有更高的数据独立性、更好的安全保密性,简化了程序员的工作和数据库开发建立的工作。缺点:由于存取路径对用户透明,查询效率往往不如非关系数据模型。

2024年3月9日58第一章绪论

1.2数据模型今天要掌握的内容

数据库系统的三层模式结构2024年3月9日59第一章绪论

1.3数据库系统结构

从数据库管理系统看,常常采用三级模式结构,这是数据库管理系统内部的系统结构;从数据库最终用户看,数据库系统的结构分为集中式结构(包括单用户结构、主从式结构)、分布式结构、客户/服务器结构和并发结构。这是数据库系统外部的体系结构。

2024年3月9日60第一章绪论

1.3数据库系统结构1.3.2数据库系统的体系结构单用户数据库系统:特点:数据库系统装在一台机上,由一个用户独占,不同机间不能共享数据,数据大量冗余。

2024年3月9日61第一章绪论

1.3数据库系统结构主从式结构的数据库系统:一个主机多个终端,事务由主机完成,终端共享数据。优点:结构简单,数据易于管理和维护。缺点:当终端用户数目增加到一定程度后,主机的任务会过于繁重,使性能大大下降,系统的可靠性不高。2024年3月9日62第一章绪论

1.3数据库系统结构分布式结构的数据库系统

分布式结构的数据库系统是指数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同接点上。优点:适应了地理上分散的公司、团体和组织对数据库应用的需求缺点:数据的分散存放,给数据的处理、管理与维护带来困难。进行远程访问时,系统效率明显会受到网络交通的限制。

2024年3月9日63第一章绪论

1.3数据库系统结构客户/服务器结构的数据库系统客户/服务器结构的数据库系统可分为集中的服务器结构和分布的服务器结构。集中的服务器结构分布的服务器结构

优点:减少了网络的数据传输量,提高了系统的性能、吞吐量和负载能力;更开放、可移植性高。

2024年3月9日64第一章绪论

1.3数据库系统结构1.3.1数据库系统模式的概念l

数据模型中有“型”和“值”的概念。型是指对某一类数据的结构和属性的说明;值是型的一个具体赋值。例如:(学号,姓名,性别,系别,年龄,籍贯)——型(900201,李明,男,计算机,22,江苏)——值2024年3月9日65第一章绪论

1.3数据库系统结构1.3.1数据库系统模式的概念模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例(Instance)。同一模式可以有很多实例。模式是相对稳定的,而实例是相对变动的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。

2024年3月9日66第一章绪论

1.3数据库系统结构1.3.2数据库系统的三级模式结构数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。如图所示:数据库模式内模式应用A应用B外模式1应用C外模式2应用D应用E外模式3外模式/模式映象内模式/模式映象

数据库系统的三级模式结构2024年3月9日67第一章绪论

1.3数据库系统结构一、模式(Schema)模式(逻辑模式),是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求

2024年3月9日68第一章绪论

1.3数据库系统结构二、外模式(ExternalSchema)外模式(子模式Subschema)或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的表述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集,一个数据库可以有多个外模式。外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。

2024年3月9日69第一章绪论

1.3数据库系统结构三、内模式(InternalSchema)内模式(存储模式StorageSchema),是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。2024年3月9日70第一章绪论

1.3数据库系统结构1.3.3数据库的二级映象功能与数据独立性

数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。数据库管理系统在三级模式之间提供了两层映象: 外模式/模式映象

模式/内模式映象两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

2024年3月9日71第一章绪论

1.3数据库系统结构一、外模式/模式映象对应于同一个模式可以有多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映象,它定义了该外模式与模式之间的对应关系。当模式改变时,由数据库管理员对各个外模式/模式的映象作相应改变,可以使外模式保持不变。从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

2024年3月9日72第一章绪论

1.3数据库系统结构二、模式/内模式映象模式/内模式映象是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系。数据库的存储结构改变时,由数据库管理员对各个模式/内模式的映象作相应改变,可以使模式保持不变。从而应用程序不必修改,保证了数据与程序的物理独立性,简称数据的物理独立性。

2024年3月9日73第一章绪论

1.3数据库系统结构数据库的三级模式结构中,数据库模式即全局逻辑结构模式是数据库的中心与关键,独立于数据库的其他层次。因此,设计数据库模式结构时,首先确定逻辑模式。内模式依赖于逻辑结构模式,独立于外模式,也独立于具体的存储形式。外模式面向具体的应用程序,定义在逻辑模式之上,独立于内模式和存储设备。特定的应用程序在外模式描述的数据结构上编制依赖于特定的外模式,独立于模式和内模式。

2024年3月9日74第一章绪论

1.4数据库系统的组成数据库系统的组成部分有:

硬件平台及数据库 软件

人员

2024年3月9日75第一章绪论

1.4数据库系统的组成一、硬件平台及数据库(1)要有足够大的内存,存放操作系统、DBMS的核心模块、数据缓冲区和应用程序。(2)

要有足够大的硬盘等直接存取设备,存放数据库、有足够的磁盘作数据备份;(3)系统有较高的通道能力,以提高数据传送率。

2024年3月9日76第一章绪论

1.4数据库系统的组成二、软件(1)DBMS。DBMS是为数据库的建立、使用和维护配置的软件。(2)支持DBMS运行的操作系统。(3)具有与数据库接口的高级语言及其编译系统,便于开发应用程序。(4)以DBMS为核心的应用开发工具。(5)为特定应用环境开发的数据库应用系统。

2024年3月9日77第一章绪论

1.4数据库系统的组成三、人员

开发、管理和使用数据库系统的人员主要有:数据库管理员(DBA)、系统分析员、数据库设计人员、应用程序员和最终用户。用户应用系统DBMSOS数据表示外模式模式内模式DBDBA,系统分析员图1.30

各种人员的数据视图应用程序员软件系统层次数据抽象级别2024年3月9日78第一章绪论

1.5数据库技术的研究领域有三方面:一、数据库管理系统软件的研制二、数据库设计三、数据库理论.本章重点:

关系模型及其基本概念;关系操作及关系的完整性;关系代数及关系代数表达式。

本章难点:关系数据库系统与非关系数据库系统的区别;关系的内涵与外延;关系代数中的运算(除)第二章关系数据库关系数据库系统是支持关系模型的数据库系统。关系模型组成:

关系数据结构、 关系操作集合、关系完整性约束。第二章关系数据库

2.1关系模型概述一、单一的数据结构——关系二、关系操作1.常用的关系操作包括:查询操作:选择、投影、连接、除交、并、差更新操作:增加、删除、修改2.关系操作的特点 集合操作方式。即操作的对象和结果都是集合。3.关系数据语言关系代数语言如ISBL

关系演算语言如APLHAQBE

具有关系代数和关系演算双重特点的语言SQL第二章关系数据库

2.1关系模型概述三、关系的三类完整性实体完整性, 参照完整性, 用户自定义完整性第二章关系数据库

2.1关系模型概述通用专用2.2.1关系1.域(Domain)

定义2.1

域(Domain)是一组具有相同数据类型的值的集合。2.笛卡儿积(CartesianProduct)

定义2.2

给定一组域D1,D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡儿积(CartesianProduct)为:D1×D2×…×Dn={(d1,d2,…,dn)|di∈

Di,I=1,2,…,n,}其中每一个元素叫做一个n元组,或简称为元组。元素中每一个值di叫做一个分量。若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为M=m1×m2×…×mn第二章关系数据库

2.2关系数据结构及形式化定义第二章关系数据库

2.2关系数据结构及形式化定义例1:设D1={1,2,3}D2={A,B}D1×D2={(1,A),(1,B),(2,A),(2,B),(3,A),(3,B)}

基数为3×2=6

写成二维表的形式为:

D1×D2=D1D21A1B2A2B3A3B123AB2.2.1关系3.关系(Relation)定义2.3D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的关系,用R(D1,D2,…Dn)表示。这里R表示关系的名字。n是关系的目或度。关系中的每个元素是关系中的元组,通常用

t表示当n=1时,称为单元关系。当n=2时,称为二元关系。关系是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,对每列起一个名字,称为属性。n目关系必有n个属性。第二章关系数据库

2.2关系数据结构及形式化定义

若关系中的某一属性组的值能唯一地标识一个元组,则称该属为候选码(Candidatekey)。若一个关系有多个候选码,则选定其中一个为主码(Primarykey)。主码的诸属性称为主属性(Primeattribute)。不包含在任何候选码中的属性称为非主属性(Non-key

attribute)在数据库中我们要求关系的每一个分量必须是不可分的数据项。并把这样的关系称为规范化的关系,简称为范式。关系可以有三种类型:基本关系(又称为基本表或基表。它是实际存在的表)查询表(是查询结果对应的表)视图表(是由基本表和其它视图表导出的表,是虚表,不对应实际存储的数据)第二章关系数据库

2.2关系数据结构及形式化定义对关系的限定和扩充:(1)无限关系在数据库系统中是无意义的。限定关系数据模型中的关系必须是有限集合。(2)通过为关系的每个列附加一个属性名的方法取消元组的有序性。即(d1,d2,…di,dj,…dn)=(d1,d2,…dj,di,…dn)第二章关系数据库

2.2关系数据结构及形式化定义基本关系有以下性质:1.

列是同质的,即每一列中的分量是同一类型的数据,来自同一域。2.

不同的列可出自同一域,每一列称为属性,要给予不同的属性名。3.

列的顺序无所谓,即列的次序可以任意交换。4.

任意两个元组不能全同。5.

行的顺序无所谓,即行的次序可以任意交换。6.分量必须取原子值,

每一分量必须是不可分的数据项。第二章关系数据库

2.2关系数据结构及形式化定义第二章关系数据库

2.2关系数据结构及形式化定义2.2.2关系模式关系数据库中,关系模式是型,关系是值。关系是元组的集合。因此关系模式必须指出这个元组集合的结构,即它由哪些属性构成,这些属性来自哪些域,以及属性与域之间的映象关系。定义2.4关系的描述称为关系模式(RelationSchema)。它可以形式化地表示为:

R(U,D,dom,F)其中:R为关系名;

U为组成该关系的属性名集合;

D为属性组U中属性所来自的域;

dom为属性向域的映象集合;

F为属性间数据的依赖关系集合。第二章关系数据库

2.2关系数据结构及形式化定义关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的。关系是动态的、随时间不断变化的。在实际中,常常把关系模式和关系统称为关系,可以从上下文中加以区别。第二章关系数据库

2.2关系数据结构及形式化定义2.2.3关系数据库关系数据库:在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库。关系数据库有型和值之分。关系数据库的型:也称为关系数据库模式,包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值:是这些关系模式在某一时刻对应的关系的集合,通常称为关系数据库。第二章关系数据库

2.3关系的完整性关系模型的完整性规则是对关系的某种约束条件。关系模型有三类完整性约束:实体完整性、参照完整性、用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性。

第二章关系数据库

2.3关系的完整性一、实体完整性(EntityIntegrity)规则2.1

实体完整性规则设属性A是基本关系R的主属性,则属性A不能取空值。对实体完整性规则的说明:1.

实体完整性规则是针对基本关系而言的。一个基本关系通常对应现实世界的一个实体集。2.

现实世界的实体是可区分的,即他们具有某种唯一性标识。3.

关系中由主码作为唯一性标识。主属性不能取空值。空值是“不知道”或“无意义”的值。例2:学生(学号,姓名,出生日期,班级,所属系,专业号)学生选课(学号,课程号,成绩)第二章关系数据库

2.3关系的完整性二、参照完整性(ReferentialIntegrity)

定义2.5设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码KS相对应,则称F是基本关系R的外码(ForeignKey),并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。关系R和S不一定是不同的关系。

目标关系S的主码KS和参照关系的外码F必须定义在同一个(或一组)域上。参照完整性规则是定义外码与主码之间的引用规则。规则2.2

参照完整性规则若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(基本关系R和S不一定是不同的关系),则对于R中每一个元组在F上的值必须为:(1)或者取空值(2)或者等于S中某个元组的主码值。第二章关系数据库

2.3关系的完整性例3:学生R(学号,姓名,出生日期,班级,所属系,专业号)专业S(专业号,专业名)被参照关系或目标关系例4:学生(学号,姓名,出生日期,班级,所属系,专业号)课程(课程号,课程名,学分)选修(学号,课程号,成绩)例5:学生2(学号,姓名,出生日期,班级,所属系,班长)第二章关系数据库

2.3关系的完整性三、用户定义的完整性(User-definedIntegrity)

用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。第二章关系数据库

2.4关系代数关系代数是一种抽象的查询语言,是关系数据操纵的一种传统表达方式。关系代数是用对关系的运算来表达查询的。运算的三要素:运算对象、运算符、运算结果关系代数的运算对象:关系关系代数的运算结果:关系关系代数的运算符:集合运算符专门的关系运算符算术比较符逻辑运算符关系代数运算按运算符分类:传统的集合运算专门的关系运算第二章关系数据库

2.4关系代数集合运算符∪-∩并差交专门的关系运算符σ∏∞÷×选择投影连接除广义笛卡耳积算术比较符>≥<≤=≠逻辑运算符∧∨非与或第二章关系数据库

2.4关系代数2.4.1传统的集合运算定义2.6

关系相容设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则称关系R和关系S是关系相容的。设关系R和关系S是关系相容的,则可以定义以下基本操作:

1.

并(Union)

关系R和关系S的并记为:R∪S={t|t∈R∨t∈S}

其结果仍为n目关系。由属于R或属于S的元组组成。

2.差

(Difference)

关系R和关系S的差记为:R-S={t|t∈R∧t

S}

其结果仍为n目关系。由属于R而不属于S的元组组成。

3.交

(Intersection)

关系R和关系S的交记为:R∩S={t|t∈R∧t∈S}

其结果仍为n目关系。由既属于R又属于S的元组组成。关系的交可由关系的差表示,即R∩S=R-(R-S)第二章关系数据库

2.4关系代数2.4.1传统的集合运算

4.

广义笛卡尔积两个分别为n目和m目的关系R和关系S的广义笛卡尔积是一个元组(n+m)列的元组的集合。元组的前n列是R的一个元组,后m列是关系是的一个元组。如R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。记作:

R×S={trts|tr∈R∧ts∈S}第二章关系数据库

2.4关系代数2.4.1传统的集合运算传统的集合运算是二目运算,包括并、交、差、广义笛卡尔集运算。它将关系看成元组的集合,其运算是从关系的“水平”方向,即行的角度来进行的。RSRSRSR×SRSR∩SR-SR∪S第二章关系数据库

2.4关系代数2.4.2专门的关系运算专门的关系运算包括选择、投影、连接和除等。几个记号。1.

设关系模式为R(A1,A2,…AN),它的一个关系设为R。t∈R表示t是R的一个元组,t[Ai]则表示元组t中相应于属性Ai的一个分量。2.若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…AN中的一部分,则A称为属性列或域列。则t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元组t在属性列A上诸分量的集合。Ã则表示{A1,A2,…AN}中去掉{Ai1,Ai2,…,Aik}后剩下的属性组。3.R为

n目的关系,S为m目关系。tr∈R,ts∈S,trts

称为元组的连串。它是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。第二章关系数据库

2.4关系代数2.4.2专门的关系运算几个记号。4.给定一个关系R(X,Z),X和Z为属性组,定义,当t[X]=x时,x在R中的象集为:Zx={t[Z]|t∈R,t[X]=x},表示R中属性组X上的值为x的诸元组在Z上分量的集合。例6:设有关系R(学号,姓名,性别)学号姓名性别0001张萍女0002王飞男0003李强男记:X为学号

Z为姓名,性别当t[X]=x=‘0001’时Zx=t[Z]={‘张萍’,‘女’}第二章关系数据库

2.4关系代数2.4.2专门的关系运算1.选择(Selection)

选择又称为限制。它是在关系R中选择满足给定条件的诸元组,记作:σF(R)={t|t∈R∧F(t)=‘真’}

其中F表示选择条件,它是一个逻辑表达式,取逻辑值“真”或“假”。

F由逻辑运算符

、∧、∨连接各算术表达式组成。算术表达式的基本形式为:X1θY1。其中θ表示比较运算符,X1,Y1等是属性名,或为常量,或为简单函数。

属性名也可以用它的序号来代替。

第二章关系数据库

2.4关系代数2.4.2专门的关系运算选择运算是从关系R中选取使逻辑表达式F为真的元组,这是从行的角度进行的运算。σ第二章关系数据库

2.4关系代数2.4.2专门的关系运算2.投影(Projection)

关系R上的投影是从R中选择出若干属性列组成新的关系。记作:

ΠA(R)={t[A]|t∈R}

其中A为R中的属性列。投影操作是从列的角度进行的运算。第二章关系数据库

2.4关系代数2.4.2专门的关系运算投影操作是从列的角度进行的运算。它不仅涉及到列,还涉及到行。Π第二章关系数据库

2.4关系代数2.4.2专门的关系运算3.连接(Join)

连接也称为θ连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:

R∞S={trts|tr∈R∧ts∈S∧tr[A]θts[B]}

AθB

其中:A和B分别是R和S上度数相等且可比的属性组。

等值连接

R∞S={trts|tr∈R∧ts∈S∧tr[A]=ts[B]}

A=B

自然连接

R∞S={trts|tr∈R∧ts∈S∧tr[B]=ts[B]}第二章关系数据库

2.4关系代数RS∞θθ连接第二章关系数据库

2.4关系代数RS∞自然连接相同属性第二章关系数据库

2.4关系代数2.4.2专门的关系运算

4.除(Division)

给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性列。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。除法结果是R中满足下列条件的元组在X属性列上的投影:记作:

R÷S={tr[X]|tr∈R∧ΠY(S)

Yx}

其中Yx为x在R中的象集,x=tr[X]

第二章关系数据库

2.4关系代数在以上介绍的八种运算中基本的运算是五种:

并、差、笛卡尔积、投影、选择其他的运算均可用这五种基本运算来表达。引进他们并不增加语言的能力,但可以简化表达。

.本章重点:

SQL的数据定义、查询、更新、控制功能;视图的概念及其优点。

本章难点:

SQL的数据查询功能。第三章关系数据库标准语言SQLSQL历史SQL:StructuredQueryLanguang1974年,由Boyce和Chamberlin提出1975-1979年,在SystemR上实现,由IBM的SanJose研究室研制

由于它功能丰富受到广泛欢迎,经不断修改、扩充和完善,SQL语言最终发展成为关系数据库的标准语言。第三章关系数据库标准语言SQLSQL第三章关系数据库标准语言SQL标准化有关组织ANSI(AmericanNaturalStandardInstitute)美国国家标准局ISO(InternationalOrganizationforStandardization)国际标准化组织有关标准SQL-86(1986年10月ANSI的数据库委员会X3H2,87年ISO通过)“数据库语言SQL”SQL-89“具有完整性增强的数据库语言SQL”,增加了对完整性约束的支持SQL-92(SQL-2)“数据库语言SQL”,是SQL-89的超集,增加了许多新特性,如新的数据类型,更丰富的数据操作,更强的完整性、安全性支持等。SQL-99(SQL-3)

正在讨论中的新的标准,将增加对面向对象模型的支持意义:

自SQL成为国际标准语言后,各个数据库厂家纷纷推出各自的SQL软件或与SQL的接口软件,这就使得大多数数据库均用SQL作为共同的数据存取语言和标准接口,使不同数据库系统之间的互操作有了共同的基础。这个意义十分重大。SQL成为国际标准,对数据库以外的领域也产生了很大影响。SQL已成为数据库领域中的一个主流语言。第三章关系数据库标准语言SQL3.1.1SQL特点

SQL语言的英语意义是结构查询语言(StructuredQueryLanguage)。实际上它的功能丰富。SQL功能:数据查询(DataQUERY);数据操纵(DataMANIPULATION);数据定义(DataDEFINITION);数据控制(DataCONTROL)SQL的主要特点是:1.综合统一(一体化的特点)

2.高度非过程化

3.面向集合的操作方式

4.以同一种语法结构提供两种使用方式

5.语言简洁,易学易用第三章关系数据库标准语言SQL

3.1SQL概述第三章关系数据库标准语言SQL

3.1SQL概述SQL语言的动词SQL功能动词数据查询SELECT数据定义CREATEDROPALTER数据操纵INSERTUPDATEDELETE数据控制GRANTREVOKE3.1.2SQL语言的基本概念SQL语言支持关系数据库三级模式结构。第三章关系数据库标准语言SQL

3.1SQL概述SQL视图1视图2基本表1基本表2基本表3基本表4存储文件1存储文件2外模式模式内模式SQL的数据定义功能包括三部分:定义基本表,定义视图和定义索引。视图是基于基本表的虚表,索引是依附于基本表的。因此SQL通常不提供修改视图和索引定义的操作。SQL的数据定义语句第三章关系数据库标准语言SQL

3.2数据定义操作对象操作方式创建删除修改表CREATETABLEDROPTABLEALTERTABLE视图CREATEVIEWDROPVIEW索引CREATEINDEXDROPINDEX3.2.1定义、删除、与修改基本表一、定义基本表语句格式为:CREATETABLE<表名>(<列名><数据类型>[列级完整性约束][,<列名><数据类型>[列级完整性约束]]…[,表级完整性约束]);

功能:定义一个基本表,同时定义与该表有关的完整性约束条件。说明:(1)<表名>是所要定义的基本表的名字。

(2)一个表可以由一个或几个属性(列)组成。第三章关系数据库标准语言SQL

3.2数据定义DB2SQL支持以下数据类型;INTEGER或INT全字长(31bits精度)的二进制整数SMALLINT半字长(精度为15bits)的二进制整数DECIMAL(p[,q])或DEC(p[,q])压缩十进制数,共p位,小数点后有q位.15>=p>=q>=0,q=0时可省略.FLOAT双字长的浮点数CHARTER(N)或CHAR(N)长度为n的定长字符串VARCHAR(N)变长字符串,最大长度为nGRAPHIC(N)长度为n的定长图形字符串VARGRAPHIC(N)变长图形字符串,最大长度为nDATE日期型,格式为YYYY-MM-DDTIME时间型,格式为HH.MM.SSTIMESTAMP日期加时间第三章关系数据库标准语言SQL

3.2数据定义第三章关系数据库标准语言SQL

3.2数据定义

例1:建立一个学生表Student,它由学号Sno,姓名Sname,性别Ssex,年龄Sage,所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,且姓名取值也唯一。

CREATETABLEStudent(SnoCHAR(5)NOTNULLUNIQUE,Snamechar(8)UNIQUE,SsexCHAR(1),SageSMALLINT,SdeptCHAR(15));

系统执行上面的CREATETABLE语句后,就在数据库中建立一个新的空的“学生”表Student,并将有关“学生”表的定义及有关约束条件存放在数据字典中。第三章关系数据库标准语言SQL

3.2数据定义例2:CREATETABLEs( snochar(6)notnul

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论