數據庫系統原理的系列章節是基于《數據庫系統原理》的基礎之上,結合自己的心得與體會進行的歸納總結。 由于這些內容都是自己對數據庫相關內容學習的最初理解,因此有所不妥的地方歡迎批評指正。 在此,特別感謝侯迪老師的辛勤教學工作以及很高的個人修養,講課堂內容真的是深入淺出,為人有風格,受益匪淺。 同時,由于實際需要,在實際學習過程中的每次課程的筆記發表在本人CSDN中,賬號為williamyi96。
數據管理技術經歷了三個階段,分別為:
人工管理階段文件系統階段數據庫系統階段由于文件系統的數據記錄之間沒有聯系,同時難以維護數據的完整性,并且較難進行查詢,因此利用了結構化的數據存儲模式,并且提升了數據的安全性以及維護能力的數據庫系統。
就效率而言,顯然數據庫系統具有較高的開發效率,但是文件系統并不是一無是處,其具有較高的運行效率。
數據庫系統與文件系統的本質差異是數據庫系統將數據管理的功能獨立出來了,而不是再依附于應用本身,因此其具有較好的數據共享能力,同時防止了其他應用對數據的惡意操作,提升了數據的安全性。
數據庫是長期儲存在計算機內,有組織的,可共享的大量數據的集合。
由定義可知,數據庫中的數據之間有組織,也就是數據彼此之間相互聯系,同時數據之間可以被多個應用共享。 另外值得注意的是,數據庫中的數據具有最小的冗余度和較高的獨立性。由于數據管理從應用中剝離出來了,因此各個數據管理系統之間的數據采用了集合合并的方式,最大程度地降低了數據的冗余度。同時,正是由于冗余度低,因此數據之間的獨立性高。
數據庫系統是實現有組織、動態地存儲大量相關的結構化數據、方便各類用戶訪問的計算機軟硬件資源的集合。
DBS = DB + DBMS + APP 以上為數據庫系統的核心組成,涉及到諸如以DBMS為核心的開發工具等內容不具體考慮。
其結構為:
DBA + PROGRAMMER + END USER
針對不同的使用對象和應用目的,具有以下三種不同層次的數據模型:
概念模型
邏輯模型
層次模型網狀模型關系模型物理模型
另外還可以根據數據模型的表達方式(面向語法或者是面向語義),數據模型的應用范圍等可以進行多種不同的劃分。
數據都有語法和語義兩個方面的內涵。 數據是符號化的信息,信息是語義化的數據。以股市中的每個時段的股票價值為例,數字本身是數據,而如果構成一幅表征股票價格變動的圖,這就是信息。又如,稱黑白點陣為數據,而稱其構成的圖像則為信息。 數據處理的目的就是要找出有價值的信息。數據處理的過程就是便于更快地找到所需要的信息,來將其作為后期決策的依據。
將數據的定義和操作從應用程序中分離出來,交由數據庫管理系統進行定義和管理時,數據庫管理系統需要采用某種數據結構來定義、存儲要管理的數據。這種數據結構相當于是數據庫管理系統的數據模型。
在構建數據模型時,有概念數據模型和結構數據模型。兩者的本質區別是概念數據模型是面向真實世界的,而結構數據模型是面向計算機世界的。同時,值得注意的是,連接計算機世界與現實世界的橋梁是信息世界。
更為形式化地定義數據模型是:數據模型是規定現實世界數據特征的抽象,是用來描述數據的語法、語義和操作的一組概念組合。
值得注意的是,前兩條與最后一條之間往往是矛盾的,因此我們需要辯證地去思考如何實現數據模型的高效化。
數據模型通常由數據結構、數據操作和完整性約束三部分組成。其中,數據結構式指數據的組織形式,數據操作是指查詢和更新,完整性約束是指規定數據合理正確的限制性條件。
邏輯數據模型典型的有三種(數據模型分類時已經做具體說明,在此不贅述),其中層次模型可以使用樹進行呈現,網狀模型可以用圖進行呈現,而關系模型則可以通過表來進行呈現。各種邏輯模型之間的區別在于數據之間聯系的表示方式不同。
由于網狀模型和層次模型在進行實現時,結構往往較為復雜。因此,關系模型被廣泛地使用。
關于關系模型的具體內容將在第二章中進行詳細介紹。
數據模式是數據模型的實例化。相當于數據模型提供了一個書架,而數據模式是根據這個書架將其填滿了書。
現代數據庫設計中一般采用上述三級模式結構,其中本質的目的是提升物理數據和邏輯數據的獨立性。外模式與模式之間的映射關系提升了邏輯數據的獨立性,同時內模式和模式之間的映射關系提升了物理數據的獨立性。下面以圖書館的書籍管理為例進行說明: 所有書籍的圖書館編號就是模型,其有且僅有一個,而外模式就是根據書籍的不同類別進行分類之后的索引號,外模式與模式之間構成了一種映射; 而內模式就是對應于編號之后的具體的書籍的物理位置,其與模式之間也是一種映射關系;
當我們需要修改數據庫的信息時,無論是修改外模式還是內模式,我們都不需要對內模式進行修改,我們只需要更改對應的映射關系即可。
DBMS提供了數據的定義、操縱、存儲、保護和維護功能。
數據庫管理系統是數據庫系統的核心,由應用程序到數據庫的級聯結構我們可以看到,所有應用程序訪問數據庫的請求都是由數據庫管理系統來處理的。
廣義上來說,各種用戶對數據庫的操作請求有兩類,分別為查詢和更新。其中更新包括“刪”“改”“查”。
數據庫管理系統在執行上述對數據庫的操作時,主要有兩種方式:解釋方法和預編譯方法。解釋方法是將數據庫管理系統作為數據庫的核心成分,同時將每一次的命令都通過數據庫管理系統進行執行;而預編譯則是在運行之前,對將要執行的數據庫語句進行編譯處理,保存為可執行的代碼。隨著數據庫技術的發展,前者已經逐漸被后者取代。
數據目錄時一組關于數據的數據,也被稱之為元數據。
數據目錄的基本功能是將數據庫中的數據進行統一管理,實現大范圍內的數據共享,并且使系統將相關定義和描述進行長期保存。
與一般數據相比,數據目錄只能由系統定義和為系統所有,在初始化時由系統自動生成,而不能夠用SQL之類的語句定義,同時往往相對而言是靜態的。也就是一般定義了數據的組織形式之后一段時間不會發生改變;而一般的數據可以使用SQL之類的語句進行定義,同時往往是動態的,也就是數據庫中的數據可以進行更新。
新聞熱點
疑難解答