数据库的基本原理上_第1页
数据库的基本原理上_第2页
数据库的基本原理上_第3页
数据库的基本原理上_第4页
数据库的基本原理上_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第第1章章 数据库基本原理数据库基本原理1.1 数据库应用系统的典型应用数据库应用系统的典型应用1.2 相关术语和基本概念相关术语和基本概念1.3 数据管理技术的发展进程数据管理技术的发展进程1.4 数据库模型数据库模型1.5 数据库系统结构数据库系统结构21.1、典型的数据库应用系统、典型的数据库应用系统 1. Mary Richards房屋粉刷 单用户数据库系统单用户数据库系统 Mary Richards是一个专业的房屋粉刷匠,她拥有并管理一家小公司。该公司包括她自己和另一个专业粉刷匠,在需要的时候还雇佣一些兼职的粉刷匠。Mary的业务已经进行了10年,她收费合理(既不便宜也不昂贵),并

2、赢得了高质量的粉刷匠的美誉;Mary的业务大部分来自请她粉刷房屋的客户的重复业务,面且总是从他们那里得到口头参照意见。另外,Mary也有一部分业务来自建筑承包商和专业的室内设计公司3 2. Treble Clef Music商店 Treble Clef Music商店利用数据库应用程序来记录它所出租的乐器。因为在高峰期几个销售员可能同时出租乐器,所以这需要一个多用户数据库应用程序。商店经理也需要访问租赁数据库来决定什么时间采购更多的结定型号的乐器。她在做这件事情时并不想打乱租赁过程。 多用户数据库系统(局域网)多用户数据库系统(局域网) 43.州执照颁发和汽车登记局 州执照颁发和汽车登记局的,

3、有52个进行驾驶员考试、颁发与更新驾驶员执照的中心,37个销售汽车牌照的办公室。办公室的人在办理和更新驾驶员执照前,通过数据库中驾驶员的记录查询他们交通违章、事故或被逮捕的情况。这些数据用来决定驾驶执照是否可以更新,若可以更新,是否应该有所限制。类似地,汽车登记部门的工作人员通过访问数据库来确定一个汽车以前是否登记过,若登记过,是登记给谁的,是否有重大问题不能进行这次登记。州税务部门和执法部门的工作人员;因此该数据库庞大而且复杂,加有40多个数据表、并且其中的某些表包括数十万行数据。 大型局域网数据库应用系统大型局域网数据库应用系统 54. Calvert岛预订中心 Calvert岛是加拿大西

4、海岸上一个鲜为人知的美丽岛屿。为了把旅游业扩展到世界市场,Calvert岛商业厅开发了具有三种功能的站点; 宣传岛上的特色和娱乐机会 为后续的邮件宣传而索取并保存站点访问者的姓名和地址 索取并保存对旅馆、住房及旅游服务的要求,然后把这些要求通报给相应的商家 Internet数据库应用系统数据库应用系统6不同类型数据库系统的特点不同类型数据库系统的特点 71.2 相关术语和基本概念相关术语和基本概念数据(Data)数据库(Database,简称DB)数据库管理系统(Database Management System,简称DBMS)数据库系统(Database System,简称DBS)8数据数

5、据(Data)数据是数据库中存储的基本对象。描述事物的符号记录。数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等例如: (李明,男,李明,男,22,1982,浙江,计算机,浙江,计算机,1999) 语义: 李明是个大学生,李明是个大学生,1982年出生,今年年出生,今年22岁,男性,浙江岁,男性,浙江人,人,1999年考入计算机系年考入计算机系数据的形式还不能完全表达其内容,需要经过解释。9数据库数据库(DataBase)长期储存在计算机内,有组织的、可共享的数据集合。数据库中的数据不是孤立的,数据与数据之间是相互关联的。数据库中的数据具有较小的冗余度、较高的数据独立性

