2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  本科生課程設(shè)計(jì)說明書</p><p>  題 目:數(shù)據(jù)庫課程設(shè)計(jì)</p><p><b>  —— 快餐預(yù)訂系統(tǒng)</b></p><p><b>  學(xué)生姓名: </b></p><p><b>  學(xué) 號(hào): </b></p>&

2、lt;p>  專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p><b>  班 級(jí): </b></p><p><b>  指導(dǎo)教師: </b></p><p><b>  目錄</b></p><p><b>  目錄1</b></p&

3、gt;<p><b>  1.需求分析2</b></p><p>  1.1 課程設(shè)計(jì)題目要求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.概念結(jié)構(gòu)設(shè)

4、計(jì)3</p><p>  2.1 數(shù)據(jù)流設(shè)計(jì)3</p><p>  2.1.1 數(shù)據(jù)流頂層圖3</p><p>  2.1.2 數(shù)據(jù)流一層圖4</p><p>  2.2 E-R圖設(shè)計(jì)4</p><p>  2.2.1 實(shí)體間總E-R圖4</p><p>  2.2.2 實(shí)體分E-R

5、圖5</p><p>  3. 邏輯結(jié)構(gòu)設(shè)計(jì)8</p><p>  3.1 關(guān)系結(jié)構(gòu)設(shè)計(jì)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 食品-配料關(guān)系表ffr11</p><p>  3.1.7 套餐表meal12</p><p>  3.1.8 訂單表order12</p><p>  3.1.9 銷售統(tǒng)計(jì)表sell13</p

7、><p>  4. 物理設(shè)計(jì)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. 數(shù)據(jù)庫設(shè)計(jì)總結(jié)15</p><p>  5.1 理解三個(gè)范式,正確認(rèn)識(shí)數(shù)據(jù)冗余15</p><p>  5.2 正確處理實(shí)體間多對(duì)多的關(guān)系15</p><p><b>  1.需求分析</b></p><p>  1.1

9、 課程設(shè)計(jì)題目要求</p><p>  客戶需要注冊(cè)之后才能登陸。</p><p>  客戶需要輸入密碼正確之后方可登陸系統(tǒng),然后后才可以訂、瀏覽、及取消訂單。</p><p>  客戶當(dāng)拿到食物之后才付款(可以不用考慮付款問題)</p><p>  客戶可以選擇哪一個(gè)分店來為他送訂的東西。</p><p>  快餐店

10、出售套餐(兩種食品組合或三種食品組合),套餐包括兩菜(或三菜)另外加米飯和當(dāng)天供應(yīng)的湯。用戶可以自行選擇由哪幾樣菜組成套餐。</p><p>  一樣菜可以另附一種或多種調(diào)料。</p><p>  一個(gè)訂單可以包括任意的菜,附加飲料。</p><p>  經(jīng)經(jīng)理同意,某些食品可以打折。</p><p><b>  1.2 系統(tǒng)分析&

11、lt;/b></p><p>  1.2.1 系統(tǒng)開發(fā)目的</p><p>  快餐訂餐系統(tǒng)是為了方便快餐公司更有利把握快餐市場(chǎng),并且為消費(fèi)者提供更便利的服務(wù)而設(shè)計(jì)開發(fā)的。快餐訂餐系統(tǒng)可為快餐公司向餐飲消費(fèi)者提供更加便利的餐飲服務(wù),也可為消費(fèi)者提供更加明細(xì)的消費(fèi)服務(wù)。</p><p>  1.2.2 系統(tǒng)分角色功能分析</p><p>

12、  快餐訂餐系統(tǒng)使用用戶的角色分為:客戶,送貨員(職員),餐飲經(jīng)理(職員)。</p><p><b>  客戶功能</b></p><p>  注冊(cè)訂餐客戶賬號(hào)。注冊(cè)賬號(hào)并完善個(gè)人信息。</p><p>  訂制套餐訂單。套餐可選擇分店設(shè)置套餐優(yōu)惠,也可根據(jù)個(gè)人喜好選擇喜愛食物構(gòu)成套餐??蛻艨梢赃x擇同種食物的不同口味。</p>&

13、lt;p>  客戶在訂單中須寫清送餐地址、個(gè)人有效聯(lián)系方式,以便快餐及時(shí)送達(dá)。</p><p>  客戶收到訂餐后再付費(fèi)。</p><p>  客戶可對(duì)送餐服務(wù)進(jìn)行滿意度評(píng)價(jià)。</p><p>  客戶可取消個(gè)人快餐訂單。</p><p><b>  餐飲經(jīng)理功能</b></p><p> 

14、 經(jīng)理可瀏覽客戶及所屬分店職員信息。</p><p>  經(jīng)理可取消過期(一天以上)的訂單信息。</p><p>  經(jīng)理可設(shè)定所屬分店優(yōu)惠套餐信息。</p><p>  經(jīng)理可對(duì)部分設(shè)置食物價(jià)格折扣。</p><p><b>  送餐員功能</b></p><p>  送餐員可瀏覽所屬分店訂單信

15、息。</p><p><b>  2.概念結(jié)構(gòu)設(shè)計(jì)</b></p><p><b>  2.1 數(shù)據(jù)流設(shè)計(jì)</b></p><p>  2.1.1 數(shù)據(jù)流頂層圖</p><p>  2.1.2 數(shù)據(jù)流一層圖</p><p>  2.2 E-R圖設(shè)計(jì)</p>&l

16、t;p>  2.2.1 實(shí)體間總E-R圖</p><p>  2.2.2 實(shí)體分E-R圖</p><p><b>  3. 邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p>  3.1 關(guān)系結(jié)構(gòu)設(shè)計(jì)</p><p>  注:使用數(shù)據(jù)庫為MySQL數(shù)據(jù)庫</p><p>  3.1.1 客戶表client

17、</p><p><b>  創(chuàng)建數(shù)據(jù)表</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>  關(guān)系數(shù)據(jù)表</b&

20、gt;</p><p><b>  數(shù)據(jù)表說明</b></p><p>  客戶表是記錄客戶信息的數(shù)據(jù)表。</p><p>  client_id為客戶數(shù)據(jù)表的主鍵。</p><p>  已注冊(cè)客戶(在客戶表中存在的用戶)可以對(duì)個(gè)人信息進(jìn)行修改。</p><p>  分店經(jīng)理可瀏覽所屬分店客戶信息

21、。</p><p>  送餐員沒有對(duì)客戶表操作的權(quán)限。</p><p>  3.1.2 職員表staff </p><p><b>  創(chuàng)建數(shù)據(jù)表</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>  關(guān)系數(shù)據(jù)表</b></p><p><b>  數(shù)據(jù)表說明</b></p><p>  職員表是記錄分店職員信息的數(shù)據(jù)表。</p><p>  staff_id是職員表的主鍵。</p>

25、<p>  職員工號(hào)為其系統(tǒng)登錄名。</p><p>  分店經(jīng)理可對(duì)其所屬分店的員工信息進(jìn)行修改。</p><p>  分店員工只可查看自己所屬分店的員工信息。</p><p>  客戶不能對(duì)職員表進(jìn)行任何操作。</p><p>  3.1.3 分店表store </p><p><b>  創(chuàng)

26、建數(shù)據(jù)表</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>  關(guān)

28、系數(shù)據(jù)表</b></p><p><b>  數(shù)據(jù)表說明</b></p><p>  分店表是記錄快餐店各分店信息的數(shù)據(jù)表。</p><p>  store_id是分店表的主鍵。</p><p>  經(jīng)理可瀏覽各店信息。經(jīng)理可對(duì)其所屬分店信息進(jìn)行修改。</p><p>  送餐員可瀏覽

29、各店信息。</p><p>  客戶可瀏覽各店信息。</p><p>  3.1.4 食品表food </p><p><b>  創(chuàng)建數(shù)據(jù)表</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>  關(guān)系數(shù)據(jù)表</b

32、></p><p><b>  數(shù)據(jù)表說明</b></p><p>  食物表是記錄快餐店各種食物信息的數(shù)據(jù)表。</p><p>  food_id是食物表主鍵。</p><p>  經(jīng)理可對(duì)食物表進(jìn)行添加、刪除、修改的操作。</p><p>  送餐員可瀏覽該表信息。</p>

33、<p>  客戶可瀏覽該表信息。</p><p>  3.1.5 配料表flavor </p><p><b>  創(chuàng)建數(shù)據(jù)表</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>  關(guān)系數(shù)據(jù)表</b></p>

35、<p><b>  數(shù)據(jù)表說明</b></p><p>  配料表是記錄快餐各種食物所添加配料的數(shù)據(jù)表。</p><p>  flavor_id是配料表的主鍵。</p><p>  經(jīng)理可對(duì)配料表進(jìn)行添加、修改等操作。</p><p>  客戶可瀏覽并依個(gè)人口味選擇所選食物的配料。</p>&l

36、t;p>  3.1.6 食品-配料關(guān)系表ffr </p><p><b>  創(chuàng)建數(shù)據(jù)表</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>  關(guān)系數(shù)據(jù)表</b></p><p><b>  數(shù)據(jù)表說明</b></p>

38、<p>  食物-配料關(guān)系表是記錄食物和配料對(duì)應(yīng)關(guān)系表。</p><p>  ffr_id是食物-配料表的主鍵。</p><p>  經(jīng)理可對(duì)該表進(jìn)行添加、修改的操作,設(shè)定各種食物配料對(duì)應(yīng)關(guān)系。</p><p>  送餐員和客戶無操作權(quán)限。</p><p>  3.1.7 套餐表meal </p><p>

39、;<b>  創(chuàng)建數(shù)據(jù)表</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>  關(guān)系數(shù)據(jù)表</b></p><p><b>  數(shù)據(jù)表說明</b></p><p>  套餐表是記錄快餐店推出的優(yōu)惠套餐的記錄表。(

41、非實(shí)體表)</p><p>  meal_id是套餐表的主鍵。</p><p>  經(jīng)理可對(duì)套餐表進(jìn)行修改、添加等操作。</p><p>  客戶可瀏覽套餐信息??蛻粢部筛鶕?jù)個(gè)人喜好添加個(gè)人套餐信息。</p><p>  3.1.8 訂單表order </p><p><b>  創(chuàng)建數(shù)據(jù)表</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>  關(guān)系數(shù)據(jù)表</b></p><p

45、><b>  數(shù)據(jù)表說明</b></p><p>  訂單記錄表是記錄用戶訂單信息的數(shù)據(jù)表。</p><p>  order_id是訂單表的主鍵。</p><p>  經(jīng)理可對(duì)訂單表進(jìn)行修改操作。</p><p>  送餐員可瀏覽訂單表。</p><p>  客戶可添加、取消該訂單。<

46、/p><p>  3.1.9 銷售統(tǒng)計(jì)表sell</p><p><b>  創(chuàng)建數(shù)據(jù)表</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>  關(guān)系數(shù)據(jù)表</b></p><p><b>  數(shù)據(jù)表說明</b></p><p>  銷售統(tǒng)計(jì)表是記錄客戶消費(fèi)信息的數(shù)據(jù)表。</p><p>  sell_id是該表的主鍵。</p><p>  客戶可在定制訂單之后瀏覽該信息。</p&g

49、t;<p>  經(jīng)理可瀏覽該表,統(tǒng)計(jì)所屬分店的銷售業(yè)績(jī)。</p><p><b>  4. 物理設(shè)計(jì)</b></p><p><b>  4.1 索引存取</b></p><p><b>  4.1.1索引定義</b></p><p>  索引是對(duì)數(shù)據(jù)庫表中一列或

50、多列的值進(jìn)行排序的一種結(jié)構(gòu),例如 staff 表的姓(name)列。如果要按姓查找特定職員,與必須搜索表中的所有行相比,索引會(huì)幫助您更快地獲得該信息。</p><p>  在數(shù)據(jù)庫關(guān)系圖中,可以在選定表的“索引/鍵”屬性頁中創(chuàng)建、編輯或刪除每個(gè)索引類型。當(dāng)保存索引所附加到的表,或保存該表所在的關(guān)系圖時(shí),索引將保存在數(shù)據(jù)庫中。</p><p>  4.1.2 建立索引</p>

51、<p>  在快餐店經(jīng)理和送餐員查詢訂單表時(shí),經(jīng)理和送餐員只須查詢自己所在分店的訂單。故可在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>  聚簇索引確定表中數(shù)據(jù)的物理順序。聚簇索引類似于電話簿,后者按姓氏排列數(shù)據(jù)。由于聚簇索引規(guī)定數(shù)據(jù)在表中的物理存儲(chǔ)順序,因此一個(gè)表只能包含一個(gè)聚簇索引。但該索引可以包含多個(gè)列(組合索引),就像電話簿按姓氏和名字進(jìn)行組織一樣。漢語字典也是聚簇索引的典型應(yīng)用,在漢語字典里,索引項(xiàng)是字母+聲調(diào),字典正文也是按照先字母再聲調(diào)的順序排列。</p><

53、;p>  4.2.2 建立聚簇索引</p><p>  訂餐者在查詢快餐店所提供的食品時(shí),是根據(jù)食品名稱查詢的。故可在food表的food_name (食品名稱)屬性上建立聚簇索引。</p><p>  方法:create cluster index food_name on food(food_name)</p><p>  5. 數(shù)據(jù)庫設(shè)計(jì)總結(jié)</p

54、><p>  5.1 理解三個(gè)范式,正確認(rèn)識(shí)數(shù)據(jù)冗余</p><p>  在本次數(shù)據(jù)庫設(shè)計(jì)過程中,我深刻體會(huì)到范式化對(duì)數(shù)據(jù)庫設(shè)計(jì)的重要性。例如,在第一次的數(shù)據(jù)庫設(shè)計(jì)中有很多字段會(huì)造成數(shù)據(jù)冗余,會(huì)造成系統(tǒng)性能下降。因而就必須理解三個(gè)范式的根本意義。</p><p>  通俗地理解三個(gè)范式,對(duì)于數(shù)據(jù)庫設(shè)計(jì)大有好處。在數(shù)據(jù)庫設(shè)計(jì)中,為了更好地應(yīng)用三個(gè)范式,就必須通俗地理解三個(gè)

55、范式(通俗地理解是夠用的理解,并不是最科學(xué)最準(zhǔn)確的理解):</p><p>  第一范式:1NF是對(duì)屬性的原子性約束,要求屬性具有原子性,不可再分解;</p><p>  第二范式:2NF是對(duì)記錄的惟一性約束,要求記錄有惟一標(biāo)識(shí),即實(shí)體的惟一性;</p><p>  第三范式:3NF是對(duì)字段冗余性的約束,即任何字段不能由其他字段派生出來,它要求字段沒有冗余。<

56、/p><p>  主鍵與外鍵在多表中的重復(fù)出現(xiàn),不屬于數(shù)據(jù)冗余,這個(gè)概念必須清楚。非鍵字段的重復(fù)出現(xiàn),才是數(shù)據(jù)冗余!而且是一種低級(jí)冗余,即重復(fù)性的冗余。高級(jí)冗余不是字段的重復(fù)出現(xiàn),而是字段的派生出現(xiàn)。</p><p>  5.2 正確處理實(shí)體間多對(duì)多的關(guān)系</p><p>  若兩個(gè)實(shí)體之間存在多對(duì)多的關(guān)系,則應(yīng)消除這種關(guān)系。消除的辦法是,在兩者之間增加第三個(gè)實(shí)體。這樣

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論