当前位置:文档之家› 关系数据库教案

关系数据库教案

关系数据库教案
关系数据库教案

《数据库原理及应用》课程教案

授课时间第 1 周周一第12 节课次 1

授课方式(请打√)理论课√讨论课□实验课习题课□其他□

!

课时

安排

2

授课题目(教学章、节或主题):

数据库基础

上一课次

教学内容提要

第一堂课

·

本课次教学目的、要求(分掌握、熟悉、了解三个层次):

了解数据库知识,熟悉专业术语

教学重点及难点:

信息、数据、数据库、数据库系统、数据库管理系统

教学基本内容与教学设计(含时间分配)方法及手段

信息、数据、数据处理与数据管理

数据是信息的符号表示或载体

>

信息是数据的内涵,是对数据的语义解释

信息=数据+数据处理

数据库技术的产生、发展

人工管理阶段、文件系统阶段、数据库系统阶段

数据库系统的组成

数据库(DB)是存储在计算机内、有组织的、可共享的数据集合

软件系统(OS、DBMS、应用开发工具、应用系统)

用户(数据库管理员、程序员、用户)

数据库系统的模式结构

内模式、模式、外模式

内模式是整个数据库实际存储的表示

模式是整个数据库实际存储的抽象表示

外模式是概念模式的某一部分的抽象表示

保证了数据与程序间的逻辑独立性

确保了数据的物理独立性

《数据库原理及应用》课程教案

《数据库原理及应用》课程教案

《数据库原理及应用》课程教案

授课时间第 2 周周五第56 节课次4

授课方式(请打√)理论课√讨论课□实验课习题课□其他□

课时

安排

2

授课题目(教学章、节或主题):

关系代数

上一课次

教学内容提要

关系数据库

本课次教学目的、要求(分掌握、熟悉、了解三个层次):

关系运算(传统、专门)

教学重点及难点:

关系代数表达式

教学基本内容与教学设计(含时间分配)方法及手段2.3.1 关系代数的分类及其运算符

关系代数是一种抽象的查询语言

关系代数的运算对象与运算结果都是关系

关系代数运算符

关系代数的运算按运算符的不同主要分为两类:

传统的集合运算:

把关系看成元组的集合,以元组作为集合中元素来进行

运算,其运算是从关系的“水平”方向即行的角度进行的。

包括并、差、交和笛卡尔积等运算。

专门的关系运算:

不仅涉及行运算,也涉及列运算,这种运算是为数据库

的应用而引进的特殊运算。

包括选取、投影、连接和除法等运算。

2.3.2 传统的集合运算

并(Union):R∪S={t | t∈R∨t∈S}

差(Difference):R-S = {t | t∈R∧┐t∈S}

交(Intersection):R∩S = {t | t∈R∧t∈S}

广义笛卡尔积(Extended Cartesian Product):

R×S = {t r⌒t s| t r∈R∧t s∈S}

作业和思考题:

《数据库原理及应用》课程教案

授课时间第 3 周周一第12 节课次5

授课方式(请打√)理论课√讨论课□实验课习题课□其他□

课时

安排

2

授课题目(教学章、节或主题):

第2章专门的关系运算

上一课次

教学内容提要

传统的集合运算

本课次教学目的、要求(分掌握、熟悉、了解三个层次):

掌握专门的关系运算

教学重点及难点:

投影、选择、连接、除

教学基本内容与教学设计(含时间分配)方法及手段2.3.3 专门的关系运算

选择(Selection)

F(R)={t | t∈R∧F(t)='真'}

投影(Projection)

除法(Division)

R÷S = {t r[X] | t r∈R∧Πy(S)Yx}

除法运算同时从行和列的角度进行运算,适合于包含“全部”

之类的短语的查询。

连接(Join)

自然连接: 在等值连接的情况下,当连接属性X与Y具有相同属性组

时,把在连接结果中重复的属性列去掉,记为:R*S

除法(Division)

R÷S = {t r[X] | t r∈R∧Πy(S)Yx}

除法运算同时从行和列的角度进行运算,适合于

包含“全部”之类的短语的查询。

作业和思考题:

《数据库原理及应用》课程教案

[例2-5] 查询计算机系的全体学生。

Dept='计算机' (S)或

5=‘计算机’ (S)(其中5为属性Dept的序号)

[例2-6] 查询工资高于1000元的男教师。

(Sal>1000) ∧(Sex= '男')(T)

运算结果如图

[例2-7] 查询教师的姓名、教师号及其职称。

ΠTN,TNo,Prof(T) 或

Π2,1,5(T)

