词条 | 范式 |
释义 | 1 哲学概念库恩对科学发展持历史阶段论,认为每一个科学发展阶段都有特殊的内在结构,而体现这种结构的模型即“范式”(PARADIGM)。范式通过一个具体的科学理论为范例,表示一个科学发展阶段的模式,如亚里士多德的物理学之于古代科学,托勒密天文学之于中世纪科学,伽利略的动力学之于近代科学的初级阶段,微粒光学之于近代科学的发达时期,爱因斯坦的相对论之于当代科学。 ◎ 内涵范式(paradigm)的概念和理论是美国著名科学哲学家托马斯·库恩(Thomas,Kuhn) 提出并在《科学革命的结构》(The Structure of Scientific Revolutions)(1962)中系统阐述的,它指的是一个共同体成员所共享的信仰、价值、技术等等的集合。指常规科学所赖以运作的理论基础和实践规范,是从事某一科学的研究者群体所共同遵从的世界观和行为方式。 范式概念是库恩范式理论的核心,而范式从本质上讲是一种理论体系。库恩指出:“按既定的用法,范式就是一种公认的模型或模式。”“我采用这个术语是想说明,在科学实际活动中某些被公认的范例——包括定律、理论、应用以及仪器设备统统在内的范例——为某种科学研究传统的出现提供了模型。”在库恩看来,范式是一种对本体论、认识论和方法论的基本承诺,是科学家集团所共同接受的一组假说、理论、准则和方法的总和,这些东西在心理上形成科学家的共同信念。 瑞泽尔认为:范式是存在于某一科学论域内关于研究对象的基本意向。它可以用来界定什么应该被研究、什么问题应该被提出、如何对问题进行质疑以及在解释我们获得的答案时该遵循什么样的规则。范式是一科学领域内获得最广泛共识的单位,我们可以用其来区分不同的科学家共同体或亚共同体。它能够将存在于一科学中的不同范例、理论、方法和工具加以归纳、定义并相互联系起来。 周晓虹认为:可以将宏观—微观、自然主义—人文主义视为两对既有一定的区隔、同时又互为过渡的“连续统”。由它们可以进一步获得四种理论范式。 社会事实范式 社会行为范式 社会批判范式 社会释义范式 目的 理解、预测和控制社会事实 理解社会行为及决定或影响人类社会行为的内外部因素 强烈批判现实社会,强调知识的反思性及指导行动的意义 理解作为社会行动者的个人行动的主观意义,以及这种意义对行动者和社会现实的影响 假设 人的行为是社会结构的派生现象 社会行为或受制于外部刺激因素或受制于人类的本能 事物的本质存在于对现实的否定之中 社会现实是由人的有意义的社会行为建构的 方法 社会调查方法 实验室实验 历史—社会的分析方法 实地研究 理论 结构—功能理论和冲突论。 功利主义帕雷托最优,精神分析理论 历史唯物主义、辩证唯物主义,法兰克福学派 韦伯的社会行动理论,符号互动理论,、现象学社会学,日常生活方法论等 ◎ 特点范式的特点是:(1)范式在一定程度内具有公认性;(2)范式是一个由基本定律、理论、应用以及相关的仪器设备等构成的一个整体,它的存在给科学家提供了一个研究纲领;(3)范式还为科学研究提供了可模仿的成功的先例。可以看出,在库恩的范式论里,范式归根到底是一种理论体系,范式的突破导致科学革命,从而使科学获得一个全新的面貌。库恩对范式的强调对促进心理学中的理论研究具有重要意义由于范式概念是库恩整个科学哲学观的中心,他试图以此来概括和描述多个领域的现实科学,而不仅仅是对科学史和哲学感兴趣,因而从不同方面、不同层次和不同角度对范式概念作了多重的界定和说明。很多人没有注意到库恩思想的这一特征,往往根据自己的需要引述库恩的某一解释来阐述自己的问题。因而不免出现某些偏差。英国学者玛格丽特·玛斯特曼(margaret Masterman)对库恩的范式观作了系统的考察,(1987)他从《科学革命的结构》中列举了库恩使用的21种不同含义的范式,并将其概括为三种类型或三个方面: 一是作为一种信念、一种形而上学思辨,它是哲学范式或元范式; 二是作为一种科学习惯、一种学术传统、一个具体的科学成就,它是社会学范式; 三是作为一种依靠本身成功示范的工具、一个解疑难的方法、一个用来类比的图像,它是人工范式或构造范式。 虽然范式的首要含义在哲学方面,这也是库恩范式的基本部分,但是,库恩的创见和独到之处则在于范式的社会学含义和构造功能。与一般科学哲学思维的抽象性相反,库恩特别强调科学的具体性,并把具体性看作是科学的基本特性,因为他认为,一套实际的科学习惯和科学传统对于有效的科学工作是非常必要和非常重要的,它不仅是一个科学共同体团结一致、协同探索的纽带,而且是其进一步研究和开拓的基础; 不仅能赋予任何一门新学科以自己的特色,而且决定着它的未来和发展。这样一来,库恩也就把具体性作为自己哲学思想的核心,在实际的“图像”、“模型”和“哲学”之间划了一条界限,使自己的思想与其他科学哲学区别开来。库恩的构造范式就是这种实际的“图像”和“模型”,它不仅使常规科学解疑难的活动得以完成,从而成为开启新学科的契机和手段,而且在应用模型和形而上学之间建立起一种新的相互关系,解决了从一般哲学理论转向实际科学理论的途径问题。我们通常讨论和运用的是范式的后面两种含义。 ◎ 评论美国科学史家库恩,以其代表作《科学革命的结构》(1962)(以下简称《结构》)而饮誉世界,尽管人们对它有两种截然不同的看法:一种看法认为它是“智慧历史的一座里程碑”、“半个世纪以来科学领域最重要的发掘”;另一种看法则认为它是“完全不足信的”和“耀眼的错误”。 在库恩看来,“科学革命”的实质,一言以蔽之,就是“范式转换”;是少部分人在广泛接受的科学范式里,发现现有理论解决不了的“例外”,尝试用竞争性的理论取而代之,进而排挤掉“不可通约”的原有范式。当然,一个新范式的确立并不是一蹴而就的,而是需要赢得大部分科学家的“选票”。 库恩的范式理论大体来自于由科学史实例引发的思考。二千多年前,亚里斯多德认为“物体自由落体的速度和物体的重量成正比”。因此,“物体越重,下落的速度就越快”。这一观察似乎接近日常生活的事实:除非在真空里,一张纸和一本书落地的速度是不一样的。但是,如果把它们合在一起,下落得更快还是更慢?伽利略爬上了比萨斜塔,用一对同样大小的木球和铅球,以实验的方式,证明它们是同时落地的。现在的中学生都知道,亚氏理论是错的。为什么二千年来,人们一直承袭着这个错误的认识呢? 当波普儿和他的对手们正在热烈地讨论着科学的“可否定性”时,库恩认为,一门理论的正确与否是不可能被“证错”或“证对”的,它不过是在那儿。就像一套合身的衣服,只到发现它变得不合身了为止。一门理论在经历了一段时间的“问题解答”以后,就会遇到越来越多的“怪题”。从解答不了到出现危机,就会刺激新的理论出现,而旧的理论就像不合身的衣服一样被扔掉。“斜塔实验”就是这样使人们放弃了过时的亚氏理论。 “例外(Anormly)”对于理解科学进步极其有帮助,因为它们指出了原有模式的不足并刺激新的理论产生。众所周知,1900年英国物理学家汤姆逊曾经宣称:在物理学的天空上只剩下两朵“乌云”。然而,正是这两朵“乌云”在二十世纪导致了相对论和量子理论的诞生。1873年《牛津英语词典》曾经引用达尔文的话:“在自然界里,没有比一个不能飞的鸟为更大的例外。”可见,一个例外的事实通常是不为现有的概念框架所预期的、难以解释的和逻辑不相容的。库恩在《结构》中写到:“发现源于对例外的意识,就是说,源于对那些多少违反常态科学统摄下先导预期的性质的认识(第52至53页)。”科学发现作为一个复杂的过程推动范式转换,在旧范式中的“例外”在新范式里就不再是例外。以库恩的话来讲,“常态科学”是科学群体共同分享的一系列模式和假设,通常在严谨的逻辑框架下运行,如果没有大胆的探索精神是断不可以打破这些框架的。而处于“常态”下的科学家们远非客观,他们有理由持守“正统”的理论,而倾向于在现有的架构内寻找问题的答案。譬如,公元三世纪希腊天文学家Aristarchus 就提出了行星围绕太阳旋转的理论。但是当时的科学群体却以托勒密的地心学说为正统,没有准备好接受这一认识的飞跃。 库恩的批判者认为他力图把科学说成不过是一群“乌合”的规则。库恩则认为:“这是没有道理的,我要准备为此不实而争辩。”如果说“常态科学”是缓慢、连续、稳定和积累的变化,那么“科学革命”或“范式转换”则是极少发生却又极有意义的变化。确认了范式的存在,科学就没有不朽坏的范式,“婴儿科学”常常是从少部分人那里探索出来的,如伽利略、牛顿、达尔文、爱因斯坦等。库恩相信,科学的历史是由那些极具洞察力的新思想推动的,而不是连续积累的效应。“常态科学”只是在科学首创确立以后的“精湛化”。 库恩的范式理论也是人们常常拿来批判霍根《科学的终结》的一部分。他们认为科学的探索是没有止境的,霍根看到的所谓“科学的终结”,不过是库恩描述的“常态科学”那一部分。范式转换甚至是不可预期和“计划”出来的。因此,从根本上证明霍根是错误的,需要等待新的科学突破并由此而导致的范式转换。 在科学与神学的无限争吵中,库恩的发现似乎更有利于神学,实际上是错觉。科学哲学的理性思考一再告诫人们:科学是在一定时期内的假设,自然科学的权威不宜用来衡量人文价值。神学曾经是中世纪欧洲人的“可靠”知识来源,近代科学的诞生则基本取代了神学的位置。 在英语里,库恩赋予了原意为“语法模式”的“范式”一词以“现代含义”,然而它的暧昧性使得它几乎可以被套用到传统与创新的任何领域,各路人士对它也无不心领神会。例如,工业人士认为技术创新,从蒸汽机到计算机,可以引起产业结构(范式)的变化;经济学家则运用税收政策来促进公司结构(范式)的合理化;在管理学中还出现了一系列诸如组织范式、开放范式、同步范式、协同范式、参照范式和随机范式等等杂烩新术语;社会学家更是把它奉为至宝,用来描述所谓“社会范式”的变化;布什政府1989年也曾推行过一个不太成功的“新范式运动”,如确保教育、强化市场、赈济穷人和行政分权等。无怪乎有人抱怨库恩的“新意”早已面目全非以致成为“陈词滥调”。批评者在他的经典《结构》一书里发现了二十二个“范式”的不确切使用,库恩也承认他对“范式”一词的使用出现了“弹性”。 库恩范式学说似乎和中国传统的整体思维观念一拍即合,很容易引起中国人的共鸣。如经济学者把它来作为“改革目标转换模式”的理论依据;企业家据此再造企业的内部结构、转换机制等;历史学家用它来解释朝代的变更,如“超稳定系统”,有“问题是老的,方法是新的”一说;或探讨“李约瑟难题”:为什么近代科学没有在中国产生?有“科学技术循环加速”一说;或回答资本主义制度为什么 在英国产生,有“潜在结构”一说,等等,大体都是从结构的“新角度”入手。 笔者给出这么多范式外用的例子,并不是要给读者一个它“多么有效”的误解。相反,范式分析作为一种方法也存在着局限。有的应用、或套用、或滥用不仅空洞、肤浅,而且缺乏严谨的结构介定、没有转换的临界条件分析等等。范式转换也不可能那么频繁,有人主张科学的各大领域一年来一次范式更新,这不过是“浪漫的幻想”。其他领域也是一样,如果没有思维的突破、技术的更新,单纯的所谓“范式转换”就毫无意义。“例外”导致现有框架的危机,应运而生的新思想又往往是导致范式转换的契机,而不是无病呻吟地倒置过来。 具有讽刺意味的是,库恩并没有让历史学家完全信服自然科学可以清晰地划分为“常态”和“革命”相互交替的阶段,而哲学家和社会学家似乎对库恩的理论倍感兴趣。我们应该意识到,库恩的探讨不同于他的奉承者,如西方“后现代派”把他作为反科学的“同盟者”,片面地“发展”他的理论。他们的研究范围通常包括哲学、心理学、认识论、社会学、文化、女权和艺术等等。自波普尔、库恩和费耶阿本德等科学哲学家对科学的深刻反省以来,在过去的二、三十年里,“后现代派”的一个逆反倾向就是缺乏对真理的理性探讨。他们共同的信条就是宣称“一切知识都是由文化决定的”,进而滑向了强烈反科学的偏见里。 库恩1922年出生于辛辛那提,这座美丽的小城市是笔者到美国来生活的第一站。库恩曾获哈佛大学的物理学博士学位,曾在多所大学里任教,最后一站止于麻省理工大学,研究兴趣由物理学转为科学史。库恩于1996年6月在麻州去世。美国副总统戈尔评论到:“更准确地讲,他揭示了已经被建立的理论在新的事实和观察得不到解释的压力下,是如何崩溃的。”这一概括,就其实质性的贡献而言,也算公允。(1999年6月12日于美国) 2 东汉庐江太守◎ 人物简介范式,字巨卿,东汉山阳郡金乡(今山东省济宁市金乡县鸡黍镇)人。东汉名士。他年轻时,游太学为诸生,以后登上仕途,曾任郡功曹、荆州刺史、庐江太守等职。范式重友情,讲信义。《后汉书·独行列传》记载:范式在太学学习期间,与汝南张庄人张元伯(张劭)交情甚笃。后二人同时回归乡里,分手时范式说:“两年后,我将去府上拜望尊亲。”张劭回答:“到时,我一定杀鸡煮黍,等待兄长。”于是,两人共同约定了日子。两年后,范式果然依约来到。二人尽欢而别。几年后,张劭患重病,卧床不起,临终前以不得见范式而憾。出殡时,棺重移不动。已做功曹的范式得梦:张劭某日死,某日葬,素马单车前来吊唁,由他执绋,棺柩才埋入土中。 范式和张劭生死之交,其信义之风,为后人所敬仰。为纪念这两位信义贤者,范式家乡的人们遂将其村子改名为“鸡黍”,并建立了“二贤祠”,供奉范式、张劭。据《汝南县志》记载,河南省汝南县金铺村原名张庄村,是太学生张邵的家乡。后人在村北筑鸡黍台,在张宅建二贤祠,改张庄为金乡铺,以示纪念。安徽庐江(今安徽霍丘县西五十五里)有《汉庐江太守范式碑》,宋时已见金石著录,宋拓本现藏故宫博物院。现只存残石两块。石今存山东省济宁铁塔寺。另,范式与张劭交友的故事,元朝宫天挺作杂剧剧本《死生交范张鸡黍》传世。明代小说家冯梦龙《喻世名言》里就有第十六卷《范巨卿鸡黍死生交》的故事。 范式对朋友真诚笃信,为官清廉贤达,在士人尤其是知识分子中有很高的声望。在为荆州刺史时,掌一州刺举之权,所弹劾的都是为世人所深恶痛绝的贪官污吏;所荐举的都是为人称颂的贤达之士。一次,他视察来到新野县,无意之中遇到同游太学的学友南阳人孔仲山(孔嵩)。孔嵩因家庭贫穷,父母亲年迈,不得不更名换姓,被雇佣当了新野县阿里街卒。范式知孔嵩高风亮节,立即命县令另派人替代孔嵩。孔嵩因雇佣期限未满不肯离去。范式回府后,就上了奏章举荐孔嵩。不久,朝廷召孔嵩入京。孔嵩在阿里街正身厉行,街中子弟皆服其训导。他在到京师的路上,于下亭住宿时,有几个人偷了他的马,当他们听说是孔嵩的马,竟互相责怪说:“孔仲山是南阳善士,我们怎么能偷他的马呢?”于是送马谢罪。后来,孔嵩官至南海太守。范式因举荐得当,升迁为庐江太守,掌管一郡之政。他勤于政事,政绩卓著。卒于任所。 ◎ 故事范式交友重信东汉年间,朗朗的秋日,普照着大地。在汝南郡(郡治在今河南平舆县一带)的一个村子里,青年学者张劭正在自家的庭院中来回踱步,不时侧耳听听院外的动静,好像在等什么人。他嘴里不住地叨念着:“巨卿兄怎么还不到呢?” 他说的这个巨卿,是山阳郡(郡治在今山东金乡县)人,名式,字巨卿,是张劭在太学里的同学,两人多年寒窗相伴,结下了深厚的友情。两年前,他们同日离开京都洛阳回家。临分手的时候,两人依依不舍,洒泪而别。那一天正好是九九重阳节,他们约定两年后的今天,范式来汝南郡探望张劭。 光阴飞逝,两年的时间转眼就过去了。越是临近约定的日期,张助的心情就越是不能平静。他急切地盼望着与好友重新欢聚,以至于坐卧不宁,寝食不安。 张劭的老母见儿子这样,怕他急坏了身子,就劝道:“儿啊,何必如此心焦,朋友之间,总有机会见面的。再说呀,山阳郡离咱们这儿有上千里。路途遥远,又是两年之前随口说的一句话,到现在人家怕是早都忘记了,你也别太上心了。来了,好。不来,就当没有这码事。” 张劭认真地答道:“娘,您不了解巨卿,要说巨卿这人,那是当今天下数一数二的诚实君子。他做事情,从来没有违反过大义;他说过的话,从来没有不兑现的。讲好要来,他是决不会失约的。” 母亲劝不动儿子,吧气道:“你这孩子啊,真是实心眼!好吧,我就给你准备酒宴招待客人吧。唉,我只是怕你急坏了身子啊。” 张劭说:“母亲,你放心。我不会病的,巨卿一到,我还会高兴得年轻几岁呢!您就放心地去准备吧。” 重阳节到了,张劭一家早早起来.把酒杀鸡,忙活了半天。备好了丰盛的酒菜。可是,范式没出现。望眼欲穿的张劭,整好衣装,急步走到村头,立在大树下等候。 看看到了正午,正是两年前他们分手的时刻。就见一辆马车从远处飞奔而来,车到大树下停住,下来一个书生打扮的中年人,向张劭疾步跑来,张劭定睛一看,来人正是范式!两人跑到一起,紧紧拥抱。张劭说:“大哥果然不远千里,赶来赴约。不过,为何不早到几天,让小弟等的好心焦啊!” “贤弟,只怪我心里着急,又加上饮食不慎,途中病倒在客栈里。要不是店家好心照看,我几乎要丧命了。” 张劭一看,范式果然是一副病容,身子轻飘飘的,好像还站不稳似的。张劭很有点不过意,说:“大哥,您为了看我,病成这样,小弟真是有罪了。”范式笑了起来道:“我要是今番见不到贤弟,那才是会急死呢。快领我去拜见伯母吧。我还带了些薄礼来孝敬她老人家呢。”范张二人久别重逢,更觉得难分难舍,他们白天一起谈论学问,夜晚在一张床上安眠。一天,范式感慨地说:“我们就像古时候的俞伯牙和钟子期一样啊,是生死之交。” 张劭说:“我们虽不是同年同月同日生,但是将来谁要是先走一步,另一个一定要为他送葬。”范式接口道:“那当然是我这做兄长的先死,你可要为我送葬呀。”“要是我先走一步了呢?”张劭开玩笑说。“那不管我在何处,一定会白马素车,身披白练,赶来为你送葬的,你可要等我呀。” 说完,两人都大笑起来。 几天之后,范式辞别张劭一家,回山阳郡去了。这边张劭继续读书种地,奉养老母。不料,没过一年,张劭忽然得了个暴病,不到几天,张劭就已经奄奄一息了。临终之际,老友郅君章、殷子征来看望他,拉着张劭的手,流泪说:“元伯(张劭字),还有什么心事,就请对我们讲吧。”张劭叹了口气说:“我死而无怨,只是等不及我那生死之交的好友来给我送葬了。请你们务必派人去山阳郡通知范巨卿,请他尽快赶来,不然,我就等不及了。”郅、殷二人答应了他的请求,派人骑快马到山阳郡报信去了。 再说范式回到山阳郡后,当地的郡守听说了他的名声,就请他做了郡府的功曹(官名),掌管全郡礼仪、文教等公务。官虽不大,事情却很繁杂。范式尽心职守,把事情办得井井有条,郡内风气为之一变。郡守对他十分赏识,有心要再提拔他。 这一天,范式在梦中忽然见到了张劭,只见张劭头戴黑色王冠,长长的帽带一直垂到脚下,脚上穿的是一双木鞋,好像一位古代的君王。再看张劭脸上一副焦急的样子,好像在呼喊自己,可就是喊不出声音。范式从梦中惊醒,浑身冷汗。他想,难道贤弟已经做古了吗?这个梦实在不吉利。不行,我要去汝南看看贤弟。 第二天,范式辞别了郡守,郡守再三挽留不住,心中十分惋惜。因为,范式这一走,不但提升职务的事吹了,而且现有的官职也要丢掉。范式哪里顾得了这许多,他借了匹快马,日夜兼程地向汝南郡赶去。途中正遇上张劭派来向他报信的人,他一听这消息, 当时就口吐鲜血晕了过去。醒来之后,范式买了白马素车和奔丧用的物品,亲自驾车飞奔。一路上,人们都看见这辆飞奔的丧车。白色的马,白色的车,车上的人穿着麻衣,身披白练,不断抽打着马儿飞跑。 可就在范式赶到的头几天,张劭已经去世了。老母亲记着儿子的嘱咐,一连等了范式3天,后来实在不能再等,只好把丧事办了。到出殡的这天,当地仰慕张劭名声的人都赶来了,送殡的队伍少说也有上千人。说来也怪,那辆载着张劭灵柩的马车走到村口大树下时,车轮突然陷进一个土坑,任凭众人死命往外拉,车也是纹丝不动。张劭的母亲哭倒在灵车上说:“儿啊,娘知道你的心愿,可是,山阳郡离这里千里之遥,巨卿实在是赶不到啊!” 正在这时,远处一辆白色马车飞奔而来,张母说:“这一定是山阳郡范巨卿来了。”果然,这正是范式的白马素车。车到近前,范式跳下车来,扑到张劭的灵枢上痛哭起来,边哭边说道:“贤弟,哥哥来迟一步,让你等急了啊! 过了一会,范式止住哭声,说道:“贤弟,你该去安息了,哥哥送你下葬。”说着他招呼众人扶住车辕,大家使劲一推。真是怪了,这回灵车一下子就出了土坑,又向墓地移动。众人见此场面,又感动又吃惊,都赞叹范张二人真是生死之交,诚信君子,说是他们的信义感动了上天,才出现了这样的怪事。 范式安葬了张劭,为他守墓3年,才独自离去。真正的友情,不是金钱,不是官位,而是两心相知。 《汉庐江太守范式碑》 君讳式,字巨□□□□□□□功存有夏,实曰御龙;□胙商周,世昭其隆。晋主夏盟,有士会者,光演弘谟,翼崇霸业,锡邑命族,实为范氏,则其后也。君禀灵醇之茂度,体玄亮之殊高,徽柔懿恭,明允笃恕,九德靡爽,百行渊备,弘道耽艺,恢韬坟籍,探赜研机,罔深不入;苦乃立德隆礼,树节宝真;忠谅足以弼国,笃友足以辅仁;用能昭其洪懿,声充宇甸。接华彦于汝坟,润枯毙于荆汉,超管鲍之遐踪,信灵评乎炳焕,是以□化泉流,芳□鸿奋;耀仁阐于权舆,济俗侔乎皇训;群公伟焉,弓旌盈路。再让考□□□三府举高第侍御史,拜冀州刺史,纠剔瑕慝,六教允施。翰飞肃于鹰扬,典荆□□轨□,帝□其勋,迁庐江太守。拟泰和以陶化,昭八则以隆治,弥□弘略,惠训亡倦,□□协□□□清源之深闳,宝疏氏之至顺,以疾告辞,韬光潜耀,咏琴书以宁□□□□□□□□□其犹充洽外内,实昭德之奥薮,而仪民之渊表也。未亮三事,□□□终□□□□□□常山相暨子泛孙而胤嗣罔继。粤青龙三年正月丙戌,县长汝南薛□□□□□□□感灵?单之不飨,思隆懿模,以绍奕世,乃与县之硕儒,咨典谟之中□同宗□□□之胄,昭告祖考,俾守厥祀,本支著宣融之祚,人神协休茂之庆焉,礼也。于是乡□□上计掾,翟循州部泰山从事史翟邵等,佥以为君虽辉名载籍,光?前列,而灵坟亡□,仪问靡述。遂相与略依旧传,昭撰景行,刊铭树墓,以声百世,其辞曰:於昭上德,实唐之胤。诞表灵和,蹈规履信。穷神周览,祗道之训。迈德徽犹,鸿渐□奋。秽彼夸毗,宝此醇懿。以文会友,以仁翼□。敷化济殖,群生以遂。永言孝思,民之攸暨。如何昊天,不信其轨!明德不报,胤胙亡纪。爰辑训典,询尔髦士。育兹赫□,以永遐祉。诒厥孙谋,耀于万祀。(碑拓本,又宋拓本,又《隶释》十九) 3 数据库术语◎ 简介(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。下面我们举例介绍第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。 在创建一个数据库的过程中,范化是将其转化为一些表的过程,这种方法可以使从数据库得到的结果更加明确。这样可能使数据库产生重复数据,从而导致创建多余的表。范化是在识别数据库中的数据元素、关系,以及定义所需的表和各表中的项目这些初始工作之后的一个细化的过程。 下面是范化的一个例子 Customer Item purchased Purchase price ------------------------------------------------------------------------ Thomas Shirt $40 Maria Tennis shoes $35 Evelyn Shirt $40 Pajaro Trousers $25 如果上面这个表用于保存物品的价格,而你想要删除其中的一个顾客,这时你就必须同时删除一个价格。范化就是要解决这个问题,你可以将这个表化为两个表,一个用于存储每个顾客和他所买物品的信息,另一个用于存储每件产品和其价格的信息,这样对其中一个表做添加或删除操作就不会影响另一个表。 ◎ 关系数据库的几种设计范式介绍1 第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如,对于图3-2 中的员工信息表,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。简而言之,第一范式就是无重复的列。 2 第二范式(2NF) 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。如图3-2 员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是唯一的,因此每个员工可以被唯一区分。这个唯一属性列被称为主关键字或主键、主码。 第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。 3 第三范式(3NF) 满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在图3-2的员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。 数据库设计三大范式应用实例剖析 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来设计数据库。 实质上,设计范式用很形象、很简洁的话语就能说清楚,道明白。本文将对范式进行通俗地说明,并以笔者曾经设计的一个简单论坛的数据库为例来讲解怎样将这些范式应用于实际工程。 4.BCNF 5. 第四范式(4NF):关系模式R<U,F>∈1NF,如果对于R对于R的每个非平凡多值依赖X→→Y(Y不属于X),X都含有候选码,则R∈4NF。4NF就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。显然一个关系模式是4NF,则必为BCNF。 6. 第五范式(5NF):是最终范式。消除了4NF中的连接依赖。 ◎ 范式说明Ⅰ 第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。 例如,如下的数据库表是符合第一范式的: 字段1 字段2 字段3 字段4 而这样的数据库表是不符合第一范式的: 字段1 字段2 字段3 字段4 字段3.1 字段3.2 很显然,在当前的任何关系数据库管理系统(DBMS)中,傻瓜也不可能做出不符合第一范式的数据库,因为这些DBMS不允许你把数据库表的一列再分成二列或多列。因此,你想在现有的DBMS中设计出不符合第一范式的数据库都是不可能的。 Ⅱ 第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。 假定选课关系表为SelectCourse(学号,姓名,年龄,课程名称,成绩,学分),关键字为组合关键字(学号,课程名称),因为存在如下决定关系: (学号,课程名称) → (姓名,年龄,成绩,学分) 这个数据库表不满足第二范式,因为存在如下决定关系: (课程名称) → (学分) (学号) → (姓名,年龄) 即存在组合关键字中的字段决定非关键字的情况。 由于不符合2NF,这个选课关系表会存在如下问题: (1) 数据冗余: 同一门课程由n个学生选修,"学分"就重复n-1次;同一个学生选修了m门课程,姓名和年龄就重复了m-1次。 (2) 更新异常: 若调整了某门课程的学分,数据表中所有行的"学分"值都要更新,否则会出现同一门课程学分不同的情况。 (3) 插入异常: 假设要开设一门新的课程,暂时还没有人选修。这样,由于还没有"学号"关键字,课程名称和学分也无法记录入数据库。 (4) 删除异常: 假设一批学生已经完成课程的选修,这些选修记录就应该从数据库表中删除。但是,与此同时,课程名称和学分信息也被删除了。很显然,这也会导致插入异常。 把选课关系表SelectCourse改为如下三个表: 学生:Student(学号,姓名,年龄); 课程:Course(课程名称,学分); 选课关系:SelectCourse(学号,课程名称,成绩)。 这样的数据库表是符合第二范式的, 消除了数据冗余、更新异常、插入异常和删除异常。 另外,所有单关键字的数据库表都符合第二范式,因为不可能存在组合关键字。 Ⅲ 第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。所谓传递函数依赖,指的是如果存在"A → B → C"的决定关系,则C传递函数依赖于A。因此,满足第三范式的数据库表应该不存在如下依赖关系: 关键字段 → 非关键字段x → 非关键字段y 假定学生关系表为Student(学号,姓名,年龄,所在学院,学院地点,学院电话),关键字为单一关键字"学号",因为存在如下决定关系: (学号) → (姓名,年龄,所在学院,学院地点,学院电话) 这个数据库是符合2NF的,但是不符合3NF,因为存在如下决定关系: (学号) → (所在学院) → (学院地点,学院电话) 即存在非关键字段"学院地点"、"学院电话"对关键字段"学号"的传递函数依赖。 它也会存在数据冗余、更新异常、插入异常和删除异常的情况,读者可自行分析得知。 把学生关系表分为如下两个表: 学生:(学号,姓名,年龄,所在学院); 学院:(学院,地点,电话)。 这样的数据库表是符合第三范式的,消除了数据冗余、更新异常、插入异常和删除异常。 Ⅳ鲍依斯-科得范式(BCNF):在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式。 假设仓库管理关系表为StorehouseManage(仓库ID,存储物品ID,管理员ID,数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品。这个数据库表中存在如下决定关系: (仓库ID,存储物品ID) →(管理员ID,数量) (管理员ID,存储物品ID) → (仓库ID,数量) 所以,(仓库ID,存储物品ID)和(管理员ID,存储物品ID)都是StorehouseManage的候选关键字,表中的唯一非关键字段为数量,它是符合第三范式的。但是,由于存在如下决定关系: (仓库ID) → (管理员ID) (管理员ID) → (仓库ID) 即存在关键字段决定关键字段的情况,所以其不符合BCNF范式。它会出现如下异常情况: (1) 删除异常: 当仓库被清空后,所有"存储物品ID"和"数量"信息被删除的同时,"仓库ID"和"管理员ID"信息也被删除了。 (2) 插入异常: 当仓库没有存储任何物品时,无法给仓库分配管理员。 (3) 更新异常: 如果仓库换了管理员,则表中所有行的管理员ID都要修改。 把仓库管理关系表分解为二个关系表: 仓库管理:StorehouseManage(仓库ID,管理员ID); 仓库:Storehouse(仓库ID,存储物品ID,数量)。 这样的数据库表是符合BCNF范式的,消除了删除异常、插入异常和更新异常。 Ⅴ 第四范式(4NF):关系模式R<U,F>∈1NF,如果对于R对于R的每个非平凡多值依赖X→→Y(Y不属于X),X都含有候选码,则R∈4NF。4NF就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。显然一个关系模式是4NF,则必为BCNF。 Ⅵ 第五范式(5NF):是最终范式。消除了4NF中的连接依赖。 范式应用 我们来逐步搞定一个论坛的数据库,有如下信息: 1. 用户:用户名,email,主页,电话,联系地址 2. 帖子:发帖标题,发帖内容,回复标题,回复内容 第一次我们将数据库设计为仅仅存在表: 用户名 email 主页 电话 联系地址 发帖标题 发帖内容 回复标题 回复内容 这个数据库表符合第一范式,但是没有任何一组候选关键字能决定数据库表的整行,唯一的关键字段用户名也不能完全决定整个元组。我们需要增加"发帖ID"、"回复ID"字段,即将表修改为: 用户名 email 主页 电话 联系地址 发帖ID 发帖标题 发帖内容 回复ID 回复标题 回复内容 这样数据表中的关键字(用户名,发帖ID,回复ID)能决定整行: (用户名,发帖ID,回复ID) → (email,主页,电话,联系地址,发帖标题,发帖内容,回复标题,回复内容) 但是,这样的设计不符合第二范式,因为存在如下决定关系: (用户名) → (email,主页,电话,联系地址) (发帖ID) → (发帖标题,发帖内容) (回复ID) → (回复标题,回复内容) 即非关键字段部分函数依赖于候选关键字段,很明显,这个设计会导致大量的数据冗余和操作异常。 我们将数据库表分解为(带下划线的为关键字): 1. 用户信息:用户名,email,主页,电话,联系地址 2. 帖子信息:发帖ID,标题,内容 3. 回复信息:回复ID,标题,内容 4. 发贴:用户名,发帖ID 5. 回复:发帖ID,回复ID 这样的设计是满足第1、2、3范式和BCNF范式要求的,但是这样的设计是不是最好的呢? 不一定。 观察可知,第4项"发帖"中的"用户名"和"发帖ID"之间是1:N的关系,因此我们可以把"发帖"合并到第2项的"帖子信息"中;第5项"回复"中的"发帖ID"和"回复ID"之间也是1:N的关系,因此我们可以把"回复"合并到第3项的"回复信息"中。这样可以一定量地减少数据冗余,新的设计为: 1. 用户信息:用户名,email,主页,电话,联系地址 2. 帖子信息:用户名,发帖ID,标题,内容 3. 回复信息:发帖ID,回复ID,标题,内容 数据库表1显然满足所有范式的要求; 数据库表2中存在非关键字段"标题"、"内容"对关键字段"发帖ID"的部分函数依赖,即不满足第二范式的要求,但是这一设计并不会导致数据冗余和操作异常; 数据库表3中也存在非关键字段"标题"、"内容"对关键字段"回复ID"的部分函数依赖,也不满足第二范式的要求,但是与数据库表2相似,这一设计也不会导致数据冗余和操作异常。 由此可以看出,并不一定要强行满足范式的要求,对于1:N关系,当1的一边合并到N的那边后,N的那边就不再满足第二范式了,但是这种设计反而比较好! 对于M:N的关系,不能将M一边或N一边合并到另一边去,这样会导致不符合范式要求,同时导致操作异常和数据冗余。 对于1:1的关系,我们可以将左边的1或者右边的1合并到另一边去,设计导致不符合范式要求,但是并不会导致操作异常和数据冗余。 结论 满足范式要求的数据库设计是结构清晰的,同时可避免数据冗余和操作异常。这并不意味着不符合范式要求的设计一定是错误的,在数据库表中存在1:1或1:N关系这种较特殊的情况下,合并导致的不符合范式要求反而是合理的。 在我们设计数据库的时候,一定要时刻考虑范式的要求。 消除决定因素 | 1NF 非码的非平凡 | ↓ 消除非主属性对码的部分函数依赖 函数依赖 | 2NF | ↓ 消除非主属性对码的传递函数依赖 | 3NF | ↓ 消除主属性对码的部分和传递函数依赖 | BCNF | ↓ 消除非平凡且非函数依赖的多值依赖 | 4NF | ↓消除不是由候选码所蕴含的连接依赖 | 5NF |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。