1.資料:事實的紀錄
2.資料庫:按照規則存放資料的櫃子
3.資料庫管理系統 (DBMS):資料庫、使用者、程式介面,方便使用者,更新、監控、備份和恢復等。
1.例如PostgreSQL、MariaDB、MySQL、Oracle
2.通常有一個主鍵,一行記錄一筆紀錄,多個列紀錄不同屬性,資料庫可包含多張資料表,資料表之間可以互相關聯對應聽起來似乎有點抽象,那麼舉個例子看看能不能讓他更加具體吧,今天當我們想要紀錄漢堡的食品訊息,我們先來整理有哪些資訊
3.假設今天建立一筆資料,美味漢堡 -熱量 (kcal)300、脂肪10g、膽固醇50mg、鈉20mg、蛋白質60g利用圖來表示就會長得像這樣
2.那今天開早餐店的老王希望你能將店裡的產品全部放到資料庫裡,你該怎麼辦,總不能全部塞到一起吧店裡的產品類別如下,三明治、漢堡、熱飲、冷飲、點心,我們便可以將其分為五張表,如下圖
1.鍵值資料庫,適用於雲端計算,例如Google的BigTable、Cassandra
2.記憶體資料庫,用於快取、網頁加速等,例如Redis
3.文件型資料庫,適合巨量資料、地理搜索,例如MongoDB
4.圖形資料庫,適合處理複雜的關係 AWS的Amazon Neptune
顧名思義,主要由物件所組成,沒有列、行、主鍵,通常直接存放在硬碟中,比起關聯式資料庫更適合處理複雜的關係
但對於處理簡單的結構化資料可能不是最好的選擇,舉例來說,今天雙葉商事的營業部有兩個課,營業一課與營業二課,野猿廣智在營業二課當任課長,同時擁有一名下屬川口,用物件導向資料庫來表示便會像下圖
1.適合結構化資料
2.表格、列、欄、索引、表格,將資料嚴格標準化
3.ACID、單元性、一致性、隔離性、耐用性
4.擴充性,垂直拓展為主,提高機器效能
1.大量半結構資料、頻繁變動、分散式系統、大量擴充
2.巢狀結構的鍵值資料或是文件
3.快速變動、巨量資料
4.擴充性,水平拓展為主,讀寫分離、主副庫、負載均衡
Day3-MySQL單資料表中選取資料