版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、數(shù)據(jù)庫設(shè)計方法(fngf)與原則-周波(zhub)共三十六頁學習(xux)目標5.4.3.2.1.數(shù)據(jù)庫設(shè)計(shj)概述規(guī)范化第一范式第二范式第三范式共三十六頁數(shù)據(jù)庫設(shè)計(shj)概述 概述這里我們思考兩個問題:修建茅屋需要設(shè)計(shj)嗎?修建大廈需要設(shè)計(shj)嗎?結(jié)論是:當數(shù)據(jù)庫比較復雜(如數(shù)據(jù)量大,表較多,業(yè)務關(guān)系復雜)時,我們需要先設(shè)計(shj)數(shù)據(jù)庫。共三十六頁數(shù)據(jù)庫設(shè)計(shj)概述良好的數(shù)據(jù)庫設(shè)計能夠(nnggu):節(jié)省數(shù)據(jù)的存儲空間。能夠保證數(shù)據(jù)的完整性。方便進行數(shù)據(jù)庫應用系統(tǒng)的開發(fā)。糟糕的數(shù)據(jù)庫設(shè)計:數(shù)據(jù)冗余、存儲空間浪費。內(nèi)存空間浪費。數(shù)據(jù)更新和插入的異常。共三十六頁
2、數(shù)據(jù)庫規(guī)范化規(guī)范化在設(shè)計和操作維護數(shù)據(jù)庫時,關(guān)鍵的步驟就是要確保數(shù)據(jù)正確地分布(fnb)到數(shù)據(jù)庫的表中。使用正確的數(shù)據(jù)結(jié)構(gòu),不僅便于對數(shù)據(jù)庫進行相應的存取操作,而且可以極大地簡化應用程序的其他內(nèi)容(查詢、窗體、報表、代碼等)。正確進行表設(shè)計的正式名稱就是“數(shù)據(jù)庫規(guī)范化”。后面我們將通過實例來說明具體的規(guī)范化的工程。共三十六頁數(shù)據(jù)庫規(guī)范化CREATE TABLE Student ( stuid INTEGER NOT NULL, -學生(xu sheng)編號 stuname VARCHAR(200), -學生姓名 sclass VARCHAR(200),-班級名稱 coursename VAR
3、CHAR(20),-課程名稱 sdegree FLOAT -課程分數(shù) tname VARCHAR(20)-老師名字)請同學們結(jié)合表中的數(shù)據(jù)和結(jié)構(gòu)觀察這張表會存在哪些缺點。共三十六頁數(shù)據(jù)庫規(guī)范化缺點:數(shù)據(jù)(shj)冗余、存儲空間浪費。內(nèi)存空間浪費。數(shù)據(jù)更新和插入的異常。共三十六頁數(shù)據(jù)庫規(guī)范化設(shè)計數(shù)據(jù)庫的一般步驟:收集信息。抽取對象。抽取每個對象的屬性??紤]對象之間的關(guān)系(gun x)。 繪制E-R圖。將E-R圖轉(zhuǎn)換為表格。最后應用三大范式規(guī)范化表格。下面我們以一個BBS簡易論壇的數(shù)據(jù)庫設(shè)計為例來看看設(shè)計數(shù)據(jù)庫的步驟:共三十六頁數(shù)據(jù)庫規(guī)范化收集信息(與該系統(tǒng)有關(guān)人員進行交流、坐談,充分理解數(shù)據(jù)庫需
4、要完成的任務)BBS論壇的基本功能:用戶注冊和登錄,后臺(huti)數(shù)據(jù)庫需要存放用戶的注冊信息和在線狀態(tài)信息;用戶發(fā)貼,后臺數(shù)據(jù)庫需要存放貼子相關(guān)信息,如貼子內(nèi)容、標題等;論壇版塊管理:后臺數(shù)據(jù)庫需要存放各個版塊信息,如版主、版塊名稱、貼子數(shù)等;共三十六頁數(shù)據(jù)庫規(guī)范化標識對象(標識數(shù)據(jù)庫要管理的關(guān)鍵對象或?qū)嶓w)實體一般是名詞:用戶(yngh):論壇普通用戶(yngh)、各版塊的版主。用戶發(fā)的主貼。論用戶發(fā)的跟貼(回貼)。共三十六頁數(shù)據(jù)庫規(guī)范化標識每個實體(sht)的屬性(Attribute)共三十六頁數(shù)據(jù)庫規(guī)范化標志對象之間的關(guān)系(Attribute)跟貼和主貼有主從關(guān)系:我們需要在跟貼對象
5、中表明它是誰的跟貼。版塊和用戶有關(guān)系:從用戶對象中可以根據(jù)版塊對象查出對應(duyng)的版主用戶的情況。主貼和版塊有主從關(guān)系:需要表明發(fā)貼是屬于哪個版塊的。跟貼和版塊有主從關(guān)系:需要表明跟貼是屬于哪個版塊的。共三十六頁數(shù)據(jù)庫規(guī)范化繪制(huzh)ER圖共三十六頁數(shù)據(jù)庫規(guī)范化將ER圖裝換為表格將各實體轉(zhuǎn)換為對應的表,將各屬性轉(zhuǎn)換為各表對應的列。標識(biozh)每個表的主鍵列,需要注意的是:沒有主鍵的表添加ID編號列,它沒有實際含義,用于做主鍵或外鍵,例如用戶表中的“UID”列,版塊表中添加“SID”列,發(fā)貼表和跟貼表中的“TID”列 在表之間建立主外鍵,體現(xiàn)實體之間的映射關(guān)系 。共三十六頁數(shù)
6、據(jù)庫規(guī)范化將ER圖裝換為表格(biog)共三十六頁數(shù)據(jù)庫規(guī)范化將ER圖裝換為表格(biog)共三十六頁使用(shyng)范式數(shù)據(jù)庫基本概念回顧:實體:現(xiàn)實世界中客觀存在并可以被區(qū)別的事物。比如“一個學生”、“一本書”、“一門課”等等。它也可以是虛擬的,比如說“老師與學校的關(guān)系”。 屬性:實體所具有(jyu)的某一特性,比如說,“性別”是“人”的一個屬性。在關(guān)系數(shù)據(jù)庫中,屬性又是個物理概念,屬性可以看作是“表的一列”。 共三十六頁使用(shyng)范式數(shù)據(jù)庫基本概念回顧:元組:表中的一行(yxng)就是一個元組。 分量:元組的某個屬性值。在一個關(guān)系數(shù)據(jù)庫中,它是一個操作原子,即關(guān)系數(shù)據(jù)庫在做任何
7、操作的時候,屬性是“不可分的”。否則就不是關(guān)系數(shù)據(jù)庫了。 碼:表中可以唯一確定一個元組的某個屬性(或者屬性組),如果這樣的碼有不止一個,那么大家都叫候選碼,我們從候選碼中挑一個出來做老大,它就叫主碼。 共三十六頁使用(shyng)范式數(shù)據(jù)庫基本概念回顧:主屬性:一個屬性只要在任何一個候選碼中出現(xiàn)過,這個屬性就是主屬性。 非主屬性:與上面相反,沒有在任何候選碼中出現(xiàn)過,這個屬性就是非(shfi)主屬性。 外碼:一個屬性(或?qū)傩越M),它不是碼,但是它別的表的碼,它就是外碼。共三十六頁課堂(ktng)示例一范式(6個)好了,上面已經(jīng)介紹了我們掌握范式所需要(xyo)的全部基礎(chǔ)概念,下面我們就來講范式
8、。范式可以理解為一種規(guī)范等級,范式的包含關(guān)系。一個數(shù)據(jù)庫設(shè)計如果符合第二范式,一定也符合第一范式。如果符合第三范式,一定也符合第二范式共三十六頁第一(dy)范式第一(dy)范式(1NF):屬性不可分。第一范式的特點:有主關(guān)鍵字主鍵不能為空。主鍵不能重復。字段不可以再分。下表是否滿足第一范式?StudyNo | Name | Sex | Contact20040901 john Male Email:,phone:22245620040901 mary Famale Email: phone:123455 共三十六頁違反第一范式(fn sh)的示例以上的表格是否又滿足第一(dy)范式呢?共三十六
9、頁課堂(ktng)示例一注意:這兩種情況(qngkung)都不滿足第一范式。不滿足第一范式的數(shù)據(jù)庫,不是關(guān)系數(shù)據(jù)庫!所以,我們在任何關(guān)系數(shù)據(jù)庫管理系統(tǒng)中,做不出這樣的“表”來。共三十六頁第二(d r)范式第二范式(2NF):非主屬性完全依賴于碼。定義:如果關(guān)系模式R是第一范式的,而且關(guān)系中每一個非主屬性不部分依賴于主鍵,稱R是第二范式的。所以第二范式的主要任務就是滿足第一范式的前提下,消除部分函數(shù)依賴(yli)。觀察這個表格是否滿足第二范式:StudyNo|Name|Sex|Email|Phone|ClassNo| ClassAddress01 john M 222456 A樓2單元02 ma
10、ry Famale 123455 A樓3共三十六頁第二(d r)范式的例子這個表完全滿足于第一范式(fn sh)主鍵由StudyNo和ClassNo組成,這樣才能定位到指定行,但是,ClassAddress部分依賴于關(guān)鍵字(ClassNo-ClassAddress),所以要變?yōu)閮蓚€表:表一StudyNo | Name | Sex | Email | Phone | ClassNo 01 john Male 222456 200401 02 mary famale 123455 200402 表二ClassNo| ClassAddress200401 A樓2200402 A樓3共三十六頁第二范式
11、(fn sh)的例子再來看一個(y )例子:共三十六頁違反第二(d r)范式的例子分析:一個學生上一門課,一定在特定某個教室。所以有(學生,課程)教室一個學生上一門課,一定是特定某個老師教。所以有(學生,課程)老師一個學生上一門課,他老師的職稱可以確定。所以有(學生,課程)老師稱一個學生上一門課,一定是特定某個教材。所以有(學生,課程)教材一個學生上一門課,一定在特定時間。所以有(學生,課程)上課時間因此(學生,課程)是一個碼。然而,一個課程,一定指定了某個教材,一年級語文肯定用的是小學語文1那么就有課程教材。(學生,課程)是個碼,課程卻決定了教材,這就叫不完全依賴,或者說部分依賴。出現(xiàn)這樣的
12、情況,就不滿足第二范式!思考: 那么,如果我們(w men)希望他滿足第二范式,仿照剛才的例子我們(w men)應該怎樣做了?共三十六頁違反第二(d r)范式的例子解決(jiju):1、校長要新增加一門課程叫“微積分”,教材是大學數(shù)學,怎么辦?學生還沒選課,而學生又是主屬性,主屬性不能空,課程怎么記錄呢,教材記到哪呢(插入異常)2、下學期沒學生學一年級語文(上)了,學一年級語文(下)去了,那么表中將不存在一年級語文(上),也就沒了小學語文1。這時候,校長問:一年級語文(上)用的什么教材啊?郁悶了吧?(刪除異常)3、校長說:一年級語文(上)換教材,換成大學語文。有10000個學生選了這么課,改動
13、好大啊!改累死了郁悶了吧?(修改異常)那應該怎么解決呢?投影分解,將一個表分解成兩個或若干個表。共三十六頁違反第二(d r)范式的例子解決(jiju):共三十六頁第三(d sn)范式第三范式(3NF)(不依賴于其它非主屬性消除傳遞依賴 )。例:StudyNo|Name|Sex|Email|bounsLevel|bouns40901 john M 良 $100040902 mary 差 $600這個(zh ge)完全滿足了第二范式,但是bounsLevel和bouns存在傳遞依賴。共三十六頁第三(d sn)范式解決:更改為(i wi):表一:StudyNo|Name|Sex| Email |bo
14、uunsNo20040901 john Male 120040902 mary Famale 2表二:bounsNo | bounsLevel | bouns1 優(yōu)秀 $10002 良 $600 共三十六頁第三(d sn)范式在來看一個(y )示例: 共三十六頁第三(d sn)范式有什么問題嗎?想想:1、老師升級了,變教授(jioshu)了,要改數(shù)據(jù)庫,表中有N條,改了N次(修改異常)2、沒人選這個老師的課了,老師的職稱也沒了記錄(刪除異常)3、新來一個老師,還沒分配教什么課,他的職稱記到哪?(插入異常)請同學們思考,如何解決? 共三十六頁匯總(huzng)5.4.3.2.1.自定義控件概述(i sh)擴展現(xiàn)有控件直接從Control類繼承復合控件匯總共三十六頁Thank You !共三十六頁內(nèi)容摘要數(shù)據(jù)庫設(shè)計方法與原則。coursename VARCHAR(20),-課程名稱。 繪制E-R圖。將E-R圖轉(zhuǎn)換為表格。用戶注冊和登錄,后臺數(shù)據(jù)庫需要存放用戶的注冊信息和在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024簡單樹木買賣合同
- 2025年度老舊小區(qū)外墻翻新工程承包合同4篇
- 2025版高性能路牙維修勞務分包合同4篇
- 心理健康教育在辦公環(huán)境的應用與推廣
- 2025年度智能設(shè)備制造承攬合同4篇
- 科技實驗室的安全管理與綠色發(fā)展
- 2025年度智慧校園建設(shè)項目承包工程合同范本4篇
- 2025年度綠色環(huán)保建材采購合同范本3篇
- 2025年洗車場場地租賃合同書(含年度清潔維護)3篇
- 個性化汽車貸款擔保合同范本2024版一
- 《中華民族多元一體格局》
- 2023年四川省綿陽市中考數(shù)學試卷
- 南安市第三次全國文物普查不可移動文物-各鄉(xiāng)鎮(zhèn)、街道分布情況登記清單(表五)
- 選煤廠安全知識培訓課件
- 項目前期選址分析報告
- 急性肺栓塞搶救流程
- 《形象價值百萬》課件
- 紅色文化教育國內(nèi)外研究現(xiàn)狀范文十
- 中醫(yī)基礎(chǔ)理論-肝
- 小學外來人員出入校門登記表
- 《土地利用規(guī)劃學》完整課件
評論
0/150
提交評論