单用户数据库系统_第1页
单用户数据库系统_第2页
单用户数据库系统_第3页
单用户数据库系统_第4页
单用户数据库系统_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

数据库基本原理,1.1 数据库应用系统的典型应用1.2 相关术语和基本概念1.3 数据管理技术的发展进程1.4 数据库模型1.5 数据库系统结构,1.1、典型的数据库应用系统 1. Mary Richards房屋粉刷,单用户数据库系统,Mary Richards是一个专业的房屋粉刷匠,她拥有并管理一家小公司。该公司包括她自己和另一个专业粉刷匠,在需要的时候还雇佣一些兼职的粉刷匠。Mary的业务已经进行了10年,她收费合理(既不便宜也不昂贵),并赢得了高质量的粉刷匠的美誉;Mary的业务大部分来自请她粉刷房屋的客户的重复业务,面且总是从他们那里得到口头参照意见。另外,Mary也有一部分业务来自建筑承包商和专业的室内设计公司,2. Treble Clef Music商店,Treble Clef Music商店利用数据库应用程序来记录它所出租的乐器。因为在高峰期几个销售员可能同时出租乐器,所以这需要一个多用户数据库应用程序。商店经理也需要访问租赁数据库来决定什么时间采购更多的结定型号的乐器。她在做这件事情时并不想打乱租赁过程。,多用户数据库系统(局域网),3.州执照颁发和汽车登记局,州执照颁发和汽车登记局的,有52个进行驾驶员考试、颁发与更新驾驶员执照的中心,37个销售汽车牌照的办公室。办公室的人在办理和更新驾驶员执照前,通过数据库中驾驶员的记录查询他们交通违章、事故或被逮捕的情况。这些数据用来决定驾驶执照是否可以更新,若可以更新,是否应该有所限制。类似地,汽车登记部门的工作人员通过访问数据库来确定一个汽车以前是否登记过,若登记过,是登记给谁的,是否有重大问题不能进行这次登记。州税务部门和执法部门的工作人员;因此该数据库庞大而且复杂,加有40多个数据表、并且其中的某些表包括数十万行数据。,大型局域网数据库应用系统,4. Calvert岛预订中心,Calvert岛是加拿大西海岸上一个鲜为人知的美丽岛屿。为了把旅游业扩展到世界市场,Calvert岛商业厅开发了具有三种功能的站点; 宣传岛上的特色和娱乐机会 为后续的邮件宣传而索取并保存站点访问者的姓名和地址 索取并保存对旅馆、住房及旅游服务的要求,然后把这些要求通报给相应的商家, Internet数据库应用系统,不同类型数据库系统的特点,1.2 相关术语和基本概念,数据(Data)数据库(Database,简称DB)数据库管理系统(Database Management System,简称DBMS)数据库系统(Database System,简称DBS),数据(Data),数据是数据库中存储的基本对象。描述事物的符号记录。数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等例如: (李明,男,22,1982,浙江,计算机,1999) 语义: 李明是个大学生,1982年出生,今年22岁,男性,浙江人,1999年考入计算机系数据的形式还不能完全表达其内容,需要经过解释。,数据库(DataBase),长期储存在计算机内,有组织的、可共享的数据集合。数据库中的数据不是孤立的,数据与数据之间是相互关联的。数据库中的数据具有较小的冗余度、较高的数据独立性和易扩展性。,1.2 相关术语和基本概念,数据库管理系统(DBMS),数据管理系统软件。管理、控制数据库的建立、运行和维护。位于操作系统和用户应用之间总是基于某种数据模型数据库厂商的产品通常指DBMS,如Oracle8i、SQL Server 2000、DB2、Informix等目的提供一个可以方便地、有效地存取数据库信息的环境。,1.2 相关术语和基本概念,数据库管理系统(DBMS)的功能,数据库定义数据库对象定义:表、索引、约束、用户等数据库操纵实现对数据库的基本操作:增、删、改、查数据库保护恢复、并发控制、完整性控制、安全性控制数据库的建立和维护初始数据的转换和装入、数据备份、数据库的重组织、性能监控和分析等通常由一些实用程序完成,1.2 相关术语和基本概念,数据库系统(DBS),数据库引入到计算机系统中的系统构成: 数据库 DBMS开发工具 应用软件系统 人员(数据库管理员DBA、应用程序员、 最终用户),在一般不引起混淆的情况下常常把数据库系统简称为数据库。,1.2 相关术语和基本概念,数据库系统构成,DBA (DataBase Administrator),协调用户和开发人员的工作参与数据库设计创建用户和授权保证数据库的正常运行维护工作,1.3 数据管理技术的发展进程,人工管理阶段,1)数据不保存在机器中;2)应用程序自己管理数据;3)数据无共享;4)数据不具有独立性。,文件系统阶段,1)数据可以长期保存在磁盘上;2)文件系统管理数据;3)数据共享性差,冗余大:冗余时必须建立不同的文件以满 足不同的应用;4)数据独立性差:程序通过文件名即可访问数据,但文件结构改变时必须修改程序。,数据库系统阶段,1)数据结构化:采用复杂数据模型,不仅可以表示数据,还可以表示数据间的联系;2)高共享,低冗余;3)数据独立性高;4)数据由DBMS统一控制。,1.4 数据库模型,1.4.1 数据模型的构成1.4.2 数据模型的分类1.4.3 概念模型1.4.4 实体/联系图 1.4.5 常用的结构数据模型,数据库模型,为什么要建立数据模型(Data Model)? 象盖大楼的设计图一样,DM可使所有的 项目参与者都有一个共同的数据标准避免出现问题再解决(边干边改的方式)可及早发现问题加快应用开发速度,1.4.1 数据模型的构成,数据模型的构成,数据模型的三要素数据结构 数据的表示方法(数据的组织形式),是一种静态特征的描述数据操作 数据操作是指对数据库的查询、修改、删除和插入等操作,是一种动态特征的描述完整性约束 数据及数据间联系应具有的制约和依赖规则如:一个系可有多个学生,一个学生只能属于一个系,1.4.1 数据模型的构成,1.4 数据库模型,1.4.1 数据模型的构成1.4.2 数据模型的分类1.4.3 概念模型1.4.4 实体/联系图 1.4.5 常用的结构数据模型,数据模型的分类,根据模型应用的不同目的概念数据模型(概念模型)按用户的观点对数据进行建模,强调语义表达功能独立于计算机系统和DBMS主要用于数据库的概念设计结构数据模型(数据模型)按计算机系统的观点对数据进行建模,直接面向数据库的逻辑结构与计算机系统和DBMS相关(DBMS支持某种数据模型)有严格的形式化定义,以便于在计算机系统中实现,1.4.2 数据模型的分类,数据抽象的层次,现实世界,信息世界 概念模型,机器世界 数据模型,认识抽象,转换,如E-R模型,如关系模型、层次模型、网状模型、面向对象模型,数据模型的例子,现实世界客户存款信息世界概念模型(E-R模型),M,N,数据模型的例子,机器世界数据模型(关系模型),1.4 数据库模型,1.4.1 数据模型的构成1.4.2 数据模型的分类1.4.3 概念模型1.4.4 实体/联系图 1.4.5 常用的结构数据模型,概念模型,数据库设计最抽象的一层 对问题空间的概念性描述 ,是以实体、属性和实体之间的联系等形式来表达的。实体属性域联系,1.4.3 概念模型,实体,实体及其相应属性是关系设计的基础实体是客观存在又可以相互区分的事物。实体可以是具体存在的人、物、事件,也可以是抽象的概念或联系。 实体可以是任何人、地点、事物,或定义的要收集和存储的数据实体是一个名词实体的实例是存储在表中的行,1.4.3 概念模型,实体(续),定义实体实体代表了现实世界中需要存储信息的对象定义实体时,在分析中使用名词数据库表中的行示例MOE的工作人员MOE的实用软件工程方法,1.4.3 概念模型,属性,定义属性在系统中,需要跟踪每个实体的某些事实。这些事实被称为实体的属性。 属性进一步定义和描述实体实例的特性属性和最接近其描述的实体有关定义数据库表中的列 属性示例:车的属性颜色制造商车型出厂年份,1.4.3 概念模型,域,域域是一个属性可以包含的有效的值的集合。 区别于数据类型数据类型是物理的 分析域有助于对数据类型的设计示例:DegreeAwarded,它表示大学授予的学位: BA, BS, MA, MS, PhD, LLD, MD,1.4.3 概念模型,联系,表示实体间的联系一对一 一对多多对多根据一定规则在实体间实现绑定表示现实世界中的数据间的联系使用可以将实体联系起来的动词,1.4.3 概念模型,1.4 数据库模型,1.4.1 数据模型的构成1.4.2 数据模型的分类1.4.3 概念模型1.4.4 实体/联系图 1.4.5 常用的结构数据模型,概念模型的表示方法实体/联系图,语法 创建概念模型,1.4.4概念模型的表示方法实体/联系图,实体-联系 (E-R) 图使用通用的语法来表示组成概念模型的实体、属性、联系、基数和存在。实体在 E-R 图中用矩形来表示,矩形内部列出实体的属性 关系用实体间的线段来表示 基数通常用注释在关系线段两个端点上的数字来表示 用不同风格的线段来表示关系,语法,1.4.4概念模型的表示方法实体/联系图,创建概念模型,1.4.4概念模型的表示方法实体/联系图,示例1 一般的联系,示例2 特殊的联系,示例3 E-R图,1.4 数据库模型,1.4.1 数据模型的构成1.4.2 数据模型的分类1.4.3 概念模型1.4.4 实体/联系图 1.4.5 常用的结构数据模型,常用的数据模型,基于树的层次模型(hierarchical model) 20世纪60年代末到70年代初基于图的网状模型(network model) 20世纪70年代基于表的关系模型(relational model) 20世纪80年代至今基于对象的面向对象模型(Object Oriented Model) 研究开发中,1.3.3 常用的数据模型,层次模型,20世纪60年代末到70年代初有且仅有一个根节点;其它节点有且仅有一个父节点,网状模型,20世纪70年代允许一个以上节点无父节点一个节点可以有多于一个父节点,关系模型,20世纪80年代源于数学,把数据看成是二维表(关系)中的元素用关系表示实体和实体之间联系的模型称为关系模型,实现实体的联系,键 主键 外键 主键和外键的示例,键用来在数据模型中标识实体的每个实例的值 优点惟一地标识数据模型中实体的每个实例 有助于从数据逻辑设计阶段过渡到物理设计阶段将实体联系在一起形成关系,键,2.2.1 实现实体的联系,主键是任何可以用来惟一地标识所有实体实例的字段 必须是惟一的主键通常有以下类型 智能键与键和实体相关联 代理键仅作为惟一标识符与实体相关联组合键包含多个值,主键,2.2.1 实现实体的联系,外键,外键是子实体中用来与相应的父实体建立关系的值 子实体的外键通常是父实体的主键 子实体的外键不能用做子实体的全部主键,子实体的实例具有相同的外键值 在很多情况下,外键很可能是子实体组合键的一部分,2.2.1 实现实体的联系,主键和外键的示例,2.2.1 实现实体的联系,规范化的基础,规范化创建第一范式数据模型 转换为第二范式数据模型 创建第三范式数据模型,2.2.2 规范化的基础,规范化,规范化数据库就是要完成以下任务:尽可能减少重复信息减少数据的不一致性加快数据修改(插入、更新和删除)范式第一范式第二范式第三范式经过规范化的数据库通常包括多个表,而每个表又包括较少的列,2.2.2.1 规范化,创建第一范式数据模型,第一范式 的条件:表必须是二维的(用行和列表示)每个数据库单元只包含一个值每列必须具有单独的含义在一个关系模式中,如果R的每一个属性对应的域值都是不可再分的,(即每一个分量必须是不可分的数据项),则称R属于第一范式,即R1NF。,2.2.2.1 规范化,第一范式的示例,2.2.2.1 规范化,第一范式的示例,第一范式的示例,第二范式,第二范式: 如果一个关系属于第一范式,而且其中的各个非主属性都完全函数依赖于它的每一个候选键,则这个关系属于第二范式。在上图所表示的销售合同关系中,其关键字为合同号+产品号,是一个联合键。关系中的其余属性:产品名和单价仅与产品号有关,而供货日期,购买单位,地址和电话与合同号有关,他们都是局部函数依赖于关键字合同号+产品号的,需要对该关系进行分解。如下图所示。,第二范式例子,转换为第二范式数据模型,消除实体中的冗余信息将只依赖于一部分多值主键的属性移到另一个表中使存储的信息更一致,2.2.2.1 规范化,第三范式,第三范式:如果一个关系模式属于第二范式,且其中的任何非主属性都不传递函数依赖于它的每一个候选键,则这个关系属于第三范式。如下图所示。在关系CD中,还是存在着存储异常。这是由于在关系CD中还存在着传递函数依赖。在CD中,DNAME函数依赖于合同号CNO,而ADDR和TEL却直接函数依赖于DNAME,因此CNO与ADDR和TEL间存在着传递函数依赖。,创建第三范式数据模型,除去所有不依赖某个键值而存在的列避免信息的更新异常和删除异常确保不含冗余信息创建第三范式的步骤:用适当的方法将数据模型规范化为第一和第二范式。确定不依赖键值而存在的所有属性。将这些独立的属性移到各个单独的表中,并为每个表确定主键。将这些主键作为外键连接到父实体中。,2.2.2.1 规范化,第三范式示例,2.2.2.1 规范化,数据库系统结构,数据库的三级模式数据库的二级映象,1.4 数据库系统结构,数据库的三级模式,外模式(子模式、用户模式)模式(Sch

温馨提示

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

评论

0/150

提交评论