数据库原理课程教案.docx
《数据库原理课程教案.docx》由会员分享,可在线阅读,更多相关《数据库原理课程教案.docx(52页珍藏版)》请在冰豆网上搜索。
数据库原理课程教案
数据库原理课程教案
授课题目(教学章、节或主题):
第一章绪论:
包括数据库系统概述,数据模型,数据库系统结构和数据库系统的组成。
教学目的、要求(分掌握、熟悉、了解三个层次):
了解:
数据、数据库、数据库管理系统和数据库系统、数据模型、以及数据库系统的三级模式结构和数据库系统的组成等基本概念。
理解:
数据库常用的基本概念
数据库系统的特点
数据库系统运行的大致过程
掌握:
实体-联系模型(E-R图的表示方法)
实体-联系数据库模式的设计
教学重点及难点:
重点:
1.数据、数据库、数据库管理系统和数据库系统
2.数据库系统的特点
3.数据模型:
数据模型的组成要素
4.概念模型的表示方法:
实体-联系模型(E-R图的表示方法)
难点:
数据库系统的三级模式结构
课时安排:
6节
授课方式:
理论课
教学基本内容:
以教师为中心的讲授、提问及论证等的教学方法,教学手段使用板书与多媒体相结合的手段。
第一章绪论
1.1数据库系统概述
1.1.1数据与信息
v数据(Data)是数据库中存储的基本对象
v数据的定义
▪描述事物的符号记录(符号是一种人为的规定)
v数据的种类
▪文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等
v数据的特点
▪数据与其语义是不可分的
数据举例
v数据的含义称为数据的语义,数据与其语义是不可分的。
(加入语义后就是其所传递的信息的)
▪例如93是一个数据
语义1:
学生某门课的成绩
语义2:
某人的体重
语义3:
计算机系2003级学生人数
语义4:
。
。
。
学生档案中的学生记录
(李明,男,197205,江苏南京市,计算机系,1990)
▪语义:
学生姓名、性别、出生年月、籍贯、所在院系、
入学时间
▪解释:
李明是个大学生,1972年5月出生,江苏南京市人,1990年考入计算机系
▪另一个解释和语义?
v数据与信息是密不可分的。
1.1.2数据管理技术的产生和发展
v什么是数据管理
▪对数据进行分类、组织、编码、存储、检索和维护
▪数据处理的中心问题
v数据管理技术的发展过程
▪人工管理阶段(20世纪40年代中--50年代中)
▪文件系统阶段(20世纪50年代末--60年代中)
▪数据库系统阶段(20世纪60年代末--现在)
v数据管理技术的发展动力
▪应用需求的推动
▪计算机硬件的发展
▪计算机软件的发展
一、人工管理阶段
v时期
▪20世纪40年代中--50年代中
v产生的背景
▪应用需求科学计算
▪硬件水平无直接存取存储设备
▪软件水平没有操作系统
▪处理方式批处理
v人工管理阶段存在以下问题:
▪
(1)数据不独立保存。
---数据不保存在计算机内
▪
(2)应用程序管理数据。
▪(3)数据不共享。
▪(4)数据不具有独立性。
▪(5)数据没有软件系统进行管理,程序员不仅要规定数据的逻辑结构,而且还要设计数据的物理结构,数据面向应用。
▪在人工管理阶段最明显的缺点就是缺乏数据独立性。
所以在20世纪50年代后期至60年代中期,随着计算机技术的发展,不但计算机的硬件有了磁盘等直接存储设备,而且在操作系统中也有了专门的数据管理软件,称为文件系统,数据管理进入文件系统阶段。
▪在文件系统阶段,程序与数据分别独立存放,数据组成数据文件,并且独立命名,程序通过文件名对文件中的数据进行处理,在程序与数据之间的转换由文件管理系统来完成。
即采用“应用程序—文件管理系统—数据文件”的存取方式。
二、文件系统阶段
v时期
▪20世纪50年代末--60年代中
v产生的背景
▪应用需求科学计算、管理
▪硬件水平磁盘、磁鼓
▪软件水平有文件系统
▪处理方式联机实时处理、批处理
文件系统中数据的结构
v记录内有结构。
v数据的结构是靠程序定义和解释的。
v数据只能是定长的。
▪可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。
v文件间是独立的,因此数据整体无结构。
▪可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系。
v数据的最小存取单位是记录。
把下面的缺点和上面的数据的结构结合起来讲解。
文件管理阶段的缺点:
v
(1)数据冗余度大、共享性差、易产生数据不一致性
如:
在表1-1人事文件、表1-2教学文件、表1-3科研文件、表1-4体检文件中都有编号、姓名、性别、职称信息,这显然造成了大量数据的冗余,并且如果该教师职称发生了变化,在人事文件中改变了其相应的职称信息,但在教学、科研等文件中没有被修改,就会产生数据的不一致性。
v
(2)数据独立性差
例如:
在表1-1人事文件中插入一个所在单位和年龄属性,将会引起应用程序的变化。
v(3)用户负担重
文件系统虽然为用户提供了一种简单的、统一的存取文件的方法,但文件的处理、数据的安全性、完整性得不到可靠保证,这些必须由用户程序完成。
如:
在性别信息中,性别只能是“男”或“女”,如果是其它数据则不能接受。
但是,关于这个完整性的控制必须由用户程序来完成。
IFNOT(性别=“男”OR性别=“女”)
Print“性别不对,性别只能是‘男’或者‘女’”
ENDIF
v(4)数据无结构
数据文件是按位置存放的,记录之间没有联系,数据是无结构的。
除此之外,文件系统一般不支持多个应用程序对同一文件的并发访问,数据处理的效率较低。
同时,使用方式不够灵活。
每个数据文件只限于一定的应用,难于对其进行修改和扩充。
三、数据库系统阶段
v时期
▪20世纪60年代末以来
v产生的背景
▪应用背景大规模管理
▪硬件背景大容量磁盘、磁盘阵列
▪软件背景有数据库管理系统
▪处理方式联机实时处理,分布处理,批处理
1.1.3数据库
v数据库的定义
▪数据库是指在计算机的存储设备上合理存放的相互关联的有结构的数据集合。
▪数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。
v数据库的基本特征
▪数据按一定的数据模型组织、描述和储存
▪可为各种用户共享
▪冗余度较小
▪数据独立性较高
▪易扩展
1.1.4数据库管理系统
v什么是DBMS
▪位于用户与操作系统之间的一层数据管理软件。
主要功能是建立和维护数据库,接受和完成用户访问数据库的各种请求。
▪是基础软件,是一个大型复杂的软件系统
vDBMS的用途
▪科学地组织和存储数据、高效地获取和维护数据
1、DBMS的主要功能
▪数据定义功能
提供数据定义语言(DDL)
定义数据库中的数据对象
定义外模式、模式、内模式及模式间的映像
定义完整性、安全性、存取路径等
▪数据库管理功能
数据库的控制功能:
指DBMS执行对访问数据库的安全性、完整性检查和对数据库共享的并发控制,以保证数据库的可靠性和可用性。
控制数据库的操作:
指DBMS接收、分析和执行用户对数据库提出的各种操作请求,完成对数据库的的查询、插入、删除和修改等。
▪数据库的建立和维护功能(实用程序)
数据库存储
记录工作日志
性能监视分析
数据库的重组和重构
数据库的恢复等
▪数据组织、存储和管理
分类组织、存储和管理各种数据
确定组织数据的文件结构和存取方式
实现数据之间的联系
提供多种存取方法提高存取效率
▪通信功能
具有与操作系统的相应接口,负责处理数据传送
DBMS与网络中其它软件系统的通信
两个DBMS系统的数据转换
异构数据库之间的互访和互操作
2.数据库管理系统应该满足的要求
(1)容易使用
(2)数据处理速度快、能力强
(3)具有可发展性
(4)具有物理数据独立性和逻辑数据独立性
(5)确保数据的完整性
(6)具有良好的数据保密性和安全性
(7)兼容性好
(8)和谐性
(9)逻辑数据结构简单
(10)强有力的用户语言
3.数据库管理系统的组成
(1)语言
(2)数据库运行程序
(3)数据库维护程序
1.1.5数据库系统
v什么是数据库系统(DatabaseSystem,简称DBS)
在计算机系统中引入数据库后的系统
数据库系统(DBS)是实现有组织地、动态地存储大量相关的结构化数据,方便用户使用数据库的计算机软件、硬件资源组成的系统。
在不引起混淆的情况下常常把数据库系统简称为数据库。
v数据库系统一般由硬件、软件、数据库、用户四部分组成。
(1)硬件
(2)软件
(3)数据库
(4)用户
数据库系统构成:
数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员
1.1.6数据库系统的特点
数据库系统是一个比较复杂的系统,包括计算机的软件、硬件环境以及数据库、数据库管理系统、数据库管理员等相互独立而又相互联系的若干部分组成。
所以,很难用简练语言概括其全部特点,但是用数据库系统管理数据应该具有以下基本特点:
v数据结构化
v数据的共享性高,冗余度低,易扩充
v数据独立性高
v数据由DBMS统一管理和控制
数据结构化
v整体数据的结构化是数据库的主要特征之一
v整体结构化
▪不再仅仅针对某一个应用,而是面向全组织
▪不仅数据内部结构化,整体是结构化的,数据之间具有联系
v数据库中实现的是数据的真正结构化
▪数据的结构用数据模型描述,无需程序定义和解释
▪数据可以变长
▪数据的最小存取单位是数据项
数据的共享性高,冗余度低,易扩充
v数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。
v数据共享的好处
▪减少数据冗余,节约存储空间
▪避免数据之间的不相容性与不一致性
▪使系统易于扩充
数据独立性高
v物理独立性
▪指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
当数据的物理存储改变了,应用程序不用改变。
v逻辑独立性
▪指用户的应用程序与数据库的逻辑结构是相互独立的。
数据的逻辑结构改变了,用户程序也可以不变。
v数据独立性是由DBMS的二级映像功能来保证的
数据由DBMS统一管理和控制
vDBMS提供的数据控制功能
▪
(1)数据的安全性(Security)保护
保护数据,以防止不合法的使用造成的数据的泄密和破坏。
▪
(2)数据的完整性(Integrity)检查
将数据控制在有效的范围内,或保证数据之间满足一定的关系。
▪(3)并发(Concurrency)控制
对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
▪(4)数据库恢复(Recovery)
将数据库从错误状态恢复到某一已知的正确状态。
1.1.7数据库应用系统
v数据库应用系统是数据库系统及其应用程序的组成。
即在数据库系统环境下建立起来的为某种应用服务的软、硬件的集合。
我们也经常称这种软件为应用软件。
v数据库、数据库系统、数据库管理系统和数据库应用系统(DBAS)之间的关系如图所示。
1.2数据模型
数据模型
v在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。
v通俗地讲数据模型就是现实世界的模拟。
v数据模型应满足三方面要求
▪能比较真实地模拟现实世界
▪容易为人所理解
▪便于在计算机上实现
1.2.1两大类数据模型
v数据模型分为两类(分属两个不同的层次)
(1)概念模型也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
(2)逻辑模型和物理模型
▪逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。
▪物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。
v客观对象的抽象过程---两步抽象
▪现实世界中的客观对象抽象为概念模型;
▪把概念模型转换为某一DBMS支持的数据模型。
1.2.2数据模型的组成要素
v数据结构
v数据操作
v完整性约束条件
一、数据结构
v什么是数据结构
▪描述数据库的组成对象,以及对象之间的联系
v描述的内容
▪与数据类型、内容、性质有关的对象
▪与数据之间联系有关的对象
v数据结构是对系统静态特性的描述
二、数据操作
v数据操作
▪对数据库中各种对象(型)的实例(值)允许执行的
操作及有关的操作规则
v数据操作的类型
▪查询
▪更新(包括插入、删除、修改)
v数据模型对操作的定义
▪操作的确切含义
▪操作符号
▪操作规则(如优先级)
▪实现操作的语言
v数据操作是对系统动态特性的描述
请举例说明
三、数据的完整性约束条件
v数据的完整性约束条件
▪一组完整性规则的集合。
▪完整性规则:
给定的数据模型中数据及其联系所具有的制约和储存规则
▪用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
v数据模型对完整性约束条件的定义
▪反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。
例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。
▪提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。
1.2.3概念模型
v信息世界中的基本概念
v两个实体型之间的联系
v两个以上实体型之间的联系
v单个实体型内的联系
v概念模型的一种表示方法
v一个实例
概念模型
v概念模型的用途
▪概念模型用于信息世界的建模
▪是现实世界到机器世界的一个中间层次
▪是数据库设计的有力工具
▪数据库设计人员和用户之间进行交流的语言
v对概念模型的基本要求
▪较强的语义表达能力
▪能够方便、直接地表达应用中的各种语义知识
▪简单、清晰、易于用户理解
一、信息世界中的基本概念
(1)实体(Entity)
客观存在并可相互区别的事物称为实体。
可以是具体的人、事、物或抽象的概念。
(2)属性(Attribute)
实体所具有的某一特性称为属性。
一个实体可以由若干个属性来刻画。
(3)码(Key)
唯一标识实体的属性集称为码。
(4)域(Domain)
属性的取值范围称为该属性的域。
(5)实体型(EntityType)
用实体名及其属性名集合来抽象和刻画同类实体称为实体型
(6)实体集(EntitySet)
同一类型实体的集合称为实体集
(7)联系(Relationship)
▪现实世界中事物内部以及事物之间的联系在信息世界
中反映为实体内部的联系和实体之间的联系。
▪实体内部的联系通常是指组成实体的各属性之间的联系
▪实体之间的联系通常是指不同实体集之间的联系
二、两个实体型之间的联系
用图形来表示两个实体型之间的这三类联系
v一对一联系(1:
1)
▪实例
一个班级只有一个正班长,一个班长只在一个班中任职
▪定义:
如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:
1
两个实体型之间的联系(续)
v一对多联系(1:
n)
▪实例
一个班级中有若干名学生,每个学生只在一个班级中学习
▪定义:
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:
n
v多对多联系(m:
n)
▪实例
课程与学生之间的联系:
一门课程同时有若干个学生选修,一个学生可以同时选修多门课程
▪定义:
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系,记为m:
n
三、两个以上实体型之间的联系
v两个以上实体型之间一对多联系
▪若实体集E1,E2,...,En存在联系,对于实体集Ej(j=1,2,...,i-1,i+1,...,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,...,Ei-1,Ei+1,...,En之间的联系是一对多的
v实例
课程、教师与参考书三个实体型一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用多个实体型间的一对一联系
v两个以上实体型间的多对多联系
▪实例
供应商、项目、零件三个实体型,一个供应商可以供给多个项目多种零件,每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给
四、单个实体型内的联系
v一对多联系
▪实例
职工实体型内部具有领导与被领导的联系:
某一职工(干部)“领导”若干名职工,一个职工仅被另外一个职工直接领导
这是一对多的联系
v一对一联系
请举例
五、概念模型的一种表示方法
v实体-联系方法(E-R方法)
▪用E-R图来描述现实世界的概念模型
▪E-R方法也称为E-R模型
E-R图
v实体型
用矩形表示,矩形框内写明实体名
v属性
用椭圆形表示,并用无向边将其与相应的实体连接起来
v联系
▪联系本身:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:
1、1:
n或m:
n)
联系的表示方法
联系的表示方法示例
联系的属性:
联系本身也是一种实体型,也可以有属性。
如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来
六、一个实例
用E-R图表示某个工厂物资管理的概念模型
v实体
▪仓库:
仓库号、面积、电话号码
▪零件:
零件号、名称、规格、单价、描述
▪供应商:
供应商号、姓名、地址、电话号码、帐号
▪项目:
项目号、预算、开工日期
▪职工:
职工号、姓名、年龄、职称
v实体之间的联系如下:
(1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。
仓库和零件具有多对多的联系。
用库存量来表示某种零件在某个仓库中的数量。
(2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。
职工实体型中具有一对多的联系
(3)职工之间具有领导-被领导关系。
即仓库主任领导若干保管员。
(4)供应商、项目和零件三者之间具有多对多的联系
第二个实例
v设计各实体属性如下:
▪系(系号,系名,主任名)
▪教师(教师号,教师名,职称)
▪学生(学号,姓名,年龄,性别)
▪项目(项目号,名称,负责人)
▪课程(课程号,课程名,学分)
v各实体之间的联系有:
▪教师担任课程的1:
n“任课”联系;
▪教师参加项目的n:
m“参加”联系;
▪学生选修课程的n:
m“选修”联系:
▪教师、学生与系之间的所属关系的1:
n:
m“领导”联系。
【例3】某医院病房计算机管理中需要如下信息:
•科室:
科名,科地址,科电话,医生姓名
•病房:
病房号,床位号,所属科室名
•医生:
姓名,职称,所属科室名,年龄,工作证号
•病人:
病历号,姓名,性别,诊断,主管医生,病房号
其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
设计该计算机管理系统的E-R图.
1.2.4最常用的数据模型
v非关系模型
▪层次模型(HierarchicalModel)
▪网状模型(NetworkModel)
v关系模型(RelationalModel)
v面向对象模型(ObjectOrientedModel)
v对象关系模型(ObjectRelationalModel)
1.2.5层次模型
v层次模型是数据库系统中最早出现的数据模型
v层次数据库系统的典型代表是IBM公司的IMS(InformationManagementSystem)数据库管理系统
v层次模型用树形结构来表示各类实体以及实体间的联系
一、层次数据模型的数据结构
v层次模型
满足下面两个条件的基本层次联系的集合为层次模型
1.有且只有一个结点没有双亲结点,这个结点称为根结点
2.根以外的其它结点有且只有一个双亲结点
v层次模型中的几个术语
▪根结点,双亲结点,兄弟结点,叶结点
v层次模型的特点:
▪结点的双亲是唯一的
▪只能直接处理一对多的实体联系
▪每个记录类型可以定义一个排序字段,也称为码字段
▪任何记录值只有按其路径查看时,才能显出它的全部意义
▪没有一个子女记录值能够脱离双亲记录值而独立存在
图1.17教员学生层次数据库模型
图1.18教员学生层次数据库的一个值
二、多对多联系在层次模型中的表示
v多对多联系在层次模型中的表示
▪用层次模型间接表示多对多联系
▪方法
将多对多联系分解成一对多联系
▪分解方法
•冗余结点法
•虚拟结点法
三、层次模型的数据操纵与完整性约束
v层次模型的数据操纵
▪查询
▪插入
▪删除
▪更新
v层次模型的完整性约束条件
▪无相应的双亲结点值就不能插入子女结点值
▪如果删除双亲结点值,则相应的子女结点值也被同时删除
▪更新操作时,应更新所有相应记录,以保证数据的一致性
四、层次数据模型的存储结构
v邻接法
按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序
按邻接法存放图1.20(b)中以根记录A1为首的层次记录实例集
v链接法
▪用指引来反映数据之间的层次联系
▪子女-兄弟链接法
▪层次序列链接法
⏹子女-兄弟链接法
每个记录设两类指针,分别指向最左边的子女(每个记录型对应一个)和最近的兄弟
v层次序列链接法
按树的前序穿越顺序链接各记录值
五、层次模型的优缺点
v优点
▪层次模型的数据结构比较简单清晰
▪查询效率高,性能优于关系模型,不低于网状模型
▪层次数据模型提供了良好的完整性支持
v缺点
▪多对多联系表示不自然
▪对插入和删除操作的限制多,应用程序的编写比较复杂
▪查询子女结点必须通过双亲结点
▪由于结构严密,层次命令趋于程序化
1.2.6网状模型
v网状数据库系统采用网状模型作为数据的组织方式
v典型代表是DBTG系统:
▪亦称CODASYL系统
▪70年代由DBTG提出的一个系统方案
▪奠定了数据库系统的基本概念、方法和技术
v实际系统
▪CullinetSoftwareInc.公司的IDMS
▪Univac公司的DMS1100
▪Honeywell公司的IDS/2
▪HP公司的IMAGE
1.网状数据模型的数据结构
v网状模型
满足下面两个条件的基本层次联系的集合:
1.允许一个以上的结点无双亲;
2.一个结点可以有多于一个的双亲。
v表示方法(与层次数据模型相同)
实体型:
用记录类型描述
每个结点表