1. 程式人生 > >資料庫設計之概念結構設計---------E-R圖詳解 (各種各樣的例項)

資料庫設計之概念結構設計---------E-R圖詳解 (各種各樣的例項)

http://blog.csdn.net/zxq1138634642/article/details/9121363

0、試述採用E-R方法進行資料庫概念設計的過程。

答:採用E-R方法進行資料庫概念設計,可以分成3步進行:首先設計區域性E-R模式,然後把各區域性E-R模式綜合成一個全域性的E-R模式,最後對全域性E-R模式進行優化,得到最終的E-R模式,即概念模式。

1、某大學實現學分制,學生可根據自己情況選課。每名學生可同時選修多門課程,每門課程可由多位教師主講;每位教師可講授多門課程。其不完整的E-R圖如圖1所示。

(1)       指出學生與課程的聯絡型別。

(2)       指出課程與教師的聯絡型別。

(3)       若每名學生有一位教師指導,每個教師指導多名學生,則學生與教師是如何聯絡?

(4)       在原E-R圖上補畫教師與學生的聯絡,並完善E-R圖。

答:

(1)       學生與課程聯絡型別是多對多聯絡。

(2)       課程與教師的聯絡型別是多對多聯絡。

(3)       學生與教師的聯絡型別是一對多聯絡。

(4)       完善本題E-R圖的結果如圖2所示。


            


       

2、將如圖3所示的E-R圖轉換為關係模式,菱形框中的屬性自己確定。

答:本題的E-R圖轉換為如下的關係模式:

單位(單位號,地址,電話)

職工(職工號,姓名,性別,年齡,單位號)


3、假定一個部門的資料庫包括以下資訊:

(1)       職工的資訊:職工號、姓名、地址和所在部門。

(2)       部門的資訊:部門所有職工、部門名、經理和銷售的產品。

(3)       產品的資訊:產品名、製造商、價格、型號及產品的內部編號。

(4)       製造商的資訊:製造商名稱、地址、生產的產品名和價格。

試畫出這個資料庫的E-R圖。

答:本題對應的E-R圖如圖 4所示。


4、某醫院病房計算機管理中心需要如下資訊:

科室:科名、科地址、科電話、醫生姓名

病房:病房號、床位號、所屬科室名

醫生:姓名、職稱、所屬科室名、年齡、工作證號

病人:病歷號、姓名、性別、診斷、主管醫生、病房號

其中,一個科室有多少個病房、多少個醫生,一個病房只能屬於一個科室,一個醫生只屬於一個科室,但可負責多個病人的診治,一個病人的主管醫生只有一個。

完成如下設計:

(1)       設計該計算機管理系統的E-R圖

(2)       將該E-R圖轉換為關係模式結構。

(3)       指出轉換結果中每個關係模式的後選碼。

答:(1)本題的E-R圖如圖5所示。


(2)對應的關係模式結構如下:

科室(科名,科地址,科電話)

病房(病房號,床位號,科室名)

醫生(工作證號,姓名,職稱,科室名,年齡)

病人(病歷號,姓名,性別,主管醫生,病房號)

(3)每個關係的後選碼如下:

科室的後選碼是科名。

病房的後選碼是科室名+病房號。

   醫生的後選碼是工作證。

   病人的後選碼是病歷號。

5、設有如下實體:

學生:學號、單位名稱、姓名、性別、年齡、選修課名

課程:編號、課程名、開課單位、認課教師號

教師:教師號、姓名、性別、職稱、講授課程編號

單位:單位名稱、電話、教師號、教師姓名

上述實體中存在如下聯絡:

(1)       一個學生可選多門課程,一門課程可被多個學生選修。

(2)       一個教師可講授多門課程,一門課程可由多個教師講授。

(3)       一個單位可有多個教師,一個教師只能屬於一個單位。

試完成如下工作:

(1)       分別設計學生選課和教師任課兩個區域性E-R圖。

(2)       將上述設計完成的E-R圖合併成一個全域性E-R圖。

(3)       將全域性E-R圖轉換為等價的關係模式表示的資料庫邏輯結構。

答:(1)學生選課區域性E-R圖如圖6所示,教師任課區域性E-R圖如圖7所示。



(2)合併的全域性E-R圖如圖8所示。


為避免複雜,合併的全域性E-R圖中省略了以下各實體的屬性:

單位:單位名稱,電話

學生:學號,姓名,性別,年齡

教師:教師號,姓名,性別,職稱

課程:編號,課程名

(3)該全域性E-R圖轉換為等價的關係模式表示的資料邏輯結構如下:

單位(單位名稱,電話)

課程(教師號,姓名,性別,職稱,單位名稱)

學生(學號,姓名,性別,年齡,單位名稱)

講授(教師號,課程編號)

選修(學號,課程編號)

6、圖9給出(a)、(b)和(c)3個不同的區域性模型,將其合併成一個全域性資訊結構,並設定聯絡實體中的屬性(准許增加認為必要的屬性,也可將有關基本實體的屬性選作聯絡實體的屬性)。

各實體構成如下:

部門:部門號、部門名、電話、地址

職員:職員號、職員名、職務(幹部/工人)、年齡、性別

裝置處:單位號、電話、地址

工人:工人編號、姓名、規格、價格

裝置:裝置號、名稱、規格、價格

零件:零件號、名稱、規格、價格

廠商:單位號、名稱、電話、地址


   答:彙總後的E-R圖如圖6.20所示。


各類實體的屬性為:

部門:部門號、部門名、電話、地址

職工:職工號、職工名、職務、年齡、性別

裝置:裝置號、名稱、規格、價格

零件:零件號、名稱、規格、價格

7、一個圖書館借閱管理資料庫要求提供下述服務:

(1)可隨時查詢書庫中現有書籍的品種、數量與存放位置。所有各類書籍均可由書號惟一標識。

(2)可隨時查詢書籍借還情況,包括借書人單位、姓名、借書證號、借書日期和還書日期。

我們約定:任何人可借多種書,任何一種書可為多個人所借,借書證號具有惟一性。

(3)當需要時,可通過資料庫中儲存的出版社的電報編號、電話、郵編及地址等資訊下相應出版社增購有關書籍。我們約定,一個出版社可出版多種書籍,同一本書僅為一個出版社出版,出版社名具有惟一性。

根據以上情況和假設,試作如下設計:

(1)   構造滿足需求的E-R圖。

(2)   轉換為等價的關係模式結構。

答:(1)滿足上述需求的E-R圖如圖11所示。


(2)轉換為等價的關係模式結構如下:

借書人(借書證號,姓名,單位)

圖書(書號,書名,數量,位置,出版社名)

出版社(出版社名,電報編號,電話可,郵編,地址)

借閱(借書證號,書號,借書日期,還書日期)

8、工廠(包括廠名和廠長名)需建立一個管理資料庫儲存以下資訊:

(1)   一個工廠內有多個車間,每個車間有車間號、車間主任姓名、地址和電話。

(2)   一個車間有多個工人,每個工人有職工號、姓名、年齡、性別和工種。

(3)   一個車間生產多種產品,產品有產品號和價格。

(4)一個車間生產多種零件,一個零件也可能為多個車間製造。零件有零件號、重量和價格。

(5)一個產品由多種零件組成,一種零件也可裝配出多種產品。

(6)產品與零件均存入倉庫中。

(7)廠內有多個倉庫,倉庫有倉庫號、倉庫主任姓名和電話。

試:(1)畫出該系統的E-R圖。

(2)給出相應的關係模式。

  (3)畫出該系統的層次模式圖。

答:(1)該系統的E-R圖如圖12所示。

各實體的屬性為:

工廠:廠名、廠長姓名

車間:車間號、車間主任姓名、地址、電話

工人:職工號、姓名、年齡、性別、工種

倉庫:倉庫號、倉庫主任姓名、電話

零件:零件號、重量、價格

產品:產品號、價格


(2)相應的關係模式如下:

工廠(廠名、廠長姓名)

車間(車間號、車間主任姓名、地址、電話、廠名)

工人(職工號、姓名、年齡、性別、工種、車間號)

倉庫(倉庫號、倉庫主任姓名、電話、長名)

產品(產品號、價格、車間號、倉庫號)

零件(零件號、重量、價格、倉庫號)

製造(車間號、零件號)

(3)該系統的層次模型圖如圖13所示。

8、有如下運動隊和運動會兩個方面的實體:

1.運動隊方面

運動隊:隊名、教練姓名、隊員姓名

隊員:隊名、隊員姓名、性別、項名

其中,一個運動隊有多個隊員,一個隊員僅屬於一個運動隊,一個隊一般有一個教練。

2.運動會方面

運動隊:隊編號、隊名、教練姓名

專案:專案名、參加運動隊編號、隊員姓名、性別、比賽場地

其中,一個專案可由多個隊參加,一個運動員可參加多個專案,一個專案一個比賽場地。


    請完成如下設計:

(1)   分別設計運動隊和運動會兩個區域性E-R圖。

(2)   將他們合併為一個全域性E-R圖。

(3)   合併時存在什麼衝突,你是如何解決這些衝突的?

答:(1)運動隊區域性E-R圖如圖14所示,運動會區域性E-R圖如圖15所示。



(2)合併結果如圖6.26所示。


     (3)命名衝突:項名、專案名異名同義,統一命名為專案名。

結構衝突:專案在兩個區域性E-R圖中,一個作屬性,一個作實體,合併統一為實體。

9、假設要建立一個企業資料庫,該企業有多個下屬單位,每一個單位有多個職工,一個職工僅隸屬於一個單位,且一個職工僅在一個工程中工作,但一個工程中有很多職工參加工作,有多個供應商為各個工程供應不同裝置。單位的屬性有:單位名、電話。職工的屬性有:職工號、姓名、性別。裝置的屬性有:裝置號、裝置名、產地。供應商的屬性有:姓名、電話。工程的屬性有:工程名、地點。

請完成如下處理:

(1)   設計滿足上述要求的E-R圖。

