登陆注册
11685300000020

第20章 数据库与数据仓库(3)

第一范式是基本的,但存在一些问题。现在来分析下面的教师登记表(表44),它是非规范形式所示的关系,但它符合第一范式。表的内容是实际问题的简化,姓名这一项代表了教师的姓名、年龄、性别、住址等一系列基本情况信息,毕业时间代表了与该教师学历有关的毕业学校、专业等信息。假定教师编号是每个教师的唯一标识,而工资完全由级别所确定,那么在这个表中各个数据项(即属性)之间有如图412所示的相互依赖。

表44教师登记表

教师编号姓名级别工资/元学历毕业时间/年

00001张一副教授2000硕士1999

00001张一副教授2000学士1995

00002王二讲师1500学士1995

00003李三助教1000学士2001

图412教师登记表中各数据项之间的关系

这表明:姓名、级别、工资依赖于教师编号确定其值,而学历要由教师编号和毕业时间两个属性唯一确定。因而,在这个关系中不能用一个属性作为主属性构成主关键字,以使其他非主属性完全依赖于它而确定。

按此关系所建的数据库有以下几个缺点。

①冗余度高。如张一这个教师的名字等基本信息由于他有两个学历而要存储两次,浪费了存储空间。

②维护困难。这种关系对于数据的修改、删除、插入等操作都十分不方便,如张一的记录要删除就要两个同时删除。

③容易造成数据的矛盾。由于维护操作的不便,许多数据的多次存储稍有疏忽就会使同一数据在数据库中的结果不同,同一个张一可能具有不同的工资,这就造成了数据库的矛盾性。

所以,第一范式的关系必须进一步规范化为第二范式(2NF)。

(2)第二范式(2NF)

从第一范式中分解出新的关系,使每个关系里都可确定一个或几个属性作为关系的主关键字,使该关系中的其他属性都完全依赖于它而定,从而消去非主属性对主关键字的不完全依赖性,所得的关系称为第二范式的关系。

对于表44,只要拆开为表45(a)、表45(b)两个关系就能达到目的。

表45(a)

教师编号姓名级别工资/元

00001张一副教授2000

00002王二讲师1500

00003李三助教1000

表45(b)

教师编号学历毕业时间/年

00001硕士1999

00001学士1995

00002学士1995

00003学士2001

表45(a)的关系中主关键字是教师编号这一主属性,表45(b)的关系里主关键字由教师编号、毕业时间两个主属性共同构成,这两个关系里所有非主属性都完全依赖于主关键字,因而均是第二范式的关系。

第二范式仍然会造成一些麻烦。看表45(a)这个关系:实际上可能很多人的级别都是副教授,那么他们的工资应当也都是2000元,如果现在要把副教授的工资改为2500元,那么副教授的工资都要修改,有一个人改错了,就会造成同一级别工资不一样的错误,因而这种关系也有数据冗余,容易造成数据矛盾等问题,其原因就在于这些属性间存在着如下一种传递依赖关系,即

教师编号→级别级别→工资

从而使

教师编号→级别→工资

也就是说,表45(a)中虽然级别与工资两个属性完全依赖于主属性教师编号,但实际上是工资直接依赖于级别,由于级别依赖于教师编号而使工资通过级别的传递作用间接依赖于教师编号这个属性。

(3)第三范式(3NF)

消去非主属性对主关键字的传递依赖性,称为第三范式。现在只要把第二范式的关系恰当地拆开为几个关系即可达目的。如表45(a)的关系,拆开为表46(a)和表46(b)两个关系,就都是第三范式了。

表46(a)

教师编号姓名级别

00001张一副教授

00002王二讲师

00003李三助教

表46(b)

级别工资/元

副教授2000

讲师1500

助教1000

下面概括以上的规范化过程:先对二维表消去组合项与重复组化为第一范式;接着消去非主属性对主关键字的不完全依赖性而变为第二范式;再消去非主属性对主关键字的传递依赖性就化为第三范式了。用第三范式的关系来定义数据库会比直接用二维表所定义的数据库好得多。关系理论中还有BCNF,它比第三范式更进了一步,是修正的第三范式,有时也称为第三范式;另外还有第四范式(4NF)和第五范式(5NF),这里就不作介绍了。

4.5数据库设计

人们在总结信息资源开发、管理和服务的各种手段时,认为最有效的是数据库技术。数据库的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的整体性、完整性和共享性。

