《数据库原理及应用》教案.docx
《《数据库原理及应用》教案.docx》由会员分享,可在线阅读,更多相关《《数据库原理及应用》教案.docx(27页珍藏版)》请在冰豆网上搜索。
![《数据库原理及应用》教案.docx](https://file1.bdocx.com/fileroot1/2022-12/11/92a4a28d-8f82-43ca-be3d-6ee9331757ce/92a4a28d-8f82-43ca-be3d-6ee9331757ce1.gif)
《数据库原理及应用》教案
《数据库原理及应用》教案
新乡学院计算机与信息工程学院
第1章数据库技术概论
●教学目的:
本章概述了数据库管理的进展、数据模型和数据库系统构成的一般概念,说明什么是数据库设计以及为什么要发展数据库技术,使学生对数据库系统有一个初步的认识。
●教学重点:
1、数据管理的三个阶段及特点。
2、三种主要模型的概念。
3、E-R图。
4、DBS体系结构。
●教学难点:
E-R图
1.1数据库系统概论
●教学目的:
从已有的知识对学生进行启发,认识到DB的重要性以及本课程的任务和目的。
●教学重点:
1、数据管理种计算机化的三个阶段。
2、三个阶段的特点。
●教学难点:
数据库系统阶段的特点。
●教学内容:
1.1.1引言
1.计算机的应用领域:
数值计算
数据处理80%以上
实时控制
人工智能
辅助设计
2.数据处理
指对各种形式的数据进行收集、存储、加工和传播等一系列活动的总和。
目的:
是从大量、原始的数据中抽取、推导出对人们有价值的信息作为行为决策的依据。
方式:
借助于计算机科学的保存和管理复杂的大量数据,以便能方便地利用信息资源。
3.出现(存在)的问题:
(1)大量的数据如何存放。
(存储)
(2)大量的数据如何组织。
(结构)
(3)大量的数据如何分类、查找、统计。
(处理)
(4)大量的数据如何有效使用。
(共享、保护)
(5)大量的数据如何维护。
(维护)
正是这些问题的存在,迫使人们去形成一套数据处理的理论、方法、技术。
-----数据库技术。
4.基本概念
(1)数据库技术-----是研究数据库结构、存储、设计、管理和使用的一门软件学科。
(2)数据库(DataBase)-----是长期存储在计算机内有组织的、大量的、共享的数据集合,具有最小的冗余和较高的数据独立性,并为各种用户共享。
(3)数据库管理系统(DataBaseManagementSystem)-----位于用户和OS之间的一层数据管理软件,包括DB的建立、查询、更新。
(4)数据库系统(DataBaseSystem)-----实现有组织地、动态地存储大量关联数据,方便用户访问的计算机软、硬件和数据资源组成的系统。
1.1.2数据管理的进展
数据处理的中心问题是数据管理
数据的分类
数据的组织
数据的编码
数据管理包括数据的存储
数据的检索
数据的维护
依据其使用:
技术的不同、设备的不同,
数据管理(处理)可分为:
人工式:
人工处理数据阶段1800年以前,算盘,笔记
手工数据处理机械辅助式:
机械辅助阶段1800—1890手摇电动计算机
机械数据处理机电阶段1890—1946年穿空机、验空机、分类机、卡片机、制表机
电子数据处理电子阶段1946年后
本书所讲的是电子数据处理发展经过的三个阶段:
人工管理
电子数据处理文件系统
DBS
1.人工管理阶段
(1)背景50年代中期前,用于科学计算
软件:
汇编语言没有OS
硬件:
磁带、卡片等顺序存储设备
数据处理方式:
批处理
(2)特点
•数据不保存,用完即撤走。
(用于科学计算)
•没有专门的数据管理软件(文件与记录的描述安置在每一个应用程序中,程序员不仅要规定数据的逻辑结构,而且还要在程序中设计物理结构,实质上,也并无逻辑、物理结构之分,数据和程序是一体的。
)
•数据不共享。
(数据是面向应用的。
一组数据对应一个程序)
•无控冗余,不一致数据。
(存储浪费空间,同一数据有可能出现不一致性)
•数据缺乏独立性。
(程序和数据的任何一方改动,都会引起程序的修改)
2.文件系统阶段
(1)背景50--60年代计算机不仅用于科学计算,开始处理数据
软件:
高级语言,OS,文件系统
硬件:
磁盘、磁鼓等直接存储设备
数据处理方式:
批处理,联机实时处理
(2)特点
∙数据以文件的形式长期保存。
∙由文件系统管理数据,数据与应用程序之间有了一定的独立性。
∙数据冗余度较大,共享性差。
3.数据库系阶段
(1)背景60年代后期数据量的管理越来越大,共享性的要求高。
软件:
软件价格上升,编制和维护软件的成本增加,“软件危机”
硬件:
大容量的磁盘,且价格下降。
数据处理方式:
批处理,联机实时处理,分布处理。
(2)进入DBS的三大标志
1968年IBM公司的IMS
1969年美国CODASYL(conferenceondatasystemlanguage)下的DBTG报告
1970年IBM公司E.F.Codd的关系模型
(3)特点
•数据结构化。
(采用复杂的数据模型表示数据结构,数据模型不仅描述数据,还要描述结构,如:
学号,C8主键)
•数据的共享性高,冗余度小,易扩充。
数据的最小存储单位是数据项,可以在各种范围上对数据进行操作。
(数据不再面向某个应用,而是面向整个系统,因此可以文多个用户、应用共享使用。
DB中,并非不要冗余,如:
合法检查,为提高效率数据有多个副本,但冗余是受控的,系统预定的。
可以在数据项、记录、文件级别)
•有较高的数据独立性。
DBS提供了两级映像。
局部逻辑结构
逻辑独立性
全局逻辑结构
物理独立性
存储结构
•数据由DBMS的统一管理和控制。
在实际应用中,还要考虑(当DB中的数据有一个、多个用户共享时)
①数据的安全控制(例:
口令,权限)
②数据的完整性(正确,相容,有效例:
性别男女,年龄0~150)
③并发控制(加锁)
④恢复(日志,设检查点)
agh
adb
abcdef
DB
1.1.3高级数据库技术阶段
分布式DBS
80年代后并行DBS
面向对象DBS
1.分布式DBS的特点
•分布性。
(多数处理就地完成)
•逻辑整体性。
(各地的计算机由数据通信网络相联系)
2.并行DBS的特点
•并行处理。
•各节点是完全非独立。
•通过高速网连接。
3.面向对象DBS的特点
•面向对象的数据模型能完整地描述现实世界的数据结构,能表达数据间的嵌套、递归关系。
•具有面向对象技术的封装性和继承性,提高了软件的可重用性。
作业:
见课后习题1、5
1.2数据模型
●教学目的:
使学生掌握数据模型满足的三要素,掌握E-R图;层次模型、网状模型、关系模型的数据结构、数据操纵、存储结构以及约束条件等。
●教学重点:
1、数据模型的三要素。
2、E-R图
3、层次、网状、关系模型
●教学难点:
E-R图中联系的判断及表达。
●教学内容:
DBS不仅要反映数据本身,还要反映数据间的联系(结构化),如何抽象表示和处理现实世界中的数据和信息呢?
人们认识世界的过程:
现实世界
↓概念模型(例:
桌子table)
信息世界层次
↓数据模型网状
计算机世界关系
有广义的数据模型和狭义的数据模型。
数据模型(DataModel):
是DBS中用于提供信息表示和操作手段的形式框架。
(广义)
概念模型
数据模型
数据模型
1.2.1数据模型的三要素
数据结构
数据操作
完整性约束条件
1、数据结构
描述系统的静态特征。
数据结构是所研究的对象类型(objecttype)的集合。
与数据类型、内容有关的对象。
如:
数据项名、类型
对象类型
与数据间联系有关的对象。
例:
主键、系型
在DBS中按数据结构的类型来命名数据模型分:
层次结构层次模型
网状结构的模型称为网状模型
关系结构关系模型
2、数据操作
描述系统的动态特性。
对DB中各种对象(型)和实例(值)允许执行的操作的集合,要定义这些操作确切含义、操作符号、操作规则以及实现这些操作的语言等
数据操作检索
更新:
增、删、改
3、数据的约束条件
是一种完整性规则的集合,保证数据的正确、有效。
如:
性别(男,女)
1.2.2概念模型
1.信息世界中的基本概念
⑴实体(Entity):
客观存在并可相互区分的事物或联系。
例:
一桌、一学生、学生选课
⑵属性(Attribute):
实体所具有的某一特征。
例:
学生属性由学号、姓名、年龄、
⑶码(key):
唯一标出实体的属性集。
例:
学生(学号,性别,年龄)。
选课(学号、课号、分数)。
⑷域(Domain):
属性的取值范围。
例:
性别(男、女),成绩(0~100)
⑸实体型(Entitytype):
具有相同属性的实体必须具有共同的特征和性质。
用实体名和属性名来抽象刻画同类实体称为实体型
例:
学生(学号、姓名、年龄、系、性别)
⑹实体集(Entityset):
同型实体的集合。
例:
全体学生
⑺联系(Relationship)
实体内的联系:
例:
属性间的联系学号→姓名
学号→性别
实体间的联系:
例:
学生和课程
本节讨论实体间的联系(1:
1,1:
m,m:
n)
11对1联系(1:
1)
E1、E2两实体集。
E1中的任一实体在E2中至多有一个与之对应,反之亦然。
例:
工厂1——1厂长
班长1——1班级
11M
1MN
②一对多联系(1:
M)
E1、E2两实体集,E1中的任一实体在E2中有N个实体(N≥0)与之相对应。
反之,E2中的实体在E1中至多有一个与之对应,则E1与E2间为1:
M。
例:
系1——m教师
班1——n学生
③多对多的联系(M:
N)
E1、E2两实体集,E1中的任一实体在E2中有N≥0个与之对应,反之亦然,则E1、E2为M:
N。
例:
学生M——N课程
一般的:
两个以上的实体型间也存在1:
1,1:
M,M:
N的关系
•若实体集E1,E2…En存在联系,Ei和Ej(E1,E2,…Ei+1,…En)。
给出多个实体联系的定义。
1对1联系(1:
1:
1:
1)
E1、E2……ENN实体集。
E1中的任一实体在E2…EN中至多有一个与之对应,E2中的任一实体在E1、E3…EN中至多有一个与之对应,……….则E1、E2……ENN实体集间是1:
1:
1:
…….1。
同学们注意:
多个实体间可以同时有1:
1,1:
M,M:
N的联系存在,不一定都是1:
1:
,或1:
M……。
例:
1
MN
P
====
MN
1M
MN
2.概念模型的表示方法
是现实世界和信息世界的第一级抽象应简单、方便、准确。
1976年P.P.S.chen提出(Entity-RelationshipApproach)实体联系方法。
简称E-R模型。
有如下规定:
实体型:
用矩形
属性:
用椭圆
联系:
用菱形
MN
例:
一个仓库可以存放多种零件,一种零件可存放在多个仓库。
一个仓库有许多职工,一个职工只在一仓库工作,职工间有领导和被领导关系。
供应商可以为多个项目提供多种零件。
每个项目可以使用多个供应商的零件,每种零件有由不同的提供商提供不同的项目。
MN
1P
MMN
1M
E-R图的方法与具体的DBMS支持的数据模型相独立,是各种数据模型的基础,可以转化为任一数据模型。
作业:
课后习题7、11、12、13
⒈⒉3常用的数据模型
三大经典数据模型层次非关系模型
网状
关系
面向对象数据模型
·基本层次联系
两记录型(非关系模型中)及他们之间1:
M(含1:
1)的联系,称为基本层次联系。
在非关系模型中,数据结构的单位是基本层次联系
双亲
Lij
(对于M:
N,它转化多个1:
M)
子女
·三大经典模型的特点
面向计算机,能有效的存储和处理数据。
而概念模型是面向用户是语义模型。
1.2.4层次模型
是DBMS中最早出现的数据模型。
1968年IBM推出的IBM是最早的RDBMS。
用树型结构来表示各类实体及实体间的联系。
1.数据结构
满足以下两个条件的基本层次联系的集合为层次模型。
⑴有且只有一个结点无父结点,称之为根结点。
⑵根结点以外其他结点有且只有一个父结点。
•每个结点表示一个记录类型(实体)
•记录间的联系用有向线(1:
M)仅表示1:
M。
•层次模型是一棵倒置的树。
•层次模型中双亲结点是唯一的,只要指出他的父结点就可以表示层次模型结构。
2、M:
N在层次模型中的表示及其他
(1)冗余结点特点:
+
M结构清晰、浪费空间
N
虚拟结点特点:
+用指引元代替冗余结点
(2)树中实体间的联系是单向的
父结点指向子结点,对于父子间存在多于一种以上的联系,影响了这种情况的建模
使维使维
用修用修
(3)对于非树的网状结构
①①
②③②③
④⑤⑥④⑤⑤⑥
冗余接点
3.数据操纵与完整性约束条件
数据操纵查询
增、删、改
增:
要有双亲
删:
双亲删、子女则无
改:
保证一致性
4、存储结构
不仅存储数据内容,还要存数据之间的层次联系。
⑴邻接法
按照层次树前序穿越的顺序把所有记录依次邻接存放。
(自顶向下,自左向右)层次序列顺序
A1
B1B2B3
C1C2C3C4C5C6C7C8
A1B1C1C2C3B2C4C5B3C6C7C8A2…
⑵链接法
用指引元来反映数据间的层次联系。
•子女—兄弟指引元
每个记录设两个指引元,一个指向最大(最左)子女,一个指向最邻近的兄弟
•层次序列链接法
5、层次摸型的优缺点
优:
•简单
•对于一些树状结构的系统,其性能较好且联系固定。
•提供了良好的完整性支撑。
•记录间的联系通过指计来实现,查询效率高。
缺:
•对于M:
N或网状结构表示方法方法笨拙。
•增、删、改的限制多。
•查询必须通过双方。
•结构严密、层次命令趋于程序化、编写复杂。
1.2.5网状模型
1969、1971┅CODASYL下属DBTG发布了一系列的报告。
1.数据结构
满足以下两个条件的基本层次联系的集合称为网状模型。
1允许有一个以上的父结点。
2其他结点可以有多于一个的双亲结点。
2.网状模型对M:
N表示
M
N
3.数据操纵与完整性约束
3支持记录码的概念。
4保证联系是1:
M。
5可以支持双亲子女的某些约束。
•子女要在双亲具在时才能插入
•双亲之一删,则子女删
4、存储结构
⑴链接法
以系值为单位
系型:
一个1:
m为一个系型,有首记录型属记录型。
系值:
一个首记录值和其所属的所有属记录值。
•单相环状链
next指针
•双向环状
nextowner指针
•单向环转向首链
nextprior指针
•双向环转向首链
next ownerprior
指针
例:
单向环状链
P29(萨师煊)学生选课的网状模型数据库
链式法:
指针的增加加快了存取速度,减少了故障影响。
但它动态保持和维护这种复杂结构,势必会影响系统的复杂度,耗用大量的存储空间。
⑵指针阵列法
所有指向属记录的指针嵌入系首记录中,形成一个排了序的指针。
查找时无须走链。
5.网状模型的优缺点
优:
•更直接描述客观世界。
•性能良好,存储效率高。
缺:
•结构复杂。
•其DDL、DML语言复杂不易使用。
作业:
课后习题15(选做)、17
1.2.6关系模型
是目前最重要的一种数据模型。
1.数据结构
是建立在严格的数学(集合论)之上的
⑴用二维表数据(集合论中的关系)来表示实体及实体间联系的模型——关系模型
⑵术语
•关系——二维表
•元组——一行
•属性——一列
•主码——唯一确定一元组的属性组
•域——属性的取值范围
•分量——元组中的属性值
•关系模式:
对关系的描述
学生(学号、姓名、年龄、性别、系)
⑶关系模型的特点
•概念单一
•关系必须是规范化的
2.数据操纵和完整性约束
查询、增、删、改
操作对象和记录都是关系,且存取路径透明、向用户隐藏。
实体完整性
参照完整性后面讲
用户自定义完整性
3.存储结构
二维表以文件形式存储,
一个表对应一个OS文件
自己建立一个文件结构
4.关系模型的优缺点
优:
•建立在严格的数学概念上
•概念单一
•存取路径透明,从而提高了数据的独立性和安全保密性
缺:
查询效率不高,须对查询进行优化
1.2.7面向对象数据模型
目前OO模型还没有唯一的严格定义
基本思想:
将数据及操作这些数据的程序代码封装在一个对象里,相似结构的对象形成一个类。
一组类按E-R模型中的ISA概念形成超类、子类关系。
超类
M
N
1.3数据库系统结构
●教学目的:
使学生对DBS的模式结构(内部)有一个整体认识,了解DBS框架。
●教学重点:
DBS体系结构。
●教学难点:
二级映象
●教学内容:
从DBS内部的系统结构出发,分析DBS的体系结构
集中式
DBS的用户角度分布式
(计算机系统)client-server(客户机/服务器)(自学)
并行结构
1.3.1DBS的三级模式二级映象结构
外模式/模式映像
内模式/模式映像
DBS的体系结构
1.模式(Schema)(逻辑模式,概念模式)
是DB中全部数据的一个总体逻辑和特征的描述。
以某一种数据模型为基础,不仅定义数据的逻辑结构,还定义与数据相关的安全性、完整性。
不仅要定义数据记录内部的结构,而且还定义这些数据间的联系。
仅涉及型的描述,不涉及值的描述。
静态动态(不同时刻值不同)
DBS提供了SDDL(SchemaDataDescriptionLanguage)
2、外模式(ExternalSchema)
也称子模式(subschema)、用户模式。
是数据库用户用到的那部分数据的描述。
是局部数据的逻辑结构和特征的描述。
与某一应用有关。
外模是模式的子集。
不同的用户的外模的描述是不同的。
如:
可以定义一个新的视图。
年龄是2004年-出生日期
视图中的字段模式中的字段
DBS提供了SSDDL(Subschema)
3、内模式(internalschema)
也称存储模式,一个DB只有一个内模,是数据物理结构和存储方式的描述。
如:
顺序结构,B树结构。
它按什么方式组织,数据是否压缩、加密等。
DBS提供DSDL(datastoragedescriptionlanguage)。
4、模式/内模映象
DB中只有一个模式,一个内模,故其映象是唯一。
定义了全局逻辑结构与存储结构之间的对应关系,该映象包含在模式中。
是物理独立性。
5.外模/模式映象
一个模式可以有多个外模式,对每一个外模都有一个外模/模式映象,映象包含在外模中。
是逻辑独立性。
总之:
模式是核心。
内模、外模都依赖于模式。
1.4数据库系统的组成
1、硬件平台及数据库
2、软件
3、人员
课后习题自学P4224、25
1.5数据库技术的研究领域
DB技术研究的三个领域:
1、DBMS的研制
2、DBS的设计(应用程序的开发)
3、DB理论
关系规范化,关系数据理论,DB逻辑演绎、知识推理。
DB中的理论发现,并行算法……
作业:
课后习题19、20、22
第1章作业讲评。