數(shù)據(jù)庫課程設計快餐訂餐系統(tǒng)數(shù)據(jù)庫設計_第1頁
數(shù)據(jù)庫課程設計快餐訂餐系統(tǒng)數(shù)據(jù)庫設計_第2頁
數(shù)據(jù)庫課程設計快餐訂餐系統(tǒng)數(shù)據(jù)庫設計_第3頁
數(shù)據(jù)庫課程設計快餐訂餐系統(tǒng)數(shù)據(jù)庫設計_第4頁
數(shù)據(jù)庫課程設計快餐訂餐系統(tǒng)數(shù)據(jù)庫設計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、內蒙古科技大學本科生課程設計說明書題 目:數(shù)據(jù)庫課程設計 快餐預訂系統(tǒng)學生姓名:李文靜學 號:1176807345專 業(yè):計算機科學與技術班 級:11-3班指導教師:丁雨目錄目錄11需求分析21.1 課程設計題目要求21.2 系統(tǒng)分析21.2.1 系統(tǒng)開發(fā)目的21.2.2 系統(tǒng)分角色功能分析22概念結構設計32.1 數(shù)據(jù)流設計32.1.1 數(shù)據(jù)流頂層圖32.1.2 數(shù)據(jù)流一層圖42.2 e-r圖設計42.2.1 實體間總e-r圖42.2.2 實體分e-r圖53. 邏輯結構設計83.1 關系結構設計83.1.1 客戶表client83.1.2 職員表staff93.1.3 分店表store103

2、.1.4 食品表food103.1.5 配料表flavor113.1.6 食品-配料關系表ffr113.1.7 套餐表meal123.1.8 訂單表order123.1.9 銷售統(tǒng)計表sell134. 物理設計144.1 索引存取144.1.1索引定義144.1.2 建立索引144.2 聚簇索引144.2.1 聚簇索引定義144.2.2 建立聚簇索引155. 數(shù)據(jù)庫設計總結155.1 理解三個范式,正確認識數(shù)據(jù)冗余155.2 正確處理實體間多對多的關系151需求分析1.1 課程設計題目要求客戶需要注冊之后才能登陸??蛻粜枰斎朊艽a正確之后方可登陸系統(tǒng),然后后才可以訂、瀏覽、及取消訂單??蛻舢斈?/p>

3、到食物之后才付款(可以不用考慮付款問題)客戶可以選擇哪一個分店來為他送訂的東西??觳偷瓿鍪厶撞停▋煞N食品組合或三種食品組合),套餐包括兩菜(或三菜)另外加米飯和當天供應的湯。用戶可以自行選擇由哪幾樣菜組成套餐。一樣菜可以另附一種或多種調料。一個訂單可以包括任意的菜,附加飲料。經(jīng)經(jīng)理同意,某些食品可以打折。1.2 系統(tǒng)分析1.2.1 系統(tǒng)開發(fā)目的快餐訂餐系統(tǒng)是為了方便快餐公司更有利把握快餐市場,并且為消費者提供更便利的服務而設計開發(fā)的??觳陀啿拖到y(tǒng)可為快餐公司向餐飲消費者提供更加便利的餐飲服務,也可為消費者提供更加明細的消費服務。1.2.2 系統(tǒng)分角色功能分析快餐訂餐系統(tǒng)使用用戶的角色分為:客戶

4、,送貨員(職員),餐飲經(jīng)理(職員)。1. 客戶功能1) 注冊訂餐客戶賬號。注冊賬號并完善個人信息。2) 訂制套餐訂單。套餐可選擇分店設置套餐優(yōu)惠,也可根據(jù)個人喜好選擇喜愛食物構成套餐??蛻艨梢赃x擇同種食物的不同口味。3) 客戶在訂單中須寫清送餐地址、個人有效聯(lián)系方式,以便快餐及時送達。4) 客戶收到訂餐后再付費。5) 客戶可對送餐服務進行滿意度評價。6) 客戶可取消個人快餐訂單。2. 餐飲經(jīng)理功能1) 經(jīng)理可瀏覽客戶及所屬分店職員信息。2) 經(jīng)理可取消過期(一天以上)的訂單信息。3) 經(jīng)理可設定所屬分店優(yōu)惠套餐信息。4) 經(jīng)理可對部分設置食物價格折扣。3. 送餐員功能1) 送餐員可瀏覽所屬分店

5、訂單信息。2概念結構設計2.1 數(shù)據(jù)流設計2.1.1 數(shù)據(jù)流頂層圖2.1.2 數(shù)據(jù)流一層圖2.2 e-r圖設計2.2.1 實體間總e-r圖2.2.2 實體分e-r圖3. 邏輯結構設計3.1 關系結構設計注:使用數(shù)據(jù)庫為mysql數(shù)據(jù)庫3.1.1 客戶表client1) 創(chuàng)建數(shù)據(jù)表create table fastfood.client (client_id int not null auto_increment primary key ,client_nick varchar( 20 ) not null ,client_pwd varchar( 20 ) not null ,client_n

6、ame varchar( 20 ) not null ,client_tel varchar( 20 ) not null ,client_add varchar( 1000 ) not null ,client_time time not null) engine = myisam2) 關系數(shù)據(jù)表字段client_idclient_nickclient_pwdclient_nameclient_telclient_addclient_time類型intvarchar( 20 )varchar( 20 )varchar( 20 )varchar( 20 )varchar( 1000 )time

7、備注primary key客戶登陸名客戶登錄密碼客戶姓名客戶聯(lián)系電話客戶聯(lián)系地址客戶注冊時間3) 數(shù)據(jù)表說明i. 客戶表是記錄客戶信息的數(shù)據(jù)表。ii. client_id為客戶數(shù)據(jù)表的主鍵。iii. 已注冊客戶(在客戶表中存在的用戶)可以對個人信息進行修改。iv. 分店經(jīng)理可瀏覽所屬分店客戶信息。v. 送餐員沒有對客戶表操作的權限。3.1.2 職員表staff 1) 創(chuàng)建數(shù)據(jù)表create table fastfood.staff(staff_id int not null auto_increment primary key ,staff_num varchar( 20 ) not null

8、 ,staff_pwd varchar( 20 ) not null ,staff_name varchar( 20 ) not null ,staff_tel varchar( 20 ) not null ,staff_store varchar( 1000 ) not null ,staff_group varchar( 20 ) not null) engine = myisam2) 關系數(shù)據(jù)表字段staff_idstaff_numstaff _pwdstaff_namestaff _telstaff _addstaff_group類型intvarchar( 20 )varchar( 2

9、0 )varchar( 20 )varchar( 20 )varchar( 1000 )varchar( 20 )備注primary key職員登陸名職員登錄密碼職員姓名職員聯(lián)系電話職員所屬分店職員管理組3) 數(shù)據(jù)表說明i. 職員表是記錄分店職員信息的數(shù)據(jù)表。ii. staff_id是職員表的主鍵。iii. 職員工號為其系統(tǒng)登錄名。iv. 分店經(jīng)理可對其所屬分店的員工信息進行修改。v. 分店員工只可查看自己所屬分店的員工信息。vi. 客戶不能對職員表進行任何操作。3.1.3 分店表store 1) 創(chuàng)建數(shù)據(jù)表create table fastfood.store (store_id int n

10、ot null auto_increment primary key ,store_name varchar( 1000 ) not null ,store_add varchar( 1000 ) not null ,store_tel varchar( 20 ) not null) engine = myisam2) 關系數(shù)據(jù)表字段store_idstore_namestore_addstore_tel類型intvarchar( 1000 )varchar( 1000 )varchar( 20 )備注primary key分店名稱分店地址分店電話3) 數(shù)據(jù)表說明i. 分店表是記錄快餐店各分店

11、信息的數(shù)據(jù)表。ii. store_id是分店表的主鍵。iii. 經(jīng)理可瀏覽各店信息。經(jīng)理可對其所屬分店信息進行修改。iv. 送餐員可瀏覽各店信息。v. 客戶可瀏覽各店信息。3.1.4 食品表food 1) 創(chuàng)建數(shù)據(jù)表create table fastfood.food(food_id int not null auto_increment primary key ,food_name varchar( 20 ) not null ,food_info varchar( 1000 ) not null ,food_price float not null ,food_type varchar(

12、20 ) not null ,food_discount float not null) engine = myisam2) 關系數(shù)據(jù)表字段food_idfood_namefood_infofood_pricefood_typefood_discount類型intvarchar( 20 )varchar( 1000 )floatvarchar( 20 )float備注primary key食物名稱食物信息食物價格食物類型食物折扣3) 數(shù)據(jù)表說明i. 食物表是記錄快餐店各種食物信息的數(shù)據(jù)表。ii. food_id是食物表主鍵。iii. 經(jīng)理可對食物表進行添加、刪除、修改的操作。iv. 送餐員可瀏

13、覽該表信息。v. 客戶可瀏覽該表信息。3.1.5 配料表flavor 1) 創(chuàng)建數(shù)據(jù)表create table fastfood.flavor (flavor_id int not null auto_increment primary key ,flavor_name varchar( 20 ) not null) engine = myisam2) 關系數(shù)據(jù)表字段flavor_idflavor_name類型intvarchar( 20 )備注primary key配料名3) 數(shù)據(jù)表說明i. 配料表是記錄快餐各種食物所添加配料的數(shù)據(jù)表。ii. flavor_id是配料表的主鍵。iii. 經(jīng)理

14、可對配料表進行添加、修改等操作。iv. 客戶可瀏覽并依個人口味選擇所選食物的配料。3.1.6 食品-配料關系表ffr 1) 創(chuàng)建數(shù)據(jù)表create table fastfood.ffr (ffr_id int not null auto_increment primary key ,flavor_id int not null ,food_id int not null) engine = myisam2) 關系數(shù)據(jù)表字段ffr_idfood_idflavor_id類型intintint備注primary key食物id配料id3) 數(shù)據(jù)表說明i. 食物-配料關系表是記錄食物和配料對應關系表。

15、ii. ffr_id是食物-配料表的主鍵。iii. 經(jīng)理可對該表進行添加、修改的操作,設定各種食物配料對應關系。iv. 送餐員和客戶無操作權限。3.1.7 套餐表meal 1) 創(chuàng)建數(shù)據(jù)表create table fastfood.meal (meal_id int not null auto_increment primary key ,meal_name varchar( 20 ) not null ,food_id int not null) engine = myisam2) 關系數(shù)據(jù)表字段meal_idmeal_namefood_id類型intvarchar( 20 )int備注pr

16、imary key套餐名稱套餐中食物id3) 數(shù)據(jù)表說明i. 套餐表是記錄快餐店推出的優(yōu)惠套餐的記錄表。(非實體表)ii. meal_id是套餐表的主鍵。iii. 經(jīng)理可對套餐表進行修改、添加等操作。iv. 客戶可瀏覽套餐信息。客戶也可根據(jù)個人喜好添加個人套餐信息。3.1.8 訂單表order 1) 創(chuàng)建數(shù)據(jù)表create table fastfood.order (order_id int not null auto_increment primary key ,client_id int not null ,store_id int not null ,staff_id int not n

17、ull ,order_stime time not null ,order_evaluate varchar( 100 ) not null ,order_tprice float not null ,order_state varchar( 100 ) not null ,meal_id int not null) engine = myisam2) 關系數(shù)據(jù)表字段order_idclient_idstore_idstaff_idorder_stimeorder_evaluateorder_tpriceorder_statemeal_id類型intintintinttimevarchar(

18、100 )floatvarchar( 100 )int備注訂單號客戶id分店id送餐員id快餐到達時間服務評價訂單支付金額訂單狀態(tài)套餐id3) 數(shù)據(jù)表說明i. 訂單記錄表是記錄用戶訂單信息的數(shù)據(jù)表。ii. order_id是訂單表的主鍵。iii. 經(jīng)理可對訂單表進行修改操作。iv. 送餐員可瀏覽訂單表。v. 客戶可添加、取消該訂單。3.1.9 銷售統(tǒng)計表sell1) 創(chuàng)建數(shù)據(jù)表create table fastfood.sell (sell_id int not null auto_increment primary key ,client_id int not null ,order_id

19、int not null ,food_id int not null ,price float not null) engine = myisam2) 關系數(shù)據(jù)表字段sell_idclient_idorder_idfood_idprice類型intintintintfloat備注primary key訂餐人id訂單id食物id食物單價3) 數(shù)據(jù)表說明i. 銷售統(tǒng)計表是記錄客戶消費信息的數(shù)據(jù)表。ii. sell_id是該表的主鍵。iii. 客戶可在定制訂單之后瀏覽該信息。iv. 經(jīng)理可瀏覽該表,統(tǒng)計所屬分店的銷售業(yè)績。4. 物理設計4.1 索引存取4.1.1索引定義索引是對數(shù)據(jù)庫表中一列或多列的

20、值進行排序的一種結構,例如 staff 表的姓(name)列。如果要按姓查找特定職員,與必須搜索表中的所有行相比,索引會幫助您更快地獲得該信息。在數(shù)據(jù)庫關系圖中,可以在選定表的“索引/鍵”屬性頁中創(chuàng)建、編輯或刪除每個索引類型。當保存索引所附加到的表,或保存該表所在的關系圖時,索引將保存在數(shù)據(jù)庫中。4.1.2 建立索引在快餐店經(jīng)理和送餐員查詢訂單表時,經(jīng)理和送餐員只須查詢自己所在分店的訂單。故可在order表(store表)的store_id(分店id)屬性上建立索引。方法:create index store_id on order(store_id)4.2 聚簇索引4.2.1 聚簇索引定義聚簇索引確定表中數(shù)據(jù)的物理順序。聚簇索引類似于電話簿,后者按姓氏排列數(shù)據(jù)。由于聚簇索引規(guī)定數(shù)據(jù)在表中的物理存儲順序,因此一個表只能包含一個聚簇索引。但該索引可以包含多個列(組合索引),就像電話簿按姓氏和名字進行組織一樣。漢語字典也是聚簇索引的典型應用,在漢語字典里,索引項是字母+聲調,字典正文也是按照先字母再聲調的順序排列。4.2.2 建立聚簇索引訂餐者在查詢快餐店所提供的食品時,是根據(jù)食品名稱查詢的。故可在food表的food_name (

溫馨提示

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

評論

0/150

提交評論