数据库原理
2005年秋,48学时
夏英
课程性质与设置目的
;♦性质
■计算机与信息类专业的一门专业基础课
■数据库技术是计算机软件学科的重要分支
■应用领域广大
>目的
■掌握基本原理和方法
■掌握数据库结构设计和数据库应用系统开发
方法
■能应用现有数据库管理软件和软件开发工具
米
数据库的地位
■数据库技术产生于六十年代末,是数据管
理的最新技术,是计算机科学的重要分支
■数据库技术是信息系统的核心和基础,它
的出现极大促进了计算机应用向各行各业
的渗透
■数据库的建设规模、数据库信息量的大小
和使用频度已成为衡量一个国家信息化程
度的重要标志
❖课程建设历程
■2003年重庆邮电学院重点课程
■2004年重庆邮电学院精品课程
■2005年重庆市精品课程
课程网站
■位置:重邮主页一信息资源一精品课程一数
据库原理
■包含:学习资源汇总、习题集和自测、答疑
米
课程教材及参考书
0月
❖教材
■萨师燧,王珊:数据库系统概论(第三版),
高等教育出版社,2000
自学参考书
■SQLServer2000相关书籍
■Powerbuilder、Powerdesigner、Delphi等
数据库系统开发相关书籍
米
米
❖坚实的理论基础
■关系运算理论,模式设计理论
❖实践性强
■密切结合现实生活,新的应用需求不断涌现
■SQL语言应用广泛,开发平台丰富
■数据库设计影响整个应用系统的性能
。研究领域多
■数据库设计与应用开发
■数据库管理系统(DBMS)软件的研制
■数据库理论研究
米
0月
♦:♦理论学习
■掌握基本概念,多看例题,多做习题
■理论指导实践,实践提高认识
■重视数据库设计
❖实践学习
■勤思考,多动手
■重视上机实习环境
■坚持自学
课程考试
。教考分离、统一命题
❖成绩评定:
■平时成绩(作业、考勤、讨论)+考试成绩
米
第一^章绪论
学习要点
■数据库系统有关的基本概念
■数据库的发展历史
■数据模型(DataMode⑸
■数据库系统的三级模式及二级映象
■数据库系统
1.1数据库系统概论
四个基本概念
■数据(Data)
■数据库(Database)
■数据库管理系统(DBMS)
■数据库系统(DBS)
米
米
概念1:数据
❖数据(Data)是数据库中存储的基本对象
❖数据的定义
■描述事物的符号记录
❖数据的种类
■文字、图形、图像、声音、学生档案记录等
❖数据的特点
■语义:数据具有一定的含义
■数据与其语义是不可分的
♦:♦数据处理:收集、存储、加工和传播
米
米
*
❖学生档案中的学生记录
(李明,男,1972,江苏,计算机系,1990)
❖数据的解释
■语义:学生姓名、性别、出生年月、籍贯、所
在系别、入学时间
■解释:李明是个大学生,1972年出生,江苏人,
1990年考入计算机系
数据的形式不能完全表达其内容,需要明确其语义。
米
概念2:数据库
:♦数据库(Database,简称DB)是长期存储在
计算机内、有组织的、可共享的大量数据
集合
学生登记表
学号姓名年龄性另1)系名年级
95004王小明19女社会学95
95006黄大鹏20男商品学95
95008张文斌18女法律学95
••••••••••••••••••
米
数据库的特征
0月
・数据按一定的数据模型组织、描述和存储
■可为各种用户共享
■冗余度较小
■数据独立性较高
■易扩展
米
概念3:数据库管理系统
❖DBMS(DatabaseManagementSystem)
■位于用户与操作系统之间的一层数据管理软件
■用于组织、存取和维护数据
■属于支持软件
计算机软件的种类?
米
补充:计算机软件分类
计算机软件著作权登记中使用的软件分类
编石4
XXXXXXXXXX
计算机软件软件适用的国民经
分类代码济行业代码
❖国家标准《计算机软件分类与代码》
件
系
1oooo统A
人
件
支
3oooo持A
人
件
应
6OOOO用A
人
❖11000操作系统
■包括实时、分时、分布式、智能等操作系统
❖12000系统实用程序
❖13000系统扩充程序
■包括操作系统的扩充、汉化
❖14000网络系统软件
❖19900其他系统软件
KB'*
3oooA件
人
♦>
3oooA件
人
3ooo1^面
3ooo/换
♦»5
♦:
♦3OOOA件
♦人
♦:♦
❖36000语言处理程序
❖37000数据库管理系统
❖38000网络支持软件
❖39900其它支持软件
米
米
数据库管理系统的功能
:♦功能
■数据定义:定义数据库结构、权限、索引等。
■数据存取:实现对数据的查询、增、删、改等
操祚。
■数据库的运行管理:实现数据库恢复、并发控
制、完整性检查、安全性检查、日志管理等功
能,保证数据库系统的正常运行。
■数据库的建立和维护:数据输入、转换、转储、
♦复,薮箱库旌鼠篮控、性能分析等。
:.目前广泛使用的商用DBMS产品
■DB2,Oracle,Sybase,SQLServer,Access
等。
即卜人
概念4:数据库系统
定义:引入数据库后的计算机系统
组成:
应用系统
应用开发工具Powerbuilder,Delphi,VB,VC等
DBMSOracle,DB2,Sybase,SQLserver等
操作系统Win2000,Linux,Unix等
DBA全面负责管理和
控制数据库系统。硬件
米
。什么是数据管理
■对数据进行分类、组织、编码、存储、检索和维护
■是数据处理的中心问题
数据管理技术的发展动力
■应用需求的推动
■计算机硬件的发展
■计算机软件的发展
■理论发展
❖数据管理技术的发展过程
■人工管理阶段(40年代中“50年代中)
■文件系统阶段(50年代末・・60年代中)
■数据库系统阶段(60年代末■■现在)
米
米
阶段1:人工管理阶段*
❖时间:20世纪50年代中期以前
背景
■应用需求:科学计算
■硬件水平:外存只有卡片.纸带.磁带,无
直接存取存储设备
■软件水平:汇编语言,没有操作系统
■处理方式:批处理
人工管理阶段铮点
■数据的管理者:应用程序,数据不保存
■数据面向的对象:某一应用程序
■数据的共享程度:无共享、冗余度极大
■数据的独立性:不独立,完全依赖于程序
■数据的结构化:无结构
■数据控制能力:应用程序自己控制
米
米
阶段2:文件系统阶段*
♦:.时间:20世纪50年代末到60年代中期
❖背景
■应用需求:科学计算、管理
■硬件水平:磁盘、磁鼓等直接存取的外存设备
■软件水平:操作系统.高级语言.操作系统中
的文件系统是专门用于数据管理的软件
■处理方式:联机实时处理、批处理
文件系统的特点
。数据的管理者:文件系统,数据可长期保存
数据面向的对象:某一应用程序
。数据的共享程度:共享性差、冗余度大
孝数据的结构化:记录内有结构,整体无结构
卷数据的独立性:独立
性差,数据的逻辑结构
改变必须修改应用程序
/数据控制能力:应用
程序自己控制
米
文件系统中数据的结构
❖记录内有结构
■数据的结构是靠程序定义和解释的
■数据只能是定长的
■可以间接实现数据变长要求,但访问相应数
据的应用程序复杂了
❖数据整体无结构
■因为文件间是独立的
■可以间接实现数据整体的有结构,但必须在
应用程序中对描述数据间的联系
❖数据的最小存取单位是记录
米
米
阶段3:数据库系统阶段
❖时间:20世纪60年代末
背景
・应用背景:大规模管理
■硬件背景:大容量磁盘
■软件背景:有数据库管理系统
■处理方式:联机实时处理,分布处理,批处理
数据库系统特点
❖数据的管理者:DBMS
❖数据面向的对象:现实世界
❖数据的共享程度:共享性高
♦数据的独立性:高度的物理独立性和一定的逻辑独立性
♦:.数据的结构化:整体结构化,数据存取粒度小
数据控制能力:由DBMS统一管理和控制
数据库
。数据的高共享性的好处
■降低数据的冗余度,节省存储空间
■避免数据间的不一致性
■使系统易于扩充
❖数据结构化
■整体数据的结构化是数据库的主要特征之一
■数据库中实现的是数据的真正结构化
/数据结构用数据模型描述,无需程序定义和解释
/数据可以变长
/数据的最小存取单位是数据项
米
米
补充说明:数据独立性
物理独立性
■指用户的应用程序与存储在磁盘上的数据库中
数据是相互独立的
■当数据的物理存储改变了,应用程序不用改变
❖逻辑独立性
■指用户的应用程序与数据库的逻辑结构是相互
独立的
■数据的逻辑结构改变了,用户程序也可以不变
米
源d
数据的安全性(Security)保护
■使每个用户只能按指定方式使用和处理指定数据,
保护数据以防止不合法的使用造成的数据的泄密和
破坏
数据的完整性(Integrity)检查
■将数据控制在有效的范围内,或保证数据之间满足
一定的关系
并发(Concurrency)控制
■对多用户的并发操作加以控制和协调,防止相互干
扰而得到错误的结果
数据库恢复(Recovery)
■将数据库从错误状态恢复到某一已知的正确状态
米
■2数据模型
0月
❖数据模型(DataModels)是什么?
■在数据库中用数据模型这个工具来抽象、表
示和处理现实世界中的数据和信息。通俗地
讲数据模型就是现实世界的模拟
❖数据模型应满足三方面要求
■能比较真实地模拟现实世界
■容易为人所理解
■便于在计算机上实现
数据模型的分类
❖概念模型
■也称信息模型,按用户的观点来对数据和信
息建模
■用于数据库设计
❖数据模型
■按计算机的观点对数据建模,主要用于
DBMS的实现
■一般有层次,网状,关系三种
米
米
*
❖客观对象的抽象过程.■■两步抽象
■现实世界中的客观对象抽象为概念模型;
■把概念模型转换为某一DBMS支持的数据模
型
❖概念模型是现实世界到机器世界的一个
中间层次
现实世界信息世界机器世界
数据模型组成要素
数据结构
■指所研究的对象类型的集合
/与数据类型、内容、性质有关的对象
/与数据之间联系有关的对象
■是对系统静态特性的描述
数据操作
■对数据库中各种对象(型)的实例(值)允许执行
的操作及宥关的操作规则
/检索、更新(包括插入、删除、修改)
■是对系统动态特,性的描述
♦:.数据的约束条件
■一组完整性规则的集合
/是数据及其联系所具有的制约和储存规则,用以限定符合
数据模型的数据库状态以及状态的变化,以保证数据的正
确、有效、相容
❖概念模型的用途
■概念模型用于信息世界的建模
■是现实世界到机器世界的一个中间层次
■是数据库设计的有力工具
■数据库设计人员和用户之间进行交流的语言
❖对概念模型的基本要求
■较强的语义表达能力,能够方便、直接地表
达应用中的各种语义知识
■简单、清晰、易于用户理解
实体(Entities)
■客观存在并可相互区别的事物,可具体,可抽象
/例:职工、学生、系
属性(Attribute)
■实体具有的某一特性
/例:学生实体有学号、姓名、性别、出生年份等属性
码(Key)
■唯一标识实体的属性集
/例如学号是学生实体的码
域(Domain)
■某属性的取值范围
*实体集(EntitySet)
■同型实体的集合
,如全体学生
实体间的联系(Relationship)
■现实世界中事物内部以及事物之间的联系在信息世
界中反映为实体内部的联家和实体之间的联系
/例张山选修数据库课程。
/学生实体和课程之间通过选修联系
*两个实体之间的联系:
■一对一联系(1:1)
■一对多联系(1:n)
■多对一联系(n:1)
■多对多联系(m:n)
实体联系图示
一•对一、一对多、多对一、多对多
两个实体型间的联系
:.一'对一'联系
■如果对于实体集A中的每一个实班级
体,实体集B中至多有一个实体1
与之联系,反之亦然,则称实
体集A与实体集B具有一■对一■联'班级■班长
系
■记为1:11
■实例班长
/班级与班长之间的联系
1:1联系
两个实体型间的联系
:.一'对多联系
■如果对于实体集A中的每一个实班级
体,实体集B中有n个实体(nNO)
与之联系,反之,对于实体集B1
中的每一个实体,实体集A中至组成
多只有一个实体与之联系,贝弓称
实体集A与实体集B有一对多联系n
■记为1:n
学生
■实例
/班级与学生之间的联系l:n联系
两个实体型间的联系
❖多对多联系(m:n)
■如果对于实体集A中的每一个实课程
体,实体集B中有n个实体(nNO)
与之联系,反之,对于实体集Bm
中的每一个实体,实体集A中也
选修
有m个实体(mNO)与之联系,
则称实体集A与实体B具有多对
多联系。记为m:n
■实例学生
/课程与学生之间的联系
m:n联系
❖三个实体间的联系
❖判断联系种类
供应商
同一实体集内各实体间的联系
❖一^寸多联系
■实例
/职工实体集内部具有领导与被领导的联系
❖'一1对^一联系
❖多对多联系
职工
1n
领导
米
概念模型的表示方法
实体-联系模型(E・R图)
■矩形:表示实体集
■菱形:表示联系集
■线:连接实体集与联系集或属性与实体集
■椭圆:表示属性
■下划线:主码属性
学生实体及属性
联系及其属性例
联系也可以有属性
米
工厂物资管理
(较完整的E-R图示例)
♦:♦实体
■仓库、零件、供应商、项目、职工
❖实体间的联系
■一个仓库可以存放多种零件,一种零件可
存放在多个仓库中
■一个仓库有多个职工当仓库保管员,一个
职工只能点一个仓库工作
■职工中有领导:仓库主任
■供应关系中都是多对多的关系
工厂物资管理
米
工厂物资管理
实体及其联系
完整的E・R图
实例练习
❖实体
■系、班级、学生、教研室、
。给出概念模型:E-R图
米
。非关系模型
■层次模型(HierarchicalModel)
■网状模型(NetworkModel)
■数据结构:以基本层次联系为基本单位
■实体用记录表示。属性为记录的数据项
■基本层次联系:两个记录以及它们之间的一
对多(包括一'对一)的联系
❖关系模型
■数据结构:表
❖面向对象模型
■数据结构:对象
次
满足下面两个条件的基本层次联系的集合为层次模型
■有且只有一个结点没有双亲结点,这个结点称为根结点
■根以外的其它结点有且只有一个双亲结点
❖层次模型中的几个术语
■根结点,双亲结点,兄弟结点,叶结点
叶结点叶结点
米
米
❖表示方法
■实体型
/用记录类型描述。
/每个结点表示一个记录类型
■属性
,用字段描述。每个记录类型可包含若干个字段
■联系
/用结点之间的连线表示记录(类)型之间的一对
多的联系
。实例:教员■学生数据模型(P23)
米
等点
♦:♦直接处理一对多的实体联系,表示多对多
关系不便
任何记录值只有按其路径查看时,才能显
出它的全部意义
❖没有一个子女记录值能够脱离双亲记录值
而独立存在
米
0月
M:N联系的表示:将多对多联系分解成一对多联系
■冗余结点法:结构清晰,存储位置可变,但浪费空
间
■虚拟结点法:节约空间,避免不一致性,但指针随
存储位置的变化而变化
数据操纵与完整性约束
■数据操纵:查询,插入,删除,修改
■完整性约束条件:严格的完整性约束条件
存储结构
■邻接法:前序穿线树
■链接法:用指针表示层次关系(子女-兄弟链接法,
层次序列链接法)
米
❖无相应的双亲结点值就不能插入子女结点
值
如果删除双亲结点值,则相应的子女结点
值也被同时删除
♦:♦更新操作时,应更新所有相应记录,以保
证数据的一致性
米
展次模型的优岐点
0月
❖优点
■层次数据模型简单,对具有一对多的层次关
系的部门描述自然、直观,容易理解
・性能优于关系模型,不低于网状模型
■层次数据模型提供了良好的完整性支持
❖缺点
■多对多联系表示不自然
■对插入和删除操作的限制多
■查询子女结点必须通过双亲结点
■层次命令趋于程序化
典型的层次数据库系统
IMS数据库管理系统
■第一个大型商用DBMS
■1968年推出
■旧M公司研制
❖NetworkModel条件
■允许一个以上的结点无双亲
■一个结点可以有多于一个的双亲结点
■注:一般,处理1:N的实体联系。
学生学号姓名系别课程课程号课程名学分
SSCCSC
选课学号课程号成绩
学生/选课/课程的网状数据库模式
Uy
❖M:N联系的表示:
■引入联结记录。
❖数据操纵与完整性约束:
■数据操纵:查询,插入,删除,修改。
■完整性约束条件:支持一定的完整性约束条
件。(支持记录码;支持双亲与子女间的一
对多联系;插入,删除时有一定的约束条件)
❖存储结构:
■链接法:用指针表示层次关系。(单链,双
链,环链等)
❖描述更加直接
❖存取效率高
❖结构复杂
♦:.DDL、DML复杂,用户不易使用
典型的网状数据库系统
♦:DBTG系统,亦称CODASYL系统
■由DBTG提出的一个系统方案
■奠定了数据库系统的基本概念、方法和技术
■70年代推出
❖实际系统
■CullinetSoftwareInc.公司的IDMS
■Univac公司的DMS1100
■Honeywell公司的IDS/2
■HP公司的IMAGE
米
关系模裂
>1970年由美国旧M公司SanJose研究室
的研究员EECodd提出
。最重要的一种数据模型。也是目前主要采
用的数据模型
。在用户观点下,关系模型中数据的逻辑结
构是一张二维表夕它由行和列组成
米
关系模型的数据结构
■关系(Relation):一个关系对应一张表
■元组(Tuple):表中的一行
■属性(Attribute):表中的一列,给每一列取一个名
称即属性名
■主码(Key):表中可唯一确定一个元组的某个属性组。
■域(Domain):属性的取值范围
■分量(Component):元组中的一个属性值
■关系模式(RelationSchema):对关系的描述
米
实体及实体间联系的表示
0月
。实体型:直接用关系(表)表示
❖属性:用属性名表示
❖一'对^一联系:隐含在实体对应的关系中
❖一对多联系:隐含在实体对应的关系中
多对多联系:直接用关系表示
学生(学号,姓名,年龄,性别,系号,年级)
课程(课程号,课程名,学分)
选修(学号,课程号,成绩)
关系数据模型j
。关系必须是规范化的,满足一定的规范条件
■最基本的规范条件:关系的每一个分量必须是一■个
不可分的数据项
J是关系数据
一-模型吗?,
职工姓职工资扣除实
号名称基本工龄职务房租水电发
86051陈平讲师1059.5rn.5
米
关系模裂
0月
❖数据操纵与完整性约束
■数据操纵:集合操作,操作对象和操作结果
都是关系
■完整性约束条件:包括实体完整性,参照完
整性和用户定义的完整性
❖存储结构
■文件存储方式:由于实体间联系用表表示,
而表则以文件形式存储
米
优点
■建立在严格的数学概念的基础上;
■概念单一;数据结构简单、清晰,用户易懂易用
■存取路径对用户透明,具有较高的数据独立性、安
全保密性,简化了程序员的工作和数据库开发建立
的工作
缺点
■存取路径对用户透明导致查询效率往往不如非关系
数据模型
■为提高性能,必须对用户的查询请求进行优化增加
了开发数据库管理系统的难度
一个关系数据库例子
customer-idcustomer-naniecustomer-streetcustomer-city
192-83-7465Johnson12AlmaSt.PaloAlto
019-28-3746Smith4NorthSt.Rye
677-89-9011Hayes3MainSt.Harrison
182-73-6091Turner123PutnamAve.Stamford
321-12-3123Jones100MainSt.Harrison
336-66-9999Lindsay175ParkAve.Pittsfield
019-28-3746Smith72NorthSt.Rye
(a)Thecustomertable
account-numberbalancecustomer-idaccount-number
A--83-7465A-101
A--83-7465A-201
A--28-3746A-215
A--89-9011A-102
A--73-6091A-305
A--12-3123A-217
A--66-9999A-222
(b)Tlieaccounttable019-28-3746A-201
(c)Thedepositortable
典型的关系数据库系统
ORACLE
SYBASE
INFORMIX
DB/2
COBASE
PBASE
EasyBase
DM/2
OpenBase
1.3数据库系统结构
❖DBMS角度系统内部结构
■三级模式结构■系统外部结构
❖最终用户角度
■集中式结构
/单用户结构
/主从结构
■分布式结构
■客户/服务器结构
■并行结构
米
米
数据库系统模式的概念
❖“型”和“值”的概念
■型(Type)
/对某一类数据的结构和属性的说明
■值(Value)
/是型的一个具体赋值
例如:学生记录
记录型:
(学号,姓名,性别,系别,年龄,籍贯)
该记录型的一个记录值:
(,李明,男,计算机,22,江苏)
米
模式与实例
(InstancesandSchemas)
类似于程序设计中变量的与的关系
模式(Schema)
■数据库逻辑结构和特征的描述
■是型的描述
■反映的是数据的结构及其联系
■模式是相对稳定的
♦:♦模式的一个实例(Instance)
■模式的一个具体值
■反映数据库某一时刻的状态
■同一个模式可以有很多实例
■实例随数据库中的数据的更新而变动
三级模式结构
0月
模式(Schema):逻辑模式
■逻辑级上的视图,是数据库中全体数据的逻辑结构和
特征的描述
■一个数据库只有一个模式
外模式(ExternalSchema):子模式或用户模式
■是数据库用户的数据视图,是与某一应用有关的数据
表示
■一个数据库可有多个外模式
内模式(InternalSchema):存储模式
■数据物理结构和存储方式的描述,是数据在数据库内
部的表示方式
■一个数据库只有一个内模式
米
二级映象与数据独立
夕卜模式(ExternalSchema)/模式(Schema)
■一个模式可对应多个外模式,对于每一个外模式均
有一个外模式/模式映象。
■当模式变化时,由DBA改变各外模式/模式映象而
保持外模式不变,应用程序也无须改变
所以,保证了数据与程序的逻辑独立性
模式(Schema)/内模式(InternalSchema)
■模式/内模式映象是唯一的
■当内模式变化时,由DBA改变各模式/内模式映象
而保持模式不变,应用程序也无须改变
所以,保证了数据与程序的物理独立性
小结
模式
■是数据库的中心与关键,独立于数据
到此这篇数据库基础知识教程(数据库基础知识教程pdf)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/65173.html