數據庫基礎知識
阿新 • • 發佈:2018-12-26
之間 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,同時要求不存在傳遞依賴關系。
數據庫基礎知識