数据库原理与应用1.docx
- 文档编号:28362980
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:25
- 大小:24.76KB
数据库原理与应用1.docx
《数据库原理与应用1.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用1.docx(25页珍藏版)》请在冰豆网上搜索。
数据库原理与应用1
《数据库原理与应用》
教学大纲
国际经济贸易学院
电子商务专业
2006年03月
一、课程概况
1、课程名称(中文):
数据库原理与应用
2、课程名称(英文):
DataBaseTheoryandApplication
3、预修课程:
数据结构
4、修读对象:
2004级电子商务专业学生
5、课程教材:
《数据库实用教程》清华大学出版社
二、课程性质、地位和任务
本课程是电子商务专业学生的技术基础课,系统讲授数据库系统结构,关系运算,SQL语言,规范化设计,实体联系模型,数据库设计全过程,存储技术,数据库管理机制,客户机/服务器系统,分布式数据库,ODBC技术,对象关系数据库,面向对象数据库,PowerBuilder和SQLServer应用简介。
使学生能熟练掌握数据库的基本原理,学会数据库设计及数据库应用系统的开发方法,以便在未来能够很快适应系统开发及管理工作。
三、教学内容、教学目标和要求
1、熟练掌握数据库的基本原理
2、学会数据库设计及数据库应用系统的开发方法,
四、教学模式
采用多媒体教室和电子网络教室教学并结合上机操作实验。
五、课程进度
第一周
第1章,第2章。
介绍数据库的体系结构和全局结构介绍数据库技术的由来和发展过程与数据库系统的数据模型。
第二周
上机一数据库的创建与管理。
第三周
第3章的1、2节。
介绍关系模型的运算理论,包括关系数据模型和关系代数。
第四周
上机二表的创建与管理。
第五周
第3章的第3、4节。
接着介绍关系运算,包括关系演算,简单介绍查询优化。
第六周
上机三数据操纵。
第七周
第4章的1~3节。
介绍结构化查询语言SQL,包括SQL概述、数据定义及数据查询。
第八周
上机四数据查询1。
第九周
第4章的4、5节。
接着介绍结构化查询语言SQL,包括SQL的数据更新与嵌入式SQL。
第十周
随堂期中测试
第十一周
第5章的1~3节。
介绍关系数据库的模式设计理论。
包括函数依赖与关系模式的分解特性。
第十二周
上机五数据的查询2。
第6章。
介绍实体联系模型的基本要素、设计过程。
第十三周
第5章的4、5节。
接着介绍关系数据库的模式设计理论。
包括关系模式的范式与模式的进一步规范化。
。
第9章。
数据库的管理机制。
包括事务的概念、数据库的恢复与数据库的并发控制。
第十四周
上机六存储过程和触发器。
第十五周
第9章的4、5节。
接着介绍数据库的管理机制。
包括数据库的完整性与安全性。
第十六周
上机七数据库的备份和恢复。
第十七周
第6章。
介绍实体联系模型的基本要素、设计过程
第十八周
第7章。
数据库应用系统设计的全过程。
第十九周
复习与总结。
第一章数据库发展史
【教学目的与要求】
1、了解早期的数据库管理系统
2、理解一个关系数据库的例子
3、了解变化着的系统
4、掌握数据库技术的术语
5、了解未来的数据库系统
【教学重点(KeyPoints)】
数据库技术的术语
【课时安排(TeachingHours)】
课堂讲授:
1课时
【教学内容】
一、早期的数据库管理系统
1、第一批商用数据库管理系统出现在20世纪60年代。
它们由文件系统演变而来。
2、文件系统的缺陷
数据冗余度(Redundancy)大
数据和程序缺乏独立性
3、早期的DBMS的应用实例
飞机订票系统
银行系统
公司记录
二、一个关系数据库的例子
TedCodd的著名论文——Arelationalmodelforlargeshareddatabanks.
例:
一个名为Accounts的关系,记录银行的帐户信息,包括accountNo、balance、type三个属性。
三、变化着的系统
1、越来越小的系统
数据库系统逐渐成为各种计算机应用的一个通用工具
2、越来越大的系统
新的存储计量单位
T,太,1000G,即1012
P,拍,1000T,即1015
第三存储器
容量大
访问速度慢
第三存储设备包括将存放数据的对象传输给读出设备
并行计算
大型数据库系统需要加速装置
并行地读许多磁盘,处理速度就会大大提高
四、数据库技术的术语
1、数据库(Database,DB)
2、数据库管理系统(DatabaseManagementSystem,DBMS)
3、数据库技术
4、数据库系统(DatabaseSystem,DS)
五、未来的数据库系统
1、面向对象数据库
2、约束和触发程序
3、、多媒体数据
4、数据集成
【思考题】
1、文件系统阶段的数据管理有什么缺陷?
举例说明。
2、解释DB、DBMS和DBS三个概念。
第二章
数据库系统结构
【教学目的与要求】
1、掌握数据系统的体系结构
2、掌握数据模型
3、理解数据库语言
4、掌握数据库用户
5、掌握数据库管理系统
6、理解数据库系统
【教学重点(KeyPoints)】
数据系统的体系结构
【课时安排(TeachingHours)】
课堂讲授:
2课时
【教学内容】
一、体系结构
1、三级结构
概念模式
外模式
内模式
2、两级映象
模式/内模式映象
外模式/模式映象
3、两级数据独立性
物理数据独立性——改变物理模式不影响逻辑模式的能力
逻辑数据独立性——修改逻辑模式不影响应用程序更改的能力。
二、数据模型
1、描述工具集
数据、数据关联、数据语义、数据约束
2、基于对象的逻辑模型
实体-联系模型(示例)
面向对象的模型(Java程序示例)
3、基于记录的逻辑模型
关系模型(示例)
网状模型
层次模型
4、物理数据模型
三、数据库语言
1、数据定义语言(DDL)
2、数据操纵语言(DML)
3、SQL
四、数据库用户
1、应用程序员——通过DML调用介入系统
1、高级用户——构成数据库查询语言的需求
2、专门用户——编写专门的数据库应用。
3、
2、初级用户
五、数据库管理系统
1、DBMS的工作模式
2、DBMS的主要功能
3、DBMS的模块组成
六、数据库系统
图见教材P30,图2.21
【思考题】
1、解释数据库系统的三级结构与两级数据独立性。
2、DBS由哪几部分组成?
3、什么是DBA?
第三章关系运算
【教学目的与要求】
1、掌握关系数据模型
2、掌握关系代数
3、理解关系演算
4、理解查询优化
【教学重点(KeyPoints)】
关系数据模型,关系代数
【课时安排(TeachingHours)】
课堂讲授:
6课时
【教学内容】
一、概念
1、域(Domain)是值的集合。
2、笛卡尔积:
给定一组域D1,D2,….Dn,该域集的笛卡尔积定义为集合:
D1xD2x…xDn={(a1,a2,…,an)|aiDi,I=1,2,…n}
3、关系:
给定一组域集D1,D2,….Dn,则关系是该域集的笛卡尔积的子集。
即关系是N元集合,其中每个元素都隶属于某个域。
4、表的键:
给定一个表T,标题Head(T)=A1,A2,….An。
表T的一个键,有时也称为候选键,是具有以下两个特征的一组属性的集合K=Ai1….Aik:
1)如果u,v是T中的两个不同的元组,那么应该有u[k]≠v[k];即,集合K中必定存在至少一个列,使得u[Aim]≠v[Aim]。
2)没有K的真子集H具有特征1。
5、超键:
满足条件1而不满足条件2的属性集。
6、表的主键:
表T的主键是被数据库设计者选择出来作为表T中特定行的唯一性标识的候选健。
7、表的外键:
若一个表R包括另一个表S的主键所对应的属性组F,则称F为R的外键。
二、关系模型
1、关系子模式
2、关系模式
3、存储模式
三、关系代数
1、五个基本操作
并Union
集合差Setdifference
笛卡尔积Cartesianproduct
投影Projection
选择Selection
2、附加运算
集合交Setintersection
联接Join
自然联接Naturaljoin
除法Division
3、扩充的关系代数运算
外联接OuterJoin
外部并OuterUnion
半联接Semijoin
四、关系演算
1、元组关系演算
2、谓词关系演算
五、查询优化
1、优化的一般策略
2、示例
【思考题】
银行关系模型有如下四个关系模式:
Customers(cid,cname,city,discnt)
Agents(aid,aname,city,percent)
Products(pid,pname,city,quantity,price)
Orders(ordno,month,cid,aid,pid,qty,dollars)
按要求写出关系代数表达式。
1、找出所有顾客、代理商和商品都在同一个城市的三元组(cid,aid,pid)
2、找出所有顾客、代理商和商品两两不在同一个城市的三元组(cid,aid,pid)
3、取出至少被一个在Beijing的顾客通过位于Shanghai的代理订购的商品的名字
4、列出所有在同一个城市的代理商的aid对。
5、找出折扣率最大和最小的顾客的cid值。
6、找出通过代理商a01而不通过代理a06订购的商品的pid值
7、取出名字是以N开头的代理商的aid和aname值,并且这些代理没有销售过任何Guangzhou生产的商品
8、取出销售过所有曾被顾客c002订购过的商品的代理商的名字。
9、取出所有的三元组(cid,aid,pid),要求对应的顾客,代理商和商品中至少有两者是位于同一个城市。
10、取出接受过Nanjing的顾客一笔总额超过5000元的订单的代理商的aid值。
11、取出只从一家代理商处订购过商品的顾客的cid值。
第四章结构化查询语言SQL
【教学目的与要求】
1、了解SQL概述
2、掌握SQL的数据定义
3、重点掌握SQL的数据查询
4、掌握SQL的数据更新
5、理解嵌入式SQL,ODBC和JDBC
【教学重点(KeyPoints)】
SQL的数据查询
【课时安排(TeachingHours)】
课堂讲授:
6课时
【教学内容】
一、SQL概述
二、SQL的组成:
1、SQLDDL:
数据定义。
定义SQL模式、基本表、视图和索引。
2、SQLDML:
数据操纵。
数据查询和数据更新。
3、SQLDCL:
数据控制。
对基本表和视图的授权,完整性规则的描述,事务控制语句等。
4、EmbeddedSQL:
嵌入式SQL。
三、SQL的数据定义
1、SQL模式的创建与撤消
2、SQL提供的基本数据类型
3、基本表的创建、修改和撤消
4、视图的创建和撤消
5、索引的创建和撤消
四、SQL的数据查询
1、SELECT语句格式
2、单表查询
a)SELECT子句
b)FROM子句
c)WHERE子句
3、多表查询
4、聚合函数
a)avg:
averagevalue(平均值)
b)min:
minimumvalue(最小值)
c)max:
maximumvalue(最大值)
d)sum:
sumofvalues(和)
e)count:
numberofvalues(个数)
5、数据分组
a)GROUPBY子句
b)HAVING子句
6、集合操作
a)union
b)intersect
c)except
五、SQL的数据更新
1、数据插入
2、数据删除
3、数据修改
4、对视图的更新操作
六、嵌入式SQL,ODBC和JDBC
1、SQL语言的运行环境
2、嵌入式SQL的使用技术
3、动态SQL语句
4、ODBC与JDBC技术
【思考题】
教材:
P96
第4.2题
第4.6题
第4.7题
第4.9题
第五章规范化设计
【教学目的与要求】
1、理解关系模式的设计问题
2、掌握函数依赖
3、掌握关系模式的分解特性
4、掌握关系模式的范式
5、了解模式的进一步规范化
【教学重点(KeyPoints)】
函数依赖,关系模式的范式
【课时安排(TeachingHours)】
课堂讲授:
5课时
【教学内容】
一、关系模式的设计问题
1、概念
a)外延(Extension):
关系、表或当前值。
b)内涵(Intension):
对数据的定义以及数据完整性约束的定义,也被称为关系模式。
c)泛关系模式(UniversalRelationSchema):
现实问题的所有属性组成的关系模式。
假设记为R(U)。
d)泛关系(UniversalRelation):
关系模式R(U)的当前值,是元组的集合。
e)数据库模式(DatabaseSchema):
一些具有意义的关系模式的集合。
记为ρ,其中ρ={R1,……,Rk|Ri∈U且R1∪R2∪…∪Rk=U}
2、问题提出
如何把泛关系模式分解成规范的、较优的数据库模式?
二、函数依赖
1、函数依赖FD的定义
2、FD示例
3、FD和关键码的关系
4、FD的推理规则
5、属性集的闭包
6、FD的最小依赖集
三、关系模式的分解特性
1、无损分解
2、保持函数依赖FD
四、关系模式的范式
1、BC范式
2、第三范式
3、第二范式
五、模式的进一步规范化
1、多值依赖和第四范式
2、联接依赖和第五范式
【思考题】
思考题一:
考虑一个关于中国人的关系,包括姓名、身份证号、省份、城市、街道地址、邮政编码、电话号码。
你认为有哪些函数依赖?
该关系的键码是什么?
假设有关系模式R(ABCD),在R的关系中,属性值间有这样的联系:
A值与B值有多对一的联系;C值与D值有一对一的联系。
说出它们之间相应的函数依赖。
思考题二:
考虑具有如下模式的关系{title,year,studioName,president,presAddr},即该关系的每个元组都包含了一部电影及其制片公司、该制片公司的总裁及该总裁的地址等信息。
我们假定该关系的三个函数依赖如下:
Titleyear→studioNamestudioName→presidentpresident→presAddr
将它分解为满足BCNF。
思考题三:
问题1:
对于一个雇员信息表emp_info(emp_id,emp_name,emp_phone,dept_name,dept_phone,dept_mgrname),存在FD:
①emp_id→emp_name,emp_phone,dept_name
②dept_name→dept_phone,dept_mgrname
将它分解为满足BCNF。
问题2:
改变规则,假设dept_mgrname也为depts的标识符,即增加FD:
dept_mgrname→dept_name。
问:
depts是否仍是BCNF的?
问题3:
为emps_info表增加属性emp_city,emp_straddr,emp_zip。
则新增加FD:
①emp_cityemp_straddr→emp_zip②emp_zip→emp_city。
则满足3NF的分解为?
满足BCNF的分解为?
BCNF的分解丢失了哪个FD?
第六章实体联系模型
【教学目的与要求】
1、掌握ER模型的基本元素
2、掌握属性的分类
3、掌握联系的设计
4、了解ER模型的扩充
5、理解ER模型实例分析
【教学重点(KeyPoints)】
ER模型
【课时安排(TeachingHours)】
课堂讲授:
3课时
【教学内容】
第一节XXXXXXXXXX
一、ER模型的基本元素
1、实体
2、属性
3、联系
二、属性的分类
1、基本属性和复合属性
2、单值属性和多值属性
3、导出属性
4、空值属性
三、联系的设计
1、联系的元数
2、联系的连通词
3、联系的基数
四、ER模型的扩充
1、依赖联系与弱实体
2、超类和子类
3、演绎和归纳
五、ER模型实例分析
1、关系式目录的扩展ER图
2、项目管理的ER图
3、商场订货系统的ER图
4、销售系统的ER图
5、证券营业网点模拟系统的ER图
6、旅游管理信息系统的ER图
【思考题】
教材P139
第6.2题
第6.3题
第6.6题
第6.7题
第七章数据库设计
【教学目的与要求】
1、了解数据库设计概述
2、了解规划
3、理解需求分析
4、掌握概念设计
5、掌握逻辑设计
6、了解物理设计
7、了解数据库的实现
8、了解数据库的运行与维护
【教学重点(KeyPoints)】
概念设计,逻辑设计
【课时安排(TeachingHours)】
课堂讲授:
3课时
【教学内容】
一、数据库设计概述
1、软件生存期
2、数据库系统生存期
3、数据库设计的具体步骤
二、规划
三、需求分析
1、任务:
确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求。
2、输出文档:
需求说明书,包括系统的数据流图和数据字典。
3、步骤:
a)分析用户活动,产生用户活动图
b)确定系统范围,产生系统范围图
c)分析用户活动所涉及的数据,产生数据流图
d)分析系统数据,产生数据字典
4、数据流图示例
四、概念设计
1、目标:
产生反映企业组织信息需求的数据库概念结构,即概念模式。
2、概念模型与数据模型的关系
3、概念设计的步骤:
a)进行数据抽象,设计局部概念模式;
b)将局部概念模式综合成全局概念模式;
c)评审
4、概念设计的输出文档:
a)局部概念结构描述
b)全局概念结构技术
c)数据清单
d)业务活动清单
5、采用ER方法进行数据库概念设计的步骤:
a)设计局部的ER模式:
先分别考虑各个用户的信息需求。
b)设计全局的ER模式:
将局部ER模式综合成单一的全局概念结构。
c)全局ER模式的优化:
消除多余的实体、属性及联系的冗余。
五、逻辑设计
1、逻辑设计步骤:
a)初始模式的形成
b)子模式的设计
c)应用程序设计梗概
d)模式评价
e)修正模式
2、ER模型向关系模型的转换
a)ER模式的转换
b)实体集的转换
c)联系的转换
d)处理弱实体集
e)子类和超类的转换
3、关系数据库的逻辑设计
a)导出初始关系模式
i.将概念设计的结果(全局ER模型)转换成初始关系模式。
ii.规范化处理
iii.确定规范级别
iv.函数依赖应达到3NF或BCNF
v.包含多值依赖时,要达到4NF。
b)实施规范化处理
i.模式评价
ii.功能和性能
c)模式修正
i.应用
ii.效率
六、物理设计
七、数据库的实现
八、数据库的运行与维护
【思考题】
教材P172
第7.3题
第7.19题
第9章数据库的管理
【教学目的与要求】
1、理解事务
2、理解数据库的恢复
3、掌握数据库的并发控制
4、掌握数据库的完整性
5、掌握数据库的安全性
【教学重点(KeyPoints)】
数据库的并发控制,完整性,安全性。
【课时安排(TeachingHours)】
课堂讲授:
4课时
【教学内容】
第一节XXXXXXXXXX
一、事务
1、定义:
事务(Transaction)是构成单一逻辑工作单元的操作集合。
a)事务是一种编程结构,它比批处理更完善。
2、事务的控制语句
a)begintransaction——事务开始
b)Commit——事务提交
c)Rollback——回滚事务
d)Savetransaction——设置保存点
3、事务的性质
a)原子性(Atomicity)
b)一致性(Consistency)
c)隔离性(Isolation)
d)持久性(Durability)
二、数据库的恢复
1、定义:
系统把数据库从被破坏、不正确的状态,恢复到最近一个正确的状态。
2、方法:
利用备份文件和日志文件(REDO或UNDO)。
3、数据库备份:
周期性地对数据库进行拷贝。
a)完全数据库备份——数据库和事务日志
b)只备份数据库——只有数据库
c)增量数据库备份——上次备份这后改变的地方
4、建立日志:
记录事务的开始、结束标志、对数据库的每一次操作及修改前后的值。
三、数据库的并发控制
1、并发机制带来的问题
a)丢失更新问题
b)依赖于未提交更新的问题
c)不一致分析问题
2、封锁机制
a)排他型封锁(eXclusiveLock):
又称X锁或写锁。
b)共享型封锁(ShareLock):
又称S锁或读锁。
c)封锁的相容矩阵
d)活锁:
e)死锁:
四、数据库的完整性
1、完整性(Integrity)定义:
指数据的正确性、有效性和相容性,防止错误的数据进入数据库。
2、完整性子系统:
DBMS中执行完整性检查的子系统。
3、完整性规则:
a)触发条件——什么时候使用规则进行检查
b)约束条件或谓词——要检查什么样的错误
c)ELSE子名——即违反时要做的操作。
4、QL中的完整性约束
5、SQL中的触发器
五、数据库的安全性
1、安全性(Security)定义:
指保护数据库,防止不合法的使用,以免数据的泄密、更改或破坏。
2、权限(Authorization):
用户(或应用程序)使用数据库的方式。
a)对数据库内容:
i.读(Read)权限
ii.插入(Insert)权限
iii.修改(Update)权限
iv.删除(Delete)权限
b)对数据库模式:
i.索引(Index)权限
ii.资源(Resource)权限
iii.修改(Alteration)权限
iv.撤消(Drop)权限
3、SQL的安全性机制
a)视图
b)用户权限
c)授权语句
d)回收语句
【思考题】
教材P229
第9.2题
第9.9题
第9.15题
第9.19题
第9.23题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用