登陆注册
16318600000020

第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)数据仓库的基本结构

同类推荐
  • 和老外聊文化中国(升级版)

    和老外聊文化中国(升级版)

    《和老外聊文化中国(升级版)》除了适用于旅游专业学生和英语导游,还可以成为外企员工、涉外工作者和高校学生的工具书,读者可以此书来学习如何用英语讲解中国文化,用中国文化的内容来练习英语口语。
  • 得情报者得天下:企业竞争情报管理

    得情报者得天下:企业竞争情报管理

    本书系统地介绍关于企业竞争情报管理的基本原理和理念,通过鲜活的事例剖析竞争情报的含义、竞争情报体系的建立与完善以及反竞争情报管理的一些方法。
  • 中学化学课程资源丛书-化学新看台

    中学化学课程资源丛书-化学新看台

    作为科学教育的重要组成部分,新的化学课程倡导从学生素质的培养和社会发展的需要出发,发挥学科自身的优势,将科学探究作为课程改革的突破口,激发学生的主动性和创新意识,促使学生积极主动地去学习,使获得化学知识和技能的过程也成为理解化学、进行科学探究、联系社会生活实际和形成科学价值观的过程。本套丛书集知识性与实用性于一体,是学生在学习化学知识及教师在进行引导的过程中不可或缺的一套实用工具书。
  • 中国逻辑与语言函授大学教材——管理学

    中国逻辑与语言函授大学教材——管理学

    本书力求做到系统性、完整性、实用性、简明性,清晰明了地说明管理问题。为了更好地学习本书知识,每章后边都配有案例及习题,以便于深入学习、理解和掌握相关知识。本书由张仁侠教授担任主编,宋克勤、肖霞、王敬、阎甜参加编写。
  • 新课标课外快乐阅读丛书——快乐心灵的文明故事

    新课标课外快乐阅读丛书——快乐心灵的文明故事

    快乐阅读,陶冶心灵,这对于提高广大中小学生的阅读写作能力,培养语文素养,促进终身学习等都具有深远的意义。现代中小学生不能只局限于校园和课本,应该广开视野,广长见识,广泛了解博大的世界和社会,不断增加丰富的现代社会知识和世界信息,才能有所精神准备,才能迅速地长大,将来才能够自由地翱翔于世界的蓝天。
热门推荐
  • 人生三境界:看破舍得放下

    人生三境界:看破舍得放下

    《人生三境界:看破舍得放下》精彩地探讨了人生的三大至高境界,告诉大家:一个人如果真正懂得了生活的真谛,学会了看破、舍得、放下的智慧,就不会被世俗打扰,不会被名利所累,无论多么卑微的工作,都会当作毕生的事业去打拼;无论多么清淡的稀粥,都会从中品尝出生活的甜蜜。懂得了这些,我们的一生就会豁然开朗。
  • 总经理卓越工作手册

    总经理卓越工作手册

    本书按照企业经营的主要环节和企业总经理工作的主要职责组成内在的逻辑体系,分十个方面分析、阐述和介绍了当代企业总经理们应当如何提高自己的经营才干和管理水平。
  • 傲娇公主惹不起

    傲娇公主惹不起

    傲娇的公主遇上了帅气暖男,傲娇的火焰与暖暖的心能否碰出火花?这傲娇范儿,只能让人说声惹不起。作为骑士守护她身边,等来的是声遗憾的“SORRY”,还是迟来的“我爱你”?
  • 逃跑甜心之秘密爱

    逃跑甜心之秘密爱

    她怎么这么倒霉,会被逼着跟他结婚?哼,结就结,反正一旦分手就互不相干!他信誓旦旦地扬言成交,却突然发现自己无法停止对她的想念,那么,就骗她留在自己身边吧……无耻?随便!久远的家族恩怨,谐趣的儿女情长,在上帝的巧妙安排下,上演了一出滑稽而又温馨的爱恋……
  • 十年为一梦

    十年为一梦

    主要讲述的是一个2b学生上高中的那些事新人新书求推荐
  • 花落千年,替嫁王妃

    花落千年,替嫁王妃

    为了救心爱的他,结果落入万丈深海,被人救起后却发现自己失忆了,这可怎么办?才离开原来的王府却被强迫送入了西欧古国的王宫,从中原的王妃变成了西欧古国的皇妃。难道她就逃不了为妃的这个命运吗?嫁给这个男人并非本愿,可,她好像越来越离不开他了?
  • 韩娱之女王团

    韩娱之女王团

    伪韩娱文,男女主皆原创,男强女强,非虐文,无误会。女主看似冷漠,实则为傲娇呆萌属性。男主强大,忠犬属性。另有金在中大神打酱油,番外中转正。男主的原型为李秀赫女主的原型为fx的Krystal郑秀晶请自行脑补
  • exo:重生

    exo:重生

    金羽姬把自己害的这么惨,今天重生以后变成了韩秀慧她发誓一定要让她生不如死....复仇过后她又一脚踏进了演艺圈…她的命运会怎么样?
  • 师生姐弟陌恋

    师生姐弟陌恋

    狼,昼伏夜出,在黑暗的恶劣环境下生存。尖子生胡耀颢,天性叛逆,放弃高考,进不景气工厂当工人。眼睛揉不进沙子,胡耀颢横遭撤职,闯出一条血路;救弱女子,他虎胆出拳暗挺莽汉暴打检察长;导演一出天庭震怒发出追杀令牌,与市霸及其保护伞斗智。憨包一个,没看出当年魔鬼身材、闭月羞花的班主任熊瑛华苦苦暗恋他,胡耀颢娶了她的一个女学生,叫她芳心撕裂,整个人崩溃,感到没爱了。天有不测风云,娇妻意外身亡,胡耀颢犹如一棵被台风连根拔倒大树。重新站起,他拒绝当官,誓言追随亡妻遗愿。正当熊瑛华盼着多年来心酸缺氧、玉体如焚的爱能够修来正果之际,谁虞,胡耀颢居然去摸乡下女孩胸口……
  • 和悦洲,小上海

    和悦洲,小上海

    本书介绍了和悦洲的风土人情、民俗文化、帮派历史等。和悦洲位于长江中下游,抗战前被称作“小上海”,非常繁华,抗战后被炸毁了。这个地方称一江三镇,统领中心的镇叫大通,一共三镇,解放前是江南最大的盐的集散地,又是佛教圣地九华山的咽喉,被称为“大九华山头天门”。