一 資料庫基本理論知識

2021-06-12 06:55:53 字數 3489 閱讀 9245

所謂資料就是描述事物的符號.在我們的日常生活中,資料無所不,在數字、文字、圖表、圖象、聲音等都是資料。人們通過資料來認識世界,交流資訊。

資料庫,顧名思義,就是資料存放的地方。在計算機中,資料庫是資料和資料庫物件的集合。所謂資料庫物件是指表(table)、檢視(view)、儲存過程(stored procedure)、觸發器(trigger) 等。這些資料庫物件將在以後的章節中介紹。

資料庫管理系統是用於管理資料的計算機軟體。資料庫管理系統使使用者能方便地定義和操縱資料,維護資料的安全性和完整性,以及進行多使用者下的併發控制和恢復資料庫。

資料庫系統狹義地講是由資料庫、資料庫管理系統和使用者構成、廣義地講是由計算機硬體、作業系統、資料庫管理系統以及在它支援下建立起來的資料庫、應用程式、使用者和維護人員組成的乙個整體。

資料庫這一概念提出後,先後出現了幾種資料模型。其中基本的資料模型有三種:層次模型系統、網路模型系統、和關係模型系統。60 年代末期提出的關係模型具有資料結構簡單靈活、易學易懂且具有雄厚的數學基礎等特點,從70 年代開始流行,發展到現在已成為資料庫的標準。目前廣泛使用的資料庫軟體都是基於關係模型的關聯式資料庫管理系統。

關係模型把世界看作是由實體(entity)和聯絡(relationship)構成的。

所謂實體就是指現實世界中具有區分與其它事物的特徵或屬性並與其它實體有聯絡的物件。在關係模型中實體通常是以表的形式來表現的。表的每一行描述實體的乙個例項,表的每一列描述實體的乙個特徵或屬性。

所謂聯絡就是指實體之間的關係,即實體之間的對應關係。聯絡可以分為三種:

·一對一的聯絡。如:乙個人只有一種性別,乙個人→性別為一對一的聯絡;

·一對多的聯絡。如:相同性別的人有許多個,性別→人為一對多的聯絡;

·多對一的聯絡。如:很多人有同乙個性別,人→性別為多對一的聯絡。

通過聯絡就可以用乙個實體的資訊來查詢另乙個實體的資訊。

關係模型把所有的資料都組織到表中。表是由行和列組成的,行表示資料的記錄,列表示記錄中的域。表反映了現實世界中的事實和值。

所謂關聯式資料庫就是基於關係模型的資料庫。

1、關聯式資料庫管理系統(rdbms)

·關聯式資料庫管理系統就是管理關聯式資料庫的計算機軟體。

2、關鍵字(key)

關鍵字是關係模型中的乙個重要概念,它是邏輯結構,不是資料庫的物理部分。

·侯選關鍵字(candidate key)

如果乙個屬性集能惟一地標識表的一行而又不含多餘的屬性,那麼這個屬性集稱為侯選關鍵字。

·主關鍵字(primary key)

主關鍵字是被挑選出來,作表的行的惟一標識的侯選關鍵字。乙個表只有乙個主關鍵字。主關鍵字又可以稱為主鍵。

·公共關鍵字(common key)

在關聯式資料庫中,關係之間的聯絡是通過相容或相同的屬性或屬性組來表示的。如果兩個關係中具有相容或相同的屬性或屬性組,那麼這個屬性或屬性組被稱為這兩個關係的公共關鍵字。

·外關鍵字(foreign key)

如果公共關鍵字在乙個關係中是主關鍵字,那麼這個公共關鍵字被稱為另乙個關係的外關鍵字。由此可見,外關鍵字表示了兩個關係之間的聯絡。以另乙個關係的外關鍵字作主關鍵字的表被稱為主表,具有此外關鍵字的表被稱為主表的從表。外關鍵字又稱作外來鍵。

資料庫中的表與我們日常生活中使用的**類似,它也是由行(row) 和列(column)組成的。圖3-1 中黑底白字的部分稱為行,圖3-2 中黑底白字的部分稱為列。列由同類的資訊組成,每列又稱為乙個字段,每列的標題稱為欄位名。行包括了若干列資訊項。一行資料稱為乙個或一條記錄,它表達有一定意義的資訊組合。乙個資料庫表由一條或多條記錄組成,沒有記錄的表稱為空表。每個表中通常都有乙個主關鍵字,用於惟一地確定一條記錄,

索引是根據指定的資料庫表列建立起來的順序。它提供了快速訪問資料的途徑,並且可監督表的資料,使其索引所指向的列中的資料不重複。

檢視看上去同表似乎一模一樣,具有一組命名的字段和資料項,但它其實是乙個虛擬的表,在資料庫中並不實際存。在檢視是由查詢資料庫表產生的,它限制了使用者能看到和修改的資料。由此可見,檢視可以用來控制使用者對資料的訪問,並能簡化資料的顯示,即通過檢視只顯示那些需要的資料資訊。

在sql server 中圖表其實就是資料庫表之間的關係示意圖。利用它可以編輯表與表之間的關係

預設值是當在表中建立列或插入資料時,對沒有指定其具體值的列或列資料項賦予事先設定好的值。

規則是對資料庫表中資料資訊的限制。它限定的是表的列。

觸發器是乙個使用者定義的sql 事務命令的集合。當對乙個表進行插入、更改、刪除時,這組命令就會自動執行。

儲存過程是為完成特定的功能而匯集在一起的一組sql 程式語句,經編譯後儲存在資料庫中的sql 程式。

構造資料庫必須遵循一定的規則。在關聯式資料庫中,這種規則就是正規化。正規化是符合某一種級別的關係模式的集合。關聯式資料庫中的關係必須滿足一定的要求,即滿足不同的正規化。目前關聯式資料庫有六種正規化:第一正規化(1nf)、第二正規化(2nf)、第三正規化(3nf)、第四正規化(4nf)、第五正規化(5nf)和第六正規化(6nf)。滿足最低要求的正規化是第一正規化(1nf)。在第一正規化的基礎上進一步滿足更多要求的稱為第二正規化(2nf),其餘正規化以次類推。一般說來,資料庫只需滿足第三正規化(3nf)就行了。下面我們舉例介紹第一正規化(1nf)、第二正規化(2nf)和第三正規化(3nf)。

在任何乙個關聯式資料庫中,第一正規化(1nf)是對關係模式的基本要求,不滿足第一正規化(1nf)的資料庫就不是關聯式資料庫。

所謂第一正規化(1nf)是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現重複的屬性,就可能需要定義乙個新的實體,新的實體由重複的屬性構成,新實體與原實體之間為一對多關係。在第一正規化(1nf)中表的每一行只包含乙個例項的資訊。例如,對於圖3-2 中的員工資訊表,不能將員工資訊都放在一列中顯示,也不能將其中的兩列或多列在一列中顯示;員工資訊表的每一行只表示乙個員工的資訊,乙個員工的資訊在表中只出現一次。簡而言之,第一正規化就是無重複的列。

第二正規化(2nf)是在第一正規化(1nf)的基礎上建立起來的,即滿足第二正規化(2nf)必須先滿足第一正規化(1nf)。第二正規化(2nf)要求資料庫表中的每個例項或行必須可以被惟一地區分。為實現區分通常需要為表加上乙個列,以儲存各個例項的惟一標識。如

圖3-2 員工資訊表中加上了員工編號(emp_id)列,因為每個員工的員工編號是惟一的,因此每個員工可以被惟一區分。這個惟一屬性列被稱為主關鍵字或主鍵、主碼。

第二正規化(2nf)要求實體的屬性完全依賴於主關鍵字。所謂完全依賴是指不能存在僅依賴主關鍵字一部分的屬性,如果存在,那麼這個屬性和主關鍵字的這一部分應該分離出來形成乙個新的實體,新實體與原實體之間是一對多的關係。為實現區分通常需要為表加上乙個列,以儲存各個例項的惟一標識。簡而言之,第二正規化就是非主屬性非部分依賴於主關鍵字。

滿足第三正規化(3nf)必須先滿足第二正規化(2nf)。簡而言之,第三正規化(3nf)要求乙個資料庫表中不包含已在其它表中已包含的非主關鍵字資訊。例如,存在乙個部門資訊表,其中每個部門有部門編號(dept_id)、部門名稱、部門簡介等資訊。那麼在圖3-2

的員工資訊表中列出部門編號後就不能再將部門名稱、部門簡介等與部門有關的資訊再加入員工資訊表中。如果不存在部門資訊表,則根據第三正規化(3nf)也應該構建它,否則就會有大量的資料冗餘。簡而言之,第三正規化就是屬性不依賴於其它非主屬性。

資料庫理論知識點 一

1.1 資料庫庫系統概述 機器世界的資料模型 按計算機系統的觀點來組織資料,主要是描述資料的結構約束,而非資料本身的內涵 資訊世界的基本概念 聯絡 概念模型的表示方法 邏輯模型 常用邏輯模型 關係模型 值 模式外模式 內模式 資料庫系統的兩級映像 bscs 分布式結構 地理上分散,邏輯上集中的資料庫...

一些資料庫理論知識

1.資料庫事務 事務隔離級別 悲觀鎖 樂觀鎖等概念。2.資料庫acid特徵 atomic 原子性 指整個資料庫事務是不可分割的工作單元。consistency 一致性 指資料庫事務不能破壞關係資料的完整性以及業務邏輯上的一致性。isolation 隔離性 指的是在併發環境中,當不同的事務同時操縱相同...

資料庫事務相關理論知識

儲存結構 序列化排程 隔離級別及實現方式 併發控制 事務 transaction 是構成單一邏輯工作單元的操作集合。是訪問並可能更新各種資料項的乙個程式執行單元。原子性 atomicity 事務操作在資料庫中要麼全部正確反映出來,要麼完全不反映。一致性 consistency 隔離執行事務時,保持資...