CMU 15445 1.關(guān)系模型

在CMU 又發(fā)現(xiàn)一套很好的資源
https://15445.courses.cs.cmu.edu/fall2018/schedule.html

這個文集,就決定讀薄這門課。希望對自學(xué)這門課的人有一定幫助吧。

前置課程 CSAPP(見我的CSAPP的文集)
編程語言C++ 11,簡易教程 https://www.thegeekstuff.com/2016/02/c-plus-plus-11/
教材,https://www.db-book.com/db7/index.html

進(jìn)入正題

什么是數(shù)據(jù)庫

我們經(jīng)常會發(fā)現(xiàn),整個世界是具備一定的聯(lián)系的巧婶。比如我買了一部IPHONE手機(jī),你也買了一部涂乌。我在A班讀書艺栈,你在B班讀書。A班里有我骂倘,XXX眼滤,等40個同學(xué)。這些都是一個個的關(guān)系历涝。
在計(jì)算機(jī)系統(tǒng)中诅需,我是一個數(shù)據(jù)漾唉,班級是一個數(shù)據(jù),為了把數(shù)據(jù)的內(nèi)在聯(lián)系進(jìn)行建模就產(chǎn)生了關(guān)系型數(shù)據(jù)庫的概念堰塌。

數(shù)據(jù)庫也是很多電腦程序的最核心的組件赵刑。

舉個簡單的例子

我們現(xiàn)在有一組音樂家的信息,還有那些音樂家發(fā)布專輯的信息场刑。 在沒有數(shù)據(jù)庫的時代般此,我們該如何保存查詢這些信息呢?
一個經(jīng)典的做法是存進(jìn)CSV中牵现。(這里要求你知道啥是CSV,不知道百度一下)
就會是如下這樣


image.png

我們該如何找到Ice Cube 出道的年份呢铐懊?

我們可以用如下代碼來做


image.png

這種做法是不足夠好的,所以人們開始思考瞎疼?

數(shù)據(jù)完整性
  1. 我們該如何確保這個音樂家對每個專輯 都是同樣的那個音樂家呢科乎?
  2. 如果有人在出道日期上寫了個‘哈哈哈’,怎么辦呢
  3. 我們要如何存儲多個音樂家合作發(fā)布的專輯呢贼急?
實(shí)現(xiàn)
  1. 如何找到一個特定的條目
  2. 有一個新的APP 想用同一個DB茅茂,怎么辦
  3. 2個線程同時寫同一個文件怎么辦?
持久化
  1. 如果在我們的程序更新記錄時機(jī)器崩潰怎么辦太抓?
  2. 如果我們想在多臺機(jī)器上復(fù)制數(shù)據(jù)庫以獲得高可用性空闲,該怎么辦?

這就引出了我們數(shù)據(jù)庫管理系統(tǒng)(DBMS)
DBMS是允許應(yīng)用程序存儲和分析數(shù)據(jù)庫中的信息的軟件走敌。
通用DBMS旨在允許數(shù)據(jù)庫的定義碴倾,創(chuàng)建,查詢掉丽,更新和管理影斑。

下面引出2個新的詞匯
data model:數(shù)據(jù)模型是用于描述數(shù)據(jù)庫中的數(shù)據(jù)的概念的集合。

schema: 模式是使用給定數(shù)據(jù)模型對特定數(shù)據(jù)集合的描述机打。

DB 分類

image.png

最下面2個是棄用的

關(guān)系模型的三要素

  1. structure結(jié)構(gòu):關(guān)系的定義及其結(jié)構(gòu)內(nèi)容。

  2. integrity完整性:確保數(shù)據(jù)庫的內(nèi)容滿足限制片迅。

  3. manipulation操縱:如何訪問和修改數(shù)據(jù)庫的內(nèi)容残邀。

一個關(guān)系 其實(shí)就是數(shù)據(jù)的一個列。是一個實(shí)體的一個屬性柑蛇。


image.png

在這個基礎(chǔ)上芥挣,就會有一個或者一組屬性可以唯一確定一個實(shí)例,我們稱它為主鍵(primary key),在不指定主鍵耻台,有些DB會增加一個隱式的主鍵空免。


image.png

外鍵指定來自一個關(guān)系的屬性必須映射到另一個關(guān)系中的元組。


image.png

數(shù)據(jù)操縱語言(Data Manipulation Language, DML)是SQL語言中盆耽,負(fù)責(zé)對數(shù)據(jù)庫對象運(yùn)行數(shù)據(jù)訪問工作的指令集

關(guān)系代數(shù)
σ Select

image.png

π Projection


image.png

∪ Union


image.png

∩ Intersection


image.png

-Difference


image.png

× Product


image.png

? Join


image.png

其他關(guān)系代數(shù)


image.png

關(guān)系代數(shù)仍然定義了如何計(jì)算查詢的HIGH-LEVEL的步驟蹋砚。更好的方法是只指定自己要查詢的內(nèi)容扼菠,而忽略查詢的細(xì)節(jié),這就是SQL

如下 2種關(guān)系代數(shù)查詢的內(nèi)容是一致的
→ σ{b_id=102}(R?S) vs. (R?(σ{b_id=102}(S))
SQL 就是 同樣的坝咐。

結(jié)語

數(shù)據(jù)庫無處不在循榆。

關(guān)系代數(shù)定義了在關(guān)系數(shù)據(jù)庫上處理查詢的原語。

當(dāng)我們討論查詢優(yōu)化+執(zhí)行時墨坚,我們將再次看到關(guān)系代數(shù)秧饮。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市泽篮,隨后出現(xiàn)的幾起案子盗尸,更是在濱河造成了極大的恐慌,老刑警劉巖帽撑,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件泼各,死亡現(xiàn)場離奇詭異,居然都是意外死亡油狂,警方通過查閱死者的電腦和手機(jī)历恐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來专筷,“玉大人弱贼,你說我怎么就攤上這事×子迹” “怎么了吮旅?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長味咳。 經(jīng)常有香客問我庇勃,道長,這世上最難降的妖魔是什么槽驶? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任责嚷,我火速辦了婚禮,結(jié)果婚禮上掂铐,老公的妹妹穿的比我還像新娘罕拂。我一直安慰自己,他們只是感情好全陨,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布爆班。 她就那樣靜靜地躺著,像睡著了一般辱姨。 火紅的嫁衣襯著肌膚如雪柿菩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天雨涛,我揣著相機(jī)與錄音枢舶,去河邊找鬼懦胞。 笑死,一個胖子當(dāng)著我的面吹牛祟辟,可吹牛的內(nèi)容都是我干的医瘫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼旧困,長吁一口氣:“原來是場噩夢啊……” “哼醇份!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起吼具,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤僚纷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后拗盒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怖竭,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年陡蝇,在試婚紗的時候發(fā)現(xiàn)自己被綠了痊臭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡登夫,死狀恐怖广匙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恼策,我是刑警寧澤鸦致,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站涣楷,受9級特大地震影響分唾,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜狮斗,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一绽乔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧碳褒,春花似錦迄汛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鹃觉。三九已至专酗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間盗扇,已是汗流浹背祷肯。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工沉填, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人佑笋。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓翼闹,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蒋纬。 傳聞我的和親對象是個殘疾皇子猎荠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評論 2 354

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