先說 !這是一個系列的學習手札,所有內容都是我邊學邊做的,有任何錯誤歡迎指教,希望大家能一起進步
在文章中,會有很多英文單字,我會用雙引號標示中文含意
例如:SQL "架構查詢語言"
什麼是SQL
SQL 全名為 Structured Query Language 中文為 ”架構查詢語言”,顧名思義,當我們想在數據庫中建構,查詢與提取資訊所用到的指令語言就是SQL,SQL有很多種,而我們要學的則是MySQL 與 MongoDB
DBMS 與 RDBMS
DBMS全名為Database Management System “數據庫管理系統”,SQL就是一種DBMS,使得我們能夠管理我們的數據庫,那RDBMS呢?,R在這裡是Relational ”關連性”
C.R.U.D
不管你現在要準備學哪種SQL,你都要學他們的C.R.U.D,這四個字分別為Create ”創建”,Read ”閱讀”,Update ”更新”,Delete ”刪除”,這就是所有Datebase ”數據庫”最基本的功能
SQL 與 NoSQL
管理數據庫的 SQL 有很多種,我們這邊可以將其區分為兩部分,一個是SQL,另一個是 NoSQL ,SQL是一種 Relational Database ”關聯性數據庫” 而 MySQL 就是 SQL,NoSQL 則是 No Relational Database”無關聯性數據庫” MongoDB 則是屬於NoSQL,之後我就會講解到 Relational 究竟是什麼意思
Relational Database
Relational Database 就是有關連的數據庫,在數據庫中會有很多不同的 Table “表格",只要其中表格與其他表格有關連性的話,就是 Relational Database ,那要怎麼連結在一起 ? SQL 會用 Key 的方式來像線一樣連接在一起,在後面會解釋 Keys 是什麼
Keys
Keys 就像是每個內容中的 ID,而每個 ID 也有分不同的性質
以下為不同 Key 的涵義
- Primary Keys“唯一ID"
在每個 Table 內都一定要有的,主要用於定義資料的獨特性,在習慣上 Primary Keys 都會做個標記,可能是底線或是粗體
- Foreign Keys“外部ID”
指會對應到其他外部的 Keys
- Natural Keys “自然ID”
當 Primary Keys 到了 Database 外,還是有意義的 例如:身分證字號
- Surrogate Keys “代理ID”
當 Primary Keys 到了 Database 外,是沒有意義的 例如:系統流水號
- Composite Keys “組成ID”
當需要兩筆資料組合而成才能成為 Primary Keys 時,就是組成ID
結語
最後讓我們整理一下吧,在剛剛我們學到了 SQL 是什麼,它們的分類,以及Keys 的觀念,在第二章我們會來安裝MySQL的環境,而第三章就會用實例來去講解 MySQL 的文法,如果上述的觀念有誤或是有疑問,非常歡迎和我一起討論