外貿(mào)商城網(wǎng)站網(wǎng)站建設(shè)合同模板
關(guān)系型數(shù)據(jù)庫
- 緒論
- 概念間的關(guān)系
- 數(shù)據(jù)庫的歷史
- 信息和數(shù)據(jù)
- 數(shù)據(jù)模型
- 關(guān)系模型
- 數(shù)據(jù)結(jié)構(gòu)
- 關(guān)系完整性
- 關(guān)系操作
- 語言
- 關(guān)系代數(shù)語言
緒論
概念間的關(guān)系
數(shù)據(jù)->數(shù)據(jù)庫->數(shù)據(jù)庫管理系統(tǒng)->數(shù)據(jù)庫系統(tǒng)
數(shù)據(jù)庫的歷史
人工管理階段 -> 文件系統(tǒng)階段 -> 數(shù)據(jù)庫系統(tǒng)階段
數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu):三級模式、二級映射
- 外模式:用戶
- [概念]模式
- 內(nèi)模式:數(shù)據(jù)庫的物理存儲
信息和數(shù)據(jù)
信息抽象于現(xiàn)實(shí),可用E-R圖描述,包括:
- 實(shí)體 entity :具體的事物 或 抽象概念 或 他們之間的聯(lián)系
- 實(shí)體集 entity set
- 屬性 attribute
- 屬性域 domain :屬性的取值范圍
- 碼 key :唯一標(biāo)識實(shí)體的屬性(集)
- 實(shí)體型 entity type
- 聯(lián)系 relationship
不同實(shí)體型之間有三種聯(lián)系:1:1,1:n,m:n (可以沒有)
數(shù)據(jù)由信息轉(zhuǎn)化,對應(yīng)計算機(jī),包括:
- 字段 field 或數(shù)據(jù)項 data item:標(biāo)記實(shí)體的屬性
- 記錄 record
- 記錄型
- 文件
- 碼 key
數(shù)據(jù)模型
分類:層次模型 hierarchical model ,網(wǎng)狀模型 network model,關(guān)系模型 relational model ,面向?qū)ο髷?shù)據(jù)模型 object oriented data model ,對象關(guān)系數(shù)據(jù)模型,半結(jié)構(gòu)化數(shù)據(jù)模型等
操作:增刪改查
數(shù)據(jù)結(jié)構(gòu):
- 碼、主關(guān)鍵字 primary key:唯一標(biāo)識
- 域 domain
- 行=元組 tuple =記錄
- 列=屬性 attribute =字段
- 主屬性包括主碼、候選碼
- 分量
完整性約束:實(shí)體完整性、參照完整性、用戶定義完整性(用戶自定義域)
關(guān)系模型
描述:關(guān)系名(屬性1,屬性2,……屬性n)
關(guān)系的每一個分量必須是不可分的數(shù)據(jù)項
數(shù)據(jù)結(jié)構(gòu)
- 域 domain
值域,表示屬性的取值范圍
域中所包含的值的個數(shù)稱域的基數(shù)(m) - 笛卡爾積 cartesian product
D 1 × D 2 = { ( d 1 , d 2 ) ∣ d i ∈ D i } D_1\times D_2=\{(d_1,d_2)|d_i\in D_i\} D1?×D2?={(d1?,d2?)∣di?∈Di?}
( d 1 , d 2 ) (d_1,d_2) (d1?,d2?)為 [二]元組,其中的每一個值叫做分量
笛卡爾積的基數(shù)是各域的基數(shù)之積 - 關(guān)系 relation
笛卡爾積的子集叫在域D1,…Dn上的關(guān)系,表示為 R ( D 1 , D 2 , . . . , D n ) R(D_1,D_2,...,D_n) R(D1?,D2?,...,Dn?)
R是關(guān)系的名字,n是關(guān)系的目或度
若關(guān)系中,某一屬性組的值能唯一地標(biāo)識一個元組,而其子集不能,則稱候選碼,候選碼的諸屬性稱為主屬性。候選碼可只包含一個屬性,也可能包含全部屬性,此時稱為全碼。
從候選碼中選出一個來作為主碼,主碼也可以是多個屬性共同構(gòu)成的。
外部碼,在本關(guān)系中不是碼,但是其他某一關(guān)系的碼。
笛卡爾積沒有意義,其子集才有意義。關(guān)系必須是有限集合。
關(guān)系可有:基本表(實(shí)際)、查詢表、視圖表(虛表)
關(guān)系完整性
- 實(shí)體完整性 entity integrity
主屬性不能取空 - 參照完整性 referential integrity
屬性F是關(guān)系R的屬性但不是R的碼,K是關(guān)系S的主碼,F與K定義在同一個域上(相對應(yīng)),則F是R的外部碼,R是參照關(guān)系,S是被參照關(guān)系(目標(biāo)關(guān)系),R中任一元組在F上的值為:F=S中某個元組的K值 或 空值 - 用戶定義完整性 user-defined integrity
用戶自定義域
關(guān)系操作
增刪改查
查詢包括:選擇、投影、連接、除、并、差、交、笛卡爾積
標(biāo)粗的是基本操作,其他操作可以用五種基本操作來定義和導(dǎo)出
語言
- 關(guān)系代數(shù)語言 relational algebra 查詢 ISBL
- 關(guān)系演算語言 relational calculus 查詢 元組演算:ALPHA 域演算:QBE
- 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言 SQL(structured query language) 更加強(qiáng)大
只需要給出查詢,不需要考慮如何實(shí)現(xiàn)查詢
關(guān)系代數(shù)語言
集合運(yùn)算:
- 并union:R和S具有相同目n,且相應(yīng)屬性取自同一個域 R ∪ S = { t ∣ t ∈ R ∨ t ∈ S } R\cup S=\{t|t\in R\vee t\in S\} R∪S={t∣t∈R∨t∈S}
- 差except:R和S具有相同目n,且相應(yīng)屬性取自同一個域 R ? S = { t ∣ t ∈ R ∧ t ? S } R- S=\{t|t\in R\wedge t\notin S\} R?S={t∣t∈R∧t∈/S}
從R中減去和S相同的 - 交intersection:R和S具有相同目n,且相應(yīng)屬性取自同一個域 R ∩ S = { t ∣ t ∈ R ∧ t ∈ S } R\cap S=\{t|t\in R\wedge t\in S\} R∩S={t∣t∈R∧t∈S}
- 廣義笛卡爾積 cartesian product:連接
引入表示符號:
-
關(guān)系 R ( A 1 , A 2 , . . . , A n ) R(A_1,A_2,...,A_n) R(A1?,A2?,...,An?)
有 t ∈ R , t\in R, t∈R,其中t是元組
t [ A i ] t[A_i] t[Ai?]表示元組t中的分量Ai
A是屬性列/域列
A ˉ \bar{A} Aˉ表示從關(guān)系中去掉A屬性后剩余的屬性組 -
R是n目關(guān)系,S是m目關(guān)系, t r ∈ R , t s ∈ S t_r\in R,t_s\in S tr?∈R,ts?∈S
是元組的連接 concatenation,是一個(n+m)列的元組
-
給定關(guān)系R(X,Z),XZ為屬性組,定義當(dāng)t[X]=x時,x在R中的象集images set是 Z x = { t [ Z ] ∣ t ∈ R , t [ X ] = x } Z_x=\{t[Z]|t\in R,t[X]=x\} Zx?={t[Z]∣t∈R,t[X]=x},它表示R中屬性組X上值為x的各元組在Z上分量的集合
關(guān)系運(yùn)算:
- 選擇運(yùn)算 selection/restriction:選擇元組 σ F ( R ) = { t ∣ t ∈ R ∧ F ( t ) = t r u e } \sigma_F(R)=\{t|t\in R\wedge F(t)=true\} σF?(R)={t∣t∈R∧F(t)=true}
F是一個公式,由邏輯運(yùn)算符 ∨ ∧ ? \vee \wedge \neg ∨∧?連接算數(shù)表達(dá)式 > < ≥ ≤ = ≠ > < \ge \le = \ne ><≥≤==構(gòu)成 - 投影運(yùn)算projection:選擇列 π A ( R ) = { t [ A ] ∣ t ∈ R } \pi_A(R)=\{t[A]|t\in R\} πA?(R)={t[A]∣t∈R},取消重復(fù)行
- 連接運(yùn)算join: R ? F S R\underset{F}{\Join} S RF??S
- 等值連接:F中算數(shù)表達(dá)式是=, R ? A = B S R\underset{A=B}{\Join} S RA=B??S
- 自然連接(常用且默認(rèn)):進(jìn)行比較的分量必須是相同的屬性,并且在結(jié)果中去掉重復(fù)的屬性 R ? S R\underset{}{\Join} S R??S,會有懸浮元組消失
- 半連接 :自然連接后僅保留對R屬性的投影
- 左外連接:若S中找不到匹配的元組,則不匹配的元素用空值匹配
- 右外連接:若R中找不到匹配的元組,則不匹配的元素用空值匹配
- 全外連接:所有不匹配的元組均用空值匹配
- 除:R(X,Y),S(Y,Z), R ÷ S = { t r [ X ] ∣ t r ∈ R ∧ Y X ? π Y ( S ) } R\div S=\{t_r[X]|t_r\in R\wedge Y_X\supseteq \pi_Y(S)\} R÷S={tr?[X]∣tr?∈R∧YX??πY?(S)}
X的象集Yx包含S在Y上的投影
運(yùn)算之間的轉(zhuǎn)換:
R ∩ S = R ? ( R ? S ) 或 S ? ( S ? R ) R\cap S=R-(R-S)或S-(S-R) R∩S=R?(R?S)或S?(S?R)
R ÷ S = π X ( R ) ? π X ( ( T ? π Y ( S ) ? R ) R\div S=\pi_X(R)-\pi_X((T*\pi_Y(S)-R) R÷S=πX?(R)?πX?((T?πY?(S)?R)
此處應(yīng)看ppt