2015-09-03 137 views
0

我需要一些幫助設計食品訂購系統的數據庫。食品訂購系統(MYSQL)的數據庫設計

客戶
CUSTOMER_ID(PK)
CUSTOMER_NAME
Customer_phonenum
PAYMENT_METHOD(現金/信用卡)
PAYMENT_STATUS(付費/未付)
EMAIL_ADDRESS
EMPLOYEE_ID(FK)
OrderF_id(FK )
OrderD_id(FK)

員工
EMPLOYEE_ID(PK)
Employee_name
Employee_position
Employee_age
Employee_phonenum
密碼

食品
Food_id(PK)
Food_name
Food_size
Food_price(描述每種食品的價格)

飲料
Drink_id(PK)
Drink_name
Drink_size
Drink_category(這也解釋了熱/冷)
Drink_price(描述每個飲料的價格)

OrderFood
OrderF_id(PK)
CUSTOMER_ID(FK)
EMPLOYEE_ID(FK)
Food_id(FK)
Quantity_item
TOTAL_PRICE

OrderDrinks
OrderD_id(PK)
EMPLOYEE_ID(FK)
Drink_id(FK)
Quantity_item
Total_Price

  1. 我應該如何讓客戶在OrderFood和OrderDrinks表中訂購不同數量的不同食物類型的食物?

  2. 我應該在OrderFood和OrderDrinks中分別重複Food_price和Drink_price嗎?

  3. 對於員工密碼,我應該如何限制6-15個字符之間的長度? (我想過使用varchar,但它也允許1個字符作爲員工的密碼。)

+0

一個好的SQL教程將幫助你。您需要提及您是使用SQL Server還是MySQL。你也需要發佈你的嘗試。你所問的內容也可以在互聯網上找到。本論壇解決了開發人員遇到的問題,並且不是獲得教程的地方。我建議你相應地修改你的問題。 – Abhishek

+0

感謝您的建議@Abhishek – DreamCrusher

回答

1

1) Fisrt,從客戶表中刪除外鍵和購買字段。然後創建一個類似於此

Orders 
    id 
    CustomerId (FK) 
    EmployeeId (FK) 
    PurchaseMethod 
    PurchaseStatus 
    TimeStamp 
    TotalPrice 

那麼你會創建一個訂單鏈接到食物和飲料項目的關聯表的訂單表。藉助此表格,您可以根據需要鏈接儘可能多的食品項目。

FoodOrders 
    id 
    OrderId (FK) 
    FoodId (FK) 
    Quantity 
    TotalPrice 

爲您的飲料訂單創建一個類似的表格。

總計列將不得不在計算訂單時計算。

2) 只有在您的業務流程需要時才重複價格數據。最好的方法是,如果可以避免

3) 取決於所使用的數據庫不重複的數據,SQL服務器,你可以用LEN()用來限制最小尺寸

1
  1. 我應該怎麼做CHECK約束它可以讓顧客在orderfood和orderdrink表中訂購不同數量的不同種類的食物。

製作PK化合物字段,使得這些順序表中的每個記錄變得唯一。然後,您可以爲同一客戶/客戶ID添加多個食物和飲料記錄。但是你現在的模式是不完整的。例如,OrderDrinks中沒有customer_ID。

  1. 我應該分別重複order-food和orderdrink的food_price和drink_price嗎?

  • 對於僱員密碼,應該怎麼限制6-15個字符之間的長度?
  • 通過使用適當的SQL服務器系統的身份驗證機制。你沒有提到你正在使用哪個SQL。如果你想自己管理這些,你應該知道陷阱。任何好的SQL書都可以給你一個很好的概要。