(2)   將該E-R圖轉換為等價的關係模式。

(3)   根據你的理解,用下劃線標明每個關係中的碼。

   答:(1)滿足要求的E-R圖如圖17所示。


各實體的屬性如下:

單位(單位名、電話)

職工(職工號、姓名、性別)

裝置(裝置名、裝置號、產地)

供應商(姓名、電話)

工程(工程名、地點)

(2)轉換後的關係模式如下:

單位(單位名、電話)

職工(職工號、單位名、工程名、姓名、性別)

裝置(裝置名、裝置號、產地)

供應商(姓名、電話)

工程(工程名、地點)

供應(供應商姓名、工程名、裝置號、數量)(3)見(2)中下劃線。

10、圖反映了一個公司部門(DEPT)、職工(EMP)、工程(PROJ)、材料(PART)、材料供應商(SUPP)和倉庫(WH)之間聯絡的E-R圖。建立它的關係模式。


答:對應的關係模式如下:

  部門(部門號,部門名,…)

  職工(職工號,職工名,部門號,工程號,…)

  工程(工程號,工程名,…)

  材料(材料號,材料名,…)

  材料供應商(供應商號,姓名,…)

倉庫(倉庫號,倉庫名,地點,…)

INV(倉庫號,材料號

S-PR-PA(供應商號,公稱好,材料號

有下劃線的屬性或屬性組為碼。

11、設一個海軍基地要建立一個艦隊管理資訊系統,它包括如下兩個方面的資訊:

1.艦隊方面

  艦隊:艦隊名稱、基地地點、艦艇數量

  艦艇:編號、艦艇名稱、艦隊名稱

2.艦艇方面

  艦艇:艦艇編號、艦艇名、武器名稱

  武器:武器名稱、武器生產時間、艦艇編號

  官兵:官兵證號、姓名、艦艇編號

其中,一個艦隊擁有多艘艦艇,一艘艦艇屬於一個艦隊;一艘艦艇安裝多種吳起,一個武器可安裝於多艘艦艇上;一艘艦艇有多個官兵,一個官兵只屬於一艘艦艇。

請完成如下設計:

(1)   分別設計艦隊和艦艇兩個區域性E-R圖。

(2)   將上述兩個區域性E-R圖合併為一個全域性E-R圖。

(3)   將該全域性E-R圖轉換為關係模式。

(4)   合併時是否存在命名衝突?如何處理?

答:(1)艦隊和艦艇兩個區域性E-R圖分別如圖所示。

    (2)將圖19和圖20所示出兩個區域性E-R圖合併為如圖21所示的全域性E-R圖。

(3)轉換的關係模式如下:

   艦隊(艦隊名稱,基地地點)

艦艇(艦艇編號,艦艇名稱,艦隊名稱,艦艇數量)

官兵(官兵證號,姓名,艦艇編號)

武器(武器名稱,武器生產時間)

安裝(艦艇編號,吳起名稱)

(4)存在衝突,表現在:

● “艦艇編號”和“編號”存在異名同義,合併時統一為“艦艇編號”。

● “艦艇名”和“艦艇名稱”存在異名同義,合併時統一為“艦艇名稱”。


      12、社某商業集團資料庫中有3個實體集,一是“商品”實體集,屬性有商店編號、商店名、地址等;二是“商品”實體集,屬性有商品號、商品名、規格、單價等;三是“職工”實體集,屬性有職工編號、姓名、性別、業績等。


商店與商品間存在“銷售”聯絡,每個商店可銷售多種商品,每中商品也可以放在多個商店銷售,每個商店孝順的一種商品有月銷售量;商店與職工之間存在“聘用”聯絡,每個商店有許多職工,每個職工只能在一個商店工作,商店聘用職工有聘期和工資。

(1)   試畫出E-R圖。

(2)   將該E-R圖轉換成關係模式,並指出主碼和外碼。

答:(1)對應的E-R圖如圖所示。


(2)這個E-R圖可轉換為如下關係模式:

商店(商店編號,商店名,地址) 商店編號為主碼

職工(職工編號,姓名,性別,業績,商店編號,聘期,工資) 職工編號為主碼,商店編號為外碼。

商品(商品號,商品名,規格,單價) 商品號為主碼

銷售(商店編號,商品號,月銷售量) 商店編號+商品號為主碼  商店編號,商品號均為外碼

13、學校中有若干系,每個繫有若干班級和教研室,每個教研室有若干教員,其中有的教授和副教授每人各帶若干研究生,每個班有若干學生,每個學生選修若干課程,每門課可由若干學生選修。請用E-R圖畫出此學校的概念模型,實體的屬性可自行設計。

答:對應的E-R圖如圖23所示。各實體的屬性如下:

系:系名,系主任號,系地址,系電話

班級:班號,班長,人數

教研室:教研室名,地址,電話

學生:學號,姓名,性別,年齡,籍貫,入學年份,專業

本科生:已修學分,平均成績

研究生:研究方向,導師姓名

教員:姓名,年齡,性別,職稱,專長

正副教授:科研專案,研究方向


 轉自百度文庫: