資料庫的簡單回顧

2021-08-09 16:23:19 字數 1662 閱讀 6909

sql語言共分為四大類:資料查詢語言dql,資料操縱語言dml,資料定義語言ddl,資料控制語言dcl。

1. 資料查詢語言dql

資料查詢語言dql基本結構是由select子句,from子句,where

子句組成的查詢塊:

select 《欄位名表》

from 《表或檢視名》

where 《查詢條件》

2 .資料操縱語言dml

資料操縱語言dml主要有三種形式:

1) 插入:insert

2) 更新:update

3) 刪除:delete

3. 資料定義語言ddl

資料定義語言ddl用來建立資料庫中的各種物件-----表、檢視、

索引、同義詞、聚簇等如:

表 檢視 索引 同義詞 簇

ddl操作是隱性提交的!不能rollback 

4. 資料控制語言dcl

資料控制語言dcl用來授予或**訪問資料庫的某種特權,並控制

資料庫操縱事務發生的時間及效果,對資料庫實行監視等。

1.第一正規化(確保每列保持原子性)

第一正規化是最基本的正規化。如果資料庫表中的所有字段值都是不可分解的原子值,就說明該資料庫表滿足了第一正規化。

第一正規化的合理遵循需要根據系統的實際需求來定。比如某些資料庫系統中需要用到「位址」這個屬性,本來直接將「位址」屬性設計成乙個資料庫表的字段就行。但是如果系統經常會訪問「位址」屬性中的「城市」部分,那麼就非要將「位址」這個屬性重新拆分為省份、城市、詳細位址等多個部分進行儲存,這樣在對位址中某一部分操作的時候將非常方便。這樣設計才算滿足了資料庫的第一正規化,如下表所示。

上表所示的使用者資訊遵循了第一正規化的要求,這樣在對使用者使用城市進行分類的時候就非常方便,也提高了資料庫的效能。

2.第二正規化(確保表中的每列都和主鍵相關)

第二正規化在第一正規化的基礎之上更進一層。第二正規化需要確保資料庫表中的每一列都和主鍵相關,而不能只與主鍵的某一部分相關(主要針對聯合主鍵而言)。也就是說在乙個資料庫表中,乙個表中只能儲存一種資料,不可以把多種資料儲存在同一張資料庫表中。

比如要設計乙個訂單資訊表,因為訂單中可能會有多種商品,所以要將訂單編號和商品編號作為資料庫表的聯合主鍵,如下表所示。

而如果把這個訂單資訊表進行拆分,把商品資訊分離到另乙個表中,把訂單專案表也分離到另乙個表中,就非常完美了。如下所示。

這樣設計,在很大程度上減小了資料庫的冗餘。如果要獲取訂單的商品資訊,使用商品編號到商品資訊表中查詢即可。

3.第三正規化(確保每列都和主鍵列直接相關,而不是間接相關)

第三正規化需要確保資料表中的每一列資料都和主鍵直接相關,而不能間接相關。

比如在設計乙個訂單資料表的時候,可以將客戶編號作為乙個外來鍵和訂單表建立相應的關係。而不可以在訂單表中新增關於客戶其它資訊(比如姓名、所屬公司等)的字段。如下面這兩個表所示的設計就是乙個滿足第三正規化的資料庫表。

這樣在查詢訂單資訊的時候,就可以使用客戶編號來引用客戶資訊表中的記錄,也不必在訂單資訊表中多次輸入客戶資訊的內容,減小了資料冗餘。

資料庫回顧

一 資料庫設計之模式設計 資料庫模式設計是資料庫邏輯設計的基礎 模式分解包括 1 無損連線 保證依賴關係r可以被分解成的ri恢復 2 保持函式依賴 關係模式的fd集在分解後仍然在資料庫模式中保持不變 3 無損連線加保持函式依賴 上述兩者的綜合 er模型 包括實體,屬性,實體與實體間的聯絡 資料庫設計...

資料庫 mysql oracle 回顧

關係型資料庫三正規化 1 列必須保持原子性,不可分割 2 每行有唯一標識區分 非主屬性 完全依賴 主鍵 3 每一列都 直接依賴 主鍵,而不是 傳遞依賴 主鍵 oracle10g的客戶端和伺服器安裝要在xp相容模式下進行 mysql命令列匯入.sql檔案 mysql u使用者名稱 p密碼 資料庫名 路...

資料庫回顧(代數運算)

屬性和域 每個事物有很多屬性,每個屬性對應的取值範圍叫做域,所有對域都是原子資料 第一正規化1nf 相關名詞 n元關係 r d1,d2,d3.dn 是n元關係,其中關係屬性的個數稱為 元數 元組的個數稱為 基 數 也就是記錄值。候選碼 若關係中某乙個屬性或者屬性組的值可以唯一的標識乙個元組,則稱為候...