



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫(kù)設(shè)計(jì)核心原則羅代均一、3NF第三范式通常認(rèn)為,第三范式在性能,擴(kuò)展性和數(shù)據(jù)完整性方面達(dá)到了最好平衡. 通常認(rèn)為,第三范式在性能,擴(kuò)展性和數(shù)據(jù)完整性方面達(dá)到了最好平衡.有以下幾個(gè)要點(diǎn)。有以下幾個(gè)要點(diǎn)。1.一個(gè)表只描述一個(gè)單一的事物(實(shí)體。一個(gè)表只描述一個(gè)單一的事物2.表內(nèi)的每一個(gè)值在整個(gè)數(shù)據(jù)庫(kù)只出現(xiàn)一次(外鍵除外2.表內(nèi)的每一個(gè)值在整個(gè)數(shù)據(jù)庫(kù)只出現(xiàn)一次(外鍵除外。表內(nèi)的每一個(gè)值在整個(gè)數(shù)據(jù)庫(kù)只出現(xiàn)一次3.表內(nèi)的每一行都應(yīng)該被唯一的標(biāo)識(shí)(有唯一主鍵。3.表內(nèi)的每一行都應(yīng)該被唯一的標(biāo)識(shí)(有唯一主鍵。表內(nèi)的每一行都應(yīng)該被唯一的標(biāo)識(shí)4.表內(nèi)不存儲(chǔ)與主鍵無(wú)關(guān)的信息。表內(nèi)不存儲(chǔ)與主鍵無(wú)關(guān)的信息二、字段設(shè)
2、計(jì)技巧1.確保表中沒(méi)有計(jì)算字段計(jì)算字段的值,是由其他字段的值計(jì)算而來(lái),當(dāng)你更新其他字段的時(shí)候,很容易忽略同時(shí)更新這個(gè)計(jì)算字段,造成數(shù)據(jù)的錯(cuò)誤。2.確保這個(gè)字段的值只有一個(gè)例如下表Users:用戶(hù)ID 用戶(hù)名稱(chēng)電話(huà)號(hào)碼001 robin 1358888888/028-*/電話(huà)號(hào)碼的值就不只一個(gè),因此電話(huà)字段不能放在users表中,解決辦法是增加一個(gè)表Phone 電話(huà)號(hào)碼ID 用戶(hù)ID 電話(huà)號(hào)碼001 001 13588888 002 001 028-888888這個(gè)表就是Users的從表,用戶(hù)ID是外鍵. 還有地址address,和電話(huà)的情況類(lèi)似。3.盡可能地細(xì)分字段如下雇員表(employee
3、雇員ID 雇員名稱(chēng)地址emp_id emp_name emp_address 001 Robin四川省成都市高新區(qū)天泰路1號(hào)這里的emp_address就可以細(xì)分,改進(jìn)的表如下雇員ID 雇員名稱(chēng)國(guó)家省/直轄市地/市001 羅代均china 四川成都區(qū)/縣高新區(qū)街道天泰路1號(hào)這樣更方便我們編輯和統(tǒng)計(jì),有利于保證數(shù)據(jù)的完整性。三數(shù)據(jù)表設(shè)計(jì)技巧1.為表內(nèi)的每一個(gè)字段添加表名縮寫(xiě)例如客戶(hù)表customer cust_id cust_name cust_type cust_city .這樣書(shū)寫(xiě)SQL語(yǔ)句時(shí),很容易就知道這個(gè)字段屬于哪個(gè)表,代表什么含義。例如cust_city ,就不會(huì)和employee表
4、的emp_city混淆了。2.為每一個(gè)表添加如下字段last_update_by 最后修改人last_update_date 最后修改時(shí)間這樣方便以后數(shù)據(jù)錯(cuò)誤時(shí),查找相關(guān)責(zé)任人,以及錯(cuò)誤發(fā)生時(shí)間。3.添加刪除標(biāo)記字段在關(guān)系數(shù)據(jù)庫(kù)中,表之間的關(guān)系錯(cuò)綜復(fù)雜,刪除一條記錄,往往會(huì)影響很多其他的表,建議添加刪除標(biāo)記字段,刪除數(shù)據(jù)時(shí),只是將這行標(biāo)志為刪除即可。例如,客戶(hù)表(customercust_id cust_name status001 羅代均A A:Active,活動(dòng)的,有效的002 羅曾英I I:Inactive ,無(wú)效的其他的表,比如送貨單,里面有cust_id,如果我們將002客戶(hù)刪除,那
5、么這張送貨單也就不能查看了.刪除002客戶(hù)時(shí),只需要將其狀態(tài)更改為I即可. 我們還可以編寫(xiě)單獨(dú)的數(shù)據(jù)清除程序,將這些標(biāo)記為刪除的數(shù)據(jù)刪除,或者移入歷史數(shù)據(jù)庫(kù)中等。4.使用無(wú)業(yè)務(wù)含義的數(shù)字作為主鍵首先,關(guān)系數(shù)據(jù)庫(kù)中,一個(gè)表的主鍵往往會(huì)被其它表引用(外鍵.因此, 任何情況下,都不能允許主鍵字段被修改.否則,相關(guān)表的記錄都要相應(yīng)的修改,這真是噩夢(mèng).而且,任何有業(yè)務(wù)含義的字段,都有被修改的可能,因此不能作為主鍵, 當(dāng)然,為了保證數(shù)據(jù)的完整性,我們可以為必須唯一的字段(可能是一個(gè),或者多個(gè),添加唯一索引.最后,從性能考慮,還有什么比數(shù)字查詢(xún)效率更高呢?這點(diǎn)對(duì)于多表連接查詢(xún)非常重要。例如,以前有些系統(tǒng)使用身份證號(hào)碼作為主鍵,但是后來(lái)身份證由15 位升為18位,這些系統(tǒng)就面臨噩夢(mèng)了!因此,建議為表添加無(wú)業(yè)務(wù)含義的數(shù)字作為主鍵,SQL Server,MySQL 可以用自增字段, Oracle可以用序列sequence.5.別忘記為外鍵添加索引大家都知道,系統(tǒng)會(huì)自動(dòng)為主鍵添加唯一索引。但是外鍵,需要我們手動(dòng)添加索引。6.將表的公共部分,導(dǎo)出成一張表,作為其他模塊交互的接口。如果表的結(jié)構(gòu)經(jīng)常變化,那么將這個(gè)表中公共的部分抽取出來(lái),單獨(dú)作為一張表,這樣,對(duì)表結(jié)構(gòu)的修改,就不會(huì)影響到其它關(guān)聯(lián)的模塊。例如:將客戶(hù)表customer表拆分customer_basic和customer_oth
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鍋爐安全培訓(xùn)
- 元器件選型培訓(xùn)
- 皮瓣移植患者的護(hù)理查房
- 大班課件:安全標(biāo)志
- 遼寧民族師范高等專(zhuān)科學(xué)?!禡atlab數(shù)值分析與應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣西衛(wèi)生職業(yè)技術(shù)學(xué)院《西方文化導(dǎo)論及經(jīng)典文本》2023-2024學(xué)年第一學(xué)期期末試卷
- 嘉興學(xué)院《政治法律人類(lèi)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廈門(mén)海洋職業(yè)技術(shù)學(xué)院《室內(nèi)設(shè)計(jì)2-居室空間設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 溫州醫(yī)科大學(xué)《體育與生存》2023-2024學(xué)年第一學(xué)期期末試卷
- 鶴壁職業(yè)技術(shù)學(xué)院《GNSS測(cè)量原理及應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025至2030年中國(guó)金剛石繩鋸行業(yè)市場(chǎng)運(yùn)行格局及前景戰(zhàn)略分析報(bào)告
- 統(tǒng)編版語(yǔ)文二下園地三+單元復(fù)習(xí)課 課件
- 云南省昆明市五華區(qū)2023-2024學(xué)年八年級(jí)下學(xué)期7月期末物理試題(含答案)
- 2025年上海市研發(fā)公共服務(wù)平臺(tái)管理中心招聘題庫(kù)帶答案分析
- 2025年輕人情緒消費(fèi)趨勢(shì)報(bào)告-抖音商城xsocialbeta-202506
- 工程保險(xiǎn)課件
- 培訓(xùn)中心項(xiàng)目管理制度
- 高中教科研課題:《新課程背景下高中語(yǔ)文情境教學(xué)改革研究》課題工作匯報(bào)
- 金融公司干股協(xié)議書(shū)
- 2025益陽(yáng)事業(yè)單位筆試真題
- 2025年寧波市奉化區(qū)紅果文體產(chǎn)業(yè)運(yùn)營(yíng)管理有限公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論