

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本科生課程設計說明書</p><p> 題 目:數據庫課程設計</p><p><b> —— 快餐預訂系統(tǒng)</b></p><p><b> 學生姓名: </b></p><p><b> 學 號: </b></p>&
2、lt;p> 專 業(yè):計算機科學與技術</p><p><b> 班 級: </b></p><p><b> 指導教師: </b></p><p><b> 目錄</b></p><p><b> 目錄1</b></p&
3、gt;<p><b> 1.需求分析2</b></p><p> 1.1 課程設計題目要求2</p><p> 1.2 系統(tǒng)分析2</p><p> 1.2.1 系統(tǒng)開發(fā)目的2</p><p> 1.2.2 系統(tǒng)分角色功能分析2</p><p> 2.概念結構設
4、計3</p><p> 2.1 數據流設計3</p><p> 2.1.1 數據流頂層圖3</p><p> 2.1.2 數據流一層圖4</p><p> 2.2 E-R圖設計4</p><p> 2.2.1 實體間總E-R圖4</p><p> 2.2.2 實體分E-R
5、圖5</p><p> 3. 邏輯結構設計8</p><p> 3.1 關系結構設計8</p><p> 3.1.1 客戶表client8</p><p> 3.1.2 職員表staff9</p><p> 3.1.3 分店表store10</p><p> 3.1.4
6、食品表food10</p><p> 3.1.5 配料表flavor11</p><p> 3.1.6 食品-配料關系表ffr11</p><p> 3.1.7 套餐表meal12</p><p> 3.1.8 訂單表order12</p><p> 3.1.9 銷售統(tǒng)計表sell13</p
7、><p> 4. 物理設計14</p><p> 4.1 索引存取14</p><p> 4.1.1索引定義14</p><p> 4.1.2 建立索引14</p><p> 4.2 聚簇索引14</p><p> 4.2.1 聚簇索引定義14</p><
8、p> 4.2.2 建立聚簇索引15</p><p> 5. 數據庫設計總結15</p><p> 5.1 理解三個范式,正確認識數據冗余15</p><p> 5.2 正確處理實體間多對多的關系15</p><p><b> 1.需求分析</b></p><p> 1.1
9、 課程設計題目要求</p><p> 客戶需要注冊之后才能登陸。</p><p> 客戶需要輸入密碼正確之后方可登陸系統(tǒng),然后后才可以訂、瀏覽、及取消訂單。</p><p> 客戶當拿到食物之后才付款(可以不用考慮付款問題)</p><p> 客戶可以選擇哪一個分店來為他送訂的東西。</p><p> 快餐店
10、出售套餐(兩種食品組合或三種食品組合),套餐包括兩菜(或三菜)另外加米飯和當天供應的湯。用戶可以自行選擇由哪幾樣菜組成套餐。</p><p> 一樣菜可以另附一種或多種調料。</p><p> 一個訂單可以包括任意的菜,附加飲料。</p><p> 經經理同意,某些食品可以打折。</p><p><b> 1.2 系統(tǒng)分析&
11、lt;/b></p><p> 1.2.1 系統(tǒng)開發(fā)目的</p><p> 快餐訂餐系統(tǒng)是為了方便快餐公司更有利把握快餐市場,并且為消費者提供更便利的服務而設計開發(fā)的??觳陀啿拖到y(tǒng)可為快餐公司向餐飲消費者提供更加便利的餐飲服務,也可為消費者提供更加明細的消費服務。</p><p> 1.2.2 系統(tǒng)分角色功能分析</p><p>
12、 快餐訂餐系統(tǒng)使用用戶的角色分為:客戶,送貨員(職員),餐飲經理(職員)。</p><p><b> 客戶功能</b></p><p> 注冊訂餐客戶賬號。注冊賬號并完善個人信息。</p><p> 訂制套餐訂單。套餐可選擇分店設置套餐優(yōu)惠,也可根據個人喜好選擇喜愛食物構成套餐??蛻艨梢赃x擇同種食物的不同口味。</p>&
13、lt;p> 客戶在訂單中須寫清送餐地址、個人有效聯系方式,以便快餐及時送達。</p><p> 客戶收到訂餐后再付費。</p><p> 客戶可對送餐服務進行滿意度評價。</p><p> 客戶可取消個人快餐訂單。</p><p><b> 餐飲經理功能</b></p><p>
14、 經理可瀏覽客戶及所屬分店職員信息。</p><p> 經理可取消過期(一天以上)的訂單信息。</p><p> 經理可設定所屬分店優(yōu)惠套餐信息。</p><p> 經理可對部分設置食物價格折扣。</p><p><b> 送餐員功能</b></p><p> 送餐員可瀏覽所屬分店訂單信
15、息。</p><p><b> 2.概念結構設計</b></p><p><b> 2.1 數據流設計</b></p><p> 2.1.1 數據流頂層圖</p><p> 2.1.2 數據流一層圖</p><p> 2.2 E-R圖設計</p>&l
16、t;p> 2.2.1 實體間總E-R圖</p><p> 2.2.2 實體分E-R圖</p><p><b> 3. 邏輯結構設計</b></p><p> 3.1 關系結構設計</p><p> 注:使用數據庫為MySQL數據庫</p><p> 3.1.1 客戶表client
17、</p><p><b> 創(chuàng)建數據表</b></p><p> CREATE TABLE `fastfood`.`client`</p><p><b> (</b></p><p> `client_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY
18、 ,</p><p> `client_nick` VARCHAR( 20 ) NOT NULL ,</p><p> `client_pwd` VARCHAR( 20 ) NOT NULL ,</p><p> `client_name` VARCHAR( 20 ) NOT NULL ,</p><p> `client_tel`
19、VARCHAR( 20 ) NOT NULL ,</p><p> `client_add` VARCHAR( 1000 ) NOT NULL ,</p><p> `client_time` TIME NOT NULL</p><p> ) ENGINE = MYISAM</p><p><b> 關系數據表</b&
20、gt;</p><p><b> 數據表說明</b></p><p> 客戶表是記錄客戶信息的數據表。</p><p> client_id為客戶數據表的主鍵。</p><p> 已注冊客戶(在客戶表中存在的用戶)可以對個人信息進行修改。</p><p> 分店經理可瀏覽所屬分店客戶信息
21、。</p><p> 送餐員沒有對客戶表操作的權限。</p><p> 3.1.2 職員表staff </p><p><b> 創(chuàng)建數據表</b></p><p> CREATE TABLE `fastfood`.`staff`</p><p><b> (</b&g
22、t;</p><p> `staff_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,</p><p> `staff_num` VARCHAR( 20 ) NOT NULL ,</p><p> `staff_pwd` VARCHAR( 20 ) NOT NULL ,</p><p> `s
23、taff_name` VARCHAR( 20 ) NOT NULL ,</p><p> `staff_tel` VARCHAR( 20 ) NOT NULL ,</p><p> `staff_store` VARCHAR( 1000 ) NOT NULL ,</p><p> `staff_group` VARCHAR( 20 ) NOT NULL<
24、/p><p> ) ENGINE = MYISAM</p><p><b> 關系數據表</b></p><p><b> 數據表說明</b></p><p> 職員表是記錄分店職員信息的數據表。</p><p> staff_id是職員表的主鍵。</p>
25、<p> 職員工號為其系統(tǒng)登錄名。</p><p> 分店經理可對其所屬分店的員工信息進行修改。</p><p> 分店員工只可查看自己所屬分店的員工信息。</p><p> 客戶不能對職員表進行任何操作。</p><p> 3.1.3 分店表store </p><p><b> 創(chuàng)
26、建數據表</b></p><p> CREATE TABLE `fastfood`.`store`</p><p><b> (</b></p><p> `store_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,</p><p> `store_nam
27、e` VARCHAR( 1000 ) NOT NULL ,</p><p> `store_add` VARCHAR( 1000 ) NOT NULL ,</p><p> `store_tel` VARCHAR( 20 ) NOT NULL</p><p> ) ENGINE = MYISAM</p><p><b> 關
28、系數據表</b></p><p><b> 數據表說明</b></p><p> 分店表是記錄快餐店各分店信息的數據表。</p><p> store_id是分店表的主鍵。</p><p> 經理可瀏覽各店信息。經理可對其所屬分店信息進行修改。</p><p> 送餐員可瀏覽
29、各店信息。</p><p> 客戶可瀏覽各店信息。</p><p> 3.1.4 食品表food </p><p><b> 創(chuàng)建數據表</b></p><p> CREATE TABLE `fastfood`.`food`</p><p><b> (</b>&
30、lt;/p><p> `food_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,</p><p> `food_name` VARCHAR( 20 ) NOT NULL ,</p><p> `food_info` VARCHAR( 1000 ) NOT NULL ,</p><p> `foo
31、d_price` FLOAT NOT NULL ,</p><p> `food_type` VARCHAR( 20 ) NOT NULL ,</p><p> `food_discount` FLOAT NOT NULL</p><p> ) ENGINE = MYISAM</p><p><b> 關系數據表</b
32、></p><p><b> 數據表說明</b></p><p> 食物表是記錄快餐店各種食物信息的數據表。</p><p> food_id是食物表主鍵。</p><p> 經理可對食物表進行添加、刪除、修改的操作。</p><p> 送餐員可瀏覽該表信息。</p>
33、<p> 客戶可瀏覽該表信息。</p><p> 3.1.5 配料表flavor </p><p><b> 創(chuàng)建數據表</b></p><p> CREATE TABLE `fastfood`.`flavor`</p><p><b> (</b></p>&
34、lt;p> `flavor_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,</p><p> `flavor_name` VARCHAR( 20 ) NOT NULL</p><p> ) ENGINE = MYISAM</p><p><b> 關系數據表</b></p>
35、<p><b> 數據表說明</b></p><p> 配料表是記錄快餐各種食物所添加配料的數據表。</p><p> flavor_id是配料表的主鍵。</p><p> 經理可對配料表進行添加、修改等操作。</p><p> 客戶可瀏覽并依個人口味選擇所選食物的配料。</p>&l
36、t;p> 3.1.6 食品-配料關系表ffr </p><p><b> 創(chuàng)建數據表</b></p><p> CREATE TABLE `fastfood`.`ffr` (</p><p> `ffr_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,</p><p&
37、gt; `flavor_id` INT NOT NULL ,</p><p> `food_id` INT NOT NULL</p><p> ) ENGINE = MYISAM</p><p><b> 關系數據表</b></p><p><b> 數據表說明</b></p>
38、<p> 食物-配料關系表是記錄食物和配料對應關系表。</p><p> ffr_id是食物-配料表的主鍵。</p><p> 經理可對該表進行添加、修改的操作,設定各種食物配料對應關系。</p><p> 送餐員和客戶無操作權限。</p><p> 3.1.7 套餐表meal </p><p>
39、;<b> 創(chuàng)建數據表</b></p><p> CREATE TABLE `fastfood`.`meal` (</p><p> `meal_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,</p><p> `meal_name` VARCHAR( 20 ) NOT NULL ,<
40、/p><p> `food_id` INT NOT NULL</p><p> ) ENGINE = MYISAM</p><p><b> 關系數據表</b></p><p><b> 數據表說明</b></p><p> 套餐表是記錄快餐店推出的優(yōu)惠套餐的記錄表。(
41、非實體表)</p><p> meal_id是套餐表的主鍵。</p><p> 經理可對套餐表進行修改、添加等操作。</p><p> 客戶可瀏覽套餐信息??蛻粢部筛鶕€人喜好添加個人套餐信息。</p><p> 3.1.8 訂單表order </p><p><b> 創(chuàng)建數據表</b>
42、;</p><p> CREATE TABLE `fastfood`.`order` (</p><p> `order_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,</p><p> `client_id` INT NOT NULL ,</p><p> `store_id` INT
43、NOT NULL ,</p><p> `staff_id` INT NOT NULL ,</p><p> `order_stime` TIME NOT NULL ,</p><p> `order_evaluate` VARCHAR( 100 ) NOT NULL ,</p><p> `order_tprice` FLOAT N
44、OT NULL ,</p><p> `order_state` VARCHAR( 100 ) NOT NULL ,</p><p> `meal_id` INT NOT NULL</p><p> ) ENGINE = MYISAM</p><p><b> 關系數據表</b></p><p
45、><b> 數據表說明</b></p><p> 訂單記錄表是記錄用戶訂單信息的數據表。</p><p> order_id是訂單表的主鍵。</p><p> 經理可對訂單表進行修改操作。</p><p> 送餐員可瀏覽訂單表。</p><p> 客戶可添加、取消該訂單。<
46、/p><p> 3.1.9 銷售統(tǒng)計表sell</p><p><b> 創(chuàng)建數據表</b></p><p> CREATE TABLE `fastfood`.`sell` (</p><p> `sell_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,</p>
47、;<p> `client_id` INT NOT NULL ,</p><p> `order_id` INT NOT NULL ,</p><p> `food_id` INT NOT NULL ,</p><p> `price` FLOAT NOT NULL</p><p> ) ENGINE = MYISAM
48、</p><p><b> 關系數據表</b></p><p><b> 數據表說明</b></p><p> 銷售統(tǒng)計表是記錄客戶消費信息的數據表。</p><p> sell_id是該表的主鍵。</p><p> 客戶可在定制訂單之后瀏覽該信息。</p&g
49、t;<p> 經理可瀏覽該表,統(tǒng)計所屬分店的銷售業(yè)績。</p><p><b> 4. 物理設計</b></p><p><b> 4.1 索引存取</b></p><p><b> 4.1.1索引定義</b></p><p> 索引是對數據庫表中一列或
50、多列的值進行排序的一種結構,例如 staff 表的姓(name)列。如果要按姓查找特定職員,與必須搜索表中的所有行相比,索引會幫助您更快地獲得該信息。</p><p> 在數據庫關系圖中,可以在選定表的“索引/鍵”屬性頁中創(chuàng)建、編輯或刪除每個索引類型。當保存索引所附加到的表,或保存該表所在的關系圖時,索引將保存在數據庫中。</p><p> 4.1.2 建立索引</p>
51、<p> 在快餐店經理和送餐員查詢訂單表時,經理和送餐員只須查詢自己所在分店的訂單。故可在order表(store表)的store_id(分店id)屬性上建立索引。</p><p> 方法:create index store_id on order(store_id)</p><p><b> 4.2 聚簇索引</b></p><
52、p> 4.2.1 聚簇索引定義</p><p> 聚簇索引確定表中數據的物理順序。聚簇索引類似于電話簿,后者按姓氏排列數據。由于聚簇索引規(guī)定數據在表中的物理存儲順序,因此一個表只能包含一個聚簇索引。但該索引可以包含多個列(組合索引),就像電話簿按姓氏和名字進行組織一樣。漢語字典也是聚簇索引的典型應用,在漢語字典里,索引項是字母+聲調,字典正文也是按照先字母再聲調的順序排列。</p><
53、;p> 4.2.2 建立聚簇索引</p><p> 訂餐者在查詢快餐店所提供的食品時,是根據食品名稱查詢的。故可在food表的food_name (食品名稱)屬性上建立聚簇索引。</p><p> 方法:create cluster index food_name on food(food_name)</p><p> 5. 數據庫設計總結</p
54、><p> 5.1 理解三個范式,正確認識數據冗余</p><p> 在本次數據庫設計過程中,我深刻體會到范式化對數據庫設計的重要性。例如,在第一次的數據庫設計中有很多字段會造成數據冗余,會造成系統(tǒng)性能下降。因而就必須理解三個范式的根本意義。</p><p> 通俗地理解三個范式,對于數據庫設計大有好處。在數據庫設計中,為了更好地應用三個范式,就必須通俗地理解三個
55、范式(通俗地理解是夠用的理解,并不是最科學最準確的理解):</p><p> 第一范式:1NF是對屬性的原子性約束,要求屬性具有原子性,不可再分解;</p><p> 第二范式:2NF是對記錄的惟一性約束,要求記錄有惟一標識,即實體的惟一性;</p><p> 第三范式:3NF是對字段冗余性的約束,即任何字段不能由其他字段派生出來,它要求字段沒有冗余。<
56、/p><p> 主鍵與外鍵在多表中的重復出現,不屬于數據冗余,這個概念必須清楚。非鍵字段的重復出現,才是數據冗余!而且是一種低級冗余,即重復性的冗余。高級冗余不是字段的重復出現,而是字段的派生出現。</p><p> 5.2 正確處理實體間多對多的關系</p><p> 若兩個實體之間存在多對多的關系,則應消除這種關系。消除的辦法是,在兩者之間增加第三個實體。這樣
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數據庫課程設計快餐訂餐系統(tǒng)數據庫設計
- 快餐訂購系統(tǒng)數據庫課程設計
- 數據庫課程設計---數據庫
- 數據庫課程設計--bbs系統(tǒng)數據庫設計
- 數據庫課程設計--數據庫設計
- 數據庫課程設計----快餐網售系統(tǒng)
- 數據庫課程設計--數據庫設計—公司管理系統(tǒng)
- 數據庫課程設計--數據庫系統(tǒng)原理
- 數據庫課程設計---網上拍賣數據庫設計
- 數據庫課程設計--在線網上訂餐系統(tǒng)
- 數據庫課程設計---機房管理系統(tǒng)數據庫設計
- 數據庫課程設計--cd唱片數據庫設計
- oracle數據庫課程設計---在線考試系統(tǒng)數據庫
- 數據庫課程設計--數據庫原理及應用課程設計
- 數據庫課程設計--工資管理系統(tǒng)數據庫設計
- 數據庫原理課程設計---教室管理系統(tǒng)數據庫設計
- 數據庫課程設計報告--設備儀器數據庫設計
- 數據庫課程設計--圖書借閱管理數據庫設計
- 數據庫課程設計---旅行社數據庫
- 數據庫課程設計論文---汽車銷售管理系統(tǒng)數據庫設計
評論
0/150
提交評論