COMP9311 Database Systems WEEK9

1. Relational Design Theory

1.1 Relation model introduction

在ER model之外,最流行的數(shù)據(jù)模型是relation model,它大大簡(jiǎn)化了傳統(tǒng)網(wǎng)絡(luò)模型/層次模型的coding工作量稳衬。同時(shí)能夠評(píng)估schema的優(yōu)劣展箱,使得數(shù)據(jù)存儲(chǔ)更加簡(jiǎn)潔炬转,關(guān)系更加清晰属韧。

一個(gè)好的database應(yīng)該使用最小的存儲(chǔ)空間體現(xiàn)所有的必要attributes亮钦,規(guī)避數(shù)據(jù)冗余掩完。數(shù)據(jù)冗余最直接的弊端就是難以操作數(shù)據(jù)庫噪漾,任何一個(gè)點(diǎn)的數(shù)據(jù)update,都要找到所有重復(fù)該數(shù)據(jù)的位置進(jìn)行更新且蓬。所以database的design要盡可能減少tables之間的overlap欣硼,同時(shí)一個(gè)table實(shí)現(xiàn)一個(gè)功能,不要復(fù)合在一起恶阴。通常一個(gè)table只能含有一個(gè)entity诈胜。
相比于ER model,relation model能夠保證minimal redundancy冯事,它可以深入到non-key的relation進(jìn)行設(shè)計(jì)焦匈,但是ER model做不到。

1.2 Notation/Terminology

Relation schemas: upper-case letters, denoting set of all attributes (e.g. R, S, P, Q )
Relation instances: lower-case letter corresponding to schema (e.g. r(R), s(S), p(P), q(Q) )
Tuples: lower-case letters (e.g. t, t', t1, u, v )
Attributes: upper-case letters from start of alphabet (e.g. A, B, C, D )
Sets of attributes: simple concatenation of attribute names (e.g. X=ABCD, Y=EFG )
Attributes in tuples: tuple[attrSet] (e.g. t[ABCD], t[X])

重要概念:functional dependencies are constraints between attributes within a relation.
A relation instance r(R) satisfies a dependency X → Y if
--for any t,u ∈ r, t[X]=u[X] → t[Y]=u[Y]
Y is functionally dependent on X, OR X determines Y
schema-based dependency:
--for any t, u ∈ any r(R), t[X] = u[X] → t[Y] = u[Y]

Inference Rules:
-Reflexivity, X -> X
-Augmentation, X -> Y --> XZ -> YZ
-Transitivity, X -> Y, Y -> Z --> X -> Z
-Additivity, X -> Y, X -> Z --> X -> YZ
-Projectivity, X -> YZ --> X -> Y, X -> Z
-Pseudotransitivity, X -> Y, YZ -> W --> XZ -> W

重要概念:Closures - The largest collection of dependencies that can be derived from F is called the closure of F and is denoted F+.

1.3 Normalization

Normalization是為了減少data/relation redundancy昵仅。共有6個(gè)normal forms(NF): 1NF, 2NF, 3NF, BCNF, 4NF, 5NF缓熟,前述順序是redundancy從大到小。
(1)1NF
要求所有的attribute都是atomic的,所以任何composite的attribute都要把最細(xì)節(jié)的信息當(dāng)做attribute够滑,比如name中必須把所有first, middle, last放在attribute中垦写,不能放入一個(gè)name作為attribute,而實(shí)際上name又分為first, middle, last彰触。
(2)2NF
所有的非primary key都要完全depend on primary key梯澜,沒有partial dependencies。
(3)3NF
所有的non-key attributes不能determine other non-key attributes渴析。
(4)BCNF
所有的non-key attributes不能反過來決定primary key晚伙。
4NF和5NF極少使用,因?yàn)閞edundancy的減少往往要以犧牲performance為代價(jià)俭茧,最常用的是3NF和BCNF咆疗。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市母债,隨后出現(xiàn)的幾起案子午磁,更是在濱河造成了極大的恐慌,老刑警劉巖毡们,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件迅皇,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡衙熔,警方通過查閱死者的電腦和手機(jī)登颓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來红氯,“玉大人框咙,你說我怎么就攤上這事×「剩” “怎么了喇嘱?”我有些...
    開封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)塞栅。 經(jīng)常有香客問我者铜,道長(zhǎng),這世上最難降的妖魔是什么放椰? 我笑而不...
    開封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任作烟,我火速辦了婚禮,結(jié)果婚禮上庄敛,老公的妹妹穿的比我還像新娘俗壹。我一直安慰自己,他們只是感情好藻烤,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開白布绷雏。 她就那樣靜靜地躺著头滔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涎显。 梳的紋絲不亂的頭發(fā)上坤检,一...
    開封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音期吓,去河邊找鬼早歇。 笑死,一個(gè)胖子當(dāng)著我的面吹牛讨勤,可吹牛的內(nèi)容都是我干的箭跳。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼潭千,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼谱姓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起刨晴,我...
    開封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤屉来,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后狈癞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茄靠,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年蝶桶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了慨绳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡莫瞬,死狀恐怖儡蔓,靈堂內(nèi)的尸體忽然破棺而出郭蕉,到底是詐尸還是另有隱情疼邀,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布召锈,位于F島的核電站旁振,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏涨岁。R本人自食惡果不足惜拐袜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望梢薪。 院中可真熱鬧蹬铺,春花似錦、人聲如沸秉撇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至规阀,卻和暖如春恒序,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谁撼。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工歧胁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人厉碟。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓喊巍,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親箍鼓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子玄糟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容