1. 程式人生 > >數據庫基礎知識

數據庫基礎知識

之間 str 上進 其他 要求 存儲結構 傳遞依賴 同時 完成


title: 數據庫基礎知識
toc: true
date: 2018-09-29 08:36:52
categories:

  • Web

tags:

  • 數據庫

數據庫系統

數據庫系統的組成

數據庫系統是由數據庫、數據庫管理系統、支持數據庫運行的軟硬件環境、數據庫應用軟件和數據庫管理員組成的。

  • 數據庫:長期儲存在計算機內、有組織的、可共享的大量數據的集合。
  • 數據庫管理系統:DBMS,管理數據庫的軟件,是用戶和數據庫之間的接口,負責完成各項數據處理操作:數據定義、數據操縱、數據庫運行管理、數據庫的建立和維護。
  • 支持數據庫運行的軟硬件環境:有足夠大的內存來保障數據庫系統的運行,操作系統要提供對數據管理系統的支持等。
  • 數據庫應用軟件:由用戶或第三方軟件公司設計的有特殊用途的應用軟件,實現用戶和數據庫管理系統之間的溝通和交流。例如圖書管理系統等。
  • 數據庫管理員:Database Administrator,DBA,負責建立、管理和維護數據的人員。主要職責包括:定義並存儲數據庫的內容、監督並控制數據庫的使用、負責數據庫的日常維護、必要時重組和改進數據庫。

數據庫的體系結構

數據庫三級模式結構

模式是對數據庫中全部數據的邏輯結構和特征的描述,僅僅涉及到“型”的描述,不涉及具體的值。

數據庫由內模式、模式、外模式三級組成。

技術分享圖片

  • 內模式:又稱為存儲模式,是對數據庫物理結構和存儲方式的描述,是數據在數據庫內部的表示方式。一個數據庫只有一個內模式。
  • 模式:又稱邏輯模式,是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖。
  • 外模式:通常是模式的一個子集,又稱為子模式。外模式面向的是用戶,是用戶眼中的數據庫,所以外模式又稱為用戶視圖。

三級模式之間的映射

  • 外模式/模式間的映射:模式描述的是數據的全局邏輯結構,外模式描述的是數據的局部邏輯結構。對於同一個模式,可以有任意個外模式。對於每個外模式,數據庫系統都有一個外模式/模式之間的映射。
  • 模式/內模式間的映射:數據庫只有唯一的模式和內模式,因此它們之間的映射也是唯一的,這個映射定義了數據庫全局邏輯結構和存儲結構之間的對應關系。

數據模型

概念

數據模型是一種模型,是現實世界數據特征的抽象。

數據模型通常包括數據結構、數據操作和完整性約束三部分。

  • 數據結構:是所研究對象的集合,描述的是數據庫結構的組成、特性和其互相之間的聯系。數據庫系統通常按數據結構的類型來命名數據模型,如關系結構的模型命名為關系模型。
  • 數據操作:數據庫中各種對象的實例允許執行的操作的集合。主要包括檢索和維護兩大類。
  • 完整性約束:為了防止不符合規範的數據進入數據庫,在用戶對數據進行插入、修改、刪除等操作時,DBMS自動按照一定的約束條件對數據進行監測,使不符合規範的數據不能進入數據庫,以確保數據庫中存儲的數據正確、有效、相容。

實體與關系

  • 實體:客觀存在並可相互區分的事物,一個實體可以用若幹屬性來描述。具有相同屬性的實體集合稱為實體集。
  • 關系:有一對一、一對多、多對多三種。

常見的數據模型

  • 層次模型:數據結構是一顆有向樹,特征是:
    • 有且僅有一個結點沒有父結點,即根結點
    • 除了根結點,其他結點有且只有一個父結點
  • 網狀模型:結點間可以任意發生關系,特征是:
    • 可以有一個以上的結點沒有父結點
    • 允許結點有多於一個的父結點
  • 關系模型:用二維表結構表示實體與實體之間的聯系。E-R方法(實體-關系方法)是表示實體與關系的最常用的方法。在E-R圖中:
    • 長方形表示實體
    • 橢圓表示屬性
    • 菱形表示關系
    • 關系與實體間用實線連接,並註明關系的類型

技術分享圖片

技術分享圖片

技術分享圖片

關系數據庫的規範化

為了使數據庫設計更加優化,提出了規範化理論。

關系數據庫必須滿足一定的要求,即滿足不同的範式。

在第一範式(1NF)的基礎上進一步滿足更多要求的稱為第二範式(2NF),以此類推。一般來說,數據庫只要滿足第三範式(3NF)即可。

  • 第一範式(1NF):無重復的列,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重復的屬性。如果出現重復的屬性,就可能需要定義一個新的實體,新的實體由重復的屬性構成。
  • 第二範式(2NF):先滿足1NF,同時要求屬性完全依賴於主鍵
  • 第三範式(3NF):先滿足2NF,同時要求不存在傳遞依賴關系

數據庫基礎知識