[例2-11] 查询讲授“数据库”课程的教师姓名。

ΠTN(CN='数据库' (C)*TC*ΠTNo,TN(T)) 或

ΠTN(ΠTNo(CN='数据库' (C)*TC)*ΠTNo,TN(T))

[例2-13] 查询选修了全部课程的学生学号和姓名。

ΠSNo,CNo(SC)÷ΠCNo(C)*ΠSNo,SN(S)

[例2-14] 查询至少选修了C1课程和C3课程的学生学号。ΠSNo,CNo(SC)÷ΠCNo(CNo='C1'∨CNo='C3' (C))

只有S4同学的象集至少包含了C1课程和C3课程,因此,查询结果为S4 。

《数据库原理及应用》课程教案

授课时间第 4 周周一第12 节课次7

授课方式(请打√)理论课√讨论课□实验课习题课□其他□

课时

安排

2

授课题目(教学章、节或主题):

第三章SQL 语言

上一课次

教学内容提要

关系数据库

本课次教学目的、要求(分掌握、熟悉、了解三个层次):

掌握SQL语言的功能、了解SQL SERVER软件的基本工具、数据库的构成、创建方法

教学重点及难点:

数据库的构成、创建方法

教学基本内容与教学设计(含时间分配)方法及手段一、结构化查询语言Structured Query Language

数据查询、数据定义、数据操纵、数据控制

二、了解SQL Server 2000

企业版(Enterprise Edition)标准版(Standard Edition)

个人版(Personal Edition)开发者版(Developer Edition)

三、创建与使用数据库

存放数据库数据和数据库对象的文件

主要数据文件(.mdf ) +次要数据文件(.ndf )

记录数据库更新情况,扩展名为.ldf 当数据库破坏时可以用事务日志

还原数据库内容

文件组(File Group)是将多个数据文件集合起来形成的一个整体

SQL Server的系统数据库

四、用Enterprise Manager 创建数据库

用SQL命令创建数据库

作业和思考题:画出学生选修课程ER图

课后小结:

《数据库原理及应用》课程教案

授课时间第 4 周周五第56 节课次8

授课方式(请打√)理论课√讨论课□实验课习题课□其他□

课时

安排

2

授课题目(教学章、节或主题):

创建数据表

上一课次

教学内容提要

创建数据库

本课次教学目的、要求(分掌握、熟悉、了解三个层次):

数据表的创建

教学重点及难点:

两种方法数据表的创建

教学基本内容与教学设计(含时间分配)方法及手段创建与使用数据表

3.4.1 数据类型

3.4.2 创建数据表

“字段名”

“数据类型”

字段的“长度”、“精度”和“小数位数”

“允许空”

“默认值”

用SQL命令创建数据表

C REATE TABLE <表名>

( <列定义>[{,<列定义>|<表约束>}])

完整性约束的基本语法格式

[CONSTRAINT <约束名> ] <约束类型>

作业和思考题:画出学生选修课程ER图

《数据库原理及应用》课程教案

授课时间第 5 周周一第12 节课次9

授课方式(请打√)理论课√讨论课□实验课习题课□其他□

课时

安排

2

授课题目(教学章、节或主题):

约束

上一课次

教学内容提要

创建数据表

本课次教学目的、要求(分掌握、熟悉、了解三个层次):

掌握定义五种约束的方法

教学重点及难点:

约束的含义、应用

教学基本内容与教学设计(含时间分配)方法及手段3.4.3 定义数据表的约束

完整性约束的基本语法格式

[CONSTRAINT <约束名> ] <约束类型>

(1)NULL/NOT NULL约束

NULL表示“不知道”、“不确定”或“没有数据”的意思

(2)UNIQUE约束(惟一约束)

指明基本表在某一列或多个列的组合上的取值必须惟一

(3)PRIMARY KEY约束(主键约束)

用于定义基本表的主键,起惟一标识作用

(4)FOREIGN KEY约束(外键约束)

[CONSTRAINT<约束名>] FOREIGN KEY REFERENCES

<主表名> (<列名>[{,<列名>}])

CHECK约束

(5)CHECK约束用来检查字段值所允许的范围

作业和思考题:画出学生选修课程ER图

课后小结:

《数据库原理及应用》课程教案

授课时间第 5 周周五第56 节课次10

授课方式(请打√)理论课√讨论课□实验课习题课□其他□

课时

安排

2

授课题目(教学章、节或主题):

修改、删除数据表;创建索引

上一课次

教学内容提要

约束

本课次教学目的、要求(分掌握、熟悉、了解三个层次):

修改、删除数据表;创建索引

教学重点及难点:

修改、删除数据表;创建索引

教学基本内容与教学设计(含时间分配)方法及手段

3.4.4 修改数据表

用Enterprise Manager 修改数据表的结构

用SQL命令修改数据表

ALTER TABLE <表名>

ADD <列定义> | <完整性约束定义>

ALTER TABLE <表名>

ALTER COLUMN <列名> <数据类型> [NULL|NOT NULL]

ALTER TABLE<表名>

DROP CONSTRAINT <约束名>

3.4.5 删除基本表

用Enterprise Manager删除数据表

用SQL命令删除数据表

DROP TABLE <表名>

只能删除自己建立的表,不能删除其他用户所建的表

创建与使用索引

3.5.1 索引的作用

3.5.2 索引的分类

作业和思考题:画出学生选修课程ER图

课后小结:

《数据库原理及应用》课程教案

授课时间第 5 周周一第12 节课次9

授课方式(请打√)理论课√讨论课□实验课习题课□其他□

课时

安排

2

授课题目(教学章、节或主题):

单表数据查询

上一课次

教学内容提要

约束

本课次教学目的、要求(分掌握、熟悉、了解三个层次):

单表数据查询

教学重点及难点:单表数据查询

教学基本内容与教学设计(含时间分配)方法及手段

3.6.1 SELECT命令的格式与基本使用

SELECT [ALL|DISTINCT][TOP N [PERCENT][WITH TIES]]

〈列名〉[AS 别名1] [{,〈列名〉[ AS 别名2]}]

[INTO 新表名]

FROM〈表名1或视图名1〉[[AS] 表1别名] [{,〈表名2或视图名

2〉[[AS] 表2别名]}]

[WHERE〈检索条件〉]、[GROUP BY <列名1>[HAVING <条件表达式>]]

ORDER BY <列名2>[ASC|DESC]]

3.6.2 条件查询

[例3-34] 查询所有姓张的教师的教师号和姓名。

3.6.3 常用库函数及统计汇总查询

[例3-37] 求学号为S1学生的总分和平均分。

3.6.4 分组查询

[例3-44] 查询选修两门以上课程的学生的学号和选课门数。

3.3.5 查询的排序

作业和思考题:画出学生选修课程ER图

课后小结:

《数据库原理及应用》课程教案

授课时间第 5 周周五第56 节课次10

授课方式(请打√)理论课√讨论课□实验课习题课□其他□

课时

安排

2

授课题目(教学章、节或主题):

多表数据查询

上一课次

教学内容提要

单表数据查询

本课次教学目的、要求(分掌握、熟悉、了解三个层次):

多表数据查询

教学重点及难点:

多表数据查询

教学基本内容与教学设计(含时间分配)方法及手段

3.6.6 数据表连接及连接查询

连接查询:一个查询需要对多个表进行操作

表之间的连接:连接查询的结果集或结果表

连接字段:数据表之间的联系是通过表的字段值来体现的

连接操作的目的:从多个表中查询数据

表的连接方法:

表之间满足一定条件的行进行连接时,FROM子句指明进行连接的表名,WHERE子句指明连接的列名及其连接条

利用关键字JOIN进行连接:当将JOIN 关键词放于FROM子句中时,应有关键词ON与之对应,以表明连接的条件

作业和思考题:

课后小结:

《数据库原理及应用》课程教案

授课时间第 6 周周一第12 节课次11

授课方式(请打√)理论课√讨论课□实验课习题课□其他□

课时

安排

2

授课题目(教学章、节或主题):

数据更新

上一课次

教学内容提要

多表数据查询

本课次教学目的、要求(分掌握、熟悉、了解三个层次):

数据更新

教学重点及难点:数据更新

教学基本内容与教学设计(含时间分配)方法及手段

3.7.1 添加数据

用Enterprise Manager添加数据

不能应付数据的大量添加

用SQL命令添加数据

INSERT INTO <表名>[(<列名1>[,<列名2>…])] VALUES(<值>)

添加多行记录

INSERT INTO <表名> [(<列名1>[,<列名2>…])]

子查询

3.7.2 修改数据

用Enterprise Manager修改数据

不能应付数据的大量修改

用SQL命令修改数据

UPDATE <表名>SET <列名>=<表达式> [,<列名>=<表达式>]…[WHERE <条

件>]

3.7.3 删除数据

DELETE FROM<表名> [WHERE <条件>]

作业和思考题:画出学生选修课程ER图

课后小结:

《数据库原理及应用》课程教案

授课时间第6周周五第56 节课次12

授课方式(请打√)理论课√讨论课□实验课习题课□其他□

课时

安排

