VCD租售管理系統--精選文檔_第1頁
VCD租售管理系統--精選文檔_第2頁
已閱讀5頁,還剩18頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、重慶理工大學數據庫實驗報告VCD租售管理系統 課程: 數據庫課程設計 題目: vcd租售管理系統 班級: 107030702 學號: 10703070226 姓名: 許永順 重慶理工大學計算機科學與工程學院2009年11月“數據庫建模技術”實驗需求文字根據以下開發VCD出售租借連鎖店管理系統需求調查文字,完成實驗一至實驗五。市內某家大型VCD出售租借連鎖店有許多員工,每個員工只能服務于一家租借店;每個員工有工號、姓名、性別、年齡、政治面貌等屬性;每家店日常工作主要有:租借、歸還、逾期罰款等(租借人首先要辦理租借卡,租借卡分為年卡、月卡和零租卡)。具體操作流程如下:(1)出售租借:根據購買人或租

2、借人提供的VCD租借單,查閱庫存,如果有,則辦理銷售或租借并登記銷售(記錄銷售記錄單號、購買人卡號、購買日期、VCD編碼、數量、單價,經辦員工號)或租借流水帳(記錄租借記錄單號、租借人卡號、租借日期、VCD編碼、數量、歸還日期,經辦員工號);如果沒有相應的VCD,則可根據購買人或租借人的要求辦理預約登記(記錄預約登記單號、購買或租借卡卡號、VCD編碼、數量、經辦員工號),當有VCD時,及時通知購買人或租借人。(2)歸還:根據租借人提供的所還VCD,檢查VCD是否完好,如果完好,則辦理歸還登記(記錄歸還單號、租借人卡號、歸還日期、VCD編碼、數量、經辦員工號),如果有損壞的VCD,辦理賠償登記(

3、記錄賠償單號、租借卡卡號、賠償日期、賠償VCD編碼、數量、金額,經辦員工號),并把賠償通知單通知給租借人。(3)逾期罰款通知:查詢逾期未還的VCD,及時通知租借人,并進行相應的罰款登記(記錄罰款單號、租借卡卡號、罰款日期、罰款金額、經辦員工號)。實驗一 需求分析(一)業務流程調查一、實驗目的:掌握需求分析的步驟和業務流程調查的方法;掌握應用Powerbuilder繪制BPM模型二、學時:6H(課內4H,課外2H)三、實驗軟件平臺:Windows 2k或Windows XP, Powerduilder9.5,Visio四、實驗內容:根據該VCD連鎖店的業務需求調查文字,利用PD繪制該VCD連鎖店

4、管理系統的BPM模型。五、實驗結果: 【請在此粘貼你的BPM,地方不夠可換頁】 銷售租借流程圖 歸還流程圖 逾期罰款流程圖六、思考題1、數據庫設計為什么需要進行詳細的需求分析?答:需求分析是整個數據庫設計過程的基礎,是最困難、最耗費時間的一步。作為“地基”的需求分析是否做得充分與準確,決定了在其上構建數據庫大廈的速度與質量。需求分析做得不好,甚至會導致整個數據庫設計返工重做。2、需求分析的目標是什么?其調查步驟是什么?常用的調查方法有哪些?答:需求分析的目標是調查清楚用戶的實際要求,與用戶達成共識,然后分析與表達這些需求。調查用戶的具體步驟:(1) 調查組織機構情況。包括了解該組織的部門組成情

5、況、各部門的職責等,為分析信息流做準備。(2) 調查各部門的業務活動情況。包括了解各個部門輸入是使用什么數據,如何加工處理這些數據,輸出什么信息,輸出到什么部門,輸出結果的格式是什么,這是調查的重點。(3) 在熟悉了業務活動的基礎上,協助用戶明確對新系統的各種要求,包括信息要求、處理要求、安全性與完整性要求,這是調查的又一個重點。(4) 確定新系統的邊界。對前面的調查的結果進行初步分析,確定哪些功能由計算機完成或將來準備讓計算機完成,哪些活動由人工完成。由計算機完成功能就是新系統應該實現的功能。調查方法:(1)跟班作業; (2)開調查會; (3)請專人介紹; (4)詢問; (5)設計調查表請用