数据库设计是研制数据库及其应用系统的技术,是数据库在应用领域中主要的研究课。,,

用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库设计通常是在一个通用的DBMS支持下进行的,即利用现成的DBMS为基础。

在数据库领域内,常常把使用数据库的各类系统称为数据库应用系统(DBMS)。

1.数据库设计方法简述

由于信息结构复杂,应用环境多样,在相当长的一段时期内数据库设计主要采用手工试凑法。使用这种方法与设计人员的经验和水平有直接关系,数据库设计是一种技艺而不是工程技术,缺乏科学的理论和工程原则支持,很难保持设计质量。常常是数据库投入使用后才发现问题,不得不进行修改,使维护代价昂贵。10余年来,人们努力探索,提出了各种数据库设计方法,这些方法运用软件工程的思想和方法,提出了各种设计准则和规程,都属于规范设计法。

规范设计法中比较著名的有新奥尔良(NewOrleans)方法。它将数据库设计分为4个阶段:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。其后,S.S.Yao等又将数据库设计分为5个步骤,又有I.R.Palmer等主张把数据库设计当成一步接一步的过程,并采用一些辅助手段实现每一过程。

基于ER模型的数据库设计方法、基于3NF(第三范式)的设计方法、基于抽象语法规范的设计方法等,是在数据库设计的不同阶段上支持实现的具体技术和方法。

规范设计法从本质上看仍然是手工设计方法,其基本思想是过程迭代和逐步求精。计算机辅助数据库设计,目前还是在数据库设计的某些过程中模拟某一规范设计方法,并以人的知识或经验为主导,通过人机交互实现设计中的某些部分。从目前条件来看,按照一定的设计规范,用工程化方法设计数据库是最实用的方法。

2.数据库设计步骤

按照规范设计的方法将数据库设计分为以下6个阶段(如图413所示):需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、数据库运用和维护。

这个设计步骤是从数据库应用系统设计和开发的全过程来考察数据库设计的问题的,因此它既是数据库也是应用系统的设计过程。在设计过程中努力把数据库设计和系统其他成分的设计紧密结合,把数据和处理的需求收集、分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计。

(1)需求分析

需求分析的任务是对现实世界要处理的对象(组织、部门企业等)进行详细调查。调查的重点是“数据”和“处理”,通过调查获得每个信息使用者对数据库的要求。具体步骤如下。

①了解组织机构情况,为分析信息流做准备。

②了解各部门业务情况,调查各部门输入和使用的数据及处理数据的方式与算法。

③确定数据库的信息组成及计算机系统应实现的功能。

(2)概念结构设计

概念结构设计的任务是对用户的需求进行综合、归纳和抽象,产生一个独立于DBMS的概念数据模型。在概念结构设计阶段,所用的代表工具主要是ER图。构造概念数据模型时要注意的是:应充分反映现实世界中实体与实体之间的联系;满足不同用户对数据处理的要求;易于理解,可以与用户交流;易于更改;易于向关系模型转化。概念数据模型是DBMS,。

图413数据库设计步骤

(3)逻辑结构设计

逻辑结构设计的任务是将概念模型转换为某个DBMS支持的数据模型,然后再对转换后的模型进行定义描述,并对其进行优化,最终产生一个优化的数据库模式。

数据库逻辑设计的步骤主要分两步:第一步是把概念模型转换为关系模式,按一定的规则向数据模型转换;第二步是将转换得到的数据模型进行修改完善。

(4)物理结构设计

物理结构设计的任务是为逻辑结构选取最适合应用环境的物理结构,包括存储结构和存取方法。它主要依赖于给定的计算机系统。在进行物理结构设计时主要考虑数据存储和数据处理方面的问题。数据存储是确定数据库所需要存储空间的大小,以尽量减少空间占用为原则。数据处理决定操作次数的多少,应尽量减少操作次数,使相应的时间越快越好。

(5)数据库的实施

完成数据库的物理设计之后,设计人员就要用选定的DBMS提供的数据定义语言将数据库逻辑设计和物理设计的结果严格描述出来,成为DBMS可接受的源代码;再经过调试产生目标模式,然后就可以组织数据入库了。

(6)数据库的运行与维护

数据库经过试运行(录入数据、运行数据库应用程序)合格后,即可投入正式运行了。

在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,它包括:数据库的;、;、;

组织与重构造。

