數據庫知識點總結(一)

數據庫的四個基本概念

1.數據(Data)

描述事務的符號記錄稱爲數據。 數據的含義稱爲語義,數據與其語義是不可分的。

2.數據庫(DataBase,DB)

長期存儲在計算機內,有組織的,可共享的大量數據的集合。

數據庫數據特點:1.永久存儲  2.有組織   3.可共享

3.數據庫管理系統(DataBase Management System,DBMS)

位於用戶與操作系統之間的一層數據管理軟件。數據庫管理系統和操作系統一樣是計算機的基礎軟件。

4.數據庫系統(DataBase System,DBS)

數據庫系統由數據庫(DB),數據庫管理系統(DBMS),應用程序和數據庫管理員(DBA)組成的存儲、管理、處理和維護數據的系統。

數據管理技術的三個階段

1.人工管理階段

特點:數據不保存,應用程序管理數據,數據不共享,不具有獨立性,應用程序管理數據。

2.文件系統階段

特點:數據可以長期保存,由文件系統管理數據,但是數據共享性差,冗餘度大,獨立性差。

3.數據庫系統階段

特點:數據結構化,數據的共享性高,冗餘度低且易擴充,數據獨立性高(包括物理獨立性和邏輯獨立性),數據由數據庫管理系統統一管理和控制。

數據模型是對現實世界數據特徵的抽象數據模型是數據庫系統的核心和基礎

數據模型通常由數據結構,數據操作,數據的完整性約束條件三部分組成。

根據模型應用的不同目的,數據模型可以分爲兩大類,分別屬於兩個不同層次。

1.概念模型

也稱信息模型,主要用於數據庫設計。

概念模型實際上是現實世界到機器世界的一箇中間層次。

概念模型用於信息世界的建模。

信息世界的基本概念:

1.實體:客觀存在並可相互區別的事物。

2.屬性:實體所具有的某一特徵。

3.碼:唯一標識實體的屬性集。

4.實體型:用實體名及其屬性名集合來抽象和刻畫同類實體,稱爲實體型。

5.實體集:同一類型實體的集合。

6.聯繫:實體內部聯繫指組成實體的各屬性間的聯繫,實體間的聯繫可分爲一對一,一對多,多對多三種。

概念模型的表示方法很多,最常用的爲實體-聯繫方法(Entity-Relationship approach),該方法用E-R圖來描述概念模型。E-R方法也成爲E-R模型

2.邏輯模型和物理模型。

邏輯模型主要包括層次模型、網狀模型、關係模型、面向對象模型和對象關係數據模型等。主要用於數據庫管理系統的實現。

物理模型是對數據最底層的抽象。

1.層次模型

概念:有且只有一個結點沒有雙親結點,稱爲根節點。根結點以外的其他結點有且只有一個雙親結點。

IBM公司的IMS數據庫關係系統採用的是層次模型。

優點:1.數據結構簡單清晰,2.查詢效率高,3.良好的完整性支持。

缺點:1.現實世界很多聯繫是非層次的,2.對用戶要求較高,用戶必須清楚所用數據庫的層次結構。

2.網狀模型

概念:允許一個以上的結點無雙親,一個結點可以有多於一個雙親。

優點:1.可以更爲直接的描述現實世界,2.具有良好的性能,存取效率高。

缺點:1.結構比較複雜,且隨着應用環境的擴大,結構會越來越複雜,不利於用戶掌握。

2.網狀數據庫的數據定義語言(DDL)和數據操作語言(DML)比較複雜,要求用戶掌握數據庫結構和存取路徑,不容易使用。

3.關係模型

關係模型是最重要的一種數據模型.

概念:關係模型由關係數據結構,關係操作集合,關係完整性約束三部分組成

在用戶觀點下,關係模型中數據的邏輯結構是一張二維表,它由行和列組成。

關係模型中的一些術語:

1.關係:一個關係對應通常說的一張表。

2.屬性:表中的一列即爲一個屬性。

3.域:屬性的取值範圍。

4.元組:表中的一行即爲一個元組。

5.碼:也稱碼鍵。表中的某個屬性組,它可以唯一確定一個元組。

6.分量:元組中的一個屬性值。

7.關係模式:對關係的描述,一般表示爲 關係名(屬性1,屬性2,…..,屬性n)

關係模型要求關係必須是規範化的,關係的每一個分量必須是一個不可分的 數據項。

關係模型的數據操縱主要包括查詢、插入、刪除和更新數據。

優點:1.關係模型與非關係模型不同,它具有嚴格的數學基礎。

2.概念單一,所以其數據結構簡單,清晰,用戶易懂易用。

3.存取路徑對用戶透明(隱藏),具有更高的數據獨立性,安全保密性,也簡化了程序員的工作和數據庫開發建立的工作。

缺點:最主要的是由於存取路徑對用戶透明,所以查詢效率往往不如非關係數據模型。

——————————————————————————————————————————————————-

模式:數據庫中全體數據的邏輯結構和特徵的描述。

實例:模式的一個具體值。

模式是相對穩定的,實例是相對變動的。

數據庫的三級模式結構是指數據庫是由外模式,模式,內模式三級構成。

外模式:也稱子模式或者用戶模式,是數據庫用戶能夠看見和使用的局部數據的邏輯結構和特徵的描述。

模式:也稱邏輯模式,數據庫中全體數據的邏輯結構和特徵的描述。

內模式:也稱存儲模式,一個數據庫只有一個內模式,它是數據物理結構和存儲方式的描述,是數據在數據庫內部的組織方式。

外模式/模式映像:保證數據與程序的邏輯獨立性,簡稱數據的邏輯獨立性。

模式/內模式映像:保證數據的物理獨立性

數據庫系統的組成:

1.硬件平臺及數據庫

2.軟件

3.人員(數據庫管理員、系統分析員、數據庫設計人員、應用程序猿、最終用戶)

 

關係數據庫系統是支持關係模型的數據庫系統。

關係模型的數據結構非常簡單,只包含單一的數據結構——關係。

在用戶看來,關係模型中數據的邏輯結構是一張扁平的二維表。

關係數據結構的形式化定義

1.域:一組具有相同數據類型的值的集合。

2.笛卡爾積:域上的一種集合運算。一個域允許不同取值個數稱爲這個域的基數

3.關係:D1×D2×…….×Dn的子集叫做所在域D1,D2,…..,Dn上的關係,表示爲R(D1,D2,…..Dn)

這裏R表示關係的名字,n是關係的目或度。

關係中的每個元素是關係的元組,通常用t表示。

n=1時,該關係爲單元關係,或一元關係。

n=2時,爲二元關係。

若關係中的某一屬性組的值能夠唯一地標識一個元組,而其子集不能,則稱該屬性組爲候選碼

若一個關係有多個候選碼,則選定其中一個爲主碼

候選碼的諸屬性稱爲主屬性,不包括在任何候選碼中的屬性稱爲非主屬性,或非碼屬性

在最簡單的情況下,候選碼只包含一個屬性。在最極端的情況下,關係模式的所有屬於是這個的候選碼,稱爲全碼

關係可以有三種類型:基本關係(通常又稱爲基本表或基表)查詢表視圖表

基本表是實際存在的表,查詢表是查詢結果對應的表,視圖表是由基本表和其他視圖表導出的表,是虛表。

基本關係具有以下6個性質:

1、列是同質的,即每一列中的分理是同一類型的數據,來自同一域。

2、不同的列可出自同一個域,稱其中的每一列爲一個屬性,不同的屬性要給予不同的屬性名。

3、列的順序無所謂,即列順序是無關緊要的

4、任意兩個 元組的候選碼不能取相同的值

5、行的順序無所謂,即行的順序可以任意交換。

6、分量必須取原子值,即每一個分量都必須是不可分的數據項