6、戶填寫; (6)查閱記錄。3、數據庫設計的特點是什么?答:一、數據庫建設的基本規律:三分技術七分管理,十二分基礎數據。二、結構(數據)設計和行為(處理)設計相結合數據庫設計應該和應用系統設計相結合。實驗二 需求分析(二)數據流程調查一、 實驗目的:掌握需求分析的步驟和數據流程調查的方法;掌握應用VISIO繪制數據流程圖(DFD),掌握數據流程圖分層次的繪制方法。掌握編寫數據字典的方法和步驟。二、 實驗學時:8H(課內6H,課外2H)三、 實驗軟件平臺:Windows 2k或Windows XP, Visio四、實驗內容:1、掌握數據流程調查和分析的方法;2、利用Visio繪制分層次的數據流程圖

7、并在繪制的過程中建立標準、統一的編碼;3、根據該VCD連鎖店的業務需求調查文字以及第一次作業所完成的內容,利用VISIO,繪制該連鎖店管理系統的DFD模型。4、編寫詳細正確的數據字典。五、實驗步驟1、數據流程圖的層次繪制方法復習數據流程圖分層次繪制模型:數據流程圖是按照“自頂向下、逐層細化”的原則進行,在繪制整個數據流程圖的過程中,一定要建立標準、統一的編碼,并建立相應的數據字典。數據流程圖的詳細繪制過程可參見上課過程中的PPT案例(陪送系統數據流程圖)。2、根據該VCD連鎖店的業務需求調查文字以及第一次作業所完成的內容,利用VISIO,繪制該連鎖店管理系統的DFD模型。六、實驗結果: 1、繪

8、制數據流程圖 【請在此粘貼你的DFD,數據流程圖中的數據對象一定要編號,地方不夠可換頁】 VCD租售連鎖店管理系統的數據流程圖頂層圖(一層) 用戶信息登錄流程圖(二層) 銷售或租借流程圖(二層) 還書數據流程圖(二層) 逾期罰款流程圖(二層)2、編寫相應的正確的數據字典表3-1 數據流的描述數據流編號數據流名稱簡 述數據流來源數據流去向數據流組成數據流量高峰流量D1用戶信息用戶購買租借提交的信息用戶申請處理卡號+姓名+用戶基本信息不限不限D2銷售租借VCD店提供銷售租借服務VCD店提供服務銷售租借記錄單號+租借人卡號+VCD編碼等不限不限D3歸還VCD店處理用戶歸還申請VCD店處理歸還申請歸還

9、記錄單號+租借人卡號+VCD編碼+歸還日期等不限不限D4逾期罰款用戶逾期罰款并通知用戶VCD店處理逾期罰款記錄罰款單號+租借卡號+VCD編碼+罰款日期不限不限表3-2 處理邏輯的描述處理邏輯編號處理邏輯名稱簡述輸入的數據流處理輸出的數據流處理頻率P1用戶申請申請購買租借提交的信息D1持卡者可以直接購買租借,若無需申請D2P2銷售租借提供銷售租借VCD服務D2銷售租借登記并出庫更新D3P3歸還處理歸還VCD請求D3歸還登記,并入庫更新 D4表3-3 數據存儲的描述數據存儲編號數據存儲名稱簡 述數據存儲組成相關聯的處理F1用戶信息購買租借提交的用戶信息卡號+姓名+用戶基本信息P1、P2、P3F2庫

10、存臺帳銷售租借歸還記錄記錄單號+購買人卡號+VCD編碼等P2.1、P2.2、P3表3-4 外部實體的描述外部實體編號外部實體名稱簡述外部實體組成輸入的數據流輸出的數據流E1用戶購買租借歸還VCD的人卡號+姓名+基本信息D1D2E2員工提供銷售租歸還服務的人記錄單號+租借人卡號+VCD編碼等D2D3表4-5 數據項的定義數據項編號數據項名稱簡述類型及寬度取值范圍I1銷售租借VCD店提供銷售租借服務Char(8)I2歸還VCDVCD店處理用戶歸還VCDChar(8)I3逾期罰款對逾期用戶罰款Char(8)七、思考題 1、數據流程圖的特點有哪三方面? 答:數據流程圖的特點:(1) 層次性;(2) 抽