4.6数据仓库与数据挖掘

1.数据仓库

1)数据仓库的概念

数据仓库的概念是由数据仓库之父W.H.Inmon提出来的,他指出数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合,用来支持经营管理中的决策制定过程。数据仓库可将各种数据整合在一个中央存储库中,并重新整理和排序。一般来说,控制程序员会在非忙碌时间将数据批量转换到中央存储库,当数据被导入数据仓库后,借助OLAP等数据挖掘工具,管理者和其他用户可轻松地操作数据库并得到所需的商务数据。

2)数据仓库与数据库的区别

数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋,如表47所示,数据库是面向事务设计的,数据仓库是面向主题设计的,数据库一般存储在线交易数据,数据仓库存储的一般是历史数据;数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计时有意引入冗余,采用反范式的方式来设计;数据库是为捕获数据而设计,数据仓库是为分析数据而设计的,它的两个基本元素是维表和事实表。

表47数据仓库与数据库的对比

对比内容数据库数据仓库

数据内容当前值历史的、存档的、归纳的、计算的数据数据目标面向业务操作,重复处理面向主题域、分析应用数据特性动态变化,按字段更新静态、不能直接更新,只能定时添加数据结构高度结构化、复杂,适合操作计算简单、适合分析使用频率高度结构化、复杂,适合操作计算中到低

数据访问量每个事物只访问少量记录有的事物可能需要访问大量记录对响应时间的要求以秒为单位,时间较短时间较长

3)数据仓库的特性

从数据仓库的定义可以看出数据仓库有4个重要的特点。

(1)面向主题

操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织的。

(2)集成的

数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业。

(3)相对稳定的

数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。

(4)反映历史变化

数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势作出定量分析和预测。

4)数据仓库的基本结构

同类推荐
  • 新概念作文获奖者范本(才子卷)

    新概念作文获奖者范本(才子卷)

    《飞扬:第十六届新概念作文获奖者范本才子卷》所收录的均为第十六届新概念作文大赛获奖者才子们的经典佳作,这些作品,字字珠玑,篇篇经典,有的空灵隽秀、质朴绵长,有的立意高远、针砭时弊,有的纵横恣肆、文采飞扬,让学生很容易就能汲取优秀作文精华,从而快速成长。
  • 狼孩历险记(语文新课标课外必读第五辑)

    狼孩历险记(语文新课标课外必读第五辑)

    国家教育部颁布了最新《语文课程标准》,统称新课标,对中、小学语文教学指定了阅读书目,对阅读的数量、内容、质量以及速度都提出了明确的要求,这对于提高学生的阅读能力,培养语文素养,陶冶情操,促进学生终身学习和终身可持续发展,对于提高广大人民的文学素养具有极大的意义。
  • 科学发明家

    科学发明家

    语文新课标指定了中小学生的阅读书目,对阅读的数量、内容、质量以及速度都提出了明确的要求,这对于提高广大学生的阅读写作能力,培养语文素养,促进终身学习等具有深远的意义。
  • 擦去心灵上的尘土(培养学生心灵成长的经典故事)

    擦去心灵上的尘土(培养学生心灵成长的经典故事)

    在这套丛书里,我们针对青少年的心理特点,专门选择了一些特殊的故事,分别对他们在这一时期将会遭遇的情感问题、生活问题、学习问题、交友问题以及各种心理健康问题,从心理学的角度进行剖析和讲解,并提出了解决问题的方法和措施,以供同学们参考借鉴。
  • 中外寓言(语文新课标必读书目)

    中外寓言(语文新课标必读书目)

    国家教育部颁布了最新《语文课程标准》,统称新课标,对中、小学语文教学指定了阅读书目,对阅读的数量、内容、质量以及速度都提出了明确的要求,这对于提高学生的阅读能力,培养语文素养,陶冶情操,促进学生终身学习和终身可持续发展,对于提高广大人民的文学素养具有极大的意义中、小学生是未来的主人,必须适应现代竞争激烈和交际广泛的社会生活,在心理、性格、思维、修养等内在素质铸造方面必须做好充分准备,同时在语言表达、社会交往等才能方面也必须打下良好的基础,这样才能顺应未来社会的发展潮流。现代中、小学生不能只局限于校园和课本,应该广开视野,广长见识