2

授课题目(教学章、节或主题):

视图

上一课次

教学内容提要

数据更新

本课次教学目的、要求(分掌握、熟悉、了解三个层次):

视图

教学重点及难点:

视图

教学基本内容与教学设计(含时间分配)方法及手段视图

视图是虚表,其数据不进行存储,其记录来自基本表,只在数据库

中存储其定义。

3.8.1 创建视图

用Enterprise Manager创建视图

用SQL命令创建视图

CREATE VIEW <视图名>[(<视图列表>)]AS <子查询>

3.8.2 修改视图

用SQL命令修改视图

ALTER VIEW <视图名>[(<视图列表>)]AS <子查询>

3.8.3 删除视图

用SQL命令删除视图

DROP VIEW <视图名>

3.8.4 查询视图

视图定义后,对视图的查询操作如同对基本表的查询操作一样。

作业和思考题:

课后小结:

《数据库原理及应用》课程教案

授课时间第7 周周一第12 节课次13

授课方式(请打√)理论课√讨论课□实验课习题课□其他□

课时

安排

2

授课题目(教学章、节或主题):

关系数据库理论

上一课次

教学内容提要

视图

本课次教学目的、要求(分掌握、熟悉、了解三个层次):

理解关系数据库理论

教学重点及难点:函数依赖、范式、关系模式的规范化

教学基本内容与教学设计(含时间分配)方法及手段函数依赖

定义函数依赖

定义逻辑蕴涵

定义函数依赖集F的闭包

4.2.3函数依赖的推理规则

Armstrong公理

自反律:如果YXU,则X→Y在R上成立如果YXU,则X→Y在R上成

增广律:若X→Y在R上成立,且ZU,则XZ→YZ在R上也成立

传递律:若X→Y和Y→Z在R上成立,则X→Z在R上也成立

Armstrong公理推论

合并律(Union rule)若X→Y和X→Z在R上成立,则X→YZ在R上

也成立

伪传递律(Pseudotransitivity rule)

若X→Y和YW→Z在R上成立,则XW→Z在R上也成立

分解律(Decomposition rule)

若X→Y和ZY在R上成立,则X→Z在R上也成立

复合律(Composition)

若X→Y和W→Z在R上成立,则XW→YZ在R上也成立

4.2.4 完全函数依赖与部分函数依赖、传递函数依赖

《数据库原理及应用》课程教案

授课时间第7 周周五第56 节课次14

授课方式(请打√)理论课√讨论课□实验课习题课□其他□

课时

安排

2

授课题目(教学章、节或主题):

关系数据库理论

上一课次

教学内容提要

函数依赖

本课次教学目的、要求(分掌握、熟悉、了解三个层次):

理解关系数据库理论

教学重点及难点:函数依赖、范式、关系模式的规范化

教学基本内容与教学设计(含时间分配)方法及手段

4.2.6 属性集的闭包及其算法

X +={属性A|X→A在F +中}

定理

X→Y能用函数依赖推理规则推出的充分必要条件

是Y X +中

算法

result=X

do

{

if F中有某个函数依赖Y→Z满足Y result

then result=result ∪Z}

while (result有所改变);

4.2.7 候选键的求解理论和算法

关键码的定义如果X→U在R上成立(即X→U在F +

中),那么称X是R的一个超键。如果X→U在R上成

立,但对X的任一真子集X′都有X′→U不成立(即X′

→U不在F+中,或者X →U),那么称X是R上的一个

候选键。

定理对于给定的关系模式R及其函数依赖集F

(1)若X(X∈R)是L类属性,则X必为R的任一候选键的成员。(2)若X(X∈R)是L类属性,且X +包含了R的全部属性,则X必为R的惟一候选键。

(3)若X(X∈R)是R类属性,则X不在任何候选键中。

(4)若X(X∈R)是N类属性,则X包含在R的任一候选键中。(5)若X(X∈R)是R的N类和L类属性组成的属性集,且X +包含了R的全部属性,则X是R的惟一候选键。

多属性函数依赖集候选键的求解算法

(1)属性分类(L、R、N和LR)

(2)若X +包含了R的全部属性,转(5);否则,转(3)。

(3)在Y中取一个属性A,求(XA) +,若它包含了R的全部属性,则转(4);否则,调换一属性反复进行这一过程,直到试完所有Y中的属性。

(4)如果已找出所有候选键,则转(5);否则在Y中依次取两个、三个、…,求它们的属性集的闭包,直到其闭包包含R的全部属性。(5)停止,输出结果。

作业和思考题:

课后小结:

相关主题
文本预览
相关文档 最新文档