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

2021-09-14 08:43:30 字數 1787 閱讀 6842

關係有三種型別:基本表(資料儲存的邏輯表示),查詢表(查詢結果),檢視表(虛的,外模式)

有兩種:查詢(query)操作 與 插入(insert)、刪除(delete)、修改(update)操作

其中查詢:包括選擇(select)、投影(project)、連線(join)、除(divide)、並(union)、差(except)、交(intersection)

操作物件和結果都是集合。

關係的完整性為對關係的某種約束條件,三種:

實體完整性:主屬性不能為空。保證了每個元組是唯一的。

參照完整性規則:由下述,外碼在p中的值只能為空值或c中主碼的值。

使用者自定義完整性:由使用者自己設定約束條件,如某個屬性不能為空等。上兩個是所有資料庫系統都支援的,而使用者定義完整性為自定義

如(1)學生(學號,密碼,專業名)

專業(專業名,代號)

專用名是學生表外碼,是專業錶主碼。關係學生是參照關係,專業是被參照關係。

(2)學生(學號,姓名,班級,班長)

班長是外碼,關係學生即是參照又是被參照關係

關係代數運算子:

五種基本運算:∪、- 、×、σ、π

而∩、÷、

集合運算子:

專門的關係運算子:

等值連線:

自然連線為特殊的等值連線,會自動去重。

懸浮元組:在自然連線中,student表中某些元組的sno可能在sc表中找不到相同的,則該元組就會被捨棄,反過來一樣,這樣的元組即為懸浮元組。

外連線:把懸浮元組也儲存在結果關係中,沒有的屬性列設為空

左外連線:把student懸浮元組也儲存在結果關係中,沒有的屬性列設為空

右外連線:把sc懸浮元組也儲存在結果關係中,沒有的屬性列設為空

r表:

則r÷s演算法:r中不在s中的屬性列為a,a中有4個值

a1的象集:

a2的象集:

a3的象集:

a4的象集:

而s在(b,c)上的投影為,顯然只有a1包含了他,所以除的結果為

一些概念:

一般用σ、π、

σ sdept='cs' (student)
π sname,sdept (student)
π sname(σ pno=5 (course) >< sc >< s)

//簡化一下

π sname(σ pno=5 (course) >< π sno,sname(s))

π sno,cno(sc) ÷ π cno(sc) >
π sno,sage((π sno(sc) - π sno(σ cno=2 (sc)) >< s)
course  ∪ (10,'physics',2,2)
(sc-(4,10,?)∪(4,10,85))

(二)關係型資料庫

是一種建立在關係模型上的資料庫 關係模型,一種建立在關係上的模型 關係模型包含三個方面 關係型資料庫 從需要儲存的資料需求中進行分析,如果是一類資料 實體 應該設計成一張二維表 表 由表頭 欄位名 用來規定資料的名字 和資料部分 實際儲存的資料單元 組成 二維表 行和列 表頭欄位名1 欄位名2 資料...

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

第二章 關聯式資料庫 一 sql 關係代數 關係演算 二 關係 1.域 變數有效範圍 2.笛卡爾乘積 域0x域1x域2x.x域n 1 3.關係 d1xd2xd3.dn的子集,r d1,d2,dn 4.鍵 由乙個或幾個屬性組成 a超鍵 唯一標示元組的屬性集 b候選鍵 無多餘屬性的超鍵 c主鍵 使用者選...

二 關係資料模型

1.關聯式資料庫和關係模式 在關聯式資料庫中,我們用關係來表示實體集和聯絡集,關係通常使用二維表來表示,對應關係名。表的每一列稱為屬性 和er圖中的可以認為是一樣的 每一行可以稱為一條記錄 這裡每個屬性都需要是原子的,這決定了規範的關聯式資料庫中不能有多值屬性和復合屬性。什麼是關係模式?其實關係模式...