1. 程式人生 > >數據庫 chapter 3 關系數據庫標準語言SQL

數據庫 chapter 3 關系數據庫標準語言SQL

統一 需要 路徑 取值 use 操作 每一個 模型 一個表

第三章 關系數據庫標準語言SQL

SQL集數據查詢,數據操縱,數據定義和數據控制功能於一體,主要特點包括:

綜合統一(各個過程各個部分的語言風格統一)

高度非過程化

面向集合的操作方式

以同一種語法結構提供多種使用方式(既可獨立使用,也可以嵌入到高級語言如C程序中)

語言簡潔,易學易用(完成核心功能只用了9個動詞)

技術分享

技術分享

SQL通常不提供修改模式定義、修改視圖定義和修改索引定義的操作。用戶如果想修改這些對象,只能將它們先刪除掉,然後再重建。

SQL同樣支持數據庫三級模式結構(外模式,模式和內模式,模式和內模式為唯一,外模式可不唯一)

技術分享

定義模式

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

基本表的定義、刪除與修改

技術分享

技術分享

技術分享

關系模型中的一個重要概念是域,每一個屬性來自一個域,它的取值必須是域中的值。在SQL中域的概念用數據類型來實現。

技術分享

每一個基本表都屬於某一個模式,一個模式包含多個基本表。定義基本表時定義它所屬的模式共有三種方法:

技術分享

若用戶創建基本表(其他數據庫對象也相同)時沒有指定模式,系統根據搜索路徑來確定該對象所屬的模式。

SHOW search_path; 此語句可以顯示當前搜索路徑。

搜索路徑的當前默認值是:$user. PUBLIC. 含義為首先搜索與用戶名相同的模式名,若不存在,則使用PUBLIC模式。

修改基本表

技術分享

刪除基本表

技術分享

技術分享

技術分享

索引的建立與刪除

建立索引是加快查詢速度de有效手段。用戶可以根據應用環境的需要,在基本表上建立一個或多個索引,以提供多種存取路徑,加快查找速度。

技術分享

技術分享

技術分享

數據查詢

SQL提供了SELECT語句進行數據庫的查詢,其一般格式為:

技術分享

SELECT既可以完成簡單的單表查詢(僅涉及一個表的查詢),也可以完成復雜的連接查詢和嵌套查詢。

技術分享

最後形成一個結果關系作為輸出。

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

取消取值重復的行使用DISTINCT

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

連接查詢:一個查詢同時涉及兩個以上的表,則稱之為連接查詢。

技術分享

技術分享

技術分享

技術分享

自身連接:連接操作不僅可以在兩個表之間進行,也可以是一個表與其自己進行連接,稱為表的自身連接。

技術分享

技術分享

技術分享

技術分享

復合條件連接

WHERE子句中有多個連接條件。

技術分享

技術分享

嵌套查詢

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

相關子查詢是循環查詢,就是先查詢一個父查詢元組,傳入子查詢,再進行父查詢,然後再進行下一個元組(就是子查詢的數值需要父查詢傳入);而不相關子查詢是一次性檢查完子查詢,再進行父查詢。

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

就是屬性列名和值一一對應。

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

技術分享

視圖的作用:

視圖能夠簡化用戶的操作

視圖使用戶能以多種角度看待同一數據

視圖對重構數據庫提供了一定程度的邏輯獨立性

視圖能夠對機密數據提供安全保護

適當的利用視圖可以更清晰的表達查詢

數據庫 chapter 3 關系數據庫標準語言SQL