《数据库》教案.docx
- 文档编号:28965464
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:100
- 大小:629.82KB
《数据库》教案.docx
《《数据库》教案.docx》由会员分享,可在线阅读,更多相关《《数据库》教案.docx(100页珍藏版)》请在冰豆网上搜索。
《数据库》教案
《数据库》教案
数据库系统概论
教案及讲义
授课老师:
XXX
第一章绪论
教学目标:
1、结合具体的例子讲述数据库的设计步骤,通过此例子让同学们对本教材各章节所要学习的内容有一个初步的整体了解;
2、对照文件系统的数据管理过程,讲述数据库管理系统的数据管理过程,让同学们对数据库管理系统的功能、组成、工作过程有个初步了解,并对数据库的数据模型(主要是关系模型)有比较深入的理解。
3、课外布置学生完成一个小的数据库设计课程设计题目,要求学生分组寻找题目并完成设计过程。
教学重点:
1、举简单例子说明数据库设计过程。
2、数据库技术的产生发展过程的文件系统阶段与数据库系统阶段。
3、概念模型、数据模型及三要素、数据库系统结构
教学难点:
数据库系统的三级模式结构;数据库的二级映象功能与数据独立性。
教学过程:
本章分3次讲述,每次2课时,主要讲述以下内容介绍如下:
1、举简单例子说明需求分析及表达、概念结构设计、逻辑结构设计过程。
第六章的不少内容前到此处讲述(实际教学过程中本章的学时数增加2学时左右)。
对照文件系统的数据管理过程,讲述数据库管理系统的数据管理过程,及相关概念。
2、讲述数据、数据库、数据库管理系统、数据库系统的基本概念;数据库模型(主要是关系模型);数据库系统结构。
1.1引言
1.1.1数据、数据库、数据库管理系统、数据库系统
1、数据(data)
*高级语言的数据,如PASCAL语言中各种类型数据(常量、变量):
integer,real,char,record,file,……
(着重文件类型数据说明)
*定义:
1)数据是描述事物的符号记录,2)数据与其语义是不可分的,需要经过语义解释。
2、数据库(database,简称DB)
*定义:
数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并为各种用户共享。
(P1)
*目前流行数据库的数据模型:
关系模型,数据结构为表。
*数据库的存储:
若干表一个库,一张表一个库(文件系统为一个文件一个库)
*对数据库的操作:
在数据库管理系统的支持下,可进行数据查询(select)、数据定义(createdropalter)、数据操纵(insertupdatedelete)、数据控制(grantrevoke)
3)从定义上数据库与文件比较:
对照数据库说明:
长期存储在计算机内、有组织的(组织简单)、可共享(共享性差)的数据集合。
冗余度大,数据独立性低。
3、数据库管理系统(databasemanagementsystem,简称DBMS)(P7)
*定义(功能解释):
DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。
*对照文件系统:
提供的操作简单,主要包括:
建立文件、删除文件、读元素、写元素、打开文件、关闭文件等。
*用户与文件系统及数据库的接口:
文件系统:
系统调用
数据库管理系统:
SQL(数据查询、数据定义、数据操纵、数据控制)。
4、数据库系统:
*是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其应用开发工具)、应用系统、数据库管理员和用户构成。
5、本课程的主要研究内容、意义及学习方法
*主要内容关系数据库及SQL、关系数据库设计(设计理论、具体设计)、数据保护。
*意义:
非常实用
*学习方法:
大量的上机实践是学好本课程的先决条件。
1.1.2数据管理的技术的发展
(*数据库技术产生:
是应数据管理管理任务的需要而产生的。
)
*数据管理:
是指如何对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。
*随着计算机硬件和软件的发展,数据管理技术经历了三个发展阶段:
人工管理、文件系统、数据库管理系统。
1、人工管理阶段的特点:
(背景:
硬件,没有直接存取的存储设备;软件,没有操作系统及管理数据的软件;数据处理方式为批处理)
1)数据不保存
2)数据需要由应用程序自己管理,没有相应的软件负责数据的管理工作。
应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构(包括存储结构、存取方法、输入方式等)。
(PASCAL语言文件处理:
应用程序中只考虑逻辑结构)
3)数据不共享:
数据面向应用,一组数据只能对应一个程序。
因此程序与程序之间有大量的冗余数据。
4)数据不具有独立性:
数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改。
2、文件系统阶段的特点:
(背景:
硬件,已有直接存取的存储设备;软件,操作系统中已经有了专门的数据管理软件,一般成为文件系统;数据处理方式,不仅有了批处理而且能够联机实时处理)
1)数据可以长期保存。
2)由专门的软件即文件系统进行数据管理。
应用程序按名存取数据,大大节省了程序的编写与维护工作量。
3)数据共享性差。
一个文件基本上对应于一个应用程序。
不同应用程序具有部分相同数据时也必许建立各自的文件,不能共享相同的数据,数据冗余度大。
相同数据重复存储、各自管理,给数据的修改与维护带来了困难,容易造成数据的不一致性。
4)数据的独立性低。
数据与程序间缺乏独立性:
一旦数据的逻辑结构改变,必须修改应用程序修改文件结构定义。
而应用程序的改变(应用程序改用不同的高级语言)也将引起文件数据结构的改变。
3、数据库系统阶段
产生背景:
以文件系统作为数据管理手段已经不能满足应用的需要(多用户、多应用共享数据),于是出现了数据库技术及统一管理数据的专门软件数据库管理系统。
特点:
1)数据结构化,存取方式灵活
数据库系统实现了整体数据的结构化:
在描述数据时不仅要描述数据本身,还要描述数据之间的联系。
文件系统尽管其记录内部有某种结构,但记录之间没有联系。
2)数据共享性好,冗余度低
数据库系统从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统。
这样既可以大大减少数据冗余,节约存储空间,又能避免数据之间不相容与不一致性。
3)数据独立性高
数据库系统提供了两方面的映象功能,从而使数据既具有物理独立性又具有逻辑独立性。
数据与程序间的逻辑独立性:
数据的总体逻辑结构与某类应用所涉及的局部逻辑结构之间的映象或转换功能,保证了当数据的总体逻辑结构改变时,通过对映象的相应改变可以保持数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必修改。
数据与程序间的物理独立性:
数据的存储结构与逻辑结构之间的映象或转换功能,保证了当数据的存储结构(或物理结构)改变时,通过对映象的相应修改可以保持数据的逻辑结构不变,从而应用程序也不必修改。
4)数据由DBMS统一管理和控制
*统一管理有结构的数据,使数据可以有灵活的使用方式。
数据库系统弹性大,易于扩充。
*有以下几方面的控制功能:
1)数据的安全性:
指保护数据,防止不合法使用数据造成数据的泄密和破坏,使每个用户只能按规定对某些数据以某种方式进行访问和处理。
2)数据的完整性:
指数据的正确性、有效性和相容性。
即将数据控制在有效的范围内,或要求数据间满足一定的关系。
3)并发控制:
当多个用户的并发进程同时存取、修改数据时,可能会相互干扰而得到错误的结构,并使数据的完整性遭到破坏,因此对多用户并发操作加以控制和协调。
4)数据库恢复:
硬件、软件、操作员失误、故意破坏等造成的故障,DBMS必须将数据库从错误状态恢复到某一已知的正确状态。
1.2数据模型
1.2.1数据模型的作用、组成要素、概念
1、数据模型的作用:
通俗地说是计算机世界对现实世界信息处理的模拟。
具体为抽象、表示和处理现实世界的数据和信息。
2、数据模型的组成要素:
数据结构、数据操作、数据的约束条件。
1)数据结构:
*现实世界的信息抽象、表示为计算机世界的数据结构。
*数据结构:
为所研究对象类型的集合。
一类对象与数据类型、内容、性质有关,另一类对象与数据间的联系有关。
*例现实世界的“学生选修课程处理”涉及的信息,抽象、表示为计算机世界的数据结构
**涉及的对象有
与数据本身有关对象:
学生、课程
与数据间联系有关对象:
选课
**数据结构(关系数据模型为表,数据及其联系都用表表示)
学生(学号、姓名、性别、系别、年龄、籍贯)(加属性类型说明)
课程(课程号、课程名、学分)(加属性类型说明)
选课(学号、课程号、成绩)(加属性类型说明)
*数据结构在数据模型中的地位:
数据模型中的数据结构是刻画一个数据模型性质的最重要方面,人们通常按数据结构类型来命名数据模型。
数据库中的数据结构有三种:
关系结构、层次结构、网状结构。
关系模型的重要性。
2)数据操作
*现实世界的信息对应计算机世界的数据结构,现实世界信息的处理对应计算机世界的数据操作。
主要有检索和更新(包括插入、删除、修改)两大操作。
*数据操作:
是指对数据库中各种对象(型)的实例(值)允许执行的操作集合,包括操作及有关操作规则。
*关系模型数据库操作语言为SQL,主要功能:
数据查询(SELECT),数据定义(CREATE,DROP,ALTER),数据操纵(INSERT,UPDATE,DELETE),数据控制(GRANT,REVOTE)。
3)数据的约束条件
*是一组完整性规则的集合,用以限定符合数据模型的数据库状态,以保证数据的正确、有效和相容。
*关系模型完整性约束:
实体完整性、参照完整性、用户自定义完整性。
3、文件管理系统支持一种简单(或简陋)的数据模型
(通过文件系统支持的简单数据模型来理解数据库系统支持的数据模型,仅仅为了说明问题,通常不称文件系统支持数据模型)
*文件数据结构及对文件这种数据结构所进行操作集合是文件管理系统所支持的一种简单数据模型。
*将现实世界的信息抽象为文件,对信息的处理通过文件操作实现。
*例学生选课程文件结构(学号、姓名、性别、系别、年龄、籍贯,课程号、课程名、学分,成绩)
*文件系统不提供完整性约束功能,由应用程序实现。
数据结构及对数据的操作与数据库中的数据模型相比显得落后。
4、数据模型的概念
任何一种数据模型都是严格定义的概念的集合。
这些概念必须能够精确地描述系统的静态特性、动态特性和完整性约束条件。
5、任何一种数据库管理系统(DBMS)都基于某种数据模型(或支持某种数据模型)
1.2.2现实世界的信息抽象表示为计算机世界某个数据模型数据结构的桥梁---------概念模型
1、现实世界的信息转换到机器世界信息的处理过程:
1)现时世界到信息世界(概念模型):
*常用E—R图来描述现实世界的概念模型
2)信息世界转换为机器世界(概念模型到数据模型的数据结构)
2、信息世界的基本概念(结合关系模型考虑)
例子:
1)学生:
学号、姓名、性别、系别、年龄、籍贯
学号
姓名
性别
系别
年龄
籍贯
970501
王五
男
机械
19
北京
970606
李六
男
化工
18
天津
971060
张三
男
信电
20
浙江
2)病人:
病历号、病人姓名、年龄、性别
病历号
病人姓名
年龄
性别
100001
李勇
60
男
100010
刘醇
50
男
111001
许春
30
男
1)实体:
客观存在并可相互区别的事物。
可以是具体的人、事、物,也可以是抽象的概念或联系(如学生的一次选课)。
2)属性:
实体所具有的某一特性。
一个实体由若干个属性来刻画。
3)码:
唯一标识实体的属性集。
4)域:
属性的取值范围称为该属性的域。
5)实体型:
用实体名及其属性名集合来抽象和刻划同类实体。
学生:
学号、姓名、性别、系别、年龄、籍贯
病人:
病历号、病人姓名、年龄、性别
6)实体集:
同型实体的集合
7)联系:
实体内部(实体的各属性间)的联系和实体之间的联系。
*两实体型间的联系可以分三类:
**一对一联系(1:
1),
班级与班长:
一个班级只有一个班长,一个班长只在一个班级任职。
**一对多联系(1:
n),
班级与学生:
一个班级有若干名学生,每个学生只在一个班级中学习。
**多对多联系(m:
n)
学生与课程:
一个学生选修了多门课程,一门课程为多个学生选修
*同一实体集内的各实体之间也可以存在三类联系
如学生实体集内部:
学生的领导被领导关系
3、概念模型的表示方法(最常用E—R法)
*E—R图提供了表示实体型、属性和联系的方法
实体及其属性图
实体及其联系图
概念模型:
实体、属性、联系合一图(涉及实体及属性较多时,为清晰起见两图分开)
1mn
mn
1
n
***同一实体型的联系
1n
***总体实体及其联系图
mn
11n
mn
***E一R图
1.2.3关系数据模型
1、关系数据模型的数据结构
*关系模式的数据结构是一张二维表,它由行和列组成。
*一些概念:
关系:
表
元组:
表行
属性:
表列
主码:
某个属性组,它可以唯一确定一个元组。
域:
属性的取值范围
分量:
元组的一个属性值
关系模式:
对关系的描述,一般表示为:
关系名(属性1、属性2、……、属性n)
*关系模型中实体与实体间的联系都是用表(关系)来表示的(与概念模型的实体型及联系对应)
学生()
课程()
学生选课()
*关系模型要求关系必须是规范化的,即关系模式必须满足一定的规范条件。
最基本一条为每个分量必须是不可分的数据项
2、关系数据模型的操纵与完整性约束
3、关系数据模型的存储结构
*一个表对应一个DBF文件(DBASE,Foxpro等)
*多个表放在一个DB文件中(SYBASESQLAnywhere,SQLServer等)
1.3数据库系统结构
1、关系数据库系统的模式结构
外模式
模式
存储模式
模式:
也称逻辑模式,是数据库中全体逻辑结构和特征的描述,是所有用户的公共数据视图。
外模式:
也称子模式或用户模式,他是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述
内模式:
内模式也称存储模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。
数据库系统的模式结构:
数据库系统是由外模式、模式、内模式三级构成
第二章关系数据库
教学目标:
介绍关系模型的基本概念,即关系模型的数据结构、关系操作和关系完整性。
结合第三章的数据定义介绍数据结构与数据完整性。
关系操作主要介绍关系代数。
教学重点:
1、数据结构:
笛卡儿积、关系、关系模式、关系数据库。
2、关系完整性:
实体、参照、用户自定义。
3、关系操作:
关系代数,重点是投影、选择、连接、除法操作。
教学难点:
关系数据库的型和值;关系代数的除法运算。
教学过程:
本章分3次讲述,每次2学时,每次主要讲述以下内容介绍如下:
第一次:
介绍数据结构(笛卡儿积、关系、关系模式、关系数据库)。
关系完整性(实体、参照、用户自定义)(实际教学过程中将第三章的表定义及对数据库的插入操作部分提前到这里,相当于第三章有2学时多调整到了这里)。
第二次:
介绍举例关系操作的语义(关系代数,重点是投影、选择、连接、除法操作),并介绍相应的SQL语句表达式(实际教学过程相当于将第三章的相关内容调整到了此处介绍)。
关系操作举例,关系数据库管理系统(重点讲述各类系统支持模型的程度)。
2.1关系数据库概述
1、关系数据库系统:
支持关系模型的数据库系统。
2、关系模型的组成:
关系数据结构、关系操作集合、完整性约束条件三部分。
3、关系数据结构
表,
特点:
简单的数据结构表达丰富的语义,描述现实世界的实体以及实体间的联系(例)
4、关系操作
*采用集合操作:
操作对象与操作结果为集合,
*常用的操作
**查询:
选择、投影、连接、除、并、交、差等;更新:
增、删、改
**查询的表达能力是关系操作中的最主要部分
*关系模型中关系操作能力的早期抽象表示(即抽象查询语言,领会语言的含义):
1)关系代数语言:
用代数方式表示,即用关系的运算来表达查询要求的方式。
2)关系演算语言:
用逻辑方式表示,即用谓词来表达查询要求的方式。
元组关系演算:
谓词变元的基本对象是元组变量。
域关系演算:
谓词变元的基本对象为域变量。
3)关系代数、关系演算(元组关系演算、域关系演算)三种语言在表达能力上是等价的。
*早期抽象查询语言(关系代数、关系演算语言)的作用
作为评估实际系统中查询语言能力的标准。
与具体DBMS实现的实际语言不完全一样(提供许多附加功能,如集函数、关系赋值、算术运算等)
*关系数据库的标准语言(SQL—structuredquerylanguage结构化查询语言)
是集数据查询、DDL数据定义、DML数据操纵、DCL数据控制于一体的语言。
具有关系代数与关系演算双重特点的语言。
5、完整性约束
*允许定义三类完整性:
实体完整性、参照完整性、用户自定义完整性。
*关系系统自动支持的完整性:
实体完整性、参照完整性。
2.2关系数据结构(关系、关系模式、关系数据库)
1、关系
例1:
有表结构(关系模式):
学生(学号、性别)
如果,学号为子界类型D1=[1..100],性别为枚举类型D2=(男,女),
学生表的最大取值(最大表):
100*2=200个元组
例2:
有表结构:
学生(学号、姓名、性别、系别、年龄、籍贯)
每个列的类型:
integer,char(8),bolean,char(8),integer,char(10)
最大表元组数:
实际应用中的具体表:
最大表的有意义的子集
1)域:
是一组具有相同数据类型值的集合。
表中的每列都与一域(表的数据类型)相关连
2)笛卡儿积(本质上为最大元组表)
*定义:
给定一组域D1,D2,….,Dn,这些域可以完全不同,也可以部分或全部相同。
D1,D2,….,Dn的笛卡儿积为:
D1╳D2╳….╳Dn={(d1,d2,…,dn)∣di∈Di,i=1,2,…,n}
其中每一个元素(d1,d2,…,dn)叫作一个n元组,或简称为元组。
元素中的每一个值di叫作一个分量。
*若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则
D1╳D2╳….╳Dn的基数为m1*m2*……*mn
3)关系
*定义:
D1╳D2╳….╳Dn的子集叫作在域D1,D2,….,Dn上的关系,用
R(D1,D2,….,Dn)表示。
R表示关系的名字,n是关系的目或度
n=1单元关系
n=2二元关系
关系为笛卡儿积的子集,表行——元组,表列——属性(n目关系有n个属性)。
*侯选码:
若关系中某一属性组的值能唯一标识一个元组,则称该属性组为侯选码
*主码:
若一个关系中有多个侯选码,则选其中一个作为主码。
*主属性:
主码的诸属性
*非码属性:
不包含在任何侯选码中的属性
*全码:
侯选码为关系的所有属性组
*关系的三种类型:
基本表(实际存在表)、查询表(查询结果)、视图表(虚表由基本表与其他试图表导出)
*基本关系具有6条性质:
(见书P40)
2、关系模式
*定义:
关系的描述称为关系模式。
它可形式化地表示为R(U,D,DOM,F)。
R为关系名
U组成该关系的属性名集合
D属性组所来自的域
DOM属性向域的映象集合
F属性间数据的依赖关系集合(第四章专门讨论)
*关系模式通常简记为R(U)或R(A1,A2,…,An),域名及属性向域的映象常常直接说明为属性的类型、长度
*型与值:
模式是型,关系(表)是模式的值
3、关系数据库
含义:
在一个给定的现实世界的领域中,相应于所有实体及实体之间的联系的关系的集合构成一个关系数据库。
关系数据库的型和值:
型即关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。
关系模式的值也称为关系数据库,是这些关系模式在某一时刻对应的关系的集合。
关系数据库模式与关系数据库通常称为关系数据库。
2.3关系完整性
1、实体完整性
要点:
主属性不能取空值。
现实世界的语义要求:
一个基本关系通常对应现实世界的一个实体集,现实世界的实体是可以区分的,即它们具有某种唯一标识,在关系模型中以主码作为唯一标识。
2、参照完整性
*关系与关系之间存在着引用关系:
因为现实世界的实体之间存在某种联系,而关系模型中实体及实体间的联系都是用关系来描述的。
*举例:
*
要点:
*外码——基本关系R的非码属性(组)F与基本关系S的主码Ks相对应,则属性(组)F为R的外码。
*参照关系——R
*被参照关系——S
*参照完整性规则——基本关系R的外码F与基本关系S的主码Ks相对应,则R上的每个元组在F上的取值要求:
或者取空值;或者等于S中的某个元组的主码值。
3、用户自定义完整性
*反映某一具体应用所涉及的数据必须满足的语义要求。
*通常有三类:
非空约束(notnull)、唯一约束(unique)、检查约束(check)
*2.4如何实现完整性约束规则(作问题处理)
1、在表中定义完整性规则
2、在对表中的数据进行更新操作时,数据库管理系统自动的检查完整性规则,将表中的数据约束在用户期望的范围中。
*PB提供了一定的前端约束检查功能
**在前端定义约束规则(相当check功能),在前端进行合法性检查。
即在输入数据时一定程度上过滤了不合法的数据。
相同的检查在数据库表中可以不需要再定义。
**在前端一已经实现的完整性约束,在数据库表中是否可以不需要再定义?
回答否,因为,如不通过应用程序直接通过工具操作数据库表时,就没有了相应的完整性检查。
2.4关系代数
1、何为关系代数:
是抽象的查询语言,它用关系运算来表达查询。
主要研究关系(表)运算,运算对象是关系,运算结果也是关系。
2、关系运算分两类:
1)传统的集合运算:
并、交、差、广义笛卡尔积。
运算只涉及行,将关系看成是行(元组)的集合,。
2)专门的关系运算:
选择、投影、连接、除。
运算既涉及行也涉及列。
3、传统的集合运算(着重掌握语义)
设关系R、S
R
A
B
a1
b1
a1
b2
S
A
B
a1
b2
a2
b2
1)并(U)
R∪S={t|t∈R∨t∈S}并由属于R或属于S的元组组成。
两集合元组并在一起,去掉重复元组。
关系R、S要求具有相同的目n(都具有n个属性),相应的属性取自同一个域(同类型数据)
2)差(—)
R—S={t|t∈R∧﹁t∈S}差由属于R并不属于S的元组组成。
关系R、S要求具有相同的目n(都具有n个属性),相应的属性取自同一个域(同类型数据)
3)交(∩)
R∩S={t|t∈R∧t∈S}由属于R且属于S的元组组成。
关系R、S要求具有相同的目n(都具有n个属性),相应的属性取自同一个域(同类型数据)
4)广义笛卡尔积
R╳S={trts|tr∈R∧ts∈S}
*关系R、S分别为m、n目k1、k2个元组,结果为m+n目,元组个数为k1*k2个。
例:
R
学号
姓名
1
A
2
B
S
课程
数据库
操作系统
R╳S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 教案