資料庫設計之概念結構設計---------E-R圖詳解
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所示。各實體的屬性如下:
系:系名,系主任號,系地址,系電話
班級:班號,班長,人數
教研室:教研室名,地址,電話
學生:學號,姓名,性別,年齡,籍貫,入學年份,專業
本科生:已修學分,平均成績
研究生:研究方向,導師姓名
教員:姓名,年齡,性別,職稱,專長
正副教授:科研專案,研究方向
轉自百度文庫: