資源描述:
《數(shù)據(jù)庫(kù)建模ER圖.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、ER設(shè)計(jì)學(xué)習(xí)目標(biāo)了解設(shè)計(jì)數(shù)據(jù)庫(kù)的步驟掌握如何繪制數(shù)據(jù)庫(kù)的E-R圖理解數(shù)據(jù)庫(kù)的規(guī)范化-三大范式為什么需要數(shù)據(jù)庫(kù)設(shè)計(jì)當(dāng)數(shù)據(jù)庫(kù)比較復(fù)雜時(shí)需要數(shù)據(jù)庫(kù)設(shè)計(jì)為什么需要數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)何時(shí)開(kāi)始?設(shè)計(jì)數(shù)據(jù)庫(kù)的步驟1設(shè)計(jì)數(shù)據(jù)庫(kù)的步驟2設(shè)計(jì)數(shù)據(jù)庫(kù)的步驟3設(shè)計(jì)數(shù)據(jù)庫(kù)的步驟4繪制E-R關(guān)系圖1繪制E-R關(guān)系圖2繪制E-R關(guān)系圖3繪制E-R關(guān)系圖4如何將E-R關(guān)系轉(zhuǎn)化成數(shù)據(jù)庫(kù)表1將各實(shí)體轉(zhuǎn)換為對(duì)應(yīng)的表,將各屬性轉(zhuǎn)換為各表對(duì)應(yīng)的列標(biāo)識(shí)每個(gè)表的主鍵列,需要注意的是:沒(méi)有主鍵的表添加ID編號(hào)列,它沒(méi)有實(shí)際含義,用于做主鍵或外鍵,例如用戶表的UID列,版塊表中添加SID列,發(fā)帖表和跟帖表中的TID列在表
2、之間建立主外鍵,體現(xiàn)實(shí)體之間的映射關(guān)系。如何將E-R關(guān)系轉(zhuǎn)化成數(shù)據(jù)庫(kù)表2如何將E-R關(guān)系轉(zhuǎn)化成數(shù)據(jù)庫(kù)表3數(shù)據(jù)規(guī)范化(Normalization)第一范式(1stNF)第二范式(2stNF)第三范式(3stNF)規(guī)范化實(shí)例1規(guī)范化實(shí)例2應(yīng)用范式規(guī)范化設(shè)計(jì)應(yīng)用第二范式規(guī)范化設(shè)計(jì)應(yīng)用第三范式規(guī)范化設(shè)計(jì)規(guī)范化和性能關(guān)系小結(jié)1小結(jié)2為了設(shè)計(jì)良好的數(shù)據(jù)庫(kù),需要遵守一些專門(mén)的規(guī)則,稱為數(shù)據(jù)庫(kù)的設(shè)計(jì)范式第一范式(1NF)的目標(biāo):確保每列的原子性第二范式(2NF)的目標(biāo):確保表中的每列,都和主鍵相關(guān)第三范式(3NF)的目標(biāo):確保表中的每列,都和主鍵列直接相關(guān),而不是間接相關(guān)表的約束類型添加約
3、束添加約束的語(yǔ)法ALTERTABLEtable_nameADDCONSTRAINT約束名約束類型具體約束說(shuō)明;約束名的取名規(guī)則推薦采用:約束類型_約束字段主鍵(Primarykey)約束:如PK_stdNo唯一(Uniquekey)約束:如UK_stdid檢查(Checkkey)約束:如CK_stuage外鍵(Foreignkey)約束:如FK_stuno添加約束舉例1刪除約束綜合訓(xùn)練1現(xiàn)有論文和作者兩個(gè)實(shí)體論文實(shí)體的屬性包括題目、期刊名稱、年份、期刊號(hào);作者實(shí)體的屬性包括姓名、單位、地址;一篇論文可以有多個(gè)作者,且每一位作者寫(xiě)過(guò)多篇論文,在每一篇論文中有作者的順序號(hào)。請(qǐng)完
4、成以下操作:(1)畫(huà)出E-R圖(2)將E-R圖轉(zhuǎn)換成關(guān)系模式,并指出每個(gè)關(guān)系模式的主鍵(加下劃線)和外鍵(加波浪線)。解答1建表語(yǔ)句1CREATETABLE發(fā)表(姓名CHAR(7)NOTNULL,題目CHAR(6)NOTNULL,順序號(hào)INTDEFAULTNULL,PRIMARYKEY(姓名,題目),FOREIGNKEY(姓名)REFERENCES論文ONDELETECASCADE,FOREIGNKEY(題目)REFERENCES作者ONDELETERESTRICT);綜合訓(xùn)練2某企業(yè)集團(tuán)有若干工廠,每個(gè)工廠生產(chǎn)多種產(chǎn)品,且每一種產(chǎn)品可以在多個(gè)工廠生產(chǎn),每個(gè)工廠按照固定的計(jì)
5、劃數(shù)量生產(chǎn)產(chǎn)品,計(jì)劃數(shù)量不低于300;每個(gè)工廠聘用多名職工,且每名職工只能在一個(gè)工廠工作,工廠聘用職工有聘期和工資。工廠的屬性有工廠編號(hào)、廠名、地址產(chǎn)品的屬性有產(chǎn)品編號(hào)、產(chǎn)品名、規(guī)格職工的屬性有職工號(hào)、姓名、技術(shù)等級(jí)。請(qǐng):(1)該集團(tuán)進(jìn)行概念設(shè)計(jì),畫(huà)出E-R圖。(2)E-R圖轉(zhuǎn)換成關(guān)系模式,并指出每個(gè)關(guān)系模式的主鍵和外鍵。解答2CREATETABLE生產(chǎn)(工廠編號(hào)CHAR(7)NOTNULL,產(chǎn)品號(hào)CHAR(6)NOTNULL,數(shù)量DEC(5,2),PRIMARYKEY(工廠編號(hào),產(chǎn)品號(hào)),FOREIGNKEY(工廠編號(hào))REFERENCES工廠ONDELETECASCAD
6、E,FOREIGNKEY(產(chǎn)品號(hào))REFERENCES產(chǎn)品ONDELETERESTRICT,CHECK(數(shù)量>=300));建表語(yǔ)句2綜合訓(xùn)練3設(shè)某汽車運(yùn)輸公司數(shù)據(jù)庫(kù)中有三個(gè)實(shí)體集。一是“車隊(duì)”實(shí)體集,屬性有車隊(duì)號(hào)、車隊(duì)名等;二是“車輛”實(shí)體集,屬性有車牌照號(hào)、廠家、出廠日期等;三是“司機(jī)”實(shí)體集,屬性有司機(jī)編號(hào)、姓名、電話等。設(shè)車隊(duì)與司機(jī)之間存在“聘用”聯(lián)系,每個(gè)車隊(duì)可聘用若干司機(jī),但每個(gè)司機(jī)只能應(yīng)聘于一個(gè)車隊(duì),車隊(duì)聘用司機(jī)有聘期;司機(jī)與車輛之間存在著“使用”聯(lián)系,司機(jī)使用車輛有使用日期和公里數(shù),每個(gè)司機(jī)可以使用多輛汽車,每輛車可被多個(gè)司機(jī)使用。要求:(1)試畫(huà)出ER圖,
7、并在圖上注明屬性、聯(lián)系類型;(2)將ER圖轉(zhuǎn)換成關(guān)系模式,并說(shuō)明主鍵和外鍵。解答3關(guān)系模式關(guān)系模式:1)車隊(duì)(車隊(duì)號(hào)、車隊(duì)名)主鍵:車隊(duì)號(hào)2)車輛(車牌照號(hào)、廠家、出廠日期)主鍵:車牌照號(hào)3)司機(jī)(司機(jī)編號(hào)、姓名、電話,聘期,車隊(duì)號(hào))主鍵:司機(jī)編號(hào),外鍵:車隊(duì)號(hào)4)使用(司機(jī)編號(hào),車牌照號(hào),使用日期,公里數(shù))主鍵:(司機(jī)編號(hào),車牌照號(hào),使用日期);外鍵1:司機(jī)編號(hào),外鍵2:車牌照號(hào)綜合訓(xùn)練4在校田徑運(yùn)動(dòng)會(huì)中設(shè)置了各類比賽每一比賽類別有類別編號(hào)、類別名稱和主管等屬性每一比賽類別包含很多比賽項(xiàng)目每一比賽項(xiàng)目有項(xiàng)目編號(hào)、