關係的描述稱爲關係模式。它可以形式化的表示爲 R(U,D,DOM,F)
其中R爲關係名、U爲組成關係的屬性名集合、D爲U中屬性所來自的域。DOM是屬性向域的映像集合、F 爲屬性間數據的依賴關係集合

關係模型的關係操作

基本的關係操作

關係模型中常用的關係操作包括查詢、插入、刪除、修改

查詢又可以分爲選擇、投影、連接、除、並、差、交、笛卡爾積等、其中選擇、投影、並、差、笛卡爾積是5 種基本的操作

關係操作的特點是集合操作方式,即操作的對象的結果都是集合

關係模式與關係的區別:關係模式是型,關係是值,是關係模式的實例。

關係模式是對關係的描述,關係是關係模式在某一時刻的狀態或內容。

關係的完整性約束

關係模型中的三類完整性約束:實體完整性、參照完整性和用戶自定義完整性

1.實體完整性

實體完整性規則:若屬性(指一個或一組屬性)A是基本關係R的主屬性,則A不能取空值。

對於實體完整性規則說明如下:

1、實體完整性規則是針對基本表關係而言的。一個基本表通常對應現實世界一個實體集。

2、現實世界中的實體是可區分的。即它們具有某種唯一性標識。

3、相應地,關係模型中以主碼作爲唯一性標識

4、主碼中的屬性即主屬性不能取空值

2.參照完整性

定義: 設F是基本關係R的一個或一組屬性,但不是關係R的碼、K是基本關係S的主碼。如果F與K相對應,則稱爲F是R的外碼,並稱基本關係R爲參照關係,基本關係S爲被參照關係或目標關係。

參照完整性規則:若屬性(或屬性組)F是基本關係R的外碼,它與基本準關係S的主碼K相對應,則對於R中第一個元組F上的值必須:

1、或者取空值

2、或者等於S中某個元組的主碼值

在參照完整性中,如果外碼屬性不是其所在關係的主屬性,外碼屬性的值纔可以取空值。

3.用戶定義完整性

用戶定義的完整性就是針對某一具體關係數據庫的約束條件。

反映某一具體應用所涉及的數據必須滿足的語義要求。

關係代數

1、並(union)

U並S: t屬於U或者屬於S

2、(excepte)

R 差S:t屬於R且不屬於S

3、

R交S:r屬於R且也屬於S

4、笛卡爾積

R笛卡爾S: R中任意與S任意進行組合

專門的關係運算

1、選擇:對行進行操作,

2、投影:對列進行操作

3、連接運算

自然連接:是一種特殊的等值連接,它要求兩個關係中進行比較的分量必須是同名的屬性組,並且在結果中把重複的屬性列去掉。

4.除運算

SQL 結構化查詢語言

特點:1.綜合統一 SQL集數據定義語言、數據操縱語言、數據控制語言的功能於一體,語言風格統一。

2.高度非過程化  只需要提出“做什麼”,無需指明“怎麼做”

3.面向集合的操作方式 不僅操作對象、查找結果可以是元組的集合,而且一次插入、刪除、更新操作的對象也可以是元組的集合。

4.以同一種語法結構提供多種使用方式 SQL既是獨立的語言,又是嵌入式語言。SQL語句可以嵌入到高級語言程序中。

5.語言簡潔,易學易用。

DROP TABLE時,RESTRICT 表示表的刪除是有限制條件的。要刪除的基本表不能被其他表的約束所引用,不能有視圖,不能有觸發器,不能有存儲過程或函數等,如果存在這些依賴該表的對象,則表不能被刪除。

CASCADE表示表的刪除沒有限制條件,在刪除基本表的同時,相關的依賴對象(如視圖)都將被刪除。

數據庫安全性

數據庫完整性

數據庫完整性指數據的正確性和相容性。

實體完整性 檢查主碼是否唯一或者爲空,若是,則拒絕插入或修改。

參照完整性 不一致時1.拒絕操作 2.級聯操作(CASCADE)3.設置爲空值

用戶定義完整性 列值非空,列值唯一,檢查列值是否滿足一個條件表達式(CHECK語句)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章