一:資料庫設計之模式設計
資料庫模式設計是資料庫邏輯設計的基礎;
模式分解包括:
1>無損連線:保證依賴關係r可以被分解成的ri恢復;
2>保持函式依賴:關係模式的fd集在分解後仍然在資料庫模式中保持不變;
3>無損連線加保持函式依賴:上述兩者的綜合;
er模型:包括實體,屬性,實體與實體間的聯絡;
資料庫設計的原則:實體盡可能少,能作為屬性的就不要作為實體。
資料字典包括:資料項,資料結構,資料流,資料儲存,資料處理。
二:資料庫上的索引結構
1>順序索引結構三:查詢優化(1)密集索引:查詢索引項,跟蹤指標即可;
(2)稀疏索引:一般情況為塊的第乙個建立索引項;
(3)多級索引:索引上再加索引;
2>輔助索引:無序,索引只能用密集索引;如果有重複的鍵值,就利用間接桶,節省空間。
3>倒排索引:應用於文件檢索,與輔助索引思想類似,為每個檢索詞建立間接桶;
4>b+樹索引:所有節點格式相同,n個關鍵字,n+1個指標;適用於主索引也適用於輔助索引;查詢時,從根節點開始沿指標一直到達葉子節點,然後順序查詢;
5>雜湊索引:利用hash的思想簡歷索引;利用率在50%~80%之間最好; 對於檔案增長可採用動態雜湊表方法解決:包括:可擴充套件雜湊表(成倍增加桶的個數) 線性雜湊表( 線性增加)
1>語法分析:構造語法分析樹(根據sql語句生成)
2>初始邏輯計畫生成:將語法分析樹轉化為邏輯表示式樹---邏輯查詢計畫
3>查詢重寫:將初始查詢計畫轉化為優化的邏輯查詢計畫
4>查詢計畫代價估計:中間關係代價估計,i/o代價估計,物理查詢計畫生成;
5>物理查詢計畫選擇
四:資料庫恢復
資料庫保護通過四方面來體現:
1>資料庫的恢復技術;
2>併發控制技術;
3>完整性控制技術;
4>安全性控制技術;
事務的acid性質(atomicity,consistency,isolation,durability):
原子性:事務要麼都做要麼都不做;
一致性:事務的結果必須讓資料庫從乙個一致性狀態到另乙個一致性狀態;
隔離性:多個併發事務之間要相互隔離;
永續性:事務一旦被提交,資料庫的改變就是永久性的;
日誌恢復:undo日誌,redo日誌,undo/redo日誌;
五:併發控制:通過鎖進行控制,分為slock(share lock)和xlock(寫鎖)update lock,多粒度鎖;
資料庫 mysql oracle 回顧
關係型資料庫三正規化 1 列必須保持原子性,不可分割 2 每行有唯一標識區分 非主屬性 完全依賴 主鍵 3 每一列都 直接依賴 主鍵,而不是 傳遞依賴 主鍵 oracle10g的客戶端和伺服器安裝要在xp相容模式下進行 mysql命令列匯入.sql檔案 mysql u使用者名稱 p密碼 資料庫名 路...
資料庫的簡單回顧
sql語言共分為四大類 資料查詢語言dql,資料操縱語言dml,資料定義語言ddl,資料控制語言dcl。1.資料查詢語言dql 資料查詢語言dql基本結構是由select子句,from子句,where 子句組成的查詢塊 select 欄位名表 from 表或檢視名 where 查詢條件 2 資料操縱...
資料庫回顧(代數運算)
屬性和域 每個事物有很多屬性,每個屬性對應的取值範圍叫做域,所有對域都是原子資料 第一正規化1nf 相關名詞 n元關係 r d1,d2,d3.dn 是n元關係,其中關係屬性的個數稱為 元數 元組的個數稱為 基 數 也就是記錄值。候選碼 若關係中某乙個屬性或者屬性組的值可以唯一的標識乙個元組,則稱為候...