Diseño de base de datos para la alimentación del sistema de pedidos (MYSQL)

Necesito un poco de ayuda con el diseño de la base de datos de alimentos sistema de pedidos.

Cliente

Customer_id (PK)

Customer_name

Customer_phonenum

Payment_method (Efectivo/Tarjeta De Crédito)

Payment_status (Pagado/No Pagado)

Email_address

Id_empleado (FK)

OrderF_id (FK)

OrderD_id (FK)

Empleado

Id_empleado (PK)

Employee_name

Employee_position

Employee_age

Employee_phonenum

contraseña

Alimentos

Food_id (PK)

Food_name

Food_size

Food_price (Describir el precio de cada uno de los alimentos)

Bebidas

Drink_id (PK)

Drink_name

Drink_size

Drink_category (lo que explica caliente/frío)

Drink_price (Describir el precio de cada bebida)

OrderFood

OrderF_id (PK)

Customer_id (FK)

Id_empleado (FK)

Food_id (FK)

Quantity_item

Total_price

OrderDrinks

OrderD_id (PK)

Id_empleado (FK)

Drink_id (FK)

Quantity_item

Total_Price

  1. ¿Cómo debo hacerlo de tal manera que un cliente puede ordenar otro tipo de alimentos con una cantidad diferente en el OrderFood y OrderDrinks tablas?

  2. Debo repetir el Food_price y Drink_price en OrderFood y OrderDrinks respectivamente?

  3. Para los empleados de la contraseña, ¿cómo puedo limitar la longitud de entre 6 a 15 caracteres? (He pensado en usar varchar, sino que también permite a 1 char a ser el empleado de la contraseña).

  • Una buena SQL tutorial te ayudará. Usted debe mencionar si está utilizando SQL Server o MySQL. También Usted necesita para publicar lo ha intentado. Lo que usted ha pedido también se pueden encontrar en internet. Este foro se abordan los problemas que un desarrollador viene a través y no es un lugar para obtener tutoriales. Sugiero modificar su pregunta en consecuencia.
  • Gracias por tu consejo @Abhishek
InformationsquelleAutor DreamCrusher | 2015-09-03

2 Kommentare

  1. 3

    1)
    Primero, eliminar las claves externas de la tabla de clientes, y la compra de campos. A continuación, crear una tabla de pedidos similares a los de esta

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

    A continuación, habría que crear una tabla de asociación que vincula el fin de la comida y la bebida elementos. Con esta tabla, se puede vincular como muchos alimentos a una orden como sea necesario.

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

    Crear una tabla similar para sus órdenes de la bebida.

    Los totales de las columnas tendría que ser calculado cuando se coloca un pedido.

    2)
    Sólo repiten los datos de precios si es necesario para sus procesos de negocio. Los mejores métodos son para no repetir datos si evitables

    3)
    Depende de la base de datos utilizada, SQL server tiene restricción de COMPROBACIÓN puede utilizar con la Len() para limitar el tamaño mínimo

  2. 1
    1. ¿Cómo debo hacerlo de tal manera que un cliente puede pedir otro tipo de alimentos con diferente cantidad en la orderfood y orderdrink tabla?

    Hacer el PK compuesto de campos de tal manera que cada registro en aquellos fin de tablas se convierten en único. A continuación, puede agregar varios registros para la comida y la bebida para el mismo cliente/ID de cliente. Pero su esquema actual es incompleta. Por ejemplo, no hay customer_ID en OrderDrinks.

    1. Debo repetir el food_price y drink_price en orderfood y orderdrink respectivamente?

    No.

    1. Para los empleados de la contraseña, ¿cómo puedo limitar la longitud de entre 6 a 15 caracteres?

    Utilizando el mecanismo de autenticación del sistema de SQL server. Usted no mencionó que SQL que está utilizando. Si desea administrar usted mismo, usted debe conocer los peligros. Cualquier buen SQL libro, te puede dar un buen resumen.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea