資料庫中數據的定義
Ⅰ 資料庫的定義是什麼
定義:資料庫,電腦系統中存取資料的地方。這些資料通常以某種相關性及順序性存放在磁碟、光碟或磁帶等儲存媒體上。由於資料集中管理,電腦的資源便可由使用者共享,而且資料的保密及處理的一致性更容易達成。
Ⅱ 資料庫的基本概念
就是用來存儲數據的,就相當於外面的倉庫,夠直白吧
Ⅲ 資料庫中數據的三要素是什麼
一般地講,任何一種數據模型都是嚴格定義的概念的集合。這些概念必須能夠精確地描述系統的靜態特性、動態特性和完整性約束條件。因此數據模型通常都是由數據結構、數據操作和完整性約束三個要素組成。
1)數據結構
數據結構用於描述資料庫系統的靜態特性。
數據結構是所研究的對象類型的集合。這些對象是資料庫的組成成分,是與數據類型、內容、性質有關的對象,例如關系模型中的域、屬性、關系等。一旦數據結構定義好之後,一般不發生變化。
2)數據操作
數據操作用於描述資料庫系統的動態特性。
數據操作是指對資料庫中各種對象(型)的實例(值)允許執行的操作的集合,包括操作及有關的操作規則。資料庫主要有查詢和更新(包括插入、刪除、修改)兩大類操作。數據模型必須定義這些操作的確切含義、操作符號、操作規則(如優先順序)以及實現操作的語言。
3)完整性約束
數據的約束條件是一組完整性規則的集合。完整性規則是給定的數據模型中數據及其聯系所具有的制約和儲存規則,用以限定符合數據模型的資料庫狀態以及狀態的變化,以保證數據的正確、有效和相容。在關系模型中,一般關系必須滿足實體完整性和參照完整性兩個條件。
Ⅳ 什麼是資料庫資料庫中的數據有什麼特點
嚴格地說,資料庫是「按照數據結構來組織、存儲和管理數據的倉庫」。在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣「倉庫」,並根據管理的需要進行相應的處理。例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。
J.Martin給資料庫下了一個比較完整的定義:資料庫是存儲在一起的相關數據的集合,這些數據是結構化的,無有害的或不必要的冗餘,並為多種應用服務;數據的存儲獨立於使用它的程序;對資料庫插入新數據,修改和檢索原有數據均能按一種公用的和可控制的方式進行。當某個系統中存在結構上完全分開的若干個資料庫時,則該系統包含一個「資料庫集合」。
Ⅳ sql資料庫中常用的數據類型有什麼
一、整數數據類型:整數數據類型是最常用的數據類型之一。
1、INT(INTEGER)
INT (或INTEGER)數據類型存儲從-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之間的所有正負整數。每個INT 類型的數據按4 個位元組存儲,其中1 位表示整數值的正負號,其它31 位表示整數值的長度和大小。
2、SMALLINT
SMALLINT 數據類型存儲從-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之間的所有正負整數。每個SMALLINT 類型的數據佔用2 個位元組的存儲空間,其中1 位表示整數值的正負號,其它15 位表示整數值的長度和大小。
二、浮點數據類型:浮點數據類型用於存儲十進制小數。浮點數值的數據在SQL Server 中採用上舍入(Round up 或稱為只入不舍)方式進行存儲。
1、REAL數據類型
REAL數據類型可精確到第7 位小數,其范圍為從-3.40E -38 到3.40E +38。 每個REAL類型的數據佔用4 個位元組的存儲空間。
2、FLOAT
FLOAT數據類型可精確到第15 位小數,其范圍為從-1.79E -308 到1.79E +308。 每個FLOAT 類型的數據佔用8 個位元組的存儲空間。 FLOAT數據類型可寫為FLOAT[ n ]的形式。n 指定FLOAT 數據的精度。n 為1到15 之間的整數值。
當n 取1 到7 時,實際上是定義了一個REAL 類型的數據,系統用4 個位元組存儲它;當n 取8 到15 時,系統認為其是FLOAT 類型,用8 個位元組存儲它。
三、二進制數據類型
1、BINARY
BINARY 數據類型用於存儲二進制數據。其定義形式為BINARY( n), n 表示數據的長度,取值為1 到8000 。在使用時必須指定BINARY 類型數據的大小,至少應為1 個位元組。BINARY 類型數據佔用n+4 個位元組的存儲空間。
在輸入數據時必須在數據前加上字元「0X」 作為二進制標識,如:要輸入「abc 」則應輸入「0xabc 」。若輸入的數據過長將會截掉其超出部分。若輸入的數據位數為奇數,則會在起始符號「0X 」後添加一個0,如上述的「0xabc 」會被系統自動變為「0x0abc」。
2、VARBINARY
VARBINARY數據類型的定義形式為VARBINARY(n)。 它與BINARY 類型相似,n 的取值也為1 到8000, 若輸入的數據過長,將會截掉其超出部分。
不同的是VARBINARY數據類型具有變動長度的特性,因為VARBINARY數據類型的存儲長度為實際數值長度+4個位元組。當BINARY數據類型允許NULL 值時,將被視為VARBINARY數據類型。
四、邏輯數據類型
1、BIT:BIT數據類型佔用1 個位元組的存儲空間,其值為0 或1 。如果輸入0 或1 以外的值,將被視為1。 BIT 類型不能定義為NULL 值(所謂NULL 值是指空值或無意義的值)。
五、字元數據類型:字元數據類型是使用最多的數據類型。它可以用來存儲各種字母、數字元號、特殊符號。一般情況下,使用字元類型數據時須在其前後加上單引號』或雙引號」 。
1、CHAR
CHAR 數據類型的定義形式為CHAR[ (n) ]。 以CHAR 類型存儲的每個字元和符號佔一個位元組的存儲空間。n 表示所有字元所佔的存儲空間,n 的取值為1 到8000, 即可容納8000 個ANSI 字元。
若不指定n 值,則系統默認值為1。 若輸入數據的字元數小於n,則系統自動在其後添加空格來填滿設定好的空間。若輸入的數據過長,將會截掉其超出部分。
(5)資料庫中數據的定義擴展閱讀:
SQL包括了所有對資料庫的操作,主要是由4個部分組成:
1、數據定義:這一部分又稱為「SQL DDL」,定義資料庫的邏輯結構,包括定義資料庫、基本表、視圖和索引4部分。
2、數據操縱:這一部分又稱為「SQL DML」,其中包括數據查詢和數據更新兩大類操作,其中數據更新又包括插入、刪除和更新三種操作。
3、數據控制:對用戶訪問數據的控制有基本表和視圖的授權、完整性規則的描述,事務控制語句等。
4、嵌入式SQL語言的使用規定:規定SQL語句在宿主語言的程序中使用的規則。
Ⅵ 資料庫的幾個基本概念,數據,對象,實體,屬性,數據模型
人們把客觀存在的事物以數據的形式存儲到計算機中,經歷了對現實生活中事物特性的認識、概念化到計算機資料庫里的具體表示的逐級抽象過程,即現實世界-概念世界-機器世界三個領域。有時也將概念世界稱為信息世界;將機器世界稱為存儲或數據世界。
一、三個世界
1、現實世界 人們管理的對象存於現實世界中。現實世界的事物及事物之間存在著聯系,這種聯系是客觀存在的,是由事物本身的性質決定的。例如學校的教學系統中有教師、學生、課程,教師為學生授課,學生選修課程並取得成績。
2、概念世界 概念世界是現實世界在人們頭腦中的反映,是對客觀事物及其聯系的一種抽象描述,從而產生概念模型。概念模型是現實世界到機器世界必然經過的中間層次。涉及到下面幾個術語:
實體:我們把客觀存在並且可以相互區別的事物稱為實體。實體可以是實際事物,也可以是抽象事件。如一個職工、一場比賽等。
實體集:同一類實體的集合稱為實體集。如全體職工。注意區分"型"與"值"的概念。如每個職工是職工實體"型"的一個具體"值"。
屬性:描述實體的特性稱為屬性。如職工的職工號,姓名,性別,出生日期,職稱等。
關鍵字:如果某個屬性或屬性組合的值能唯一地標識出實體集中的每一個實體,可以選作關鍵字。用作標識的關鍵字,也稱為碼。如"職工號"就可作為關鍵字。
聯系:實體集之間的對應關系稱為聯系,它反映現實世界事物之間的相互關聯。聯系分為兩種,一種是實體內部各屬性之間的聯系。另一種是實體之間的聯系。
3、機器世界 存入計算機系統里的數據是將概念世界中的事物數據化的結果。為了准確地反映事物本身及事物之間的各種聯系,資料庫中的數據必須有一定的結構,這種結構用數據模型來表示。數據模型將概念世界中的實體,及實體間的聯系進一步抽象成便於計算機處理的方式。
二、E-R模型
E-R模型(實體聯系模型)簡稱E-R圖。它是描述概念世界,建立概念模型的實用工具。E-R圖包括三個要素:
實體(型)――用矩形框表示,框內標注實體名稱。
屬性――用橢圓形表示,並用連線與實體連接起來。
實體之間的聯系――用菱形框表示,框內標注聯系名稱,並用連線將菱形框分別與有關實體相連,並在連線上註明聯系類型。
聯系歸結為三種類型:
1)一對一聯系(1:1)
設A、B為兩個實體集。若A中的每個實體至多和B中的一個實體有聯系,反過來,B中的每個實體至多和A中的一個實體有聯系,稱A對B或B對A是1:1聯系。注意,1:1聯系不一定都是一一對應的關系。可能存在著無對應。如一個公司只有一個總經理,一個總經理不能同時在其它公司再兼任總經理,某公司的總經理也可能暫缺。
2)一對多聯系(1:n)
如果A實體集中的每個實體可以和B中的幾個實體有聯系,而B中的每個實體至我和A中的一個實體有聯系,那麼A對B屬於1:n聯系。如一個部門有多名職工,而一名職工只在一個部門就職,部門與職工屬於一對多的聯系。
3)多對多聯系(m:n)
若實體集A中的每個實體可與和B中的多個實體有聯系,反過來,B中的每個實體也可以與A中的多個實體有聯系,稱A對B或B對A是m:n聯系。如一個學生可以選修多門課程,一門課程由多個學生選修,學生和課程間存在多對多的聯系。
必須強調指出,有時聯系也有屬性,這類屬性不屬於任一實體只能屬於聯系。
三、數據模型簡介
數據模型由三部分組成,即模型結構、數據操作和完整性規則。這里主要介紹模型結構。DBMS所支持的數據模型分為四種:層次模型、網狀模型、關系模型、面向對象模型。其中第四種數據模型目前並未成熟,因此傳統的說法有前三種數據模型。
1、基本層次聯系
層次模型和網狀模型有共同點,可以把它們統稱為格式化模型。基本層次聯系就是包括兩結點和一邊的基本單元,兩個實體間的有向邊代表的基本層次聯系表示一對多的聯系。通常把表示1的實體放在上方,稱為父結點,把表示N的實體放在下面,稱為子結點。
2、層次數據模型
用村形結構表示實體及其之間的聯系的模型稱為層次模型。該模型的實際存儲數據由鏈接指針來體現聯系。特點:有且僅有一個結點無父結點,此結點即為根結點;其它結點有且僅有一個父結點。適合用表示一對多的聯系。
3、網狀模型
用網狀結構表示實體及其之間的聯系的模型稱為網狀模型。允許結點有多於一個的父結點,可以有一個以上的結點無父結點。適合用於表示多對多的聯系。
層次模型和網狀模型從本質上都是一樣的。存在的缺陷:難以實現系統擴充,插入或刪除數據時,涉及到大量鏈接指針的調整。
Ⅶ 資料庫定義
定義1
嚴格地說,資料庫是「按照數據結構來組織、存儲和管理數據的倉庫」。在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的「倉庫」,並根據管理的需要進行相應的處理。例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。 J.Martin給資料庫下了一個比較完整的定義:資料庫是存儲在一起的相關數據的集合,這些數據是結構化的,無有害的或不必要的冗餘,並為多種應用服務;數據的存儲獨立於使用它的程序;對資料庫插入新數據,修改和檢索原有數據均能按一種公用的和可控制的方式進行。當某個系統中存在結構上完全分開的若干個資料庫時,則該系統包含一個「資料庫集合」。
定義2
資料庫是依照某種數據模型組織起來並存放二級存儲器中的數據集合。這種數據集合具有如下特點:盡可能不重復,以最優方式為某個特定組織的多種應用服務,其數據結構獨立於使用它的應用程序,對數據的增、刪、改和檢索由統一軟體進行管理和控制。從發展的歷史看,資料庫是數據管理的高級階段,它是由文件管理系統發展起來的。
定義3
(伯爾尼公約議定書專家委員會的觀點) 所有的信息(數據率檔)的編纂物,不論其是以印刷形式,計算機存儲單元形式,還是其它形式存在,都應視為「資料庫」。 數字化內容選擇的原因有很多,概括起來主要有: (1)存儲空間的原因。數字化的產品是通過網路被廣大用戶存取利用,而大家都知道數字化產品是存放在磁碟陣列上的,磁碟陣列由伺服器來管理,磁碟空間是有限的,伺服器的能力也是有限的,不可能無限量地存入數字資源,這就需要我們對文獻資源數字化內容進行選擇。 (2)解決數字化生產高成本和圖書館經費有限性之間矛盾的需要。幾乎沒有圖書館有充足的資源來對整個館藏進行數字化,內容選擇不可避免。 (3)數字資源管理的需要。技術的快速發展使數字化項目所生成的數字資源的生命周期越來越短,投入巨資進行數字遷移是延長數字資源生命的1個重要途徑,昂貴的維護成本就必須考慮數字化的內容選擇。 資料庫發展史資料庫技術從誕生到現在,在不到半個世紀的時間里,形成了堅實的理論基礎、成熟的商業產品和廣泛的應用領域,吸引越來越多的研究者加入。資料庫的誕生和發展給計算機信息管理帶來了一場巨大的革命。三十多年來,國內外已經開發建設了成千上萬個資料庫,它已成為企業、部門乃至個人日常工作、生產和生活的基礎設施。同時,隨著應用的擴展與深入,資料庫的數量和規模越來越大,資料庫的研究領域也已經大大地拓廣和深化了。30年間資料庫領域獲得了三次計算機圖靈獎(C.W. Bachman,E.F.Codd, J.Gray),更加充分地說明了資料庫是一個充滿活力和創新精神的領域。就讓我們沿著歷史的軌跡,追溯一下資料庫的發展歷程。 傳統上,為了確保企業持續擴大的IT系統穩定運行,一般用戶信息中心往往不僅要不斷更新更大容量的IT運維軟硬體設備,極大浪費企業資源;更要長期維持一支由資料庫維護、伺服器維護、機房值班等各種維護人員組成的運維大軍,維護成本也隨之節節高升。為此,企業IT決策者開始思考:能不能像擰水龍頭一樣按需調節的使用IT運維服務?而不是不斷增加已經價格不菲的運維成本。
定義4
資料庫(DataBase,DB)是一個長期存儲在計算機內的、有組織的、有共享的、統一管理的數據集合。她是一個按數據結構來存儲和管理數據的計算機軟體系統。資料庫的概念實際包括兩層意思: (1)資料庫是一個實體,它是能夠合理保管數據的「倉庫」,用戶在該「倉庫」中存放要管理的事務數據,「數據」和「庫」兩個概念結合成為資料庫。 (2)資料庫是數據管理的新方法和技術,他能更合適的組織數據、更方便的維護數據、更嚴密的控制數據和更有效的利用數據。
Ⅷ 資料庫 名詞解釋
資料庫的概念:
資料庫(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)用戶的程序與數據可分別存放在外存儲器上,各個應用程序可以共享一組數據,實現了以文件為單位的數據共享文件系統。
(6)對數據的操作以記錄為單位。這是由於文件中只存儲數據,不存儲文件記錄的結構描述信息。文件的建立、存取、查詢、插入、刪除、修改等操作,都要用程序來實現。
(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%。