MySqlday01-資料庫基本介紹
阿新 • • 發佈:2018-12-25
傳智播客學習筆記
1.資料庫簡介
人類在進化的過程中,創造了數字、文字、符號等來進行資料的記錄,但是承受著認知能力和創造能力的提升,資料量越來越大,對於資料的記錄和準確查詢,成為了一個重大難題。計算機誕生後,資料開始在計算機中儲存並計算,並設計出了資料庫系統。
資料庫系統解決的問題:持久化儲存,優化讀寫,保證資料的有效性
當前使用的資料庫,主要分為兩類
- 文件型:如sqlite,就是一個檔案,通過對檔案的複製完成資料庫的複製
- 服務型:如mysql、postgre,資料儲存在一個物理檔案中,但是需要使用終端以tcp/ip協議連線,進行資料庫的讀寫操作
2. E-R模型
當前物理的資料庫都是按照E-R模型進行設計的
- E表示entry,實體
- R表示relationship,關係
一個實體轉換為資料庫中的一個表
關係描述兩個實體之間的對應規則,包括
- 一對一
- 一對多
- 多對多
關係轉換為資料庫表中的一個列 *在關係型資料庫中一行就是一個物件
3.三正規化
- 經過研究和對使用中問題的總結,對於設計資料庫提出了一些規範,這些規範被稱為正規化
- 第一正規化(1NF):列不可拆分
- 第二正規化(2NF):唯一標識
- 第三正規化(3NF):引用主鍵
- 說明:後一個正規化,都是在前一個正規化的基礎上建立的
4. 資料完整性
- 一個數據庫就是一個完整的業務單元,可以包含多張表,資料被儲存在表中
- 在表中為了更加準確的儲存資料,保證資料的正確有效,可以在建立表的時候,為表新增一些強制性的驗證,包括資料欄位的型別、約束
5. 欄位型別
- 在mysql中包含的資料型別很多,這裡主要列出來常用的幾種
- 數字:int,decimal
- 字串:varchar,text
- 日期:datetime
- 布林:bit
6.約束
- 主鍵primary key
- 非空not null
- 惟一unique
- 預設default
- 外來鍵foreign key