結構化數據:即行數據,存儲在關係型數據庫中。可以用二維表結構來邏輯表達實現的數據。任何一列的數據不可再分;任何一列的數據類型相同,且只有一個數據類型;
非結構化數據:無法用二維表結構來邏輯表達實現的數據,指其字段長度可變,一列的數據可以再分;存儲在文件系統中,而不是數據庫中。
數據庫範式:就是一個數據表的數據格式;
第一範式:列不可分,即是結構化數據。
冗餘數據:不同行,但數據相同;
數據庫索引:是一個物理結構,包含表或視圖中一列或多列值生成的鍵,存儲在B樹這個結構中,可以快速有效查找與鍵值關聯的行。
在表中建立索引,然後在索引中找到符合查詢條件的索引值,最後通過保存在索引中的ROWID(相當於頁碼)快速找到表中對應的記錄。
1、TIPS
(1)數據庫系統基本概念
數據受數據類型和取值範圍的約束;
數據庫是一個按數據結構來存儲和管理數據的軟件系統;
數據庫管理系統:管理數據庫,爲數據庫提供數據的定義、建立、維護、查詢和統計等操作功能;
文件系統的數據冗餘度大;文件系統中的數據文件是爲某一特定應用服務;
數據庫系統的數據冗餘度小;
數據庫系統通過DBMS進行數據安全性、完整性、併發控制和數據恢復控制;
DBA數據庫管理員,職責爲:
a、應參與數據庫和應用系統的設計;
b、應參與決定數據庫的存儲結構和存取策略的工作;
c、要負責定義數據的安全性要求和完整性條件;
d、負責監視和控制數據庫系統的運行,負責系統的維護和數據恢復工作;
e、負責數據庫的改進和重組;
數據庫系統的三級數據模式結構:
應用A 應用B 應用C 應用D
外模式 外模式 外模式 (外模式/模式映像)
模式
內模式 (模式/內模式映像)
數據庫
數據庫的三級模式指邏輯模式、外模式(子模式)、內模式(物理模式);
(2)數據模型與概念模型
實體:現實世界中存在的可以相互區分的事物或概念。
實體的特徵稱爲屬性;
實體<——>記錄; 特徵<——>數據項; 文件:同類記錄的集合,是對象的數據表示;
數據模型具有三要素:
a、數據結構:所研究的對象類型的集合;
b、數據操作:對數據庫中各種數據對象允許執行的操作集合;
c、數據約束條件:一組數據完整性規則的集合;
常見的數據模型有三個:層次模型、網狀模型和關係模型;
層次模型:只有一個根結點,有若干個葉結點,結點的雙親是唯一的;
網狀模型:有一個以上的結點沒有雙親;結點可以有多於一個的雙親;
關係:對應一張二維表;
關係模式一般的表示是:關係名(屬性1,屬性2,......);
如學生可表示爲:學生(學號,姓名,性別);
課程可表示爲:課程(課程號,課程名);
學生與課程之間的關係爲:選修(學號,課程號,成績);
關係操作主要包括:增、刪、改、查;
關係模型與非關係模型比較:
a、關係數據模型的概念單一,容易理解;
b、關係數據模型的存取路徑對用戶隱蔽;
c、關係數據模型建立在嚴格的數學基礎之上;
d、關係模型中的數據聯繫是靠數據冗餘實現的;
(3)數據庫系統設計的步驟和方法
數據庫系統設計的目標:建立一個性能良好的、能滿足不同用戶使用要求的、又能被選定的DBMS所接受的數據庫模式。
現實世界中的事物間的聯繫用E-R圖表示。
數據流程圖
數據庫邏輯結構的設計
(4)關係數據庫標準語言SQL
SQL支持三級模式結構:
a、全體基本表構成了數據庫的模式;
b、視圖和部分基本表構成了數據庫的外模式;
c、數據庫的存儲文件和它們的索引文件構成了關係數據庫的內模式;
列級完整性的約束條件(針對屬性值設置的限制條件):
a、NOT NULL或NULL約束。
b、UNIQUE約束。即不允許列中出現重複的屬性值。
c、DEFAULT約束。即默認值約束。
d、check約束。即檢查約束。
表級完整性的約束條件(涉及到多個列的限制條件):
a、UNIQUE約束。
b、PRIMARY KEY約束。保證唯一性和非空性。
c、FOREIGN KEY約束。
索引的作用:
a、使用索引可以明顯加快數據查詢的速度;
b、使用索引可保證數據的唯一性;
c、使用索引可以加快連接速度;
視圖的作用:
a、能簡化用戶的操作;
b、可以對機密的數據提供安全保護;
視圖可以和基本表一樣被查詢。但利用視圖進行數據增、刪、改操作,會受到一定的限制;
組合查詢操作符:
a、UNION:並查詢操作。將結果合併,結果集中會去掉重複行。
b、MINUS:差查詢操作。
c、INTERSECT:交查詢操作。
DISTINCT:去掉重複值操作。即在查詢結果集中去掉重複值。
order by id desc, name asc:表示按id降序排序,若id相同,則按name升序排序。
等值連接是內連接;
左外連接符號: *=;
右外連接符號: =*;
具有授權資格的用戶,如DBA或建表用戶,通過數據控制語言DCL,將授權決定告知數據庫管理系統;
DBMS把授權的結果編譯後存入數據字典中。
當用戶提出操作請求時,系統要在數據字典中查找該用戶的數據操作權限,當用戶擁有該操作權限時才能執行其操作,否則系統將拒絕其操作。
隱含特權:是系統內置權限,是用戶不需要進行授權就可擁有的數據操作權;
系統特權:又稱爲語句特權,它相當於數據定義語句DLL的語句權限;
對象特權:類似於數據操作語言DML的語句權限,它指用戶對數據庫中的表、視圖、存儲過程等對象的操作權限;
(5)
2、PS
(1)數據庫知識圖
(2)
3、Refer to 《數據庫系統原理及應用教程》 第二版