版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEAintroductiontoDatabaseManagementSystemRaghuRamakrishnanAdatabase(sometimesspelleddatabase)isalsocalledanelectronicdatabase,referringtoanycollectionofdata,orinformation,thatisspeciallyorganizedforrapidsearchandretrievalbyacomputer.Databasesarestructuredtofacilitatethestorage,retrieval,modification,anddeletionofdatainconjunctionwithvariousdata-processingoperations.Databasescanbestoredonmagneticdiskortape,opticaldisk,orsomeothersecondarystoragedevice.Adatabaseconsistsofafileorasetoffiles.Theinformationinthesefilesmaybebrokendownintorecords,eachofwhichconsistsofoneormorefields.Fieldsarethebasicunitsofdatastorage,andeachfieldtypicallycontainsinformationpertainingtooneaspectorattributeoftheentitydescribedbythedatabase.Usingkeywordsandvarioussortingcommands,userscanrapidlysearch,rearrange,group,andselectthefieldsinmanyrecordstoretrieveorcreatereportsonparticularaggregateofdata.Complexdatarelationshipsandlinkagesmaybefoundinallbutthesimplestdatabases.Thesystemsoftwarepackagethathandlesthedifficulttasksassociatedwithcreating,accessing,andmaintainingdatabaserecordsiscalledadatabasemanagementsystem(DBMS).TheprogramsinaDBMSpackageestablishaninterfacebetweenthedatabaseitselfandtheusersofthedatabase..(Theseusersmaybeapplicationsprogrammers,managersandotherswithinformationneeds,andvariousOSprograms.)ADBMScanorganize,process,andpresentselecteddataelementsformthedatabase.Thiscapabilityenablesdecisionmakerstosearch,probe,andquerydatabasecontentsinordertoextractanswerstononrecurringandunplannedquestionsthataren’tavailableinregularreports.Thesequestionsmightinitiallybevagueand/orpoorlydefined,butpeoplecan“browse”throughthedatabaseuntiltheyhavetheneededinformation.Inshort,theDBMSwill“manage”thestoreddataitemsandassembletheneededitemsfromthecommondatabaseinresponsetothequeriesofthosewhoaren’tprogrammers.Adatabasemanagementsystem(DBMS)iscomposedofthreemajorparts:(1)astoragesubsystemthatstoresandretrievesdatainfiles;(2)amodelingandmanipulationsubsystemthatprovidesthemeanswithwhichtoorganizethedataandtoadd,delete,maintain,andupdatethedata;(3)andaninterfacebetweentheDBMSanditsusers.Severalmajortrendsareemergingthatenhancethevalueandusefulnessofdatabasemanagementsystems;Managers:whorequiremoreup-to-datainformationtomakeeffectivedecisionCustomers:whodemandincreasinglysophisticatedinformationservicesandmorecurrentinformationaboutthestatusoftheirorders,invoices,andaccounts.Users:whofindthattheycandevelopcustomapplicationswithdatabasesystemsinafractionofthetimeittakestousetraditionalprogramminglanguages.Organizations:thatdiscoverinformationhasastrategicvalue;theyutilizetheirdatabasesystemstogainanedgeovertheircompetitors.TheDatabaseModelAdatamodeldescribesawaytostructureandmanipulatethedatainadatabase.Thestructuralpartofthemodelspecifieshowdatashouldberepresented(suchastree,tables,andsoon).Themanipulativepartofthemodelspecifiestheoperationwithwhichtoadd,delete,display,maintain,print,search,select,sortandupdatethedata.HierarchicalModelThefirstdatabasemanagementsystemsusedahierarchicalmodel-thatis-theyarrangedrecordsintoatreestructure.Somerecordsarerootrecordsandallothershaveuniqueparentrecords.Thestructureofthetreeisdesignedtoreflecttheorderinwhichthedatawillbeusedthatis,therecordattherootofatreewillbeaccessedfirst,thenrecordsonelevelbelowtheroot,andsoon.Thehierarchicalmodelwasdevelopedbecausehierarchicalrelationshipsarecommonlyfoundinbusinessapplications.Asyouhaveknown,anorganizationcharoftendescribesahierarchicalrelationship:topmanagementisatthehighestlevel,middlemanagementatlowerlevels,andoperationalemployeesatthelowestlevels.Notethatwithinastricthierarchy,eachlevelofmanagementmayhavemanyemployeesorlevelsofemployeesbeneathit,buteachemployeehasonlyonemanager.Hierarchicaldataarecharacterizedbythisone-to-manyrelationshipamongdata.Inthehierarchicalapproach,eachrelationshipmustbeexplicitlydefinedwhenthedatabaseiscreated.Eachrecordinahierarchicaldatabasecancontainonlyonekeyfieldandonlyonerelationshipisallowedbetweenanytwofields.Thiscancreateaproblembecausedatadonotalwaysconformtosuchastricthierarchy.RelationalModelAmajorbreakthroughindatabaseresearchoccurredin1970whenE.F.Coddproposedafundamentallydifferentapproachtodatabasemanagementcalledrelationalmodel,whichusesatableasitsdatastructure.Therelationaldatabaseisthemostwidelyuseddatabasestructure.Dataisorganizedintorelatedtables.Eachtableismadeupofrowscalledandcolumnscalledfields.Eachrecordcontainsfieldsofdataaboutsomespecificitem.Forexample,inatablecontaininginformationonemployees,arecordwouldcontainfieldsofdatasuchasaperson’slastname,firstname,andstreetaddress.Structuredquerylanguage(SQL)isaquerylanguageformanipulatingdatainarelationaldatabase.Itisnonproceduralordeclarative,inwhichtheuserneedonlyspecifyanEnglish-likedescriptionthatspecifiestheoperationandthedescribedrecordorcombinationofrecords.Aqueryoptimizertranslatesthedescriptionintoaproceduretoperformthedatabasemanipulation.NetworkModelThenetworkmodelcreatesrelationshipsamongdatathroughalinked-liststructureinwhichsubordinaterecordscanbelinkedtomorethanoneparentrecord.Thisapproachcombinesrecordswithlinks,whicharecalledpointers.Thepointersareaddressesthatindicatethelocationofarecord.Withthenetworkapproach,asubordinaterecordcanbelinkedtoakeyrecordandatthesametimeitselfbeakeyrecordlinkedtoothersetsofsubordinaterecords.Thenetworkmodehistoricallyhashadaperformanceadvantageoverotherdatabasemodels.Today,suchperformancecharacteristicsareonlyimportantinhigh-volume,high-speedtransactionprocessingsuchasautomatictellermachinenetworksorairlinereservationsystem.Bothhierarchicalandnetworkdatabasesareapplicationspecific.Ifanewapplicationisdeveloped,maintainingtheconsistencyofdatabasesindifferentapplicationscanbeverydifficult.Forexample,supposeanewpensionapplicationisdeveloped.Thedataarethesame,butanewdatabasemustbecreated.ObjectModelThenewestapproachtodatabasemanagementusesanobjectmodel,inwhichrecordsarerepresentedbyentitiescalledobjectsthatcanbothstoredataandprovidemethodsorprocedurestoperformspecifictasks.Thequerylanguageusedfortheobjectmodelisthesameobject-orientedprogramminglanguageusedtodevelopthedatabaseapplication.Thiscancreateproblemsbecausethereisnosimple,uniformquerylanguagesuchasSQL.Theobjectmodelisrelativelynew,andonlyafewexamplesofobject-orienteddatabaseexist.Ithasattractedattentionbecausedeveloperswhochooseanobject-orientedprogramminglanguagewantadatabasebasedonanobject-orientedmodel.DistributedDatabaseSimilarly,adistributeddatabaseisoneinwhichdifferentpartsofthedatabaseresideonphysicallyseparatedcomputers.Onegoalofdistributeddatabasesistheaccessofinformationwithoutregardtowherethedatamightbestored.Keepinginmindthatoncetheusersandtheirdataareseparated,thecommunicationandnetworkingconceptscomeintoplay.Distributeddatabasesrequiresoftwarethatresidespartiallyinthelargercomputer.Thissoftwarebridgesthegapbetweenpersonalandlargecomputersandresolvestheproblemsofincompatibledataformats.Ideally,itwouldmakethemainframedatabasesappeartobelargelibrariesofinformation,withmostoftheprocessingaccomplishedonthepersonalcomputer.Adrawbacktosomedistributedsystemsisthattheyareoftenbasedonwhatiscalledamainframe-entiremodel,inwhichthelargerhostcomputerisseenasthemasterandtheterminalorpersonalcomputerisseenasaslave.Therearesomeadvantagestothisapproach.Withdatabasesundercentralizedcontrol,manyoftheproblemsofdataintegritythatwementionedearlieraresolved.Buttoday’spersonalcomputers,departmentalcomputers,anddistributedprocessingrequirecomputersandtheirapplicationstocommunicatewitheachotheronamoreequalorpeer-to-peerbasis.Inadatabase,theclient/servermodelprovidestheframeworkfordistributingdatabases.Onewaytotakeadvantageofmanyconnectedcomputersrunningdatabaseapplicationsistodistributetheapplicationintocooperatingpartsthatareindependentofoneanther.Aclientisanenduserorcomputerprogramthatrequestsresourcesacrossanetwork.Aserverisacomputerrunningsoftwarethatfulfillsthoserequestsacrossanetwork.Whentheresourcesaredatainadatabase,theclient/servermodelprovidestheframeworkfordistributingdatabase.Afileserveissoftwarethatprovidesaccesstofilesacrossanetwork.Adedicatedfileserverisasinglecomputerdedicatedtobeingafileserver.Thisisuseful,forexample,ifthefilesarelargeandrequirefastaccess.Insuchcases,aminicomputerormainframewouldbeusedasafileserver.Adistributedfileserverspreadsthefilesaroundonindividualcomputersinsteadofplacingthemononededicatedcomputer.Advantagesofthelatterserverincludetheabilitytostoreandretrievefilesonothercomputersandtheeliminationofduplicatefilesoneachcomputer.Amajordisadvantage,however,isthatindividualread/writerequestsarebeingmovedacrossthenetworkandproblemscanarisewhenupdatingfiles.Supposeauserrequestsarecordfromafileandchangesitwhileanotheruserrequeststhesamerecordandchangesittoo.Thesolutiontothisproblemscalledrecordlocking,whichmeansthatthefirstrequestmakesothersrequestswaituntilthefirstrequestissatisfied.Otherusersmaybeabletoreadtherecord,buttheywillnotbeabletochangeit.Adatabaseserverissoftwarethatservicesrequeststoadatabaseacrossanetwork.Forexample,supposeausertypesinaqueryfordataonhisorherpersonalcomputer.Iftheapplicationisdesignedwiththeclient/servermodelinmind,thequerylanguagepartonthepersonalcomputersimplesendsthequeryacrossthenetworktothedatabaseserverandrequeststobenotifiedwhenthedataarefound.Examplesofdistributeddatabasesystemscanbefoundintheengineeringworld.Sun’sNetworkFilingSystem(NFS),forexample,isusedincomputer-aidedengineeringapplicationstodistributedataamongtheharddisksinanetworkofSunworkstation.Distributingdatabasesisanevolutionarystepbecauseitislogicalthatdatashouldexistatthelocationwheretheyarebeingused.Departmentalcomputerswithinalargecorporation,forexample,shouldhavedataresidelocally,yetthosedatashouldbeaccessiblebyauthorizedcorporatemanagementwhentheywanttoconsolidatedepartmentaldata.DBMSsoftwarewillprotectthesecurityandintegrityofthedatabase,andthedistributeddatabasewillappeartoitsusersasnodifferentfromthenon-distributeddatabase.數(shù)據(jù)庫(kù)管理系統(tǒng)的介紹RaghuRamakrishnan數(shù)據(jù)庫(kù)(database,有時(shí)拼作database)又稱為電子數(shù)據(jù)庫(kù),是專門組織起來(lái)的一組數(shù)據(jù)或信息,其目的是為了便于計(jì)算機(jī)快速查詢及檢索。數(shù)據(jù)庫(kù)的結(jié)構(gòu)是專門設(shè)計(jì)的,在各種數(shù)據(jù)處理操作命令的支持下,可以簡(jiǎn)化數(shù)據(jù)的存儲(chǔ),檢索,修改和刪除。數(shù)據(jù)庫(kù)可以存儲(chǔ)在磁盤,磁帶,光盤或其他輔助存儲(chǔ)設(shè)備上。數(shù)據(jù)庫(kù)由一個(gè)或一套文件組成,其中的信息可以分解為記錄,每一記錄又包含一個(gè)或多個(gè)字段(或稱為域)。字段是數(shù)據(jù)存取的基本單位。數(shù)據(jù)庫(kù)用于描述實(shí)體,其中的一個(gè)字段通常表示與實(shí)體的某一屬性相關(guān)的信息。通過(guò)關(guān)鍵字以及各種分類(排序)命令,用戶可以對(duì)多條記錄的字段進(jìn)行查詢,重新整理,分組或選擇,以實(shí)體對(duì)某一類數(shù)據(jù)的檢索,也可以生成報(bào)表。所有數(shù)據(jù)庫(kù)(最簡(jiǎn)單的除外)中都有復(fù)雜的數(shù)據(jù)關(guān)系及其鏈接。處理與創(chuàng)建,訪問(wèn)以及維護(hù)數(shù)據(jù)庫(kù)記錄有關(guān)的復(fù)雜任務(wù)的系統(tǒng)軟件包叫做數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)。DBMS軟件包中的程序在數(shù)據(jù)庫(kù)與其用戶間建立接口。(這些用戶可以是應(yīng)用程序員,管理員及其他需要信息的人員和各種操作系統(tǒng)程序)。DBMS可組織,處理和表示從數(shù)據(jù)庫(kù)中選出的數(shù)據(jù)元。該功能使決策者能搜索,探查和查詢數(shù)據(jù)庫(kù)的內(nèi)容,從而對(duì)在正規(guī)報(bào)告中沒(méi)有的,不再出現(xiàn)的且無(wú)法預(yù)料的問(wèn)題做出回答。這些問(wèn)題最初可能是模糊的并且(或者)是定義不恰當(dāng)?shù)?,但是人們可以瀏覽數(shù)據(jù)庫(kù)直到獲得所需的信息。簡(jiǎn)言之,DBMS將“管理”存儲(chǔ)的數(shù)據(jù)項(xiàng),并從公共數(shù)據(jù)庫(kù)中匯集所需的數(shù)據(jù)項(xiàng)以回答非程序員的詢問(wèn)。DBMS由3個(gè)主要部分組成:(1)存儲(chǔ)子系統(tǒng),用來(lái)存儲(chǔ)和檢索文件中的數(shù)據(jù);(2)建模和操作子系統(tǒng),提供組織數(shù)據(jù)以及添加,刪除,維護(hù),更新數(shù)據(jù)的方法;(3)用戶和DBMS之間的接口。在提高數(shù)據(jù)庫(kù)管理系統(tǒng)的價(jià)值和有效性方面正在展現(xiàn)以下一些重要發(fā)展趨勢(shì);1.管理人員需要最新的信息以做出有效的決策。2.客戶需要越來(lái)越復(fù)雜的信息服務(wù)以及更多的有關(guān)其訂單,發(fā)票和賬號(hào)的當(dāng)前信息。3.用戶發(fā)現(xiàn)他們可以使用傳統(tǒng)的程序設(shè)計(jì)語(yǔ)言,在很短的一段時(shí)間內(nèi)用數(shù)據(jù)庫(kù)系統(tǒng)開發(fā)客戶應(yīng)用程序。4.商業(yè)公司發(fā)現(xiàn)了信息的戰(zhàn)略價(jià)值,他們利用數(shù)據(jù)庫(kù)系統(tǒng)領(lǐng)先于競(jìng)爭(zhēng)對(duì)手。數(shù)據(jù)庫(kù)中數(shù)據(jù)的性質(zhì)1.數(shù)據(jù)整體性:數(shù)據(jù)庫(kù)是一個(gè)單位或是一個(gè)應(yīng)用領(lǐng)域的通用數(shù)據(jù)處理系統(tǒng),他存儲(chǔ)的是屬于企業(yè)和事業(yè)部門、團(tuán)體和個(gè)人的有關(guān)數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)中的數(shù)據(jù)是從全局觀點(diǎn)出發(fā)建立的,他按一定的數(shù)據(jù)模型進(jìn)行組織、描述和存儲(chǔ)。其結(jié)構(gòu)基于數(shù)據(jù)間的自然聯(lián)系,從而可提供一切必要的存取路徑,且數(shù)據(jù)不再針對(duì)某一應(yīng)用,而是面向全組織,具有整體的結(jié)構(gòu)化特征。2.數(shù)據(jù)共享性:數(shù)據(jù)庫(kù)中的數(shù)據(jù)是為眾多用戶所共享其信息而建立的,已經(jīng)擺脫了具體程序的限制和制約。不同的用戶可以按各自的用法使用數(shù)據(jù)庫(kù)中的數(shù)據(jù);多個(gè)用戶可以同時(shí)共享數(shù)據(jù)庫(kù)中的數(shù)據(jù)資源,即不同的用戶可以同時(shí)存取數(shù)據(jù)庫(kù)中的同一個(gè)數(shù)據(jù)。數(shù)據(jù)共享性不僅滿足了各用戶對(duì)信息內(nèi)容的要求,同時(shí)也滿足了各用戶之間信息通信的要求。數(shù)據(jù)管理的誕生數(shù)據(jù)庫(kù)的歷史可以追溯到五十年前,那時(shí)的數(shù)據(jù)管理非常簡(jiǎn)單。通過(guò)大量的分類、比較和表格繪制的機(jī)器運(yùn)行數(shù)百萬(wàn)穿孔卡片來(lái)進(jìn)行數(shù)據(jù)的處理,其運(yùn)行結(jié)果在紙上打印出來(lái)或者制成新的穿孔卡片。而數(shù)據(jù)管理就是對(duì)所有這些穿孔卡片進(jìn)行物理的儲(chǔ)存和處理。然而,1951年雷明頓蘭德公司(RemingtonRandInc.)的一種叫做UnivacI的計(jì)算機(jī)推出了一種一秒鐘可以輸入數(shù)百條記錄的磁帶驅(qū)動(dòng)器,從而引發(fā)了數(shù)據(jù)管理的革命。1956年IBM生產(chǎn)出第一個(gè)磁盤驅(qū)動(dòng)器——theModel305RAMAC。此驅(qū)動(dòng)器有50個(gè)盤片,每個(gè)盤片直徑是2英尺,可以儲(chǔ)存5MB的數(shù)據(jù)。使用磁盤最大的好處是可以隨機(jī)地存取數(shù)據(jù),而穿孔卡片和磁帶只能順序存取數(shù)據(jù)。1951:Univac系統(tǒng)使用磁帶和穿孔卡片作為數(shù)據(jù)存儲(chǔ)。數(shù)據(jù)庫(kù)系統(tǒng)的萌芽出現(xiàn)于60年代。當(dāng)時(shí)計(jì)算機(jī)開始廣泛地應(yīng)用于數(shù)據(jù)管理,對(duì)數(shù)據(jù)的共享提出了越來(lái)越高的要求。傳統(tǒng)的文件系統(tǒng)已經(jīng)不能滿足人們的需要。能夠統(tǒng)一管理和共享數(shù)據(jù)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)應(yīng)運(yùn)而生。數(shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)的核心和基礎(chǔ),各種DBMS軟件都是基于某種數(shù)據(jù)模型的。所以通常也按照數(shù)據(jù)模型的特點(diǎn)將傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)分成網(wǎng)狀數(shù)據(jù)庫(kù)、層次數(shù)據(jù)庫(kù)和關(guān)系數(shù)據(jù)庫(kù)三類。最早出現(xiàn)的是網(wǎng)狀DBMS,是美國(guó)通用電氣公司Bachman等人在1961年開發(fā)成功的IDS(IntegratedDataStore)。1961年通用電氣公司(GeneralElectricCo.)的CharlesBachman成功地開發(fā)出世界上第一個(gè)網(wǎng)狀DBMS也是第一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)——集成數(shù)據(jù)存儲(chǔ)(IntegratedDataStoreIDS),奠定了網(wǎng)狀數(shù)據(jù)庫(kù)的基礎(chǔ),并在當(dāng)時(shí)得到了廣泛的發(fā)行和應(yīng)用。IDS具有數(shù)據(jù)模式和日志的特征。但它只能在GE主機(jī)上運(yùn)行,并且數(shù)據(jù)庫(kù)只有一個(gè)文件,數(shù)據(jù)庫(kù)所有的表必須通過(guò)手工編碼來(lái)生成。之后,通用電氣公司一個(gè)客戶——BFGoodrichChemical公司最終不得不重寫了整個(gè)系統(tǒng)。并將重寫后的系統(tǒng)命名為集成數(shù)據(jù)管理系統(tǒng)(IDMS)。網(wǎng)狀數(shù)據(jù)庫(kù)模型對(duì)于層次和非層次結(jié)構(gòu)的事物都能比較自然的模擬,在關(guān)系數(shù)據(jù)庫(kù)出現(xiàn)之前網(wǎng)狀DBMS要比層次DBMS用得普遍。在數(shù)據(jù)庫(kù)發(fā)展史上,網(wǎng)狀數(shù)據(jù)庫(kù)占有重要地位。層次型DBMS是緊隨網(wǎng)絡(luò)型數(shù)據(jù)庫(kù)而出現(xiàn)的。最著名最典型的層次數(shù)據(jù)庫(kù)系統(tǒng)是IBM公司在1968年開發(fā)的IMS(InformationManagementSystem),一種適合其主機(jī)的層次數(shù)據(jù)庫(kù)。這是IBM公司研制的最早的大型數(shù)據(jù)庫(kù)系統(tǒng)程序產(chǎn)品。從60年代末產(chǎn)生起,如今已經(jīng)發(fā)展到IMSV6,提供群集、N路數(shù)據(jù)共享、消息隊(duì)列共享等先進(jìn)特性的支持。這個(gè)具有30年歷史的數(shù)據(jù)庫(kù)產(chǎn)品在如今的WWW應(yīng)用連接、商務(wù)智能應(yīng)用中扮演著新的角色。1973年Cullinane公司(也就是后來(lái)的Cullinet軟件公司),開始出售Goodrich公司的IDMS改進(jìn)版本,并且逐漸成為當(dāng)時(shí)世界上最大的軟件公司。關(guān)系數(shù)據(jù)庫(kù)的由來(lái)網(wǎng)狀數(shù)據(jù)庫(kù)和層次數(shù)據(jù)庫(kù)已經(jīng)很好地解決了數(shù)據(jù)的集中和共享問(wèn)題,但是在數(shù)據(jù)獨(dú)立性和抽象級(jí)別上仍有很大欠缺。用戶在對(duì)這兩種數(shù)據(jù)庫(kù)進(jìn)行存取時(shí),仍然需要明確數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),指出存取路徑。而后來(lái)出現(xiàn)的關(guān)系數(shù)據(jù)庫(kù)較好地解決了這些問(wèn)題。1970年,IBM的研究員E.F.Codd博士在刊物《CommunicationoftheACM》上發(fā)表了一篇名為“ARelationalModelofDataforLargeSharedDataBanks”的論文,提出了關(guān)系模型的概念,奠定了關(guān)系模型的理論基礎(chǔ)。盡管之前在1968年Childs已經(jīng)提出了面向集合的模型,然而這篇論文被普遍認(rèn)為是數(shù)據(jù)庫(kù)系統(tǒng)歷史上具有劃時(shí)代意義的里程碑。Codd的心愿是為數(shù)據(jù)庫(kù)建立一個(gè)優(yōu)美的數(shù)據(jù)模型。后來(lái)Codd又陸續(xù)發(fā)表多篇文章,論述了范式理論和衡量關(guān)系系統(tǒng)的12條標(biāo)準(zhǔn),用數(shù)學(xué)理論奠定了關(guān)系數(shù)據(jù)庫(kù)的基礎(chǔ)。關(guān)系模型有嚴(yán)格的數(shù)學(xué)基礎(chǔ),抽象級(jí)別比較高,而且簡(jiǎn)單清晰,便于理解和使用。但是當(dāng)時(shí)也有人認(rèn)為關(guān)系模型是理想化的數(shù)據(jù)模型,用來(lái)實(shí)現(xiàn)DBMS是不現(xiàn)實(shí)的,尤其擔(dān)心關(guān)系數(shù)據(jù)庫(kù)的性能難以接受,更有人視其為當(dāng)時(shí)正在進(jìn)行中的網(wǎng)狀數(shù)據(jù)庫(kù)規(guī)范化工作的嚴(yán)重威脅。為了促進(jìn)對(duì)問(wèn)題的理解,1974年ACM牽頭組織了一次研討會(huì),會(huì)上開展了一場(chǎng)分別以Codd和Bachman為首的支持和反對(duì)關(guān)系數(shù)據(jù)庫(kù)兩派之間的辯論。這次著名的辯論推動(dòng)了關(guān)系數(shù)據(jù)庫(kù)的發(fā)展,使其最終成為現(xiàn)代數(shù)據(jù)庫(kù)產(chǎn)品的主流。1969:EdgarF。“Ted”Codd發(fā)明了關(guān)系數(shù)據(jù)庫(kù)1970年關(guān)系模型建立之后,IBM公司在SanJose實(shí)驗(yàn)室增加了更多的研究人員研究這個(gè)項(xiàng)目,這個(gè)項(xiàng)目就是著名的SystemR。其目標(biāo)是論證一個(gè)全功能關(guān)系DBMS的可行性。該項(xiàng)目結(jié)束于1979年,完成了第一個(gè)實(shí)現(xiàn)SQL的DBMS。然而IBM對(duì)IMS的承諾阻止了SystemR的投產(chǎn),一直到1980年SystemR才作為一個(gè)產(chǎn)品正式推向市場(chǎng)。IBM產(chǎn)品化步伐緩慢的三個(gè)原因:IBM重視信譽(yù),重視質(zhì)量,盡量減少故障;IBM是個(gè)大公司,官僚體系龐大;IBM內(nèi)部已經(jīng)有層次數(shù)據(jù)庫(kù)產(chǎn)品,相關(guān)人員不積極,甚至反對(duì)。然而同時(shí),1973年加州大學(xué)伯克利分校的MichaelStonebraker和EugeneWong利用SystemR已發(fā)布的信息開始開發(fā)自己的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)Ingres。他們開發(fā)的Ingres項(xiàng)目最后由Oracle公司、Ingres公司以及硅谷的其他廠商所商品化。后來(lái),SystemR和Ingres系統(tǒng)雙雙獲得ACM的1988年“軟件系統(tǒng)獎(jiǎng)”。1976年霍尼韋爾公司(Honeywell)開發(fā)了第一個(gè)商用關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)——MulticsRelationalDataStore。關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)以關(guān)系代數(shù)為堅(jiān)實(shí)的理論基礎(chǔ),經(jīng)過(guò)幾十年的發(fā)展和實(shí)際應(yīng)用,技術(shù)越來(lái)越成熟和完善。其代表產(chǎn)品有Oracle、IBM公司的DB2、微軟公司的MSSQLServer以及Informix、ADABASD等等。結(jié)構(gòu)化查詢語(yǔ)言(SQL)1974年,IBM的RayBoyce和DonChamberlin將Codd關(guān)系數(shù)據(jù)庫(kù)的12條準(zhǔn)則的數(shù)學(xué)定義以簡(jiǎn)單的關(guān)鍵字語(yǔ)法表現(xiàn)出來(lái),里程碑式地提出了SQL(StructuredQueryLanguage)語(yǔ)言。SQL語(yǔ)言的功能包括查詢、操縱、定義和控制,是一個(gè)綜合的、通用的關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言,同時(shí)又是一種高度非過(guò)程化的語(yǔ)言,只要求用戶指出做什么而不需要指出怎么做。SQL集成實(shí)現(xiàn)了數(shù)據(jù)庫(kù)生命周期中的全部操作。SQL提供了與關(guān)系數(shù)據(jù)庫(kù)進(jìn)行交互的方法,它可以與標(biāo)準(zhǔn)的編程語(yǔ)言一起工作。自產(chǎn)生之日起,SQL語(yǔ)言便成了檢驗(yàn)關(guān)系數(shù)據(jù)庫(kù)的試金石,而SQL語(yǔ)言標(biāo)準(zhǔn)的每一次變更都指導(dǎo)著關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品的發(fā)展方向。然而,直到二十世紀(jì)七十年代中期,關(guān)系理論才通過(guò)SQL在商業(yè)數(shù)據(jù)庫(kù)Oracle和DB2中使用。1986年,ANSI把SQL作為關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言的美國(guó)標(biāo)準(zhǔn),同年公布了標(biāo)準(zhǔn)SQL文本。目前SQL標(biāo)準(zhǔn)有3個(gè)版本?;維QL定義是ANSIX3135-89,“DatabaseLanguage-SQLwithIntegrityEnhancement”[ANS89],一般叫做SQL-89。SQL-89定義了模式定義、數(shù)據(jù)操作和事務(wù)處理。SQL-89和隨后的ANSIX3168-1989,“DatabaseLanguage-EmbeddedSQL”構(gòu)成了第一代SQL標(biāo)準(zhǔn)。ANSIX3135-1992[ANS92]描述了一種增強(qiáng)功能的SQL,現(xiàn)在叫做SQL-92標(biāo)準(zhǔn)。SQL-92包括模式操作,動(dòng)態(tài)創(chuàng)建和SQL語(yǔ)句動(dòng)態(tài)執(zhí)行、網(wǎng)絡(luò)環(huán)境支持等增強(qiáng)特性。在完成SQL-92標(biāo)準(zhǔn)后,ANSI和ISO即開始合作開發(fā)SQL3標(biāo)準(zhǔn)。SQL3的主要特點(diǎn)在于抽象數(shù)據(jù)類型的支持,為新一代對(duì)象關(guān)系數(shù)據(jù)庫(kù)提供了標(biāo)準(zhǔn)。數(shù)據(jù)庫(kù)巨人的誕生——甲骨文公司(Oracle)1976年IBME.F.Codd發(fā)表了一篇里程碑的論文“R系統(tǒng):數(shù)據(jù)庫(kù)關(guān)系理論”,介紹了關(guān)系數(shù)據(jù)庫(kù)理論和查詢語(yǔ)言SQL。Oracle的創(chuàng)始人Ellison非常仔細(xì)地閱讀了這篇文章,被其內(nèi)容震驚,這是第一次有人用全面一致的方案管理數(shù)據(jù)信息。作者E.F.Codd十年前就發(fā)表了關(guān)系數(shù)據(jù)庫(kù)理論,并在IBM研究機(jī)構(gòu)開發(fā)原型,這個(gè)項(xiàng)目就是R系統(tǒng),存取數(shù)據(jù)表的語(yǔ)言就是SQL。Ellison看完后,敏銳意識(shí)到在這個(gè)研究基礎(chǔ)上可以開發(fā)商用軟件系統(tǒng)。而當(dāng)時(shí)大多數(shù)人認(rèn)為關(guān)系數(shù)據(jù)庫(kù)不會(huì)有商業(yè)價(jià)值。Ellison認(rèn)為這是他們的機(jī)會(huì):他們決定開發(fā)通用商用數(shù)據(jù)庫(kù)系統(tǒng)Oracle,這個(gè)名字來(lái)源于他們?cè)o中央情報(bào)局做過(guò)的項(xiàng)目名。幾個(gè)月后,他們就開發(fā)了Oracle1.0。但這只不過(guò)是個(gè)玩具,除了完成簡(jiǎn)單關(guān)系查詢不能做任何事情,他們花相當(dāng)長(zhǎng)的時(shí)間才使Oracle變得可用,維持公司運(yùn)轉(zhuǎn)主要靠承接一些數(shù)據(jù)庫(kù)管理項(xiàng)目和做顧問(wèn)咨詢工作。而IBM卻沒(méi)有計(jì)劃開發(fā),為什么藍(lán)色巨人放棄了這個(gè)價(jià)值上百億的產(chǎn)品,原因有很多:IBM的研究人員大多是學(xué)術(shù)出身,他們最感興趣的是理論,而非推向市場(chǎng)的產(chǎn)品,從學(xué)術(shù)上看,研究成果應(yīng)公開,發(fā)表論文和演講能使他們成名,為什么不呢?還有一個(gè)很主要的原因就是IBM當(dāng)時(shí)有一個(gè)銷售得還不錯(cuò)的層次數(shù)據(jù)庫(kù)產(chǎn)品IMS。直到1985年IBM才發(fā)布了關(guān)系數(shù)據(jù)庫(kù)DB2,Ellision那時(shí)已經(jīng)成了千萬(wàn)富翁。Ellison曾將IBM選擇Microsoft的MS-DOS作為IBM-PC機(jī)的操作系統(tǒng)比為:“世界企業(yè)經(jīng)營(yíng)歷史上最嚴(yán)重的錯(cuò)誤,價(jià)值超過(guò)了上千億美元?!盜BM發(fā)表R系統(tǒng)論文,而且沒(méi)有很快推出關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品的錯(cuò)誤可能僅僅次之。Oracle的市值在1996年就達(dá)到了280億美元。面向?qū)ο髷?shù)據(jù)庫(kù)隨著信息技術(shù)和市場(chǎng)的發(fā)展,人們發(fā)現(xiàn)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)雖然技術(shù)很成熟,但其局限性也是顯而易見(jiàn)的:它能很好地處理所謂的“表格型數(shù)據(jù)”,卻對(duì)技術(shù)界出現(xiàn)的越來(lái)越多的復(fù)雜類型的數(shù)據(jù)無(wú)能為力。九十年代以后,技術(shù)界一直在研究和尋求新型數(shù)據(jù)庫(kù)系統(tǒng)。但在什么是新型數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展方向的問(wèn)題上,產(chǎn)業(yè)界一度是相當(dāng)困惑的。受當(dāng)時(shí)技術(shù)風(fēng)潮的影響,在相當(dāng)一段時(shí)間內(nèi),人們把大量的精力花在研究“面向?qū)ο蟮臄?shù)據(jù)庫(kù)系統(tǒng)(objectorienteddatabase)”或簡(jiǎn)稱“OO數(shù)據(jù)庫(kù)系統(tǒng)”。值得一提的是,美國(guó)Stonebraker教授提出的面向?qū)ο蟮年P(guān)系型數(shù)據(jù)庫(kù)理論曾一度受到產(chǎn)業(yè)界的青睞。而Stonebraker本人也在當(dāng)時(shí)被Informix花大價(jià)錢聘為技術(shù)總負(fù)責(zé)人。然而,數(shù)年的發(fā)展表明,面向?qū)ο蟮年P(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)產(chǎn)品的市場(chǎng)發(fā)展的情況并不理想。理論上的完美性并沒(méi)有帶來(lái)市場(chǎng)的熱烈反應(yīng)。其不成功的主要原因在于,這種數(shù)據(jù)庫(kù)產(chǎn)品的主要設(shè)計(jì)思想是企圖用新型數(shù)據(jù)庫(kù)系統(tǒng)來(lái)取代現(xiàn)有的數(shù)據(jù)庫(kù)系統(tǒng)。這對(duì)許多已經(jīng)運(yùn)用數(shù)據(jù)庫(kù)系統(tǒng)多年并積累了大量工作數(shù)據(jù)的客戶,尤其是大客戶來(lái)說(shuō),是無(wú)法承受新舊數(shù)據(jù)間的轉(zhuǎn)換而帶來(lái)的巨大工作量及巨額開支的。另外,面向?qū)ο蟮年P(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)使查詢語(yǔ)言變得極其復(fù)雜,從而使得無(wú)論是數(shù)據(jù)庫(kù)的開發(fā)商家還是應(yīng)用客戶都視其復(fù)雜的應(yīng)用技術(shù)為畏途。數(shù)據(jù)管理的變革二十世紀(jì)六十年代后期出現(xiàn)了一種新型數(shù)據(jù)庫(kù)軟件:決定支持系統(tǒng)(DSS),其目的是讓管理者在決策過(guò)程中更有效地利用數(shù)據(jù)信息。于是在1970年,第一個(gè)聯(lián)機(jī)分析處理工具——Express誕生了。其他決策支持系統(tǒng)緊隨其后,許多是由公司的IT部門開發(fā)出來(lái)的。1985年,第一個(gè)商務(wù)智能系統(tǒng)(businessintelligence)由Metaphor計(jì)算機(jī)系統(tǒng)有限公司為Procter&Gamble公司開發(fā)出來(lái),主要是用來(lái)連接銷售信息和零售的掃描儀數(shù)據(jù)。同年,Pilot軟件公司開始出售第一個(gè)商用客戶/服務(wù)器執(zhí)行信息系統(tǒng)——CommandCenter。同樣在這年,加州大學(xué)伯克利分校Ingres項(xiàng)目演變成Postgres,其目標(biāo)是開發(fā)出一個(gè)面向?qū)ο蟮臄?shù)據(jù)庫(kù)。此后一年,Graphael公司開發(fā)了第一個(gè)商用的對(duì)象數(shù)據(jù)庫(kù)系統(tǒng)—Gbase。1988年,IBM公司的研究者BarryDevlin和PaulMurphy發(fā)明了一個(gè)新的術(shù)語(yǔ)—信息倉(cāng)庫(kù),之后,IT的廠商開始構(gòu)建實(shí)驗(yàn)性的數(shù)據(jù)倉(cāng)庫(kù)。1991年,W.H."Bill"Inmon出版了一本“如何構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)”的書,使得數(shù)據(jù)倉(cāng)庫(kù)真正開始應(yīng)用。1991:W.H.“Bill”Inmon發(fā)表了”構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)”二十世紀(jì)九十年代,隨著基于PC的客戶/服務(wù)器計(jì)算模式和企業(yè)軟件包的廣泛采用,數(shù)據(jù)管理的變革基本完成。數(shù)據(jù)管理不再僅僅是存儲(chǔ)和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。Internet的異軍突起以及XML語(yǔ)言的出現(xiàn),給數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展開辟了一片新的天地。數(shù)據(jù)庫(kù)模型數(shù)據(jù)庫(kù)模型描述了在數(shù)據(jù)庫(kù)中結(jié)構(gòu)化和操縱數(shù)據(jù)的方法,模型的結(jié)構(gòu)部分規(guī)定了數(shù)據(jù)如何被描述(例如樹,表等):模型的操縱部分規(guī)定了數(shù)據(jù)添加,刪除,顯示,維護(hù),打印,查找,選擇,排序和更新等操作。分層模型第一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)使用的是分層模型,也就是說(shuō),將數(shù)據(jù)記錄排列成樹形結(jié)構(gòu)。一些記錄時(shí)根目錄,在其他所有記錄都有獨(dú)立的父記錄。樹形結(jié)構(gòu)的設(shè)計(jì)反映了數(shù)據(jù)被使用的順序,也就是首先訪問(wèn)處于樹根位置的記錄,接下來(lái)是跟下面的記錄,等等。分層模型的開發(fā)是因?yàn)榉謱雨P(guān)系在商業(yè)應(yīng)用中普遍存在,眾所周知,一個(gè)組織結(jié)構(gòu)圖表就描述了一種分層關(guān)系:高層管理人員在最高層,中層管理人員在較低的層次,負(fù)責(zé)具體事務(wù)的雇員在最底層。值得注意的是,在一個(gè)嚴(yán)格的分層結(jié)構(gòu)體系中,在每個(gè)管理層下可能有多個(gè)雇員或多個(gè)層次的雇員,但每個(gè)雇員只有一個(gè)管理者。分層結(jié)構(gòu)數(shù)據(jù)的典型特征是數(shù)據(jù)之間的一對(duì)多關(guān)系。在分層方法中,當(dāng)數(shù)據(jù)庫(kù)建立時(shí),每一關(guān)系即被明確地定義。在分層數(shù)據(jù)庫(kù)中的每一記錄只能包含一個(gè)關(guān)鍵字段,任意兩個(gè)字段之間只能有一種關(guān)系。由于數(shù)據(jù)并不總是遵循這種嚴(yán)格的分層關(guān)系,所以這樣可能會(huì)出現(xiàn)一些問(wèn)題。關(guān)系模型在1970年,數(shù)據(jù)庫(kù)研究取得了重大突破。E.F.Codd
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 軍改課件教學(xué)課件
- 語(yǔ)文備課組2024工作計(jì)劃范文(10篇)
- 技能強(qiáng)國(guó)演講稿范文(3篇)
- 環(huán)保廉潔故事主題演講稿5篇
- 認(rèn)購(gòu)紅利股協(xié)議書
- 弱電智能化設(shè)計(jì)合同模板
- 工程項(xiàng)目居間合同
- 印章使用權(quán)限審批制度
- 體育中心活動(dòng)籃球場(chǎng)租賃合同
- 能力提升培訓(xùn)心得體會(huì)(匯編15篇)
- 國(guó)開(甘肅)2024年春《地域文化(專)》形考任務(wù)1-4終考答案
- 檔案整理及數(shù)字化服務(wù)方案(技術(shù)標(biāo) )
- 橋梁形象進(jìn)度圖
- 建筑樁基技術(shù)規(guī)范 JGJ942008
- C站使用說(shuō)明JRC
- 習(xí)作:推薦一個(gè)好地方 推薦ppt課件
- 角的度量 華應(yīng)龍(課堂PPT)
- 公路銑刨機(jī)整機(jī)的設(shè)計(jì)含全套CAD圖紙
- 機(jī)器人學(xué)課程教學(xué)大綱
- 浙江世貿(mào)君瀾酒店集團(tuán)介紹
- GHTF—質(zhì)量管理體系--過(guò)程驗(yàn)證指南中文版
評(píng)論
0/150
提交評(píng)論