【文档说明】数据库 第01章 数据库基本原理课件.ppt,共(72)页,1.649 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-92408.html
以下为本文档部分文字说明:
Copyright@20081第1章数据库基本原理1.1数据库应用系统的典型应用1.2相关术语和基本概念1.3数据管理技术的发展进程1.4数据库模型1.5数据库系统结构Copyright@200821.1、典型的数据库
应用系统1.MaryRichards房屋粉刷--单用户数据库系统MaryRichards是一个专业的房屋粉刷匠,她拥有并管理一家小公司。该公司包括她自己和另一个专业粉刷匠,在需要的时候.还雇佣一些兼职的粉刷匠。Mary的业务已经进行了10年,她收费合理(既不便宜.也不昂贵
),并赢得了高质量的粉刷匠的美誉;Mary的业务大部分来自请她粉刷房屋的客户的重复业务,而且总是从他们那里得到口头参照意见。另外,Mary也有一部分业务来自建筑承包商和专业的室内设计公司Copyright@200832.TrebleCl
efMusic商店TrebleClefMusic商店利用数据库应用程序来记录它所出租的乐器。因为在高峰期几个销售员可能同时出租乐器,所以这需要一个多用户数据库应用程序。商店经理也需要访问租赁数据库来决定什么时间采购更多的给定型号的乐器。她在做这件事情时并不想打乱租赁过程。--多用
户数据库系统(局域网)Copyright@200843.州执照颁发和汽车登记局州执照颁发和汽车登记局的,有52个进行驾驶员考试、颁发与更新驾驶员执照的中心,37个销售汽车牌照的办公室。办公室的人在办理和更新驾驶员执照
前,通过数据库中驾驶员的记录查询他们交通违章、事故或被逮捕的情况。这些数据用来决定驾驶执照是否可以更新,若可以更新,是否应该有所限制。类似地,汽车登记部门的工作人员通过访问数据库来确定一个汽车以前是否登记过,若登记过,是登记给谁的,是否有重大问题不
能进行这次登记。州税务部门和执法部门的工作人员;因此该数据库庞大而且复杂,加有40多个数据表、并且其中的某些表包括数十万行数据。--大型局域网数据库应用系统Copyright@200854.Calvert岛预订中心Calvert岛是加拿大西海岸上一个鲜为人知
的美丽岛屿。为了把旅游业扩展到世界市场,Calvert岛商业厅开发了具有三种功能的站点;●宣传岛上的特色和娱乐机会●为后续的邮件宣传而索取并保存站点访问者的姓名和地址●索取并保存对旅馆、住房及旅游服务的要求,然后把这些要求通报给相应的商家--
Internet数据库应用系统Copyright@20086不同类型数据库系统的特点Copyright@200871.2相关术语和基本概念数据(Data)数据库(Database,简称DB)数据库管理系统(DatabaseManagementSystem,简称DBMS)数据库系统(Databas
eSystem,简称DBS)Copyright@20088数据(Data)数据是数据库中存储的基本对象。描述事物的符号记录。数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等例如:(李明,男,22,1982,浙江
,计算机,1999)语义:李明是个大学生,1982年出生,今年22岁,男性,浙江人,1999年考入计算机系数据的形式还不能完全表达其内容,需要经过解释。Copyright@20089数据库(DataBase)长期储存在计算机内,有组织的、可共享的数据集合。数据库中的数据不是孤立的,数据与
数据之间是相互关联的。数据库中的数据具有较小的冗余度、较高的数据独立性和易扩展性。1.2相关术语和基本概念Copyright@200810数据库管理系统(DBMS)数据管理系统软件。管理、控制数据库的建立、运行和维护。位于操作系统和用户应用之间总是基于某
种数据模型数据库厂商的产品通常指DBMS,如Oracle8i、SQLServer2000、DB2、Informix等目的提供一个可以方便地、有效地存取数据库信息的环境。用户应用DBMS操作系统1.2相关术语和基本概念Copyright@200811数据库管理系统(DBMS)的功能数据库定义数据
库对象定义:表、索引、约束、用户等数据库操纵实现对数据库的基本操作:增、删、改、查数据库保护恢复、并发控制、完整性控制、安全性控制数据库的建立和维护初始数据的转换和装入、数据备份、数据库的重组织、性能监控和分析等通常由一些实用程序完成1.2相关术语和基本概念Copyright@2
00812数据库系统(DBS)数据库引入到计算机系统中的系统构成:数据库DBMS+开发工具应用软件系统人员(数据库管理员DBA、应用程序员、最终用户)在一般不引起混淆的情况下常常把数据库系统简称为数据库。1.2相关术语和基本概念Copyright@200813数据库
最终用户应用系统应用开发工具DBMS操作系统数据库管理员DBA数据库系统构成应用程序员Copyright@200814DBA(DataBaseAdministrator)协调用户和开发人员的工作参与数据库设计创建用户和授权保证数据库的正常运行维
护工作Copyright@2008151.3数据管理技术的发展进程人工管理特点:1)数据不保存在机器中;2)没有管理数据的软件;3)数据无共享;4)数据不具有独立性。文件系统特点:1)数据可以长期保存在磁盘上;2)文件系统管理数据;3)数
据共享性差,冗余大;4)数据独立性差。数据库特点:1)数据结构化;2)高共享,低冗余;3)数据独立性高;4)数据由DBMS统一控制。Copyright@200816人工管理阶段1)数据不保存在机器中;2)应用程序自己管理数据;3)数据无
共享;4)数据不具有独立性。数据组1用户1用户2应用程序2应用程序1应用程序3应用程序n用户m……数据组2数据组3数据组n…Copyright@200817文件系统阶段1)数据可以长期保存在磁盘上;2)文件系统管理数据;3)数据共享性差,冗余大:
冗余时必须建立不同的文件以满足不同的应用;4)数据独立性差:程序通过文件名即可访问数据,但文件结构改变时必须修改程序。用户1用户2应用程序2应用程序1应用程序3应用程序n用户m……数据文件2数据文件1数据文件3数据文件n…文件系统Copyright@200818数据库系统阶段1)数据结构化:
采用复杂数据模型,不仅可以表示数据,还可以表示数据间的联系;2)高共享,低冗余;3)数据独立性高;4)数据由DBMS统一控制。用户1用户2应用程序2应用程序1应用程序3应用程序n用户m……数据库管理系统DBCopyright@200819人工管理文件系统数据库系统背时间—
50年代中50年代后—60年代中60年代后—应用科学计算科学计算、管理事务处理硬件无存储设备磁盘、磁鼓大容量硬盘景软件无OS有OS、管理数据的文件系统DBMS数据处理批处理批处理联机实时处理联机实时处理批处理、分布数据管理者人文件系统DBMS数据面向对象
某一应用程序某一应用程序整个组织特数据共享程度无共享及其冗余共享差冗余度大共享性高冗余度小数据独立性无独立,完全依赖应用程序独立性差高度物理独立一定逻辑独立点数据结构化无结构记录内有结构整体无结构整体结构化数据模型描述数据控制能力应用程序控制应
用程序控制DBMS提供:安全、完整、并发、恢复Copyright@2008201.4数据库模型1.4.1数据模型的构成1.4.2数据模型的分类1.4.3概念模型1.4.4实体/联系图1.4.5常用的结构数据模型Copyright@200821数据库模型为什么要建立数据模型(Data
Model)?象盖大楼的设计图一样,DM可使所有的项目参与者都有一个共同的数据标准避免出现问题再解决(边干边改的方式)可及早发现问题加快应用开发速度1.4.1数据模型的构成Copyright@200822数据模
型的构成数据模型的三要素数据结构——数据的表示方法(数据的组织形式),是一种静态特征的描述数据操作——数据操作是指对数据库的查询、修改、删除和插入等操作,是一种动态特征的描述完整性约束——数据及数据间联系应具有的制约和依赖规则如:一个系可有多个学生,一个学生只能属于一个系1.4.1
数据模型的构成Copyright@2008231.4数据库模型1.4.1数据模型的构成1.4.2数据模型的分类1.4.3概念模型1.4.4实体/联系图1.4.5常用的结构数据模型Copyright@200
824数据模型的分类根据模型应用的不同目的概念数据模型(概念模型)按用户的观点对数据进行建模,强调语义表达功能独立于计算机系统和DBMS主要用于数据库的概念设计结构数据模型(数据模型)按计算机系统的观点对数据进行建模,直接面向数据库的逻辑结构与计算机系统和DBMS相关(DBMS支持
某种数据模型)有严格的形式化定义,以便于在计算机系统中实现1.4.2数据模型的分类Copyright@200825数据抽象的层次现实世界信息世界概念模型机器世界数据模型认识抽象转换如E-R模型如关系模型、层次模型、网状模型、面向对象模型Copyright@200826数据模型
的例子现实世界客户存款信息世界概念模型(E-R模型)MNCopyright@200827数据模型的例子机器世界数据模型(关系模型)Copyright@2008281.4数据库模型1.4.1数据模型的构成1.4.2数据模型的分类1.4.3概念模型1
.4.4实体/联系图1.4.5常用的结构数据模型Copyright@200829概念模型数据库设计最抽象的一层对问题空间的概念性描述,是以实体、属性和实体之间的联系等形式来表达的。实体属性域联系1.4.3概念模型Copyright@200830实体实体及其相应属性是关系设计的基
础实体是客观存在又可以相互区分的事物。实体可以是具体存在的人、物、事件,也可以是抽象的概念或联系。实体可以是任何人、地点、事物,或定义的要收集和存储的数据实体是一个名词实体的实例是存储在表中的行1.4.3概念模型Copyright@200831
实体(续)定义实体实体代表了现实世界中需要存储信息的对象定义实体时,在分析中使用名词数据库表中的行示例MOE的工作人员MOE的《实用软件工程方法》1.4.3概念模型Copyright@200832属性定义属性在系统中,需要跟踪每个实
体的某些事实。这些事实被称为实体的属性。属性进一步定义和描述实体实例的特性属性和最接近其描述的实体有关定义数据库表中的列——属性示例:车的属性颜色制造商车型出厂年份1.4.3概念模型Copyright@20083
3域域域是一个属性可以包含的有效的值的集合。区别于数据类型数据类型是物理的分析域有助于对数据类型的设计示例:DegreeAwarded,它表示大学授予的学位:{BA,BS,MA,MS,PhD,LLD,MD}1.4.3概念模型Copyright@200834联系表示实体间的联系一对一一
对多多对多根据一定规则在实体间实现绑定表示现实世界中的数据间的联系使用可以将实体联系起来的动词1.4.3概念模型Copyright@2008351.4数据库模型1.4.1数据模型的构成1.4.2数据模型的分类1.4.3概念模型1.4.4实体/联
系图1.4.5常用的结构数据模型Copyright@200836概念模型的表示方法——实体/联系图语法创建概念模型1.4.4概念模型的表示方法——实体/联系图Copyright@200837实体-联系(E-R)图使
用通用的语法来表示组成概念模型的实体、属性、联系、基数和存在。实体在E-R图中用矩形来表示,矩形内部列出实体的属性关系用实体间的线段来表示基数通常用注释在关系线段两个端点上的数字来表示用不同风格的线段来表示关系语法1.4.4概念模型
的表示方法——实体/联系图Copyright@200838创建概念模型1.4.4概念模型的表示方法——实体/联系图Copyright@200839示例1一般的联系班级班级-班长班长11班级组成学生1n1:1课程选修学生mn1:nm:nCo
pyright@200840示例2特殊的联系课程讲授教师1m参考书n三个实体间的联系职工经理1n实体内部的联系Copyright@200841示例3E-R图课程讲授教师1m参考书n选修学生mn班级组成1n小组长n1成绩Copyright@2008421.4数据库模
型1.4.1数据模型的构成1.4.2数据模型的分类1.4.3概念模型1.4.4实体/联系图1.4.5常用的结构数据模型Copyright@200843常用的数据模型基于树的层次模型(hierarchicalmodel)—20世纪60年代末到70年代初基于
图的网状模型(networkmodel)—20世纪70年代基于表的关系模型(relationalmodel)—20世纪80年代至今基于对象的面向对象模型(ObjectOrientedModel)—研究开发中1.3.3常用的数据模型Copyright@200844层次模型20世纪
60年代末到70年代初有且仅有一个根节点;其它节点有且仅有一个父节点Copyright@200845网状模型20世纪70年代允许一个以上节点无父节点一个节点可以有多于一个父节点Copyright@200846关系模型20世纪80年代源于数学,把数据看成是二维表(关系)中的元素用关系表示实
体和实体之间联系的模型称为关系模型SnoSnameSsexSagesdept95001张三男25CS95002李四女24CS96101王五男23MA96001赵六男23CSCopyright@200847
实现实体的联系键主键外键主键和外键的示例Copyright@200848键用来在数据模型中标识实体的每个实例的值优点惟一地标识数据模型中实体的每个实例有助于从数据逻辑设计阶段过渡到物理设计阶段将实体联系
在一起形成关系键2.2.1实现实体的联系Copyright@200849主键是任何可以用来惟一地标识所有实体实例的字段必须是惟一的主键通常有以下类型智能键——与键和实体相关联代理键——仅作为惟一标识符
与实体相关联组合键——包含多个值主键2.2.1实现实体的联系Copyright@200850外键外键是子实体中用来与相应的父实体建立关系的值子实体的外键通常是父实体的主键子实体的外键不能用做子实体的全部主键,子实体的实例具有相同的外键值在很多情况下,外键很可能是子实体组
合键的一部分2.2.1实现实体的联系Copyright@200851主键和外键的示例2.2.1实现实体的联系Copyright@200852规范化的基础规范化•创建第一范式数据模型•转换为第二范式数据模型•创建第三范式数据模型2.2.2规范化的基础Copyri
ght@200853规范化规范化数据库就是要完成以下任务:尽可能减少重复信息减少数据的不一致性加快数据修改(插入、更新和删除)范式第一范式第二范式第三范式经过规范化的数据库通常包括多个表,而每个表又包括较少的列2.2.2.1规范化Copyright@200854创建第
一范式数据模型第一范式的条件:•表必须是二维的(用行和列表示)每个数据库单元只包含一个值每列必须具有单独的含义在一个关系模式中,如果R的每一个属性对应的域值都是不可再分的,(即每一个分量必须是不可分的数据项),则称R属于第一范式,即R∈1NF。2.
2.2.1规范化Copyright@200855第一范式的示例2.2.2.1规范化Copyright@200856第一范式的示例合同号产品号产品名单价数量供货日期购买单位地址电话号码C1P1P2黄瓜鸡蛋1.83.720030007.3新河公
司北京82345545C2P1P3黄瓜萝卜1.82.010010007.4东风公司上海35095542Copyright@200857第一范式的示例合同号产品号产品名单价数量供货日期购买单位地址电话号码C1P1黄瓜
1.820007.3新河公司北京82345545C1P2鸡蛋3.730007.3新河公司北京82345545C2P1黄瓜1.810007.4东风公司上海35095542C2P3萝卜2.010007.4东风公司上海35095542Co
pyright@200858第二范式第二范式:如果一个关系属于第一范式,而且其中的各个非主属性都完全函数依赖于它的每一个候选键,则这个关系属于第二范式。在上图所表示的销售合同关系中,其关键字为合同号+产品号,是一个联合键。关系中的其余属性:产品名
和单价仅与产品号有关,而供货日期,购买单位,地址和电话与合同号有关,他们都是局部函数依赖于关键字合同号+产品号的,需要对该关系进行分解。如下图所示。Copyright@200859第二范式例子合同号产品
号数量C1P1200C1P2300C2P1100C2P3100产品号产品名单价P1黄瓜1.8P2鸡蛋3.7P3萝卜2.0合同号购买单位地址电话供货日期C1新河公司北京8234554507.3C2东风公司上海350955420
7.4Copyright@200860转换为第二范式数据模型消除实体中的冗余信息将只依赖于一部分多值主键的属性移到另一个表中使存储的信息更一致2.2.2.1规范化Copyright@200861第三范式第三范式
:如果一个关系模式属于第二范式,且其中的任何非主属性都不传递函数依赖于它的每一个候选键,则这个关系属于第三范式。如下图所示。在关系CD中,还是存在着存储异常。这是由于在关系CD中还存在着传递函数依赖。在CD中,DNAME函数依赖于合同
号CNO,而ADDR和TEL却直接函数依赖于DNAME,因此CNO与ADDR和TEL间存在着传递函数依赖。Copyright@200862合同号购买单位供货日期C1新河公司07.3C2东风公司07.4购买单位地址电话新河公司北京82345545东风公司上海3509
5542Copyright@200863创建第三范式数据模型除去所有不依赖某个键值而存在的列避免信息的更新异常和删除异常确保不含冗余信息创建第三范式的步骤:•用适当的方法将数据模型规范化为第一和第二范式。•确定不依赖键值而
存在的所有属性。•将这些独立的属性移到各个单独的表中,并为每个表确定主键。将这些主键作为外键连接到父实体中。2.2.2.1规范化Copyright@200864第三范式示例2.2.2.1规范化Copyright@20
0865数据库系统结构数据库的三级模式数据库的二级映象1.4数据库系统结构Copyright@200866数据库的三级模式外模式(子模式、用户模式)模式(Schema)/逻辑模式内模式(存储模式)1.4.1数据库的三级模式Copyright@200867数据库的三级模
式外模式——用户模式(视图)是模式的子集或变形,是与某一应用有关的数据的逻辑表示不同用户需求不同,看待数据的方式也可以不同,对数据保密的要求也可以不同,使用的程序设计语言也可以不同,因此不同用户的外模式的描述可以使不同的。1.4.1数据库
的三级模式Copyright@200868数据库的三级模式模式——逻辑模式是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图DBMS提供数据定义语言DDL来描述逻辑模式,严格定义数据的名称、特征、相互关系、约束等1.4.1数据库
的三级模式Copyright@200869数据库的三级模式内模式——存储模式是数据在数据库系统的内部表示,即对数据的物理结构/存储方式的描述,是低级描述,一般由DBMS提供的语言或工具完成1.4.1数据库的三级模式注:一个数据
库只有一个模式,一个内模式,但可以有多个外模式。Copyright@200870数据库的二级映象外模式/模式映象——数据的逻辑独立性数据库系统投入使用后,可能有必要修改模式(如增加新关系、属性、改变类型),
这时:重新定义外模式/模式映象==〉现存外模式不变==〉应用程序不变模式/内模式映象——数据的物理独立性当内模式发生变化时:重新定义模式/内模式映象==〉模式保持不变==〉外模式保持不变==〉建立在外模式上的应用程序保持不变1.4.2数据库的二级映象DBA职责Copyr
ight@200871数据库系统结构数据库内模式模式外模式2外模式3外模式1应用A应用B应用C应用D应用E外模式/模式映象模式/内模式映象Copyright@200872回顾数据、数据库、数据库管理系统、数据库系统模型和模式