6、和易扩展性。1.2 相关术语和基本概念相关术语和基本概念10数据库管理系统数据库管理系统(DBMS)数据管理系统软件。管理、控制数据库的建立、运行和维护。位于操作系统和用户应用之间总是基于某种数据模型数据库厂商的产品通常指DBMS,如Oracle8i、SQL Server 2000、DB2、Informix等目的提供一个可以方便地、有效地存取数据库信息的环境。提供一个可以方便地、有效地存取数据库信息的环境。1.2 相关术语和基本概念相关术语和基本概念11数据库管理系统数据库管理系统(DBMS)的功能的功能数据库定义数据库对象定义:表、索引、约束、用户等数据库操纵实现对数据库的基本操作:增、删、

7、改、查数据库保护恢复、并发控制、完整性控制、安全性控制数据库的建立和维护初始数据的转换和装入、数据备份、数据库的重组织、性能监控和分析等通常由一些实用程序完成1.2 相关术语和基本概念相关术语和基本概念12数据库系统(数据库系统(DBS)数据库引入到计算机系统中的系统构成: 数据库 DBMS开发工具 应用软件系统 人员(数据库管理员DBA、应用程序员、 最终用户)1.2 相关术语和基本概念相关术语和基本概念13数据库数据库最终用户最终用户应用系统应用系统应用开发工具应用开发工具DBMS操作系统操作系统数据库管理员数据库管理员DBA数据库系统构成数据库系统构成应用程序员应用程序员14DBA (D

8、ataBase Administrator)协调用户和开发人员的工作参与数据库设计创建用户和授权保证数据库的正常运行维护工作151.3 数据管理技术的发展进程数据管理技术的发展进程人工管理人工管理特点:特点:1)数据不保存在机)数据不保存在机器中;器中;2)没有管理数据的)没有管理数据的软件;软件;3)数据无共享;)数据无共享;4)数据不具有独立)数据不具有独立性。性。文件系统文件系统特点:特点: 1)数据可以长期保存)数据可以长期保存在磁盘上;在磁盘上;2)文件系统管理数据)文件系统管理数据;3)数据共享性差,冗)数据共享性差,冗余大;余大;4)数据独立性差。)数据独立性差。数据库数据库特点

9、:特点: 1)数据结构化;)数据结构化;2)高共享,低冗余;)高共享,低冗余;3)数据独立性高;)数据独立性高;4)数据由)数据由DBMS统一控统一控制。制。16人工管理阶段人工管理阶段1)数据不保存在机器中;2)应用程序自己管理数据;3)数据无共享;4)数据不具有独立性。数据组数据组1用户用户1用户用户2应用程序应用程序2应用程序应用程序1应用程序应用程序3应用程序应用程序n用户用户m数据组数据组2数据组数据组3数据组数据组n17文件系统阶段文件系统阶段1)数据可以长期保存在磁盘上;2)文件系统管理数据;3)数据共享性差,冗余大:冗余时必须建立不同的文件以满 足不同的应用;4)数据独立性差:

10、程序通过文件名即可访问数据,但文件结构改变时必须修改程序。用户用户1用户用户2应用程序应用程序2应用程序应用程序1应用程序应用程序3应用程序应用程序n用户用户m数据文件数据文件2数据文件数据文件1数据文件数据文件3数据文件数据文件n文文件件系系统统18数据库系统阶段数据库系统阶段1)数据结构化:采用复杂数据模型,不仅可以表示数据,还可以表示数据间的联系;2)高共享,低冗余;3)数据独立性高;4)数据由DBMS统一控制。用户用户1用户用户2应用程序应用程序2应用程序应用程序1应用程序应用程序3应用程序应用程序n用户用户m数数据据库库管管理理系系统统DB19 人工管理 文件系统 数据库系统 背 时

11、间 50 年代中 50 年代后60 年代中 60 年代后 应用 科学计算 科学计算、管理 事务处理 硬件 无存储设备 磁盘、磁鼓 大容量硬盘 景 软件 无 OS 有 OS、管理数据的文件系统 DBMS 数据处理 批处理 批处理 联机实时处理 联机实时处理 批处理、分布 数据管理者 人 文件系统 DBMS 数据面向对象 某一应用程序 某一应用程序 整个组织 特 数据共享程度 无共享 及其冗余 共享差 冗余度大 共享性高 冗余度小 数据独立性 无独立,完全依赖应用程序 独立性差 高度物理独立一定逻辑独立 点 数据结构化 无结构 记录内有结构 整体无结构 整体结构化 数据模型描述 数据控制能力 应用

