天天看點

mysql表的操作之三範式

1、mysql表的基本概念

庫是存放表的容器,表是存放資料的一種容器

表是由行和列組成,在資料庫中,我們定義“列”的屬性。随着資料一條條的增加,“行”不斷地增加

列是結構,行是資訊

2、那麼我們為什麼要用表來存儲資料呢?

表是關系型資料庫的重要基礎

資料越大存儲管理越麻煩,非常容易導緻資料出現問題:不完整、不準确、太多備援

關系型資料庫中通過表與表之間的關系解決此問題

在表的設計上滿足三範式

3、第一範式

資料庫表中的字段都是單一屬性的,不可再分

這個單一屬性由基本類型構成,包括整形、實數、字元型、邏輯型、日期型等

能分則分,分到不能分為止(每一列都是一個原子)

4、第二範式

在滿足第一範式的基礎上,資料庫表中不存在非關鍵字段對任一候選關鍵字段的部分函數依賴(部分函

數依賴指的是存在組合關鍵字中的某些字段決定非關鍵字段的情況),也即所有的非關鍵字段都完全依

賴與任意一組候選關鍵字

每一列資料,各管各的,不互相影響,不要把所有的東西放到一個表裡,如果有影響,我們需要對表進

行拆分,分到其它不同的表裡

5、第三範式

在第二範式的基礎上,資料表中如果不存在非關鍵字段對任一候選關鍵字段的傳遞函數依賴

傳遞函數依賴:即如果存在“A -> B -> C”的決定關系,則C傳遞函數依賴于A,也就是說表中的字段和

主鍵直接對應不依靠其它的中間字段

決定某個字段值必須是主鍵

确定某些資料是主鍵,然後根據主鍵值來對表進行劃分(主鍵的資料不依賴),哪些資料和主鍵有唯一

且緊密的關系,則這些資料可以獨立出來

本文轉自奇迹的少年部落格51CTO部落格,原文連結http://blog.51cto.com/raffaelexr/1733551如需轉載請自行聯系原作者

liliangchun