五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

CMU 15-445/645-筆記-01-課程簡介與關(guān)系模型

2021-12-22 20:49 作者:dengluzhanghao  | 我要投稿

- 課程目標(biāo)


- 參考書推薦用 《Database System Concepts》

- 該課程主要是手寫 Database Storage Manager 而不是 Database System(因?yàn)轫?xiàng)目不支持 SQL 解析)

- 數(shù)據(jù)庫拓展研究


- 用 CSV(Comma-Seperated Value)文件存 database

- 怎么用呢,舉個(gè)例子


- 但這種方式是有問題的

? ? - 每個(gè)專輯的 entry 中的 artist 都是一樣的么?

? ? - Ice Cube 沒有拼寫錯(cuò)誤?

? ? - 如果別人在文件里重寫了一個(gè)無效的 string 怎么辦呢?

? ? - 如果一張專輯里面有多個(gè) artist,那么怎么存儲(chǔ)這些數(shù)據(jù)呢?

? ? - 如何查詢數(shù)據(jù)?

? ? - 多線程同一時(shí)間寫同一個(gè)文件怎么辦?

? ? - 如何保證數(shù)據(jù)安全(在寫數(shù)據(jù)的時(shí)候機(jī)器故障咋辦?)

? ? - Database Management System 的作用

? ??

- 1970 年 Ted Codd 提出的關(guān)系型模型(Relational Model)是為了解決之前數(shù)據(jù)庫不斷重構(gòu)數(shù)據(jù)結(jié)構(gòu),以及數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)存之后不斷銷毀數(shù)據(jù)的問題

- 關(guān)系模型三板斧如下

? ? - 用簡單數(shù)據(jù)結(jié)構(gòu)存數(shù)據(jù)

? ? - 用高級語言訪問數(shù)據(jù)

? ? - 大型數(shù)據(jù)庫的物理存儲(chǔ)策略基于 Database Management System 的實(shí)現(xiàn)

- 這種思想把 邏輯層 和 物理層 完全解耦

- 關(guān)系型數(shù)據(jù)模型并不是唯一的數(shù)據(jù)模型


? ? 比如如下

? ??

? ? - Relational(MySQL, PostgreSQL,Oracle,DB2,SQL server,SQLite)

? ? - Key/Value,Graph,Document, Column-family(NoSQL)

? ? - Array/Matrix(Mathine Learning)

? ? - Hierarchical,Network (Obsolete / Rare)舊時(shí)代的余暉。。。

? ??

- 關(guān)系型模型可以對任何東西進(jìn)行建模


- 關(guān)系型模型主要關(guān)注三個(gè)方面



- 一個(gè) 關(guān)系(relation) 是一個(gè)無序的集合,這個(gè)集合包含代表 entities 的屬性的關(guān)系(relationship),比如


- tuple 在 關(guān)系 中就是一個(gè) 屬性值 的集合


- 原始關(guān)系模型中,所有的值必須保證原子性或者它必須是一個(gè)單個(gè)屬性值(比如只能是一個(gè) String,一個(gè) int,或者一個(gè) float等,不能是數(shù)組或者嵌套的對象等)

- NULL 這個(gè)屬性值代表未知,SQL 查詢會(huì)遇到麻煩

- 主鍵 Primary Key,唯一標(biāo)識(shí)記錄的 id

- 外鍵 Foreign Key,用于指定一張表中的屬性必須存在于另一張表中

- 注意 relation 和 table 語義一樣

- 一個(gè)外鍵的例子


- 如何從 Database 中取數(shù)據(jù)?

? ? 通過 DML (Data Manipulation Languages)




- Relational Algebra 關(guān)系代數(shù)

- Ted Codd 提出了在 Relational Algebra 中的其中基本運(yùn)算符


? ? - SELECT


? ? - PROJECTION

? ? ? ? 即 SELECT b_id-100, a_id FROM R WHERE a_id='2'

? ? ? ??


? ? - UNION

? ??

? ? - INTERSECTION

? ??

? ? - DIFFERENCE

? ??

? ? - PRODUCT

? ??

? ? - JOIN

? ? ? ? 即 SELECT * FROM R NATURAL JOIN S;

? ? ? ??


- 一些后續(xù)研究的額外的操作符

? ??

- 一些優(yōu)化策略


- 關(guān)系型模型與任何查詢語言的實(shí)現(xiàn)無關(guān),實(shí)際上當(dāng) Ted Codd 在他寫關(guān)系型模型論文時(shí)并沒有提出 SQL,他提出了 關(guān)系代數(shù),并推出了自己的語言叫 Alpha,與(1970)同年推出的 SQL、Ingres (伯克利)、Quel 都是競爭對手。

- SQL 只是一個(gè)標(biāo)準(zhǔn)


- 結(jié)論?

? ??


CMU 15-445/645-筆記-01-課程簡介與關(guān)系模型的評論 (共 條)

分享到微博請遵守國家法律
阿拉善右旗| 延庆县| 法库县| 乌什县| 思南县| 安化县| 堆龙德庆县| 海宁市| 永清县| 皋兰县| 浦北县| 聊城市| 兰溪市| 濮阳市| 同江市| 福建省| 龙海市| 玉环县| 长春市| 剑川县| 北辰区| 沽源县| 紫云| 潢川县| 阿瓦提县| 元阳县| 安吉县| 高要市| 法库县| 福鼎市| 大丰市| 鹤峰县| 上栗县| 达州市| 遂昌县| 内丘县| 张家港市| 荃湾区| 平安县| 交城县| 台湾省|