热门推荐
  • 星锁

    星锁

    第一款全息虚拟网游在一年之间风靡全球,但在所有人都热血澎湃的想要进入这款游戏好好享受一下真实的热血生活的同时,谁都不知道怎么进入这款游戏。没有全息头盔,没有全息设备,而官方却只发布了一条极具艺术感的项链……而故事,也将在你带上项链的那一刻开始。
  • 农业科技

    农业科技

    本书为科普通鉴的第12卷,介绍了从远古到现今的农业科技的由来、演变及发展历程,内容包括六大部分,分别介绍了作物育种技术的发展、土壤肥力与化肥的发展、农业灌溉技术的发展、农药的发展、从农具到农业机械的发展、农业信息技术的发展。 本书适合青少年阅读,农业是经济的基础,农业科技的发展,应该以科普知识的形式,普及给每个青少年甚至成年人,因此,本书适合各种年龄层次的广大的者作为必备的科普读物。
  • 巧做保健菜

    巧做保健菜

    科学、专业的食物专题讲解;全面、准确的营养成分数据;营养、可口的经典菜例。《巧做保健菜》教你做美味营养菜,书中列出了每道食物所需的材料调料以及详细的烹饪步骤,让你成为自己的家庭营养师!还有“厨房小常识”告诉你科学保健的小窍门!科学养生,合理饮食,健康快乐每一天!
  • 乱世遗花传

    乱世遗花传

    该作品以北宋末年战乱频发为背景,讲述了热血英雄的爱情故事,每个人、每段故事都曲折凄婉,每段故事都反映了当时的历史背景,作者前后写了两年,时隔久远,希望读者能提出宝贵意见!
  • 魔法道士

    魔法道士

    ======新书《易林》开张,请大家多支持!=======一次意外之后,古老东方的真人来到了充斥着魔法和武斗的异世界,并在这里播下了一颗修真的种子,后事究竟会如何发展呢?让我们跟着异世少年的脚步,走一段奇异的旅程。人可以没有性格,但不能没有原则。或许是出于自身的原因,我要写的主角,便是一个没有性格的人。其实,没有性格也是一种性格,当涉及到他的原则时,他一样会变得强硬、一样会为之付出一切。正所谓“误学书剑,薄游人间”,让我们跟着主角走一条属于他自己的道路。-----------------------本人QQ:63780221本人郑重声明:异世界不等于西方,魔法不等于是西方产物,在看完第三集之前请不要再说我写西方背景!!!====================新书《易林》开张,请大家多支持,老书不会太监,但进度会稍缓一些。=====================【起点新作盟】出品
  • 太古易尊

    太古易尊

    一次算命,一块奇石。穿越到九玄大陆圣宁峰的宁易,醒过来的时候发现周围的一切的变了,躺在神秘玉棺的女友,能粉碎岩石的奇怪的流光,庞大无比的巨兽......彻底颠倒了他的三观。究竟是因果轮回,还是早已设下的局?一个曲折离奇成为太古至尊的故事。一段开创易经,傲游三界的传奇!感谢阅文书评团提供书评支持
  • 遮天之摇光

    遮天之摇光

    王天穿越进入了遮天的世界成为摇光圣子!从此王天不平凡的人生开始了!
  • 小镇医生

    小镇医生

    汤寒枫是亿万家产的继承人,却立志作一名优秀的医生,抱着就死扶伤的理想来到海边小镇,偶遇绝症孤女海云,她给他唱起海边的歌谣,他给她活下去的勇气和希望……………,
  • 妙手回春之唐风于明

    妙手回春之唐风于明

    盛世之风,万代皆同,强国之民,傲视苍穹风起云舒万国朝,朱四万国来朝之时,应天府漂水县东坡山西坡村的医科苦逼学渣躺在自家的院子里慵懒看着天上的云慢慢爬过,郑珏笑道火器?神机营天下无敌用得着我嚒造船?郑和正替朱老四满世界装逼呢我也插不上手啊
  • 穿越之风起苍岚

    穿越之风起苍岚

    一个是叱咤仙路的风云上神,一个是废材资质修真菜鸟,当网游遭遇修真,还有什么是不可能的呢?昔日大神跌落云端,废柴医师掉进修真世界。小小菜鸟又该如何一步一个脚印,攀上这云海尽头,苍岚之巅?萌兽or美男?仙术or神通?丹药or法宝?修真菜鸟的逆袭日记从现在开始书写!即使大道无情,艰险丛生,萌妹子也要闯出一片天!