設(shè)計(jì)數(shù)據(jù)庫(kù)的步驟:
1.收集信息
2.標(biāo)識(shí)實(shí)體
3.標(biāo)識(shí)每個(gè)實(shí)體需要存儲(chǔ)的詳細(xì)信息
4.標(biāo)識(shí)實(shí)體之間的關(guān)系
數(shù)據(jù)庫(kù)的設(shè)計(jì)就是將數(shù)據(jù)庫(kù)中的數(shù)據(jù)實(shí)體及這些數(shù)據(jù)實(shí)體之間的關(guān)系,進(jìn)行結(jié)構(gòu)化的過(guò)程。
為了避免數(shù)據(jù)冗余等問(wèn)題導(dǎo)致對(duì)性能的影響
數(shù)據(jù)庫(kù)表中的所有字段都具有單一屬性(即字段不能再分割了)
單一屬性的列是由基本數(shù)據(jù)類型所構(gòu)成的
設(shè)計(jì)出來(lái)的表都是簡(jiǎn)單的二維表
第二范式在第一范式的基礎(chǔ)之上更進(jìn)一層。第二范式需要確保數(shù)據(jù)庫(kù)表中的每一列都和主鍵相關(guān),而不能只與主鍵的某一部分相關(guān)(主要針對(duì)聯(lián)合主鍵而言)。也就是說(shuō)在一個(gè)數(shù)據(jù)庫(kù)表中,一個(gè)表中只能保存一種數(shù)據(jù),不可以把多種數(shù)據(jù)保存在同一張數(shù)據(jù)庫(kù)表中。
首先要滿足第二范式,其次非主屬性之間不存在函數(shù)依賴。由于滿足了第二范式,表示每個(gè)非主屬性都函數(shù)依賴于主鍵。如果非主屬性之間存在了函數(shù)依賴,就會(huì)存在傳遞依賴,這樣就不滿足第三范式。
優(yōu)點(diǎn):
可以盡量的減少數(shù)據(jù)冗余
范式化的更新操作比反范式化更快
范式化的表通常比反范式化更小
缺點(diǎn):
對(duì)于查詢需要關(guān)聯(lián)多個(gè)表
更難進(jìn)行索引優(yōu)化
第一范式就是原子性,字段不可再分;
第二范式就是完全依賴,沒有部分依賴;
第三范式就是沒有傳遞依賴;
MySQL優(yōu)勢(shì)
免費(fèi)
1.小、中型企業(yè)難以負(fù)擔(dān)SQLserver和Oracle的高昂費(fèi)用s
2.部分公司為了未來(lái)上市時(shí)不出現(xiàn)版權(quán)意外
開源
大公司愿意支付Oracle的高昂費(fèi)用,但是不放心服務(wù)器在別人手上
跨平臺(tái)
MySQL同時(shí)支持Windows、Unix、Linux和Mac OS等操作系統(tǒng)
功能強(qiáng)大且使用方便
1.運(yùn)行速度快
2.可維護(hù)性強(qiáng)
3.易用性強(qiáng)
聯(lián)系客服