




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫設(shè)計(jì)方法(fngf)與原則-周波(zhub)共三十六頁學(xué)習(xí)(xux)目標(biāo)5.4.3.2.1.數(shù)據(jù)庫設(shè)計(jì)(shj)概述規(guī)范化第一范式第二范式第三范式共三十六頁數(shù)據(jù)庫設(shè)計(jì)(shj)概述 概述這里我們思考兩個(gè)問題:修建茅屋需要設(shè)計(jì)(shj)嗎?修建大廈需要設(shè)計(jì)(shj)嗎?結(jié)論是:當(dāng)數(shù)據(jù)庫比較復(fù)雜(如數(shù)據(jù)量大,表較多,業(yè)務(wù)關(guān)系復(fù)雜)時(shí),我們需要先設(shè)計(jì)(shj)數(shù)據(jù)庫。共三十六頁數(shù)據(jù)庫設(shè)計(jì)(shj)概述良好的數(shù)據(jù)庫設(shè)計(jì)能夠(nnggu):節(jié)省數(shù)據(jù)的存儲(chǔ)空間。能夠保證數(shù)據(jù)的完整性。方便進(jìn)行數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)。糟糕的數(shù)據(jù)庫設(shè)計(jì):數(shù)據(jù)冗余、存儲(chǔ)空間浪費(fèi)。內(nèi)存空間浪費(fèi)。數(shù)據(jù)更新和插入的異常。共三十六頁
2、數(shù)據(jù)庫規(guī)范化規(guī)范化在設(shè)計(jì)和操作維護(hù)數(shù)據(jù)庫時(shí),關(guān)鍵的步驟就是要確保數(shù)據(jù)正確地分布(fnb)到數(shù)據(jù)庫的表中。使用正確的數(shù)據(jù)結(jié)構(gòu),不僅便于對數(shù)據(jù)庫進(jìn)行相應(yīng)的存取操作,而且可以極大地簡化應(yīng)用程序的其他內(nèi)容(查詢、窗體、報(bào)表、代碼等)。正確進(jìn)行表設(shè)計(jì)的正式名稱就是“數(shù)據(jù)庫規(guī)范化”。后面我們將通過實(shí)例來說明具體的規(guī)范化的工程。共三十六頁數(shù)據(jù)庫規(guī)范化CREATE TABLE Student ( stuid INTEGER NOT NULL, -學(xué)生(xu sheng)編號 stuname VARCHAR(200), -學(xué)生姓名 sclass VARCHAR(200),-班級名稱 coursename VAR
3、CHAR(20),-課程名稱 sdegree FLOAT -課程分?jǐn)?shù) tname VARCHAR(20)-老師名字)請同學(xué)們結(jié)合表中的數(shù)據(jù)和結(jié)構(gòu)觀察這張表會(huì)存在哪些缺點(diǎn)。共三十六頁數(shù)據(jù)庫規(guī)范化缺點(diǎn):數(shù)據(jù)(shj)冗余、存儲(chǔ)空間浪費(fèi)。內(nèi)存空間浪費(fèi)。數(shù)據(jù)更新和插入的異常。共三十六頁數(shù)據(jù)庫規(guī)范化設(shè)計(jì)數(shù)據(jù)庫的一般步驟:收集信息。抽取對象。抽取每個(gè)對象的屬性。考慮對象之間的關(guān)系(gun x)。 繪制E-R圖。將E-R圖轉(zhuǎn)換為表格。最后應(yīng)用三大范式規(guī)范化表格。下面我們以一個(gè)BBS簡易論壇的數(shù)據(jù)庫設(shè)計(jì)為例來看看設(shè)計(jì)數(shù)據(jù)庫的步驟:共三十六頁數(shù)據(jù)庫規(guī)范化收集信息(與該系統(tǒng)有關(guān)人員進(jìn)行交流、坐談,充分理解數(shù)據(jù)庫需
4、要完成的任務(wù))BBS論壇的基本功能:用戶注冊和登錄,后臺(tái)(huti)數(shù)據(jù)庫需要存放用戶的注冊信息和在線狀態(tài)信息;用戶發(fā)貼,后臺(tái)數(shù)據(jù)庫需要存放貼子相關(guān)信息,如貼子內(nèi)容、標(biāo)題等;論壇版塊管理:后臺(tái)數(shù)據(jù)庫需要存放各個(gè)版塊信息,如版主、版塊名稱、貼子數(shù)等;共三十六頁數(shù)據(jù)庫規(guī)范化標(biāo)識(shí)對象(標(biāo)識(shí)數(shù)據(jù)庫要管理的關(guān)鍵對象或?qū)嶓w)實(shí)體一般是名詞:用戶(yngh):論壇普通用戶(yngh)、各版塊的版主。用戶發(fā)的主貼。論用戶發(fā)的跟貼(回貼)。共三十六頁數(shù)據(jù)庫規(guī)范化標(biāo)識(shí)每個(gè)實(shí)體(sht)的屬性(Attribute)共三十六頁數(shù)據(jù)庫規(guī)范化標(biāo)志對象之間的關(guān)系(Attribute)跟貼和主貼有主從關(guān)系:我們需要在跟貼對象
5、中表明它是誰的跟貼。版塊和用戶有關(guān)系:從用戶對象中可以根據(jù)版塊對象查出對應(yīng)(duyng)的版主用戶的情況。主貼和版塊有主從關(guān)系:需要表明發(fā)貼是屬于哪個(gè)版塊的。跟貼和版塊有主從關(guān)系:需要表明跟貼是屬于哪個(gè)版塊的。共三十六頁數(shù)據(jù)庫規(guī)范化繪制(huzh)ER圖共三十六頁數(shù)據(jù)庫規(guī)范化將ER圖裝換為表格將各實(shí)體轉(zhuǎn)換為對應(yīng)的表,將各屬性轉(zhuǎn)換為各表對應(yīng)的列。標(biāo)識(shí)(biozh)每個(gè)表的主鍵列,需要注意的是:沒有主鍵的表添加ID編號列,它沒有實(shí)際含義,用于做主鍵或外鍵,例如用戶表中的“UID”列,版塊表中添加“SID”列,發(fā)貼表和跟貼表中的“TID”列 在表之間建立主外鍵,體現(xiàn)實(shí)體之間的映射關(guān)系 。共三十六頁數(shù)
6、據(jù)庫規(guī)范化將ER圖裝換為表格(biog)共三十六頁數(shù)據(jù)庫規(guī)范化將ER圖裝換為表格(biog)共三十六頁使用(shyng)范式數(shù)據(jù)庫基本概念回顧:實(shí)體:現(xiàn)實(shí)世界中客觀存在并可以被區(qū)別的事物。比如“一個(gè)學(xué)生”、“一本書”、“一門課”等等。它也可以是虛擬的,比如說“老師與學(xué)校的關(guān)系”。 屬性:實(shí)體所具有(jyu)的某一特性,比如說,“性別”是“人”的一個(gè)屬性。在關(guān)系數(shù)據(jù)庫中,屬性又是個(gè)物理概念,屬性可以看作是“表的一列”。 共三十六頁使用(shyng)范式數(shù)據(jù)庫基本概念回顧:元組:表中的一行(yxng)就是一個(gè)元組。 分量:元組的某個(gè)屬性值。在一個(gè)關(guān)系數(shù)據(jù)庫中,它是一個(gè)操作原子,即關(guān)系數(shù)據(jù)庫在做任何
7、操作的時(shí)候,屬性是“不可分的”。否則就不是關(guān)系數(shù)據(jù)庫了。 碼:表中可以唯一確定一個(gè)元組的某個(gè)屬性(或者屬性組),如果這樣的碼有不止一個(gè),那么大家都叫候選碼,我們從候選碼中挑一個(gè)出來做老大,它就叫主碼。 共三十六頁使用(shyng)范式數(shù)據(jù)庫基本概念回顧:主屬性:一個(gè)屬性只要在任何一個(gè)候選碼中出現(xiàn)過,這個(gè)屬性就是主屬性。 非主屬性:與上面相反,沒有在任何候選碼中出現(xiàn)過,這個(gè)屬性就是非(shfi)主屬性。 外碼:一個(gè)屬性(或?qū)傩越M),它不是碼,但是它別的表的碼,它就是外碼。共三十六頁課堂(ktng)示例一范式(6個(gè))好了,上面已經(jīng)介紹了我們掌握范式所需要(xyo)的全部基礎(chǔ)概念,下面我們就來講范式
8、。范式可以理解為一種規(guī)范等級,范式的包含關(guān)系。一個(gè)數(shù)據(jù)庫設(shè)計(jì)如果符合第二范式,一定也符合第一范式。如果符合第三范式,一定也符合第二范式共三十六頁第一(dy)范式第一(dy)范式(1NF):屬性不可分。第一范式的特點(diǎn):有主關(guān)鍵字主鍵不能為空。主鍵不能重復(fù)。字段不可以再分。下表是否滿足第一范式?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)系中每一個(gè)非主屬性不部分依賴于主鍵,稱R是第二范式的。所以第二范式的主要任務(wù)就是滿足第一范式的前提下,消除部分函數(shù)依賴(yli)。觀察這個(gè)表格是否滿足第二范式:StudyNo|Name|Sex|Email|Phone|ClassNo| ClassAddress01 john M 222456 A樓2單元02 ma
10、ry Famale 123455 A樓3共三十六頁第二(d r)范式的例子這個(gè)表完全滿足于第一范式(fn sh)主鍵由StudyNo和ClassNo組成,這樣才能定位到指定行,但是,ClassAddress部分依賴于關(guān)鍵字(ClassNo-ClassAddress),所以要變?yōu)閮蓚€(gè)表:表一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)的例子再來看一個(gè)(y )例子:共三十六頁違反第二(d r)范式的例子分析:一個(gè)學(xué)生上一門課,一定在特定某個(gè)教室。所以有(學(xué)生,課程)教室一個(gè)學(xué)生上一門課,一定是特定某個(gè)老師教。所以有(學(xué)生,課程)老師一個(gè)學(xué)生上一門課,他老師的職稱可以確定。所以有(學(xué)生,課程)老師稱一個(gè)學(xué)生上一門課,一定是特定某個(gè)教材。所以有(學(xué)生,課程)教材一個(gè)學(xué)生上一門課,一定在特定時(shí)間。所以有(學(xué)生,課程)上課時(shí)間因此(學(xué)生,課程)是一個(gè)碼。然而,一個(gè)課程,一定指定了某個(gè)教材,一年級語文肯定用的是小學(xué)語文1那么就有課程教材。(學(xué)生,課程)是個(gè)碼,課程卻決定了教材,這就叫不完全依賴,或者說部分依賴。出現(xiàn)這樣的
12、情況,就不滿足第二范式!思考: 那么,如果我們(w men)希望他滿足第二范式,仿照剛才的例子我們(w men)應(yīng)該怎樣做了?共三十六頁違反第二(d r)范式的例子解決(jiju):1、校長要新增加一門課程叫“微積分”,教材是大學(xué)數(shù)學(xué),怎么辦?學(xué)生還沒選課,而學(xué)生又是主屬性,主屬性不能空,課程怎么記錄呢,教材記到哪呢(插入異常)2、下學(xué)期沒學(xué)生學(xué)一年級語文(上)了,學(xué)一年級語文(下)去了,那么表中將不存在一年級語文(上),也就沒了小學(xué)語文1。這時(shí)候,校長問:一年級語文(上)用的什么教材???郁悶了吧?(刪除異常)3、校長說:一年級語文(上)換教材,換成大學(xué)語文。有10000個(gè)學(xué)生選了這么課,改動(dòng)
13、好大?。「睦鬯懒擞魫灹税??(修改異常)那應(yīng)該怎么解決呢?投影分解,將一個(gè)表分解成兩個(gè)或若干個(gè)表。共三十六頁違反第二(d r)范式的例子解決(jiju):共三十六頁第三(d sn)范式第三范式(3NF)(不依賴于其它非主屬性消除傳遞依賴 )。例:StudyNo|Name|Sex|Email|bounsLevel|bouns40901 john M 良 $100040902 mary 差 $600這個(gè)(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)范式在來看一個(gè)(y )示例: 共三十六頁第三(d sn)范式有什么問題嗎?想想:1、老師升級了,變教授(jioshu)了,要改數(shù)據(jù)庫,表中有N條,改了N次(修改異常)2、沒人選這個(gè)老師的課了,老師的職稱也沒了記錄(刪除異常)3、新來一個(gè)老師,還沒分配教什么課,他的職稱記到哪?(插入異常)請同學(xué)們思考,如何解決? 共三十六頁匯總(huzng)5.4.3.2.1.自定義控件概述(i sh)擴(kuò)展現(xiàn)有控件直接從Control類繼承復(fù)合控件匯總共三十六頁Thank You !共三十六頁內(nèi)容摘要數(shù)據(jù)庫設(shè)計(jì)方法與原則。coursename VARCHAR(20),-課程名稱。 繪制E-R圖。將E-R圖轉(zhuǎn)換為表格。用戶注冊和登錄,后臺(tái)數(shù)據(jù)庫需要存放用戶的注冊信息和在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學(xué)生體像認(rèn)知與醫(yī)學(xué)美容態(tài)度的關(guān)系調(diào)查
- 山東省濟(jì)南市2024-2025學(xué)年高三上學(xué)期期末學(xué)習(xí)質(zhì)量檢測英語試題【含答案】
- 室內(nèi)廚房設(shè)計(jì)施工方案
- 挖碴裝車施工方案
- 地坪施工訂做方案范本
- 5年級學(xué)霸數(shù)學(xué)筆記
- 2025年規(guī)劃數(shù)學(xué)試題及答案
- 等邊三角形電荷電場線
- c.d級危房安全風(fēng)險(xiǎn)隱患問題及短板
- 接口處防水施工方案
- 機(jī)械工程原理真題集
- 2025年甘肅甘南州國控資產(chǎn)投資管理集團(tuán)有限公司面向社會(huì)招聘工作人員12人筆試參考題庫附帶答案詳解
- 2025年內(nèi)蒙古北方職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫及答案一套
- 2025年安徽水利水電職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫(含答案)
- 中國瓶裝水飲用水項(xiàng)目投資可行性研究報(bào)告
- 《心肌缺血心電圖》課件
- 2025年中國建筑股份有限公司招聘筆試參考題庫含答案解析
- 持續(xù)葡萄糖監(jiān)測臨床應(yīng)用專家共識(shí)2024解讀
- 《胸部影像疾病診斷》課件
- DB33T 2157-2018 公共機(jī)構(gòu)綠色數(shù)據(jù)中心建設(shè)與運(yùn)行規(guī)范
- 健康促進(jìn)機(jī)關(guān)創(chuàng)建培訓(xùn)
評論
0/150
提交評論