我們為什麼需要資料庫? 我們不能只將所有數據存儲在 Excel 表格中嗎? 儘管我們可以對電子表格中的數據進行排序和過濾,但資料庫具有廣泛的查詢功能,可以檢索與選擇條件匹配的所有記錄,並且在多個表格中做交叉引用記錄以及跨多個表格執行複雜的聚合計算。 此外,就查詢資料而言,資料庫比 Excel 快上許多,在資料龐大時差別會更明顯。 Excel 可以處理最多大約 100 萬行數據,但對於現代資料來說明顯容量不足了。
資料庫管理系統(英語:database management system,縮寫:DBMS) 是一種為管理資料庫而設計的管理系統。具有代表性的資料管理系統有:Microsoft SQL Server、 MongoDB 、MySQL及PostgreSQL等。(簡單來說,DBMS就是管理資料庫的軟體) 資料庫在概念上來說,可以被分成兩種:
Relational Database是一種存儲並提供對彼此相關的數據點的訪問的資料庫。例如,一家娛樂公司有一個資料庫來存儲他們所有的藝術家和歌曲數據。 所有歌曲都有一位或多於一位作家,所有作家都有一首或多於一首歌曲。 因此,該數據庫的每個表格之間是有關連的。
幾十年來,SQLite、PostgreSQL、MySQL 和 SQL Server 等關係資料庫已成為數據存儲的熱門選擇。近幾年來,包括 MongoDB 和 Redis 在內的 NoSQL資料庫受到青睞。
Relational (SQL)
Non-Relational (JSON)
增刪查改(英語:CRUD),全稱增加(Create,意為「建立」)、刪除(Delete)、查詢(Read,意為「讀取」)、改正(Update,意為「更新」),是在DBMS當中,一連串常見的操作行為。
*增刪查改除了常用於SQL資料庫之外,也在與網站的API埠口時常使用。在Restful API的製作時,會再次使用。但網站的API埠口使用HTTP協定傳送通訊,所以原本的「增刪查改」所對應的英文詞彙會因此而改名,而不再對應CRUD。 比如「查」不再是Read,而改為GET;「增」不再是Create,而改為POST;「改」不再是Update,而改為PUT等等。
*英語中因為CRUD比中文所對應的CDRU易讀易記而將「刪除」(Delete)放置於最後。但是英文小寫的crud,是指渣滓、水垢、腐蝕汙泥,或是噁心的東西。