標籤:rdbms mysql
關聯式資料庫,是建立在關聯式模式基礎上的資料庫,藉助於集合代數等數學概念和方法來處理資料庫中的資料。關聯式模式由關係資料結構、關係操作集合、關係完整性條件約束三部分組成。
1.資料的組織圖:層次模型、網狀模型、關聯式模式。
2.常見的關聯式模式有4種:關聯式模式、實體-關聯式模式、對象關聯式模式、半結構化資料模型(XML)。
3.約束分類:
域約束:資料類型約束;
外鍵約束:參考完整性約束;
主鍵約束:某欄位能唯一標識此欄位所屬的實體,並且不允許為空白,一張表中只能有一個主鍵;
惟一鍵約束:每一行某欄位不允許出現相同值,可以為空白一張表可以有多個惟一鍵;
檢查性約束:約束某欄位不能出現違反常理的數值,MySQL對此支援有限;
4.資料庫邏輯關係:
展示層:表
邏輯層:儲存引擎
物理層:資料檔案
5.資料的儲存和查詢:
儲存管理器:許可權及完整性管理器、交易管理員、檔案管理工具、緩衝區管理器;
查詢管理器:DML解譯器、DDL解譯器、查詢執行引擎;
6.關係運算
投影:只輸出指定欄位
選擇:只輸出合格行
自然串連:兩張表中具有相同名字的屬性上所有取值相同的行串連輸出
笛卡爾乘積:(a+b)*(c+d)=ab+ad+bc+bd
並:兩樣關係彼此之間都有的部分
7.使用程式設計語言如何跟RDBMS互動:
嵌入式SQL:與動態SQL類似,但其語言必須程式編譯時間完全確定下來;
動態SQL:程式設計語言使用函數(mysql_connect())或者方法與RDBMS伺服器建立串連,並進行互動;通過建立串連向SQL伺服器發送查詢語句,並將結果儲存至變數中而後進行處理;
8.MySQL微觀結構
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/71/8C/wKiom1XT4d2jDynjAAFInVqIXRY799.jpg" title="O]T5EK5SIRNEEUFP__KD9MC.png" alt="wKiom1XT4d2jDynjAAFInVqIXRY799.jpg" />
連線管理員:監聽並接受使用者請求;
線程管理器:建立新線程或以線程重用方式給使用者一個響應線程;
使用者模組:檢查使用者串連許可權;
解析器:解析查詢並產生解析樹;
存取控制模組:驗證使用者是否有許可權操作其想操作的對象;
最佳化器:負責建立響應請求時的最佳查詢策略;
表定義模組:表建立、刪除、重新命名、移除、更新或插入之類的操作;
表維護模組:檢查、修改、備份、恢複、最佳化(磁碟重組)及解析;
表管理器:負責建立、讀取或修改表定義檔案,維護表描述符快取,管理表鎖;
9.檔案中記錄組織:表中的每一行在檔案中的儲存方式
堆檔案組織:一條記錄可以放在檔案中的任何地方;
循序檔組織:根據“搜尋碼”值順序存放;
散列檔案組織:對錶的某個欄位或某些欄位做hash運算,根據結果存放在某個散列容器(桶)中;
關係型資料庫理論及MySQL微觀結構