以前聽的很亂的東西。
關聯式
關聯式的核心理念:不要把不相干的資料放在一起
處理關聯式資料庫的程式語言:SQL(Structure Query Language)
最有名的代表:MySQL
舉例來說,我有一個用來儲存期中考分數的 table:
用看的就有點奇怪吧?為什麼要把姓名跟地址也放在這個 table 裡面?
而且假設之後又有一個新的 table 是儲存期末考分數,不就又要在打一次姓名跟地址?
所以與其這樣子做,倒不如開一個新的 table 專門用來儲存「學生資料」:
那要怎麼把「期中考」跟「學生資料」關聯在一起?注意到了嗎,這兩個 table 都有「學號」,所以用學號就可以把它們關聯起來。
這就是關聯式資料庫的核心理念:把不重要的分開來,在透過某個欄位來把不同的資料庫給關聯起來。
非關連式
統稱:NOSQL(Not Only SQL)
最有名的代表:MongoDB
大概是個有點像 JSON 的東西:
1 | { |
好處是如果今天想新增欄位可以直接加進去:
1 | { |
如果是關聯式資料庫就得重新調整「Schema(結構)」,會比較麻煩一點。