資料庫學習筆記二( 關聯式資料庫)

2021-06-20 16:17:30 字數 1717 閱讀 8955

第二章

關聯式資料庫

一、sql

關係代數+關係演算

二、關係

1.域:變數有效範圍

2.笛卡爾乘積:域0x域1x域2x...x域n-1

3.關係:d1xd2xd3..dn的子集,r(d1,d2,...,dn)

4.鍵:由乙個或幾個屬性組成

a超鍵:唯一標示元組的屬性集

b候選鍵:無多餘屬性的超鍵

c主鍵:使用者選作元組表示的乙個候選鍵

d外來鍵:非本關係的主鍵

5.關係性質

a不同的列可以出自乙個同乙個域,每乙個列為乙個屬性

b列的順序可以任意交換

c任意兩個元組不能完全相同

d 行順序可以任意交換

e分量原子性:事務的執行要麼成功執行,要麼全身而退,什麼都不執行。

三、關係模式

模式名、屬性名、值網域名稱、模式主鍵

四、關係代數運算子

並u、廣義笛卡爾積x、連線∞、大於等於≥等於=;

差-、選擇σ、除÷、小於《不等於≠;

交∩、投影π、大於﹥、小於等於≤;

非┐、與λ、或v

五、廣義笛卡爾乘積

r:k1元組,s:k2元組;rxs有k1xk2元組。

六、選擇:σ_f(r)=

投影:π_=

連線:r∞s=

自然連線,在連線中把重複屬性去掉

除法:(r÷s):r中所有有s屬性的元組的剩餘屬性集。

假設有兩個關係,r(a,b,c)和t(b,c),r中有所有t中(b,c)元組對應的a。

使用投影、笛卡爾積和集合的差,表示r÷t

r÷t = πa(r) - πa[ πa(r) × t – r ] 

sql: 

select a from r 

minus( 

select a from( 

select * from (select a from r), t 

minus 

select * from r ) )

七、舉例

資料庫三個關係:

學生(學號、姓名、性別、年齡、專業)

課程(課程號、課程名、學分、先行課程號)

成績(學號、課程號、成績)

1、所有年齡小於20的學生

σ_(學生)

2、查詢所有女學生的姓名和年齡

π_(σ_(學生))

3、選修課為c2或c4的學生學號

π_(σ_(成績))

4、不作為其他課程先行課程的課程號

π_(課程)-π_(課程)

5、查詢計算機專業和機械專業學生的情況

(σ_(學生))u(σ_(學生))

6、包括學生學號、課程名稱、學分和成績的學生成績單

π_(課程∞成績)

7、查詢選修課程為c2的學生學號與姓名

π_(σ_(學生∞成績))

8、查詢不選課為c2的學生姓名與年齡

π_(學生)-π_(σ_(學生∞成績))

9、查詢課程名為資料庫的學生及學號

π_(π_(σ_(課程))∞成績)∞π_(學生)

10、查詢選修全部課程的學生名單

π_(π_(成績)÷π_(課程))∞π_(學生)

11、查詢先行課程包括了作業系統課程先行課程的課程號

π_÷π_(σ_(課程))

12、查詢所有學科均包含學生s3所學課程的學生學號及姓名

π_(學生)∞π_(成績)÷π_(σ_(成績))

《資料庫原理與應用》學習筆記(二) 關聯式資料庫

關係資料模型 使用者看來關係模型中資料的邏輯結構是一張二維表,從集合論角度給出關係資料的形式化定義 1 域 一組具有相同資料型別的值的集合 2 笛卡爾積 是域上的一種集合運算 3 關係 笛卡爾積的子集 關係的操作集合 選擇,投影,連線,除,並,交,差等運算 交,並,差,笛卡爾積 關係的完整性約束 1...

資料庫學習筆記 關聯式資料庫

關係模型由關係資料結構,關係操作集合,關係完整性約束三部分組成 基數 m 候選碼 某一屬性值能唯一確定乙個元組 全碼 關係模型中所有屬性組都是候選碼 外碼 r的乙個屬性f是s的主碼,稱f為r的外碼 r為參照關係,s為被參照關係 外碼取空值表示尚不存在,不取空值表示是另乙個表的主碼值。分量必須取原子值...

資料庫學習(二) 關係模型

關係有三種型別 基本表 資料儲存的邏輯表示 查詢表 查詢結果 檢視表 虛的,外模式 有兩種 查詢 query 操作 與 插入 insert 刪除 delete 修改 update 操作 其中查詢 包括選擇 select 投影 project 連線 join 除 divide 並 union 差 ex...