[第九週] 資料庫系統簡介


關聯式資料庫 Relational database

像是用 table 來儲存資料。 不同類型的資料可以用共同的鍵連結起來。
例如:用 excel 表格來管理學生的各種資料。第一個分頁紀錄學生的期中考成績,欄位有:學號、各科成績。
第二個分頁記錄學生的基本資料,欄位有:學號、生日、電話、地址
這兩個分頁的共同點是學號,所以可以在不同分頁中建立起關聯。
常用的關聯式資料庫管理系統:
MySQL
PostgreSQL

非關聯式資料庫 NoSQL (Not Only SQL)

可用在log,或隨時要新增資料上。
通常不使用關聯模型,也並不需要固定的結構 (也就是 schema-free)。但有需要時, NoSQL 也可以使用關聯模型與 schema。
常用的非關聯式資料庫管理系統:MongoDB

比較

參考模塑簡易書籍資料庫結構描述的範例:
在關聯式資料庫中,通常會隱藏 (或「正規化」) 書籍記錄,並將記錄存放於個別表格中,同時以主鍵和外鍵限制來定義關係。在此範例中,書籍表格有 ISBN、書名和版本編號欄,作者表格有 AuthorID 和作者名稱欄,最後 Author-ISBN 表格有 AuthorID 和 ISBN 欄。關聯式模型的設計是使資料庫強化資料庫表格間的參考完整性,並經過正規化以減少重複,而且針對儲存加以整體優化。
在 NoSQL 資料庫中,書籍資料通常儲存為 JSON 文件。就每一本書,將項目、ISBN、書名、版本編號、作者名稱和 AuthorID 存成單一文件中的屬性。在此模型中,資料針對直覺開發和橫向擴充進行優化。

更多資料請參考:SQL (關聯式) 與NoSQL (非關聯式) 資料庫的比較







你可能感興趣的文章

Vuex, Redux, Flux

Vuex, Redux, Flux

JavaScript 迴圈 -親愛的,我逃不出這個循環

JavaScript 迴圈 -親愛的,我逃不出這個循環

[Python Excel自動化1]以VBA運行Python操作Excel

[Python Excel自動化1]以VBA運行Python操作Excel






留言討論