首頁>Club>
25
回覆列表
  • 1 # 使用者不開飛機

    資料庫的概念:

    資料庫(Database)是按照資料結構來組織、儲存和管理資料的倉庫,它產生於距今六十多年前,隨著資訊科技和市場的發展,特別是二十世紀九十年代以後,

    資料管理不再僅僅是儲存和管理資料,而轉變成使用者所需要的各種資料管理的方式。資料庫有很多種型別,從最簡單的儲存有各種資料的表格到能夠進行海量資料儲存的大型資料庫系統都在各個方面得到了廣泛的應用。

    在資訊化社會,充分有效地管理和利用各類資訊資源,是進行科學研究和決策管理的前提條件。資料庫技術是管理資訊系統、辦公自動化系統、決策支援系統等各類資訊系統的核心部分,是進行科學研究和決策管理的重要技術手段。

    資料庫的定義:

    定義1:資料庫(Database)是按照資料結構來組織、儲存和管理資料的建立在計算機儲存裝置上的倉庫。

    在經濟管理的日常工作中,常常需要把某些相關的資料放進這樣的“倉庫”,並根據管理的需要進行相應的處理。

    例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個數據庫。有了這個"資料倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個範圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。

    定義2:

    嚴格來說,資料庫是長期儲存在計算機內、有組織的、可共享的資料集合。資料庫中的資料指的是以一定的資料模型組織、描述和儲存在一起、具有儘可能小的冗餘度、較高的資料獨立性和易擴充套件性的特點並可在一定範圍內為多個使用者共享。

    這種資料集合具有如下特點:儘可能不重複,以最優方式為某個特定組織的多種應用服務,其資料結構獨立於使用它的應用程式,對資料的增、刪、改、查由統一軟體進行管理和控制。從發展的歷史看,資料庫是資料管理的高階階段,它是由檔案管理系統發展起來的。[1] [2]

    資料庫的處理系統:

    資料庫是一個單位或是一個應用領域的通用資料處理系統,它儲存的是屬於企業和事業部門、團體和個人的有關資料的集合。資料庫中的資料是從全域性觀點出發建立的,按一定的資料模型進行組織、描述和儲存。其結構基於資料間的自然聯絡,從而可提供一切必要的存取路徑,且資料不再針對某一應用,而是面向全組織,具有整體的結構化特徵。

    資料庫中的資料是為眾多使用者所共享其資訊而建立的,已經擺脫了具體程式的限制和制約。不同的使用者可以按各自的用法使用資料庫中的資料;多個使用者可以同時共享資料庫中的資料資源,即不同的使用者可以同時存取資料庫中的同一個資料。資料共享性不僅滿足了各使用者對資訊內容的要求,同時也滿足了各使用者之間資訊通訊的要求。

    資料庫的基本結構:

    資料庫的基本結構分三個層次,反映了觀察資料庫的三種不同角度。

    以內模式為框架所組成的資料庫叫做物理資料庫;以概念模式為框架所組成的資料叫概念資料庫;以外模式為框架所組成的資料庫叫使用者資料庫。

    ⑴ 物理資料層。

    它是資料庫的最內層,是物理存貯裝置上實際儲存的資料的集合。這些資料是原始資料,是使用者加工的物件,由內部模式描述的指令操作處理的位串、字元和字組成。

    ⑵ 概念資料層。

    它是資料庫的中間一層,是資料庫的整體邏輯表示。指出了每個資料的邏輯定義及資料間的邏輯聯絡,是存貯記錄的集合。它所涉及的是資料庫所有物件的邏輯關係,而不是它們的物理情況,是資料庫管理員概念下的資料庫。

    ⑶ 使用者資料層。

    它是使用者所看到和使用的資料庫,表示了一個或一些特定使用者使用的資料集合,即邏輯記錄的集合。

    資料庫不同層次之間的聯絡是透過對映進行轉換的。

    資料庫的主要特點:

    ⑴ 實現資料共享

    資料共享包含所有使用者可同時存取資料庫中的資料,也包括使用者可以用各種方式透過介面使用資料庫,並提供資料共享。

    ⑵ 減少資料的冗餘度

    同文件系統相比,由於資料庫實現了資料共享,從而避免了使用者各自建立應用檔案。減少了大量重複資料,減少了資料冗餘,維護了資料的一致性。

    ⑶ 資料的獨立性

    資料的獨立性包括邏輯獨立性(資料庫中資料庫的邏輯結構和應用程式相互獨立)和物理獨立性(資料物理結構的變化不影響資料的邏輯結構)。

    ⑷ 資料實現集中控制

    檔案管理方式中,資料處於一種分散的狀態,不同的使用者或同一使用者在不同處理中其檔案之間毫無關係。利用資料庫可對資料進行集中控制和管理,並透過資料模型表示各種資料的組織以及資料間的聯絡。

    ⑸資料一致性和可維護性,以確保資料的安全性和可靠性

    ⑹ 故障恢復

    由資料庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止資料被破壞。資料庫系統能儘快恢復資料庫系統執行時出現的故障,可能是物理上或是邏輯上的錯誤。比如對系統的誤操作造成的資料錯誤等。

    資料庫的資料種類:

    資料庫通常分為層次式資料庫、網路式資料庫和關係式資料庫三種。而不同的資料庫是按不同的資料結構來聯絡和組織的。

    1.資料結構模型

    ⑴資料結構

    所謂資料結構是指資料的組織形式或資料之間的聯絡。

    如果用D表示資料,用R表示資料物件之間存在的關係集合,則將DS=(D,R)稱為資料結構。

    例如,設有一個電話號碼簿,它記錄了n個人的名字和相應的電話號碼。為了方便地查詢某人的電話號碼,將人名和號碼按字典順序排列,並在名字的後面跟隨著對應的電話號碼。這樣,若要查詢某人的電話號碼(假定他的名字的第一個字母是Y),那麼只須查詢以Y開頭的那些名字就可以了。該例中,資料的集合D就是人名和電話號碼,它們之間的聯絡R就是按字典順序的排列,其相應的資料結構就是DS=(D,R),即一個數組。

    ⑵資料結構型別

    資料結構又分為資料的邏輯結構和資料的物理結構。

    資料的邏輯結構是從邏輯的角度(即資料間的聯絡和組織方式)來觀察資料,分析資料,與資料的儲存位置無關;資料的物理結構是指資料在計算機中存放的結構,即資料的邏輯結構在計算機中的實現形式,所以物理結構也被稱為儲存結構。

    這裡只研究資料的邏輯結構,並將反映和實現資料聯絡的方法稱為資料模型。

    比較流行的資料模型有三種,即按圖論理論建立的層次結構模型和網狀結構模型以及按關係理論建立的關係結構模型。

    2.層次、網狀和關係資料庫系統

    ⑴層次結構模型

    層次結構模型實質上是一種有根結點的定向有序樹(在數學中"樹"被定義為一個無回的連通圖)。下圖是一個高等學校的組織結構圖。這個組織結構影象一棵樹,校部就是樹根(稱為根結點),各系、專業、教師、學生等為枝點(稱為結點),樹根與枝點之間的聯絡稱為邊,樹根與邊之比為1:N,即樹根只有一個,樹枝有N個。

    按照層次模型建立的資料庫系統稱為層次模型資料庫系統。IMS(Information Management System)是其典型代表。

    ⑵網狀結構模型

    按照網狀資料結構建立的資料庫系統稱為網狀資料庫系統,其典型代表是DBTG(Database Task Group)。用數學方法可將網狀資料結構轉化為層次資料結構。

    ⑶ 關係結構模型

    關係式資料結構把一些複雜的資料結構歸結為簡單的二元關係(即二維表格形式)。例如某單位的職工關係就是一個二元關係。

    由關係資料結構組成的資料庫系統被稱為關係資料庫系統。

    在關係資料庫中,對資料的操作幾乎全部建立在一個或多個關係表格上,透過對這些關係表格的分類、合併、連線或選取等運算來實現資料的管理。

    dBASEⅡ就是這類資料庫管理系統的典型代表。對於一個實際的應用問題(如人事管理問題),有時需要多個關係才能實現。用dBASEⅡ建立起來的一個關係稱為一個數據庫(或稱資料庫檔案),而把對應多個關係建立起來的多個數據庫稱為資料庫系統。dBASEⅡ的另一個重要功能是透過建立命令檔案來實現對資料庫的使用和管理,對於一個數據庫系統相應的命令序列檔案,稱為該資料庫的應用系統。

    因此,可以概括地說,一個關係稱為一個數據庫,若干個資料庫可以構成一個數據庫系統。資料庫系統可以派生出各種不同型別的輔助檔案和建立它的應用系統。

    資料庫的發展簡史:

    1 資料庫的技術發展

    使用計算機後,隨著資料處理量的增長,產生了資料管理技術。資料管理技術的發展與計算機硬體(主要是外部儲存器)系統軟體及計算機應用的範圍有著密切的聯絡。資料管理技術的發展經歷了以下四個階段:人工管理階段、檔案系統階段、資料庫階段和高階資料庫技術階段 。

    2 資料管理的誕生

    資料庫的歷史可以追溯到五十年前,那時的資料管理非常簡單。透過大量的分類、比較和表格繪製的機器執行數百萬穿孔卡片來進行資料的處理,其執行結果在紙上打印出來或者製成新的穿孔卡片。而資料管理就是對所有這些穿孔卡片進行物理的儲存和處理。然而,1950 年雷明頓蘭德公司(Remington Rand Inc)的一種叫做Univac I 的計算機推出了一種一秒鐘可以輸入數百條記錄的磁帶驅動器,從而引發了資料管理的革命。1956 年IBM生產出第一個磁碟驅動器—— the Model 305 RAMAC。此驅動器有50 個碟片,每個碟片直徑是2 英尺,可以儲存5MB的資料。使用磁碟最大的好處是可以隨機存取資料,而穿孔卡片和磁帶只能順序存取資料。

    1951: Univac系統使用磁帶和穿孔卡片作為資料儲存。

    資料庫系統的萌芽出現於二十世紀60 年代。當時計算機開始廣泛地應用於資料管理,對資料的共享提出了越來越高的要求。傳統的檔案系統已經不能滿足人們的需要,能夠統一管理和共享資料的資料庫管理系統(DBMS)應運而生。資料模型是資料庫系統的核心和基礎,各種DBMS軟體都是基於某種資料模型的。所以通常也按照資料模型的特點將傳統資料庫系統分成網狀資料庫、層次資料庫和關係資料庫三類。

    最早出現的網狀DBMS,是美國通用電氣公司Bachman等人在1961年開發的IDS(Integrated Data Store)。1964年通用電氣公司(General ElectricCo.)的Charles Bachman 成功地開發出世界上第一個網狀DBMS也即第一個資料庫管理系統——整合資料儲存(Integrated Data Store IDS),奠定了網狀資料庫的基礎,並在當時得到了廣泛的發行和應用。IDS 具有資料模式和日誌的特徵,但它只能在GE主機上執行,並且資料庫只有一個檔案,資料庫所有的表必須透過手工編碼生成。之後,通用電氣公司一個客戶——BF Goodrich Chemical 公司最終不得不重寫了整個系統,並將重寫後的系統命名為整合資料管理系統(IDMS)。

    網狀資料庫模型對於層次和非層次結構的事物都能比較自然的模擬,在關係資料庫出現之前網狀DBMS要比層次DBMS用得普遍。在資料庫發展史上,網狀資料庫佔有重要地位。

    層次型DBMS是緊隨網路型資料庫而出現的,最著名最典型的層次資料庫系統是IBM 公司在1968 年開發的IMS(Information Management System),一種適合其主機的層次資料庫。這是IBM公司研製的最早的大型資料庫系統程式產品。從60年代末產生起,如今已經發展到IMSV6,提供群集、N路資料共享、訊息佇列共享等先進特性的支援。這個具有30年曆史的資料庫產品在如今的WWW應用連線、商務智慧應用中扮演著新的角色。

    1973年Cullinane公司(也就是後來的Cullinet軟體公司),開始出售Goodrich公司的IDMS改進版本,並且逐漸成為當時世界上最大的軟體公司。

    資料庫的關係由來:

    網狀資料庫和層次資料庫已經很好地解決了資料的集中和共享問題,但是在資料獨立性和抽象級別上仍有很大欠缺。使用者在對這兩種資料庫進行存取時,仍然需要明確資料的儲存結構,指出存取路徑。而後來出現的關係資料庫較好地解決了這些問題。

    1970年,IBM的研究員E.F.Codd博士在刊物《Communication of the ACM》上發表了一篇名為“A Relational Model of Data for Large Shared Data Banks”的論文,提出了關係模型的概念,奠定了關係模型的理論基礎。儘管之前在1968年Childs已經提出了面向集合的模型,然而這篇論文被普遍認為是資料庫系統歷史上具有劃時代意義的里程碑。Codd的心願是為資料庫建立一個優美的資料模型。後來Codd又陸續發表多篇文章,論述了正規化理論和衡量關係系統的12條標準,用數學理論奠定了關係資料庫的基礎。關係模型有嚴格的數學基礎,抽象級別比較高,而且簡單清晰,便於理解和使用。但是當時也有人認為關係模型是理想化的資料模型,用來實現DBMS是不現實的,尤其擔心關係資料庫的效能難以接受,更有人視其為當時正在進行中的網狀資料庫規範化工作的嚴重威脅。為了促進對問題的理解,1974年ACM牽頭組織了一次研討會,會上開展了一場分別以Codd和Bachman為首的支援和反對關係資料庫兩派之間的辯論。這次著名的辯論推動了關係資料庫的發展,使其最終成為現代資料庫產品的主流。

    1969年Edgar F.“Ted” Codd發明了關係資料庫。

    1970年關係模型建立之後,IBM公司在San Jose實驗室增加了更多的研究人員研究這個專案,這個專案就是著名的System R。其目標是論證一個全功能關係DBMS的可行性。該專案結束於1979年,完成了第一個實現SQL的 DBMS。然而IBM對IMS的承諾阻止了System R的投產,一直到1980年System R才作為一個產品正式推向市場。IBM產品化步伐緩慢的三個原因:IBM重視信譽,重視質量,儘量減少故障;IBM是個大公司,官僚體系龐大,IBM內部已經有層次資料庫產品,相關人員不積極,甚至反對。

    然而同時,1973年加州大學伯克利分校的Michael Stonebraker和Eugene Wong利用System R已釋出的資訊開始開發自己的關係資料庫系統Ingres。他們開發的Ingres專案最後由Oracle公司、Ingres公司以及矽谷的其他廠商所商品化。後來,System R和Ingres系統雙雙獲得ACM的1988年“軟體系統獎”。

    1976年霍尼韋爾公司(Honeywell)開發了第一個商用關係資料庫系統——Multics Relational Data Store。關係型資料庫系統以關係代數為堅實的理論基礎,經過幾十年的發展和實際應用,技術越來越成熟和完善。其代表產品有Oracle、IBM公司的 DB2、微軟公司的MS SQL Server以及Informix、ADABAS D等等。

    資料庫的發展階段:

    資料庫發展階段大致劃分為如下的幾個階段:人工管理階段、檔案系統階段、資料庫系統階段、高階資料庫階段。

    人工管理階段

    20世紀50年代中期之前,計算機的軟硬體均不完善。硬體儲存裝置只有磁帶、卡片和紙帶,軟體方面還沒有作業系統,當時的計算機主要用於科學計算。這個階段由於還沒有軟體系統對資料進行管理,程式設計師在程式中不僅要規定資料的邏輯結構,還要設計其物理結構,包括儲存結構、存取方法、輸入輸出方式等。當資料的物理組織或儲存裝置改變時,使用者程式就必須重新編制。由於資料的組織面向應用,不同的計算程式之間不能共享資料,使得不同的應用之間存在大量的重複資料,很難維護應用程式之間資料的一致性。

    這一階段的主要特徵可歸納為如下幾點:

    (1)計算機中沒有支援資料管理的軟體,計算機系統不提供對使用者資料的管理功能,應用程式只包含自己要用到的全部資料。使用者編制程式,必須全面考慮好相關的資料,包括資料的定義、儲存結構以即存取方法等。程式和資料是一個不可分割的整體。資料脫離了程式極具無任何存在的價值,資料無獨立性。

    (2)資料不能共享。不同的程式均有各自的資料,這些資料對不同的程式通常是不相同的,不可共享;即使不同的程式使用了相同的一組資料,這些資料也不能共享,程式中仍然需要各自加入這組資料,哪個部分都不能省略。基於這種資料的不可共享性,必然導致程式與程式之間存在大量的重複資料,浪費儲存空間。

    (3)不能單獨儲存資料。在程式中要規定資料的邏輯結構和物理結構,資料與程式不獨立。基於資料與程式是一個整體,資料只為本程式所使用,資料只有與相應的程式一起儲存才有價值,否則毫無用處。所以,所有程式的資料不單獨儲存。資料處理的方式是批處理。

    檔案系統階段:

    這一階段的主要標誌是計算機中有了專門管理資料庫的軟體——作業系統(檔案管理)。

    上世紀50年代中期到60年代中期,由於計算機大容量直接儲存裝置如硬碟、磁鼓的出現,

    推動了軟體技術的發展,軟體的領域出現了作業系統和高階軟體,作業系統中的檔案系統是專門管理外存的資料管理軟體,作業系統為使用者使用檔案提供了友好介面。作業系統的出現標誌著資料管理步入一個新的階段。在檔案系統階段,資料以檔案為單位儲存在外存,且由作業系統統一管理,檔案是作業系統管理的重要資源。

    檔案系統階段的資料管理具有一下幾個特點:

    優點

    (1)資料以“檔案”形式可長期儲存在外部儲存器的磁碟上。由於計算機的應用轉向資訊管理,因此對檔案要進行大量的查詢、修改和插入等操作。

    (2)資料的邏輯結構與物理結構有了區別,程式和資料分離,使資料與程式有了一定的獨立性,但比較簡單。資料的邏輯結構是指呈現在使用者面前的資料結構形式。資料的物理結構是指資料在計算機儲存裝置上的實際儲存結構。程度與資料之間具有“裝置獨立性”,即程式只需用檔名就可與資料打交道,不必關心資料的物理位置。由作業系統的檔案系統提供存取方法(讀/寫)。

    (3)檔案組織已多樣化。有索引檔案、連結檔案和直接存取檔案等。但檔案之間相互獨立、缺乏聯絡。資料之間的聯絡需要透過程式去構造。

    (4)資料不再屬於某個特定的程式,可以重複使用,即資料面向應用。但是檔案結構的設計仍是基於特定的用途,程式基於特定的物理結構和存取方法,因此程度與資料結構之間的依賴關係並未根本改變。

    (5)使用者的程式與資料可分別存放在外儲存器上,各個應用程式可以共享一組資料,實現了以檔案為單位的資料共享檔案系統。

    (7)資料處理方式有批處理,也有聯機實時處理。

    缺點

    檔案系統對計算機資料管理能力的提高雖然起了很大的作用,但隨著資料管理規模的擴大,資料量急劇增加,文價系統顯露出一些缺陷,問題表現在:

    (1)資料檔案是為了滿足特定業務領域某一部門的專門需要而設計,資料和程式相互依賴,資料缺乏足夠的獨立性。

    (2)資料沒有集中管理的機制,其安全性和完整性無法保障,資料維護業務仍然由應用程式來承擔;

    (3)資料的組織仍然是面向程式,資料與程式的依賴性強,資料的邏輯結構不能方便地修改和擴充,資料邏輯結構的每一點微小改變都會影響到應用程式;而且檔案之間的缺乏聯絡,因而它們不能反映現實世界中事物之間的聯絡,加上作業系統不負責維護檔案之間的聯絡,資訊造成每個應用程式都有相對應的檔案。如果檔案之間有內容上的聯絡,那也只能由應用程式去處理,有可能同樣的資料在多個檔案中重複儲存。這兩者造成了大量的資料冗餘。

    (4)對現有資料檔案不易擴充,不易移植,難以透過增、刪資料項來適應新的應用要求。

    資料庫系統階段:

    20世紀60年代後期,隨著計算機在資料管理領域的普遍應用,人們對資料管理技術提出了更高的要求:希望面向企業或部門,以資料為中心組織資料,減少資料的冗餘,提供更高的資料共享能力,同時要求程式和資料具有較高的獨立性,當資料的邏輯結構改變時,不涉及資料的物理結構,也不影響應用程式,以降低應用程式研製與維護的費用。資料庫技術正是在這樣一個應用需求的基礎上發展起來的。

    概括起來,資料庫系統階段的資料管理具有以下幾個特點:

    (1)採用資料模型表示複雜的資料結構。資料模型不僅描述資料本身的特徵,還要描述資料之間的聯絡,這種聯絡透過所有存取路徑。透過所有儲存路徑表示自然的資料聯絡是資料庫與傳統檔案的根本區別。這樣,資料不再面向特定的某個或多個應用,而是面對整個應用系統。如面向企業或部門,以資料為中心組織資料,形成綜合性的資料庫,為各應用共享。

    (2)由於面對整個應用系統使得,資料冗餘小,易修改、易擴充,實現了資料貢獻。不同的應用程式根據處理要求,從資料庫中獲取需要的資料,這樣就減少了資料的重複儲存,也便於增加新的資料結構,便於維護資料的一致性。

    (3)對資料進行統一管理和控制,提供了資料的安全性、完整性、以及併發控制。

    (4)程式和資料有較高的獨立性。資料的邏輯結構與物理結構之間的差別可以很大,使用者以簡單的邏輯結構操作資料而無須考慮資料的物理結構。

    (5)具有良好的使用者介面,使用者可方便地開發和使用資料庫。

    從檔案系統發展到資料庫系統,這在資訊領域中具有里程碑的意義。在檔案系統階段,人們在資訊處理中關注的中心問題是系統功能的設計,因此程式設計占主導地位;而在資料庫方式下,資料開始佔據了中心位置,資料的結構設計成為資訊系統首先關心的問題,而應用程式則以既定的資料結構為基礎進行設計。

    資料庫發展趨勢:

    隨著資訊管理內容的不斷擴充套件,出現了豐富多樣的資料模型(層次模型,網狀模型,關係模型,面向物件模型,半結構化模型等),新技術也層出不窮(資料流,Web資料管理,資料探勘等)。每隔幾年,國際上一些資深的資料庫專家就會聚集一堂,探討資料庫研究現狀,存在的問題和未來需要關注的新技術焦點。過去已有的幾個類似報告包括:1989年Future Directions inDBMS Research-The Laguna BeachParticipants ;1990年DatabaseSystems : Achievements and Opportunities ;1991年W.H. Inmon 發表的《構建資料倉庫》;1995年Database。

    常見資料庫廠商:

    1. SQL Server

    只能在windows上執行,沒有絲毫的開放性,作業系統的系統的穩定對資料庫是十分重要的。Windows9X系列產品是偏重於桌面應用,NT server只適合中小型企業。而且windows平臺的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經考驗,尤其是在處理大資料庫。

    2. Oracle

    能在所有主流平臺上執行(包括 windows)。完全支援所有的工業標準。採用完全開放策略。可以使客戶選擇最適合的解決方案。對開發商全力支援。

    3. Sybase ASE

    能在所有主流平臺上執行(包括 windows)。 但由於早期Sybase與OS整合度不高,因此VERSION11.9.2以下版本需要較多OS和DB級補丁。在多平臺的混合環境中,會有一定問題。

    4. DB2

    能在所有主流平臺上執行(包括windows)。最適於海量資料。DB2在企業級的應用最為廣泛,在全球的500家最大的企業中,幾乎85%以上用DB2資料庫伺服器,而國內到97年約佔5%。

  • 中秋節和大豐收的關聯?
  • 粵語備胎的胎怎麼發音?