12、程序控制 应用程序控制 DBMS 提供: 安全、完整、并发、恢复 201.4 数据库模型数据库模型1.4.1 数据模型的构成1.4.2 数据模型的分类1.4.3 概念模型1.4.4 实体/联系图 1.4.5 常用的结构数据模型21数据库模型数据库模型为什么要建立数据模型(Data Model)? 象盖大楼的设计图一样,DM可使所有的 项目参与者都有一个共同的数据标准避免出现问题再解决(边干边改的方式)可及早发现问题加快应用开发速度1.4.1 数据模型的构成数据模型的构成22数据模型的构成数据模型的构成数据模型的三要素数据结构 数据的表示方法(数据的组织形式),是一种静态特征的描述数据操作 数据

13、操作是指对数据库的查询、修改、删除和插入等操作,是一种动态特征的描述完整性约束 数据及数据间联系应具有的制约和依赖规则如:一个系可有多个学生,一个学生只能属于一个系1.4.1 数据模型的构成数据模型的构成231.4 数据库模型数据库模型1.4.1 数据模型的构成1.4.2 数据模型的分类1.4.3 概念模型1.4.4 实体/联系图 1.4.5 常用的结构数据模型24数据数据模型的分类模型的分类n根据模型应用的不同目的根据模型应用的不同目的l概念数据模型概念数据模型(概念模型)(概念模型)按用户的观点对数据进行建模,强调语义表达功能按用户的观点对数据进行建模,强调语义表达功能独立于计算机系统和独

14、立于计算机系统和DBMSDBMS主要用于数据库的概念设计主要用于数据库的概念设计l结构数据模型结构数据模型(数据模型)(数据模型)按计算机系统的观点对数据进行建模,直接面向数据库按计算机系统的观点对数据进行建模,直接面向数据库的逻辑结构的逻辑结构与计算机系统和与计算机系统和DBMSDBMS相关(相关(DBMSDBMS支持某种数据模型)支持某种数据模型)有严格的形式化定义,以便于在计算机系统中实现有严格的形式化定义,以便于在计算机系统中实现1.4.2 数据模型的分类数据模型的分类25数据数据抽象的层次抽象的层次现实世界信息世界 概念模型机器世界 数据模型认识抽象转换如如E-R模型模型如关系模型、

