1. 程式人生 > >MySqlday01-資料庫基本介紹

MySqlday01-資料庫基本介紹

傳智播客學習筆記

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