1、第二章第二章:2.6 数据存数据存储与分析技与分析技术本本节主要内容主要内容2.6.12.6.1引言引言2.6.2 2.6.2 数据管理技数据管理技术的的发展展2.6.3 数据数据库环境下的数据管理境下的数据管理2.6.42.6.4数据数据库设计2.6.4.1 2.6.4.1 数据数据库设计的步的步骤2.6.4.2 2.6.4.2 实体体联系模型(系模型(E ER R模型)模型)2.6.4.32.6.4.3数据模型数据模型2.6.4.42.6.4.4关系数据关系数据库的的规范化范化2.6.4.52.6.4.5数据数据库操作操作2.6.4.62.6.4.6常常见关系型数据关系型数据库系系统介介绍
2、2.6.5 2.6.5 数据数据库技技术的的发展展2.6.5.12.6.5.1数据数据仓库2.6.5.22.6.5.2数据集市数据集市2.6.5.32.6.5.3数据挖掘数据挖掘了解了解传统的文件的文件组织和管理技和管理技术了解了解传统文件管理文件管理环境下存在的境下存在的问题了解数据了解数据库管理系管理系统中数据的中数据的组织方方法法理解三种不同的数据理解三种不同的数据库组织模型模型掌握掌握E-R模型和模型和E-R图的画法的画法掌握三范式理掌握三范式理论掌握基本的数据掌握基本的数据库操作方法操作方法了解数据了解数据库技技术的的发展展 本章学本章学习目的目的 国国际著名著名调查机构机构Gart
3、ner GroupGartner Group在高在高级技技术调查报告中,将告中,将数据分析数据分析和和人工智人工智能能列列为“未来三到五年内将未来三到五年内将对工工业产生深生深远影响的五大关影响的五大关键技技术”之首,之首,还将将并行并行处理体系和数据分析理体系和数据分析列列为未来五年内投未来五年内投资焦点的十大新焦点的十大新兴技技术前两位。前两位。GartnerGartner的的调查报告告预计:到:到20102010年,数据分析在相关年,数据分析在相关市市场的的应用将从目前少于用将从目前少于5%5%增加到超增加到超过80%80%。在国外,数据分析已在金融、。在国外,数据分析已在金融、证券、券
4、、电信、制造、信、制造、统计、零售、零售业等数据密集型行等数据密集型行业实施,并取得巨大的效益。施,并取得巨大的效益。2.6.12.6.1引言引言 数据管理技数据管理技术术数据分析技数据分析技术术数据加密技数据加密技术术数据数据压缩压缩技技术术数据恢复技数据恢复技术术 一、数据一、数据一、数据一、数据处处理技理技理技理技术术2.6.12.6.1引言引言 数据存数据存储技技术 数据数据检索技索技术 数据挖掘技数据挖掘技术 二、数据管理技二、数据管理技术术数据数据仓库技技术 2.6.12.6.1引言引言 数据数据组织层次次描描 述述字段:字段:属性的特定属性的特定值。记录:记录由字段由字段组成,其
5、中字段成,其中字段代表了代表了实体体对象的各种属性。一条象的各种属性。一条记录由一个或者多个字段由一个或者多个字段组成。成。文件:文件:多个相关多个相关记录的集合形成的集合形成数据数据库:由多个在系由多个在系统执行行过程中程中相互关相互关联的文件的文件组成。成。1.1.位位2.2.字符字符3.3.数据元数据元(字段)(字段)4.4.记录5.5.文件文件6.6.数据数据库2.6.12.6.1引言引言 三、数据的三、数据的组织层组织层次次数据数据数据数据库库文件记录文件文件文件文件1 1文件文件文件文件2 2文件文件文件文件3 3文件文件文件文件3 3文件文件文件文件n n记录记录n n记录记录1
6、 1记录记录n n记录记录1 1记录记录n n记录记录1 1字段字段字段字段n n字段字段字段字段1 1字段字段字段字段n n字段字段字段字段1 1字段字段字段字段n n字段字段字段字段1 1字段字符字符字符字符n n字符字符字符字符1 1字符字符字符字符n n字符字符字符字符1 1字符2.6.12.6.1引言引言 数据管理技数据管理技术术的的发发展展经过经过了三个了三个阶阶段:段:vv人工管理:人工管理:人工管理:人工管理:50505050年代中期以前年代中期以前年代中期以前年代中期以前vv文件管理:文件管理:文件管理:文件管理:50505050年代后期到年代后期到年代后期到年代后期到606
7、06060年代中期年代中期年代中期年代中期vv数据数据数据数据库库管理:管理:管理:管理:60606060年代后期开始、年代后期开始、年代后期开始、年代后期开始、DBMSDBMSDBMSDBMS广泛广泛广泛广泛应应用用用用2.6.22.6.2数据管理技数据管理技术的的发展展发展展阶段段描描 述述人工管理人工管理数据和程序相互依赖:数据保存在处理程序中或随程序进行人机交互地输入,数据处理后将结果输出。文件管理文件管理数据存放在永久性的系统文件中,供与之相对应的应用程序调用,应用程序和数据文件相互独立,数据文件可以长期保存。2.6.22.6.2数据管理技数据管理技术的的发展展.奖金文件金文件 工工
8、资文件文件 .产品文件品文件 销售文件售文件 .物料文件物料文件 计划文件划文件 数据数据文件文件 工资程序销售程序计划程序应用用程序程序 财务财务财务部部部门门门销销销售部售部售部门门门计计计划部划部划部门门门用用户 数数据据报表表发展展阶段段缺缺 点点人工管理人工管理程序不具有独立性,灵活性差。应用程序之间无法共享数据。数据不能永久保存文件管理文件管理数据冗余和不一致并发访问异常缺乏灵活性安全性差2.6.22.6.2数据管理技数据管理技术的的发展展数据数据库 数据库(DB-Database)是以一定的组织方式存储在一起的互相关联的数据的集合(逻辑相关的记录和文件的集合)。数据数据库管理系管
9、理系统 数据库管理系统(DBMS-Database Management System)是对数据库进行管理的特定软件。通常所说的数据库管理系统是指DBMS,而不是指具体的数据库Database。一、数据一、数据库、数据、数据库管理系管理系统和数据和数据库系系统2.6.3 2.6.3 数据数据库环境下的数据管理境下的数据管理数据数据数据数据库库系系系系统统 口语中常说的“数据库系统”在大多数时候都是指DBMS。但是严格来说,数据库系统(DBS-Database System是指在计算机系统中引入数据库之后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DBA-Dat
10、abase Administrator)和用户构成。即:DBS=DB+DBMS+APPLICATION+DBA+USER2.6.3 2.6.3 数据数据库环境下的数据管理境下的数据管理 数据数据库管理系管理系统的目的的目的:就是为了解决前面提到的在文件处理系统中存在的一些问题:数据冗余和不一致数据访问困难数据孤立灵活性差并发访问异常安全性问题 由于这些问题,数据库管理系统提出了很多新的概念和算法,加速了DBMS的发展。二、数据二、数据库管理系管理系统(DBMS)2.6.3 2.6.3 数据数据库环境下的数据管境下的数据管理理 数据数据库管理系管理系统的功能就是的功能就是:2.6.3 2.6.3
11、 数据数据库环境下的数据管理境下的数据管理创建和修改数据建和修改数据库。存存储和和检索数据。索数据。操操纵数据和生成数据和生成报表。表。保保证所存所存储数据的安全性。数据的安全性。数据被多用数据被多用户共享共享时,要,要 避免可能避免可能产生的异常生的异常结果果(并并发控制控制)。Windows 2000UnixDBMS(OraccleDB2SQL ServerSybase)财务管理程序管理程序Windows 2000Unix销售部售部财务部部计划部划部计划数据划数据工工资数据数据销售数据售数据销售管理程序售管理程序计划管理程序划管理程序数据的数据数据的数据数据的数据数据的数据库库管理管理管理
12、管理环环境境境境数据共享减少数据冗余提高了数据的一致性数据与应用程序之间的独立性提高了数据的安全性三、数据三、数据库管理的管理的优点点2.6.3 2.6.3 数据数据库环境下的数据管理境下的数据管理 数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库合理的结构和组织是信息系统分析、设计时需要考虑的一个重要方面。2.6.42.6.4数据数据库设计一、什么是数据一、什么是数据库设计2.6.42.6.4数据数
13、据库设计转换12信息世界信息世界(观念世界念世界)概念模型概念模型3数据世界数据世界(机器世界机器世界)数据模型数据模型 字段字段记录记录文件文件实实体集体集实实体体属性属性现实世世界界事物事物类类事物事物性性质质认识抽抽象象二、人二、人们对客客观事物的事物的认识和描述和描述过程程现实世界的自行世界的自行车 2.6.42.6.4数据数据库设计观念世界的自行念世界的自行车 信息模型(概念模型)信息模型(概念模型)2.6.42.6.4数据数据库设计数据世界的自行数据世界的自行车 中国中国铁路网路网络图信息模型(概念模型)信息模型(概念模型)2.6.42.6.4数据数据库设计阶阶段段段段描述描述描述
14、描述需求分析分析用户的需求:数据、功能和性能概念结构设计根据用户需求设计概念数据模型,主要使用E-R模型,画E-R图逻辑结构设计将概念模型转换成DBMS支持的数据模型,主要是将E-R模型转换成关系模型数据库物理结构设计选择合适的存储结构和存取路径数据库的实施包括编程、测试和试运行数据库运行与维护系统运行与数据库的日常维护按规范的设计方法,一个完整的数据库设计一般分为以下六个阶段:2.6.42.6.4数据数据库设计三、数据三、数据库设计的步的步骤需求收集和分析需求收集和分析设计概念概念结构构设计逻辑结构构数据模型数据模型优化化设计设计物理物理物理物理结结构构构构评价价设计,性能,性能预测物理物理
15、实现试验性运行性运行使用、使用、维护数据数据库四、数据四、数据库设计的流程的流程2.6.42.6.4数据数据库设计v需求信息收集需求信息收集初步初步调查详细调查(目的、内容、方法)(目的、内容、方法)v需求信息的分析整理需求信息的分析整理业务流程流程数据流程、数据字典数据流程、数据字典 1.1.1.1.需求分析需求分析需求分析需求分析2.6.42.6.4数据数据库设计五、数据五、数据库设计各各阶段的任段的任务:需求分析:需求分析v目目标 是把是把现实世界中的客世界中的客观对象抽象象抽象为某种信息某种信息结构,构,设计出反映某个出反映某个组织部部门信息需求的数据信息需求的数据库系系统概念概念模式
16、,它独立于数据模式,它独立于数据库系系统的的逻辑结构、独立于数据构、独立于数据库管理系管理系统(DBMSDBMS)、)、独立于独立于计算机系算机系统。v设计方法方法 是在需求分析的基是在需求分析的基础上,用概念数据模型(例如上,用概念数据模型(例如E-RE-R模型)表示数据及数据之模型)表示数据及数据之间的相互的相互联系,系,设计出反出反映用映用户信息需求和信息需求和处理需求的数据理需求的数据库系系统概念模式。概念模式。2.2.2.2.概念概念概念概念结结构构构构设计设计2.6.42.6.4数据数据库设计五、数据五、数据库设计各各阶段的任段的任务:概念:概念结构构设计(1 1 1 1)实实体体
17、体体联联系模型(系模型(系模型(系模型(E-RE-RE-RE-R模型:模型:模型:模型:EntityRelationship )E-RE-R模型模型是是这样认识现实世界的:世界的:现实世界是由一世界是由一组称作称作实体的基本体的基本对象以及象以及这些些对象象间的的联系构成的。系构成的。实体(体(EntityEntity):):“实体体”是是观念世界中描述客念世界中描述客观事物事物的概念。的概念。实体可以是人,也可以是物或事件;可以指体可以是人,也可以是物或事件;可以指事物本身,也可指事物之事物本身,也可指事物之间的的联系,例如一个人、一系,例如一个人、一件物品、一个部件物品、一个部门、一个、一
18、个银行行帐户等都是一个等都是一个实体。体。实体可以通体可以通过属性集合来描述。属性集合来描述。属性:属性:属性:属性:“属性属性”是指是指实体具有的某种特性。如人有身体具有的某种特性。如人有身高、体重、年高、体重、年龄、性、性别等属性。等属性。联系:系:“联系系”是事物是事物间的相互关的相互关联。在信息世界中,。在信息世界中,事物之事物之间的的联系可分系可分为两两类:一是:一是实体内部的体内部的联系,系,一是一是实体之体之间的的联系系.2.6.42.6.4数据数据库设计(2)实体之体之间的的联系系 一一对一一联系(系(1:1)对于于实体集体集A A中的每一中的每一实体,体,实体集体集B B中至
19、多有一中至多有一个个实体与之体与之联系。反之亦然。系。反之亦然。一一对多多联系(系(1:N)对于于实体集体集A A中的每一中的每一实体,体,实体集体集B B中有中有N N个个实体体与之与之联系。反之,系。反之,对于于实体集体集B B中每一中每一实体,体,实体体集集A A中至多只有一个中至多只有一个实体与之体与之联系。系。多多对多多联系(系(M:N)对于于实体集体集A A中的每一中的每一实体,体,实体集体集B B中有中有N N个个实体体与之与之联系,系,对于于实体集体集B B中每一个中每一个实体,体,实体集体集A A中有中有M M个个实体与之体与之联系。系。2.6.42.6.4数据数据库设计(3
20、)(3)实体体联系方法系方法(EntityRelation Approach)概念模型最常用的表示方法是概念模型最常用的表示方法是实体体联系方法系方法(EntityEntityRelationRelation Approach Approach,简称称E ER R方法方法)。E ER R方法通方法通过E ER R图来描述某一来描述某一组织的信息模型。的信息模型。E-RE-R图由以下元素构成:由以下元素构成:矩形:矩形:代表代表实体集体集(具有相同属性或特征的(具有相同属性或特征的实体集合);体集合);椭圆:代表代表实体属性;体属性;菱形:菱形:代表代表实体体间的的联系集系集(同一(同一类型的所
21、有型的所有联系的集合);系的集合);线段:段:将属性与将属性与实体集相体集相连或将或将实体集与体集与联系集相系集相连。2.6.42.6.4数据数据库设计E-RE-R图示例示例客客户帐户存款存款/取取款款身份身份证号号客客户名名客客户街道街道客客户城市城市帐户号号余余额电话2.6.42.6.4数据数据库设计联系名联系名联系名实体A实体B实体A实体B实体A实体B11m1nn(4)实体之体之间联系系类型的型的E-R表示表示2.6.42.6.4数据数据库设计管理管理厂厂长工厂工厂112.6.42.6.4数据数据库设计存放存放仓库商品商品1n2.6.42.6.4数据数据库设计如如对于学生、于学生、课程和
22、教程和教师这三个三个实体,若体,若规定每定每个学生可以个学生可以选择多多门课程,每程,每门课程可以被多个学生程可以被多个学生选修,每修,每门课程惟一程惟一对应一个任一个任课教教师,一个教,一个教师可可以以讲授多授多门课程。程。则学生、学生、课程和教程和教师这三个三个实体之体之间的的E-RE-R图可表示可表示为:学生教师课程学习讲授学号成绩课程号教材教师号mnp1(5)三个或更多)三个或更多实体相互体相互联系的情况系的情况2.6.42.6.4数据数据库设计(6 6)设计E-RE-R图的的过程程E-RE-R图设计过程程实际是是对数据数据进行行归纳、分析、分析、抽象的抽象的过程,首先把企程,首先把企
23、业的有关数据的有关数据综合合组织,然然后根据不同用后根据不同用户对数据的使用需求数据的使用需求进行分行分组,再从,再从局部入手,建立局部局部入手,建立局部E-RE-R模型,再模型,再综合成合成总体体E-RE-R模模型。型。确定确定实体集体集确定确定联系和系和联系系类型(型(1 1:1 1或或1 1:n n)设计局部及整体的局部及整体的E-RE-R图确定属性确定属性将将E-RE-R图优化化2.6.42.6.4数据数据库设计2.6.42.6.4数据数据库设计在数据分析的基在数据分析的基础上,就可以着手上,就可以着手设计概念概念结构。构。设计初步初步E-RE-R图的步的步骤先先设计局部局部E-RE-
24、R图,也称用,也称用户视图 综合各局部合各局部E-RE-R图,形成,形成总的的E-RE-R图,即用,即用户视图的集成。也称的集成。也称基本基本E-RE-R图(全局全局E-RE-R图)在在设计初步初步E-RE-R图时,要尽量能充分地把,要尽量能充分地把组织中各部中各部门对信息的要求集中起来,而不需要考信息的要求集中起来,而不需要考虑数数据的冗余据的冗余问题。局部概念模型局部概念模型设计是从用是从用户的的观点出点出发,设计符符合用合用户需求的概念需求的概念结构。局部概念模型构。局部概念模型设计的就是的就是组织、分、分类收集到的数据收集到的数据项,确定哪些数据,确定哪些数据项作作为实体体,哪些数据哪
25、些数据项作作为属性属性,哪些数据哪些数据项是同一是同一实体的属性体的属性等。等。确定确定实体与属性的原体与属性的原则:能作能作为属性的尽量作属性的尽量作为属性而不要划属性而不要划为实体;体;作作为属性的数据属性的数据项不能再用其他属性加以描述,不能再用其他属性加以描述,也不能与其他也不能与其他实体或属性体或属性发生生联系。系。设计局部局部E-RE-R图2.6.42.6.4数据数据库设计仓库存放存放物物资1n物物资a.a.仓库作作为属性属性b.b.仓库作作为实体体2.6.42.6.4数据数据库设计学 生选 课课程学 生选 课课程出生日期学号姓名性别系别出生日期何时入学奖学金成绩课程号选/必教师课
26、程名学分学号姓名性别系别入学时间硕/博成绩课程号学分教师课程名学位课 教教务处学生管理的学生管理的E-RE-R模型模型图 研究生院学生管理的局部研究生院学生管理的局部E-RE-R模型模型图 2.6.42.6.4数据数据库设计设计全局全局E-RE-R图 局部局部E-RE-R图的的设计从局部的需求出从局部的需求出发,比一开始,比一开始就就设计全局全局E-RE-R图要要简单得多、得多、单纯得多。有了各个得多。有了各个局部局部E-RE-R图,就可通,就可通过局部局部E-RE-R图的集成的集成设计全局全局E-RE-R图。在。在进行局部行局部E-RE-R图集成集成时,需按照下面三个步,需按照下面三个步骤来
27、来进行行:确确认局部局部E-RE-R模型模型图中的中的对应关系和冲突关系和冲突 对应关关系系是是指指局局部部E-RE-R图中中语义都都相相同同的的概概念念,也也就就是是它它们的的共共同同部部分分;冲冲突突指指相相互互之之间有有矛矛盾盾的的概概念。常念。常见的冲突有下列的冲突有下列4 4种:种:2.6.42.6.4数据数据库设计 命名冲突命名冲突 命名冲突有同名异命名冲突有同名异义和同和同义异名两种。例如,异名两种。例如,在例在例1 1给出的出的图中,中,“学生学生”和和“课程程”这两个两个实体体集在教集在教务处的局部的局部E-RE-R图和研究生院的局部和研究生院的局部E-RE-R图中中含含义是
28、不同的:在教是不同的:在教务处的局部的局部E-RE-R图中学生是指大中学生是指大学生、大学生的学生、大学生的课程,在研究生院的局部程,在研究生院的局部E-RE-R图中是中是指研究生和研究生指研究生和研究生课程,程,这属于同名异属于同名异义;在教;在教务处的局部的局部E-RE-R图中学生中学生实体集有体集有“何何时入学入学”这一个一个属性,在研究生院的局部属性,在研究生院的局部E-RE-R图中有中有“入学日期入学日期”这一属性,两者是同一属性,两者是同义异名。异名。2.6.42.6.4数据数据库设计概念冲突概念冲突 同同一一个个概概念念在在一一个个局局部部E-RE-R图中中可可能能作作为实体体集
29、集,在在另另一一局局部部E-RE-R图中中可可能能作作为属属性性或或联系系。例例如如,在在上上面面给出出的的图中中,如如果果用用户要要求求,选课也也可可以作以作为实体集,而不作体集,而不作为联系。系。域冲突域冲突 相相同同的的属属性性在在不不同同的的局局部部E-RE-R图中中有有不不同同的的域域,例例如如,学学号号在在一一个个局局部部E-RE-R图中中可可能能当当作作字字符符串串,在在另另一一个个局局部部E-RE-R图中中可可能能当当作作整整数数。相相同同的的属属性性采用不同的度量采用不同的度量单位,称位,称为域冲突。域冲突。2.6.42.6.4数据数据库设计约束冲突束冲突 不不同同局局部部E
30、-RE-R图可可能能有有不不同同的的约束束;例例如如,对于于“选课”这个个联系系,大大学学生生和和研研究究生生对选课的的最最少少门数和最多数和最多门数的限定可能不一数的限定可能不一样。2.6.42.6.4数据数据库设计对局部局部E-RE-R图进行某些修改,解决部行某些修改,解决部门冲突冲突 解决部解决部门的冲突是的冲突是对各个部各个部门中存在的命名冲中存在的命名冲突、概念冲突、域冲突、突、概念冲突、域冲突、约束冲突按照束冲突按照统一的一的规范范定定义。如在例。如在例1 1的的图中,中,“入学日期入学日期”和和“何何时人人学学”两个属性名可以两个属性名可以统一成一成“入学日期入学日期”,学号,学
31、号统一用字符串表示,学生分一用字符串表示,学生分为大学生和研究生两大学生和研究生两类,课程也分程也分为本科生本科生课程和研究生程和研究生课程两程两类等。等。合并局部合并局部E-RE-R图,形成全局模式,形成全局模式 2.6.42.6.4数据数据库设计学 生选 课课程学号姓名性别系别出生日期入学时间学生类别成绩课程号学分教师课程名课程类别2.6.42.6.4数据数据库设计产品零件组成产品号产品名性能参数零件数零件号材料名耗用量产品品使用材材料料存放仓库产品号产品名价格用量材料号材料名价格存放量仓库名仓库号地点技技术部部门E-RE-R图供供应部部门E-RE-R图2.6.42.6.4数据数据库设计消
32、耗产品品零件零件材料材料仓库消耗产品号产品名性能参数零件号材料名价格耗用量2存放量材料号材料名价格仓库号仓库名地点耗用量1数量合并后的合并后的E-RE-R模型模型图 存放组成2.6.42.6.4数据数据库设计综合后的合后的E-RE-R模型模型图 组成消耗产品品零件零件材料材料仓库产品号产品名性能参数零件数零件号材料名价格耗用量2存放量材料号材料名价格仓库号仓库名地点存量2.6.42.6.4数据数据库设计1n1n1nn11n1n1n1nn1n1物料需物料需求求计划划报价价采采购订单供供应商商请购单采采购订单明明细物料代物料代码检验单入入库单供供应商商评估表估表收收货单生成生成送送货合并合并参照参
33、照2入入库参照参照1收收货检验评估估组成成采采购系系统E-R图2.6.42.6.4数据数据库设计 设计某工厂物某工厂物资管理的概念模型(画出管理的概念模型(画出E-RE-R图)。)。物物资管理涉及的管理涉及的实体有:体有:仓库(仓库号,号,仓库面面积,仓库地点)地点)材料(材料材料(材料编号,名称,号,名称,规格,格,单价)价)供供应商(供商(供应商商编号,号,联系人,地址,系人,地址,电话,帐号)号)采采购员(编号,姓名,号,姓名,电话,邮箱)箱)实体体间的的联系:系:一个一个仓库可以可以存放存放多种材料,一种材料可以存放在多个多种材料,一种材料可以存放在多个仓库中。中。一种材料只能一个采一
34、种材料只能一个采购员采采购,一个采,一个采购员可以采可以采购多种材料。多种材料。一个供一个供应商只能商只能供供应一种材料,一种材料可由多个供一种材料,一种材料可由多个供应商供商供应。作作业题实体及其属性体及其属性图仓库面积地点仓库号采购员电话姓名邮箱编号供应商地址联系人电话号供应商号帐号材料规格名称单价材料编号供应商材料采购员供应供应量采购量采购11nm存放仓库pm实体体联系系图(1)(1)(1)(1)数据模型数据模型数据模型数据模型 数据模型是描述数据模型是描述计算机世界中数据及数据算机世界中数据及数据之之间的关系及存的关系及存储、处理特征的模型,它依理特征的模型,它依赖于具体的于具体的计算
35、机。在数据算机。在数据库系系统,对现实世界世界中数据的抽象、描述以及中数据的抽象、描述以及处理等都是通理等都是通过数据数据模型来模型来实现的,数据模型是数据的,数据模型是数据库系系统实现的的基基础。目前,在。目前,在实际数据数据库系系统中支持的数据中支持的数据模型主要有三种:模型主要有三种:关系模型关系模型关系模型关系模型、网状模型网状模型网状模型网状模型和和层层次次次次模型模型模型模型。2.6.42.6.4数据数据库设计五、数据五、数据库设计各各阶段的任段的任务:逻辑结逻辑结构构构构设计设计4.4.4.4.逻辑结逻辑结构构构构设计设计关系模型:关系模型:关系模型:关系模型:关系模型是用表的集
36、合来表示数据和数据关系模型是用表的集合来表示数据和数据间的的联系。每系。每个表有多个列,每列有唯一的列名。在关系模型下,数个表有多个列,每列有唯一的列名。在关系模型下,数据的据的逻辑结构是一构是一张二二维表。表。关系模型中的有关关系模型中的有关术语:关系:一个关系关系:一个关系对应一一张二二维表表元元组:表中一行称:表中一行称为一个元一个元组;属性:表中一列称属性:表中一列称为一个属性,列名即一个属性,列名即为属性名;属性名;主主码:表中的某个属性:表中的某个属性组,它的,它的值惟一地惟一地标识一个元一个元组。域:属性的取域:属性的取值范范围;分量:元分量:元组中的一个属性中的一个属性值。关系
37、模式:关系模式:对关系的描述,用关系名(属性关系的描述,用关系名(属性1 1,属性,属性2 2,属属性性n)n)来表示。来表示。2.6.42.6.4数据数据库设计Primary KeyEmployeeIDNameagesex1001张兴22男1002李静李静26女1003王王进28男1004黄三黄三28男EmployeeID学号学号姓名姓名课程代程代码课程名称程名称成成绩1001张三三005电子商子商务901001张三三006企企业管理管理951002李四李四005电子商子商务951002李四李四006企企业管理管理90学号学号学号学号课课程代程代程代程代码码Primary KeyProduc
38、t_quantity元元组productidproductidorderidorderidtotal_quantitytotal_quantityB0001D000195 B0002D000215B0003D00035B0004D000410B0005D000535B0006D000610B0007D000725B0008D000845B0009D000915B00010D0001030Product_quantity(productid,orderid,total_quantityproductid,orderid,total_quantity)Primary Key2.6.42.6.4数据
39、数据库设计层层次模型次模型次模型次模型 用用树型型结构表示构表示实体集之体集之间的的联系(描述系(描述数据)。数据)。IBMIBM的的IMS(Information Management IMS(Information Management System)System)就是采用就是采用层次数据模型的数据次数据模型的数据库管理管理系系统。层次数据模型的主要特征是一棵有向次数据模型的主要特征是一棵有向树,树的的节点是点是记录类型型,最上最上层的的节点叫根点叫根节点,根点,根节点只有一个,上下点只有一个,上下层的的节点之点之间的关系的关系为父父-子关系,一个父子关系,一个父节点可以有多点可以有多个子
40、个子节点,而一个子点,而一个子节点有且只有一个父点有且只有一个父结点。点。2.6.42.6.4数据数据库设计树树是是是是应应用最广泛,也是最重要的一用最广泛,也是最重要的一用最广泛,也是最重要的一用最广泛,也是最重要的一类类数据数据数据数据结结构构构构层层次模型描述的是一种一次模型描述的是一种一次模型描述的是一种一次模型描述的是一种一对对多的多的多的多的逻辑逻辑关系关系关系关系企企业业的的组织结组织结构构产产品品结结构构商品的分商品的分类类图书图书的分的分类类文件管理文件管理挡挡案管理案管理父节点 一级子节点二级子节点二级子节点二级子节点二级子节点一级子节点一级子节点一级子节点一级子节点2.6
41、.42.6.4数据数据库设计处室室1 1处室室2 2处室室1 1处室室 2 2分公分公司司1 1处室室1 1 处室室2 2分公司分公司3 3分公分公司司2 2处室室1 1 处室室2 2分公司分公司4 4处室室1 1 处室室2 2分公司分公司5 5集集团公司公司2.6.42.6.4数据数据库设计网状模型网状模型网状模型网状模型 网状模型是网状模型是层次数据模型的次数据模型的变形。事形。事实上,上,为了使了使处理速度更快、理速度更快、处理更方便,可理更方便,可根据需要将根据需要将层次数据次数据库转换成网状数据成网状数据库,或将网状数据或将网状数据库转换成成层次数据次数据库。层次数次数据模型主要用来
42、描述一据模型主要用来描述一对多的数据多的数据逻辑关系,关系,而网状模型能而网状模型能够更好地描述多更好地描述多对多的数据多的数据逻辑关系,也就是关系,也就是说父父节点可以有多个子点可以有多个子节点,点,子子节点也可以有多个父点也可以有多个父节点。点。2.6.42.6.4数据数据库设计学生学生学生学生1 1 1 1学生学生学生学生2 2 2 2学生学生学生学生3 3 3 3学生学生学生学生4 4 4 4学生学生学生学生5 5 5 5学生学生学生学生6 6 6 6课程程1 1课程程2 2课程程3 32.6.42.6.4数据数据库设计(2 2 2 2)三)三)三)三类类数据模型的数据模型的数据模型的
43、数据模型的优优缺点缺点缺点缺点 三三类数据模型在企数据模型在企业中都有中都有应用,它用,它们各有自己的各有自己的优缺点。缺点。层次模型的主要次模型的主要优点在点在于其于其处理效率。因理效率。因为层次模型中的数据关系次模型中的数据关系比比较简单,因此,因此层次数据次数据库系系统较其他数据其他数据模型花模型花费更少的更少的处理理时间。当数据自然形成。当数据自然形成层次次时,就很适合采用,就很适合采用层次模型。但次模型。但层次模次模型在数据型在数据组织上缺乏灵活性,修改困上缺乏灵活性,修改困难,且,且不易安装。一些不易安装。一些组织中由于已采用的中由于已采用的层次数次数据据库系系统的高效率或巨的高效
44、率或巨额投投资而在而在继续使用使用层次模型。次模型。2.6.42.6.4数据数据库设计 网状模型网状模型在数据在数据组织上上较层次模次模型有更大的灵活性,但由于数据关系型有更大的灵活性,但由于数据关系的复的复杂性,网状模型更性,网状模型更难开开发和使用。和使用。这种模型的数据种模型的数据库管理系管理系统在企在企业中中应用已不多。用已不多。关系数据模型关系数据模型是是应用最广泛的数用最广泛的数据模型。数据据模型。数据组织直直观,查询方便,方便,能能够在数据之在数据之间建立各种关系建立各种关系满足一足一些特殊的些特殊的查询,并且,并且设计、维护简单。2.6.42.6.4数据数据库设计(3)(3)(
45、3)(3)E E E ER R R R图转换图转换成关系模式成关系模式成关系模式成关系模式学生(学号,姓名,性学生(学号,姓名,性别,班,班级)课程(程(课号,号,课名,学分)名,学分)选课(学号,(学号,课号,成号,成绩)选课学生学生课程程M MN N成成绩学号学号学号学号姓名姓名姓名姓名性性性性别别班班班班级级课课程程程程编编号号号号名称名称名称名称学分学分学分学分学号学号学号学号课课程程程程编编号号号号成成成成绩绩2.6.42.6.4数据数据库设计一个一个实体型体型转换为一个关系模型,一个关系模型,实体的体的属性就是关系的属性,属性就是关系的属性,实体的体的键就是关系就是关系的的键;一个
46、一个联系系转换为一个关系模式,与一个关系模式,与该联系系相相连的每个的每个实体型的体型的键以及以及联系的属性都系的属性都转换为关系的属性。关系的属性。这个关系的个关系的键分分为以以下三种不同的情况:下三种不同的情况:转换原原则2.6.42.6.4数据数据库设计若若联系系为1 1:1 1,则相相连的每个的每个实体型的体型的键均均 是是该关系模式的侯关系模式的侯选键。若若联系系为1 1:n n,则联系系对应的关系模式的的关系模式的键 取取n n端端实体型的体型的键。若若联系系为m m:n n,则联系系对应的关系模式的的关系模式的键 为参加参加联系的系的诸实体型的体型的键的的组合。合。2.6.42.
47、6.4数据数据库设计零件零件消耗消耗材料材料11零件零件编号号名称名称规格格名称名称规格格材料材料编号号单价价重量重量零件零件(零件零件编号,名称,号,名称,规格格)消耗消耗(零件零件编号号,材料材料编号号,重量重量)材料材料(材料材料编号号,名称,名称,规格格,单价价)概念模型概念模型关系模型关系模型转换1:12.6.42.6.4数据数据库设计 产品(品(产品品编号,名称,型号)号,名称,型号)零件(零件零件(零件编号,名称,号,名称,规格)格)组成(成(零件零件编号号,产品品编号号,数量)数量)零件零件组成成产品品n1零件零件编号号名称名称规格格名称名称型号型号产品品编号号数量数量概念模型
48、概念模型关系模型关系模型转换1:n2.6.42.6.4数据数据库设计学学习(学号学号,课程程编号号,成成绩,时间)学生学生(学号,姓名,班学号,姓名,班级)课程程(课程程编号,名称,学分号,名称,学分)学生学生学学习课程程nm学号学号姓名姓名班班级名称名称学分学分课程程编号号成成绩时间概念模型概念模型关系模型关系模型转换n:m2.6.42.6.4数据数据库设计数据数据库物理物理设计的内容主要包括:的内容主要包括:确定数据的存确定数据的存储结构,构,选择DBMSDBMS 为数据数据选择和和调整存取路径,即索引的整存取路径,即索引的设计 调整和整和优化数据化数据库的性能,如的性能,如调整整DBMS
49、DBMS的某的某 些系些系统参数。参数。4.4.4.4.数据数据数据数据库库的物理的物理的物理的物理设计设计五、数据五、数据库设计各各阶段的任段的任务:物理物理物理物理设计设计2.6.42.6.4数据数据库设计商商业数据数据库管理系管理系统我我们常用的大型商常用的大型商业数据数据库管理系管理系统有:有:OracleOracle:目前的版本是目前的版本是Oracle 10iOracle 10i;在全球在全球和中国的和中国的销量都是第一;我国的主要用量都是第一;我国的主要用户是是公安系公安系统、金融系、金融系统和大的企和大的企业;系;系统非常非常复复杂,可以按照用,可以按照用户的要求的要求进行行组
50、装。支持装。支持WebWeb功能,支持在数据功能,支持在数据库中存中存储大大对象的数象的数据,如据,如图象和象和图形、形、视频和音和音频数据等等。数据等等。2.6.42.6.4数据数据库设计我我们常用的大型商常用的大型商业数据数据库管理系管理系统有:有:SybaseSybase:主打主打产品有两种:品有两种:Sybase Adaptive Server Enterprise Sybase Adaptive Server Enterprise Sybase Adaptive Server Anywhere Sybase Adaptive Server Anywhere 在中国的在中国的销量是第二