15、层次模如关系模型、层次模型、网状模型、面向型、网状模型、面向对象模型对象模型26数据模型的例子数据模型的例子n现实世界现实世界l客户存款客户存款n信息世界信息世界l概念模型(概念模型(E-R模型)模型)MN27数据模型的例子数据模型的例子n机器世界机器世界l数据模型数据模型(关系模型(关系模型)281.4 数据库模型数据库模型1.4.1 数据模型的构成1.4.2 数据模型的分类1.4.3 概念模型1.4.4 实体/联系图 1.4.5 常用的结构数据模型29概念模型概念模型数据库设计最抽象的一层 对问题空间的概念性描述 ,是以实体、属性和实体之间的联系等形式来表达的。实体属性域联系1.4.3 概

16、念模型概念模型30实体实体 实体及其相应属性是关系设计的基础实体是客观存在又可以相互区分的事物。实实体是客观存在又可以相互区分的事物。实体可以是具体存在的人、物、事件,也可以是抽体可以是具体存在的人、物、事件,也可以是抽象的概念或联系。象的概念或联系。 实体可以是任何人、地点、事物,或定义的要收集和存储的数据实体是一个名词实体的实例是存储在表中的行1.4.3 概念模型概念模型31实体实体( (续续) )定义实体实体代表了现实世界中需要存储信息的对象定义实体时,在分析中使用名词数据库表中的行示例MOE的工作人员MOE的实用软件工程方法 1.4.3 概念模型概念模型32属性属性定义属性在系统中,需

17、要跟踪每个实体的某些事实。这在系统中,需要跟踪每个实体的某些事实。这些事实被称为实体的属性。些事实被称为实体的属性。 属性进一步定义和描述实体实例的特性属性和最接近其描述的实体有关定义数据库表中的列 属性示例:车的属性颜色制造商车型出厂年份 1.4.3 概念模型概念模型33域域域域是一个属性可以包含的有效的值的集合。域是一个属性可以包含的有效的值的集合。 区别于数据类型数据类型是物理的 分析域有助于对数据类型的设计示例:DegreeAwarded,它表示大学授予的学位:它表示大学授予的学位: BA, BS, MA, MS, PhD, LLD, MD 1.4.3 概念模型概念模型34联系联系表示

18、实体间的联系一对一 一对多多对多根据一定规则在实体间实现绑定表示现实世界中的数据间的联系使用可以将实体联系起来的动词1.4.3 概念模型概念模型351.4 数据库模型数据库模型1.4.1 数据模型的构成1.4.2 数据模型的分类1.4.3 概念模型1.4.4 实体/联系图 1.4.5 常用的结构数据模型36概念模型的表示方法概念模型的表示方法实体实体/联系图联系图 语法 创建概念模型1.4.4概念模型的表示方法概念模型的表示方法实体实体/联系图联系图37实体-联系 (E-R) 图使用通用的语法来表示组成概念模型的实体、属性、联系、基数和存在。实体在 E-R 图中用矩形来表示,矩形内部列出实体的

19、属性 关系用实体间的线段来表示 基数通常用注释在关系线段两个端点上的数字来表示 用不同风格的线段来表示关系语法语法1.4.4概念模型的表示方法概念模型的表示方法实体实体/联系图联系图38创建概念模型创建概念模型1.4.4概念模型的表示方法概念模型的表示方法实体实体/联系图联系图39示例示例1 一般的联系一般的联系班级班级-班长班长11班级组成学生1n1:1课程选修学生mn1:nm:n40示例示例2 特殊的联系特殊的联系课程讲授教师1m参考书n三个实体间的联系职工经理1n实体内部的联系41示例示例3 E-R图图课程讲授教师1m参考书n选修学生mn班级组成1n小组长n1成绩421.4 数据库模型数

20、据库模型1.4.1 数据模型的构成1.4.2 数据模型的分类1.4.3 概念模型1.4.4 实体/联系图 1.4.5 常用的结构数据模型43常用的数据模型常用的数据模型基于树的层次模型(hierarchical model) 20世纪60年代末到70年代初基于图的网状模型(network model) 20世纪70年代基于表的关系模型(relational model) 20世纪80年代至今基于对象的面向对象模型(Object Oriented Model) 研究开发中1.3.3 常用的数据模型常用的数据模型44层次模型层次模型20世纪世纪60年代末到年代末到70年代初年代初有且仅有一个根节点

21、;其它节点有且仅有一个父节点有且仅有一个根节点;其它节点有且仅有一个父节点45网状模型网状模型20世纪世纪70年代年代允许一个以上节点无父节点允许一个以上节点无父节点一个节点可以有多于一个父节点一个节点可以有多于一个父节点46关系模型关系模型20世纪世纪80年代年代源于数学,把数据看成是二维表(关系)中的元素源于数学,把数据看成是二维表(关系)中的元素用关系表示实体和实体之间联系的模型称为关系模型用关系表示实体和实体之间联系的模型称为关系模型SnoSnameSsexSagesdept95001张三男25CS95002李四女24CS96101王五男23MA96001赵六男23CS47实现实体的联

22、系实现实体的联系键 主键 外键 主键和外键的示例48键用来在数据模型中标识实体的每个实例的值 优点惟一地标识数据模型中实体的每个实例 有助于从数据逻辑设计阶段过渡到物理设计阶段将实体联系在一起形成关系键键2.2.1 实现实体的联系实现实体的联系49主键是任何可以用来惟一地标识所有实体实例的字段 必须是惟一的主键通常有以下类型 智能键与键和实体相关联 代理键仅作为惟一标识符与实体相关联组合键包含多个值主键主键2.2.1 实现实体的联系实现实体的联系50外键外键外键是子实体中用来与相应的父实体建立关系的值 子实体的外键通常是父实体的主键 子实体的外键不能用做子实体的全部主键,子实体的实例具有相同的

23、外键值 在很多情况下,外键很可能是子实体组合键的一部分2.2.1 实现实体的联系实现实体的联系51主主键键和外和外键键的示例的示例2.2.1 实现实体的联系实现实体的联系52规范化的基础规范化的基础规范化 创建第一范式数据模型 转换为第二范式数据模型 创建第三范式数据模型 2.2.2 规范化的基础规范化的基础53规范化规范化规范化数据库就是要完成以下任务:尽可能减少重复信息减少数据的不一致性加快数据修改(插入、更新和删除)范式第一范式第二范式第三范式经过规范化的数据库通常包括多个表,而每个表又包括较少的列 2.2.2.1 规范化规范化54创建第一范式数据模型创建第一范式数据模型第一范式 的条件

24、: 表必须是二维的(用行和列表示)每个数据库单元只包含一个值每列必须具有单独的含义在一个关系模式中,如果R的每一个属性对应的域值都是不可再分的,(即每一个分量必须是不可分的数据项),则称R属于第一范式,即R1NF。2.2.2.1 规范化规范化55第一范式的示例第一范式的示例2.2.2.1 规范化规范化56第一范式的示例第一范式的示例合同号产品号产品名单价数量供货日期购买单位地址电话号码C1P1P2黄瓜鸡蛋1.83.720030007.3新河公司北京82345545C2P1P3黄瓜萝卜1.82.010010007.4东风公司上海3509554257第一范式的示例第一范式的示例合同号产品号产品名单

25、价数量供货日期购买单位地址电话号码C1P1黄瓜1.820007.3新河公司北京82345545C1P2鸡蛋3.730007.3新河公司北京82345545C2P1黄瓜1.810007.4东风公司上海35095542C2P3萝卜2.010007.4东风公司上海3509554258第二范式第二范式第二范式: 如果一个关系属于第一范式,而且其中的各个非主属性都完全函数依赖于它的每一个候选键,则这个关系属于第二范式。在上图所表示的销售合同关系中,其关键字为合同号+产品号,是一个联合键。关系中的其余属性:产品名和单价仅与产品号有关,而供货日期,购买单位,地址和电话与合同号有关,他们都是局部函数依赖于关键

26、字合同号+产品号的,需要对该关系进行分解。如下图所示。 59第二范式例子第二范式例子合同号产品号数量C1P1200C1P2300C2P1100C2P3100产品号产品名单价P1黄瓜1.8P2鸡蛋3.7P3萝卜2.0合同号购买单位地址电话供货日期C1新河公司北京8234554507.3C2东风公司上海3509554207.460转换为第二范式数据模型转换为第二范式数据模型消除实体中的冗余信息将只依赖于一部分多值主键的属性移到另一个表中使存储的信息更一致2.2.2.1 规范化规范化61第三范式第三范式第三范式:如果一个关系模式属于第二范式,且其中的任何非主属性都不传递函数依赖于它的每一个候选键,则

27、这个关系属于第三范式。如下图所示。在关系CD中,还是存在着存储异常。这是由于在关系CD中还存在着传递函数依赖。在CD中,DNAME函数依赖于合同号CNO,而ADDR和TEL却直接函数依赖于DNAME,因此CNO与ADDR和TEL间存在着传递函数依赖。62 合同号购买单位供货日期C1新河公司07.3C2东风公司07.4购买单位地址电话新河公司北京82345545东风公司上海3509554263创建第三范式数据模型创建第三范式数据模型除去所有不依赖某个键值而存在的列避免信息的更新异常和删除异常确保不含冗余信息创建第三范式的步骤:用适当的方法将数据模型规范化为第一和第二范式。确定不依赖键值而存在的所有属性。将这些独立的属性移到各个单独的表中,并为每个表确定主键。将这些主键作为外键连接到父实体中。2.2.2.1 规范化规范化64第三范式示例第三范式示例2.2.2.1 规范化规范化65数据库系统结构数据库系统结构数据库的三级模式数据库的二级映象1.4 数据库系统结构数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论