數據庫實驗五 數據庫設計
- 一、實驗目的
- 二、實驗內容
- 三、實驗內容
- 四、驗證性實驗
- 五、設計性實驗
一、實驗目的
1.了解E-R圖構成要素以及各要素圖元。
2.掌握概念模型E-R圖的繪制方法。
3.掌握概念模型向邏輯模型的轉換原則和步驟。
4.運用sql編程實現
二、實驗內容
1.選取一個應用背景,分析應用和數據需求
2.完成數據庫設計的需求分析報告
3.完成數據庫的概念結構設計,畫出E-R圖(要求,實體不少于3個)
4.完成數據庫的邏輯結構設計,做出表結構和完整性約束設計
三、實驗內容
1.體會數據庫設計的各個階段的任務和工作
2.評價自己設計的數據庫的范式級別
四、驗證性實驗
(1) 某同學需要設計開發班級信息管理系統,希望能夠管理班級與學生信息的數據庫,其中學生信息包括學號,姓名,年齡,性別,班號;班級信息包括班號、年級號、班級人數。
①確定班級實體和學生實體的屬性。
學生:學號,姓名,年齡,性別,班號
班級:班號、班主任、班級人數
②確定班級和學生之間的聯系,給聯系命名并指出聯系的類型。
一個學生只能屬于一個班級,一個班級可以有很多學生,所以和學生間是1對多關系,即1:n
③確定聯系本身的屬性。
屬于
④畫出班級與學生關系的E-R圖。
⑤將E-R圖轉化為關系模式,寫出各關系模式并標明各自的碼。
學生(學號,姓名,年齡,性別,班號),主碼為:學號
班級(班號、班主任、班級人數),主碼為:班號
(2)請為電冰箱經銷商設計一套存儲生產廠商和產品信息的數據庫,要求生產廠商的信息包括廠商名稱、地址、電話;產品的信息包括品牌、型號、價格;生產廠商生產某產品的數量和日期。
要求:
① 確定產品實體和生產廠商實體的屬性。
生產廠商:廠商名稱,地址,電話
產品:品牌,型號,價格
②確定產品和生產廠商之間的聯系,給聯系命名并指出聯系的類型。
一個生產廠商可以生產多個產品,一個產品也可以有很多生產廠商生產,所以產品和生產廠商間是m對多關系,即m:n
③確定聯系本身的屬性。
生產
④畫出產品與生產廠商關系的E-R圖。
⑤將E-R圖轉化為關系模式,寫出表的關系模式并標明各自的碼。
生產廠商(廠商名稱,地址,電話),主碼為:廠商名稱
產品(品牌,型號,價格),主碼為:品牌,型號
生產(廠商名稱,品牌,型號,數量,日期),主碼為:廠商名稱,品牌,型號
(3) 設某汽車運輸公司想開發車輛管理系統,其中,車隊信息:車隊號、車隊名等;車輛信息有牌照號、廠家、出廠日期等;司機信息有司機編號、姓名、電話等。 車隊與司機之間存在“聘用”聯系,每個車隊可聘用若干司機,但每個司機只能應聘于一個車隊,車隊聘用司機有“聘用開始時間”和“聘期”兩個屬性; 車隊與車輛之間存在“擁有”聯系,每個車隊可擁有若干車輛,但每輛車只能屬于一個車隊; 司機與車輛之間存在著“使用”聯系,司機使用車輛有“使用日期”和“公里數”兩個屬性,每個司機可使用多輛汽車,每輛汽車可被多個司機使用。
①確定實體和實體的屬性。
車隊:車隊號,車隊名
車輛:車牌照號,廠家,生產日期
司機:司機編號,姓名,電話,車隊號
②確定實體之間的聯系,給聯系命名并指出聯系的類型。
車隊與車輛聯系類型是1:n,聯系名稱:擁有,車隊與司機聯系類型是1:n,聯系名稱為聘用;車輛和司機聯系類型為m:n,聯系名稱為:使用。
③確定聯系本身的屬性。
聯系“聘用”的屬性有“聘用開始時間”和“聘期”兩個屬性,聯系“使用“有“使用日期”和“公里數”兩個屬性。
④畫出E-R圖。
⑤將E-R圖轉化為關系模式,寫出表的關系模式并標明各自的碼。
車隊(車隊號,車隊名) ,主碼為:車隊號;
車輛(車牌照號,廠家,生產日期,車隊號) ,主碼為:車牌照號;
司機(司機編號,姓名,電話,車隊號,聘用開始時間,聘期),主碼為:司機編號 ;
使用(司機編號,車輛號,使用日期,公里數),主碼為:司機編號,車輛號。
五、設計性實驗
1、為在線圖書銷售系統中的訂單管理模塊設計數據庫。
該模塊的功能設計中有4個實體,具體信息如下表所示。
(1)需求分析,用文字描述圖書銷售系統的數據。
①確定用戶實體、書籍實體、訂單實體、訂單明細實體的屬性。
用戶:用戶編號,用戶名,用戶性別
書籍:書籍編號,書籍名稱,書籍價格
訂單:訂單編號,下單時間,訂單總價格
②確定用戶、書籍、訂單、訂單明細之間的聯系,給聯系命名并指出聯系的類型。
用戶與書籍之間的聯系是1:n,聯系名稱:選夠=;
書籍與訂單之間的聯系是n:m,聯系名稱:訂單明細。
③確定聯系本身的屬性。
聯系“訂單明細“有“訂單明細編號”和“書籍數量”兩個屬性。
(2)設計概念模型,畫出E-R圖。
① 創建實體
② 添加屬性
③ 設置每個實體的主碼
④ 添加實體之間的聯系
(2)將E-R圖轉化為關系模式,寫出表的關系模式并標明各自的主碼和外碼。
用戶(用戶編號,用戶名,用戶性別),主碼為:用戶編號;
書籍(書籍編號,書籍名稱,書籍價格),主碼為:書籍編號;
訂單(訂單編號,下單時間,訂單總價格),主碼為:訂單編號,外碼為:用戶編號
訂單明細(訂單編號,書籍編號,訂單明細編號,書籍數量),主碼為:訂單明細編號,外碼為:訂單編號,書籍編號