11、象性;(3) 概括性。2、數據字典的內容和作用是什么? 答:數據字典的內容:數據項、數據結構、數據流、數據存儲、處理過程。 數據字典的作用:數據流圖表達了數據和處理的關系。實驗三 概念結構設計一、 實驗目的:掌握概念結構模型繪制的方法和步驟,掌握利用PD繪制和管理CDM的方法。二、 實驗學時:6H(課內3H,課外3H)三、 實驗軟件平臺: Windows 2k或Windows XP, Powerduilder9.5,Visio四、實驗內容:1、掌握概念結構設計的方法;2、利用PD繪制并管理CDM;3、根據該VCD連鎖店的業務需求調查文字以及前兩次作業所完成的內容,利用PD,設計該連鎖店管理系統

12、合理的CDM模型。五、實驗結果 【請在此粘貼你的CDM,注意實體的正確抽象以及數據項、域、主標識和各類聯系的正確表達】六、思考題1、 什么是數據庫的概念結構?式述其特點和設計策略。 答:概念結構設計就是將需求分析得到的用戶需求抽象為信息結構即概念模型的過程。概念結構設計的特點:(1) 能真實、充分地反映現實世界,包括事物和事物之間的聯系,能滿足用戶對數據的處理要求,是對現實世界的一個真實模型;(2) 易于理解,從而可以用它和不熟悉計算機的用戶交換意見,用戶的積極參與是數據庫設計成功的關鍵;(3) 易于更改,當應用環境和應用要求改變時,容易對概念模型修改和擴充;(4) 易于向關系、網狀、層次等各

13、種數據模型轉換。概念結構設計的策略:(1) 自頂向下。(2) 自底向上。(3) 逐步擴張。(4) 混合策略。2、 什么叫數據抽象? 答:所謂抽象就是對實際的人、物、事和概念進行人為處理,抽取所關心的共同特性,忽略非本質的細節,并把這些特性用各種概念精確的加以描述。一般有三種抽象:(1) 分類(2) 聚集(3) 概括3、 數據庫概念結構設計的重要性和設計步驟答:概念結構設計是整個數據庫設計的關鍵,它通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。4、 為什么要視圖集成?有哪些方法?答:各子系統的分E-R圖設計好以后,下一步就是要將所有的分E-R圖綜合成一個系統的總E-R

14、圖。 一般來說,視圖集成可以有兩種方式:(1) 多個分E-R圖一次集成。(2) 逐步集成,用累加的方式一次集成兩個分E-R圖。實驗四 邏輯結構設計一、 實驗目的:掌握概念結構模型向邏輯模型轉換的規則方法;掌握在PD環境中把CDM正確轉換為PDM,并對PDM進行必要的管理和修改。二、實驗學時:6H(課內3H,課外3H)三、實驗軟件平臺: Windows 2k或Windows XP, Powerduilder9.5,Visio四、實驗內容:1、掌握概念結構模型向邏輯模型轉換的規則方法;2、掌握在PD環境中把CDM正確轉換為PDM,并對PDM進行必要的管理和修改;3、掌握利用創建PDM的四種方法;4

15、、根據該VCD連鎖店的業務需求調查文字以及前三次實驗所完成的內容,利用PD,設計該連鎖店管理系統合理的PDM模型。五、實驗結果 【請在此粘貼你的PDM,注意對聯系所轉換來的獨立表,要添加合理的非主屬性字段】六、思考題1、 什么是數據庫的邏輯結構設計?試述其設計步驟答:邏輯結構設計:對數據在計算機中的組織形式設計。 設計步驟:(1) 將概念結構轉換為一般的關系、網狀、層次模型;(2) 將轉換來的關系、網狀、層次模型向特定DBMS支持下的數據模型轉換;(3) 對數據模型進行優化。 2、 試述把E-R圖轉換為關系模型的轉換規則。答:轉換一般遵循如下規則:(1) 一個1:1聯系可以轉換為一個獨立的關系

16、模式,也可以與任意一端對應的關系模式合并。(2) 一個1:n聯系可以轉換為一個獨立的關系模式,也可以與N端對應的關系模式合并。(3) 一個M:N聯系轉換為一個關系模式。與該聯系相連的各實體的碼以及聯系本事的屬性均轉換為關系的屬性,各實體的碼組成關系的碼或關系碼的一部分。(4) 3個或3個以上實體間的一個多元聯系可以轉換為一個關系模式。(5) 具有相同碼的關系模式可以合并。實驗五 數據庫的物理設計與實施一、 實驗目的:掌握PD中利用PDM生成物理數據庫的操作步驟;掌握在PD環境中把PDM正確轉換為數據庫文件和生成數據庫文件的SQL腳本。二、實驗學時:4H(課內2H,課外2H)四、 實驗軟件平臺:

17、 Windows 2k或Windows XP, Powerduilder9.5,MS SQL Server 2000或Anywhere四、實驗內容:1、 掌握PD中利用PDM生成物理數據庫的操作步驟;2、 掌握在PD環境中把PDM正確轉換為數據庫文件和生成數據庫文件的SQL腳本。3、 根據第四次實驗所得到的PDM模型,完成該VCD連鎖店管理系統數據庫的物理設計,保留生成數據庫的SQL腳本和數據庫文件。五、實驗結果 【請在此粘貼你的生成數據庫的SQL腳本,并注意保留生成數據庫的SQL腳本和數據庫文件。】/*=*/* DBMS name: Sybase AS Anywhere 9 */* Crea

18、ted on: 2009-11-6 9:10:30 */*=*/if exists(select 1 from sys.sysforeignkey where role='FK_記錄歸還單_辦理歸還_員工') then alter table 記錄歸還單 delete foreign key FK_記錄歸還單_辦理歸還_員工end if;if exists(select 1 from sys.sysforeignkey where role='FK_記錄歸還單_歸還VCD_用戶信息') then alter table 記錄歸還單 delete foreign

19、key FK_記錄歸還單_歸還VCD_用戶信息end if;if exists(select 1 from sys.sysforeignkey where role='FK_記錄歸還單_歸還入庫_VCD') then alter table 記錄歸還單 delete foreign key FK_記錄歸還單_歸還入庫_VCDend if;if exists(select 1 from sys.sysforeignkey where role='FK_賠償罰款單_VCD受損或逾期未_VCD') then alter table 賠償罰款單 delete forei

20、gn key FK_賠償罰款單_VCD受損或逾期未_VCDend if;if exists(select 1 from sys.sysforeignkey where role='FK_賠償罰款單_辦理罰款賠償_員工') then alter table 賠償罰款單 delete foreign key FK_賠償罰款單_辦理罰款賠償_員工end if;if exists(select 1 from sys.sysforeignkey where role='FK_賠償罰款單_賠償_用戶信息') then alter table 賠償罰款單 delete for

21、eign key FK_賠償罰款單_賠償_用戶信息end if;if exists(select 1 from sys.sysforeignkey where role='FK_銷售租借單_出售出租_VCD') then alter table 銷售租借單 delete foreign key FK_銷售租借單_出售出租_VCDend if;if exists(select 1 from sys.sysforeignkey where role='FK_銷售租借單_辦理銷售租借預約_員工') then alter table 銷售租借單 delete forei

22、gn key FK_銷售租借單_辦理銷售租借預約_員工end if;if exists(select 1 from sys.sysforeignkey where role='FK_銷售租借單_購買租借預約_用戶信息') then alter table 銷售租借單 delete foreign key FK_銷售租借單_購買租借預約_用戶信息end if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='VCD_PK

23、' and t.table_name='VCD') then drop index VCD.VCD_PKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='員工_PK' and t.table_name='員工') then drop index 員工.員工_PKend if;if exists( select 1 from sys.sysindex i, sys.systa

24、ble t where i.table_id=t.table_id and i.index_name='用戶信息_PK' and t.table_name='用戶信息') then drop index 用戶信息.用戶信息_PKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='辦理歸還_FK' and t.table_name='記錄歸還單') then drop

25、index 記錄歸還單.辦理歸還_FKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='歸還VCD_FK' and t.table_name='記錄歸還單') then drop index 記錄歸還單.歸還VCD_FKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id

26、 and i.index_name='歸還入庫_FK' and t.table_name='記錄歸還單') then drop index 記錄歸還單.歸還入庫_FKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='記錄歸還單_PK' and t.table_name='記錄歸還單') then drop index 記錄歸還單.記錄歸還單_PKend if;if

27、exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='VCD受損或逾期未還_FK' and t.table_name='賠償罰款單') then drop index 賠償罰款單.VCD受損或逾期未還_FKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name=&

28、#39;辦理罰款賠償_FK' and t.table_name='賠償罰款單') then drop index 賠償罰款單.辦理罰款賠償_FKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='賠償_FK' and t.table_name='賠償罰款單') then drop index 賠償罰款單.賠償_FKend if;if exists( select 1 from

29、 sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='賠償罰款單_PK' and t.table_name='賠償罰款單') then drop index 賠償罰款單.賠償罰款單_PKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='出售出租_FK' and t.table_na

30、me='銷售租借單') then drop index 銷售租借單.出售出租_FKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='辦理銷售租借預約_FK' and t.table_name='銷售租借單') then drop index 銷售租借單.辦理銷售租借預約_FKend if;if exists( select 1 from sys.sysindex i, sys.sy

31、stable t where i.table_id=t.table_id and i.index_name='購買租借預約_FK' and t.table_name='銷售租借單') then drop index 銷售租借單.購買租借預約_FKend if;if exists( select 1 from sys.sysindex i, sys.systable t where i.table_id=t.table_id and i.index_name='銷售租借單_PK' and t.table_name='銷售租借單')

32、then drop index 銷售租借單.銷售租借單_PKend if;if exists( select 1 from sys.systable where table_name='VCD' and table_type in ('BASE', 'GBL TEMP') then drop table VCDend if;if exists( select 1 from sys.systable where table_name='員工' and table_type in ('BASE', 'GBL T

33、EMP') then drop table 員工end if;if exists( select 1 from sys.systable where table_name='用戶信息' and table_type in ('BASE', 'GBL TEMP') then drop table 用戶信息end if;if exists( select 1 from sys.systable where table_name='記錄歸還單' and table_type in ('BASE', 'GB

34、L TEMP') then drop table 記錄歸還單end if;if exists( select 1 from sys.systable where table_name='賠償罰款單' and table_type in ('BASE', 'GBL TEMP') then drop table 賠償罰款單end if;if exists( select 1 from sys.systable where table_name='銷售租借單' and table_type in ('BASE',

35、 'GBL TEMP') then drop table 銷售租借單end if;/*=*/* Table: VCD */*=*/create table VCD ( VCD編碼 char(10) not null, VCD單價 float, constraint PK_VCD primary key (VCD編碼);/*=*/* Index: VCD_PK */*=*/create unique index VCD_PK on VCD (VCD編碼 ASC);/*=*/* Table: 員工 */*=*/create table 員工 ( 員工號 char(10) not n

36、ull, 姓名 char(10), 性別 smallint, 年齡 integer, 政治面貌 char(8), constraint PK_員工 primary key (員工號);/*=*/* Index: 員工_PK */*=*/create unique index 員工_PK on 員工 (員工號 ASC);/*=*/* Table: 用戶信息 */*=*/create table 用戶信息 ( 用戶卡號 char(10) not null, 用戶姓名 char(10), 用戶聯系電話 char(12), 租借VCD編碼 char(10), VCD數量 integer, constr

37、aint PK_用戶信息 primary key (用戶卡號);/*=*/* Index: 用戶信息_PK */*=*/create unique index 用戶信息_PK on 用戶信息 (用戶卡號 ASC);/*=*/* Table: 記錄歸還單 */*=*/create table 記錄歸還單 ( 記錄歸還單號 char(10) not null, 員工號 char(10), 用戶卡號 char(10), VCD_VCD編碼 char(10), 租借人卡號 char(10) not null, 歸還日期 timestamp, VCD編碼 char(10), 數量 integer, 經辦

38、員工號 char(10), constraint PK_記錄歸還單 primary key (記錄歸還單號);/*=*/* Index: 記錄歸還單_PK */*=*/create unique index 記錄歸還單_PK on 記錄歸還單 (記錄歸還單號 ASC);/*=*/* Index: 歸還VCD_FK */*=*/create index 歸還VCD_FK on 記錄歸還單 (用戶卡號 ASC);/*=*/* Index: 辦理歸還_FK */*=*/create index 辦理歸還_FK on 記錄歸還單 (員工號 ASC);/*=*/* Index: 歸還入庫_FK */*=*/create index 歸還入庫_FK on 記錄歸還單 (VCD_VCD編碼 ASC);/*=*/* Table: 賠償罰款單 */*=*/create table 賠償罰款單 ( 賠償罰款記錄單號 char(10) not null, 用戶信_用戶卡號 char(10), 員工號 char(10), VCD編碼 char(10), 用戶卡號 char(10) not null, 賠償罰款日期 timesta

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論