YOMPCH - BASE DE DATOS
PORTFOLIO - 1er TRIMESTRE
Creado por Rubén García Pozo
El restaurante-bar Yompch abre sus puertas con una comida enfocada en la cultura de
varios paises como Italia, España y Estados Unidos y con una base de datos renovada la
cual contiene 13 entidades (2 de ellas debiles) y 4 tablas N:M
Puntos:
Entidad débil en la que se guardan los datos relacionados a los puntos que depende de la
entidad usuarios debido a que no tendría sentido si usuario no existiera, tienen una relación
N (puntos (0,N) porque puede tener varios puntos como máximo y 0 puntos como minimo) :
1 (usuarios (1,1) porque los puntos pertenecen solo a un usuario)
Contiene los atributos puntos que contiene el número de puntos que tiene el usuario que
luego podría gastar para suplir dinero de algún pedido en Yompch y el atributo id_usuarios
que le da sentido al entidad débil
Usuarios:
Entidad en la que se guardan los datos de los usuarios que está relacionada con puntos,
con lo que un usuario puede pedir varios o ningún pedido y tambien registrarse o no, pero
cada pedido está relacionado sólo con un usuario
Contiene su atributo de id para identificarse y la entidad nombre para guardar el nombre del
usuario
Pagos:
Entidad en la que se guardan los tipos de pagos que se utilizan para los pedidos y qué
usuario lo hace
Contiene su atributo de id para identificarse y la entidad tipo para qué método de pago se ha
utilizado (efectivo, tarjeta, bizum, etc…)
Modalidades:
Entidad en la que se guarda el tipo de servicio que se realiza para un pedido la cuál está
relacionada con este de manera
Contiene su atributo de id para identificarse y la entidad tipo para qué método de servicio se
ha utilizado (local (comer en local), recoger, llevar (servicio a domicilio))
Canales:
Entidad en la que se guarda por que medio se realiza para un pedido la cuál está
relacionada con este de manera
Contiene su atributo de id para identificarse y la entidad tipo para ver por dónde se ha
realizado el pedido (local, teléfono, app, web)
Repartidores:
Entidad en la que se guarda la información sobre los repartidores la cuál está relacionada
con pedidos de manera
Contiene su atributo de id para identificarse, el nombre para guardar el nombre de cada
repartidor, dni para saber su documento de identidad nacional, el horario para saber desde
qué hora hasta cuál trabaja, forma que guarda el método de desplazamiento, teléfono que
guarda su número de contacto, gmail que guarda su correo electrónico y su dirección que
guarda la información sobre la localización donde vive
Pedidos:
Entidad en la que se guarda la información sobre los pedidos, relacionado con repartidores,
canales, modalidades, usuarios y pagos
Contiene su atributo de id para identificarse, la fecha para guardar cuando se realizó el
pedido y los ids (FK) de repartidores, canales, modalidades, usuarios registrados y que
piden y las de pagos por la relación que tiene con estas entidades
Ofertas:
Entidad débil en la que se guardan los datos relacionados a las ofertas que depende de la
entidad platos debido a que no tendría sentido si usuario no existiera, tienen una relación
Contiene los atributos nombre que contiene el nombre del plato/combo que está
descontado, fecha_inicio que contiene la fecha en la que comienza la ofertas, fecha_fin que
contiene la fecha en la que finaliza, descuento que indica la resta que se le hace al precio
del plato/menu y el atributo id_platos que le da sentido al entidad débil
Categorias:
Entidad en la que se guardan los datos relacionados a los tipos de paises que pertenece
cada plato
Contiene el atributo país que contiene el países al que pertenece el plato y el atributo id que
lo identifica
Alergenos:
Entidad en la que se guardan los datos relacionados con los tipos de alérgenos que
pertenece cada plato
Contiene el atributo icono que contiene la imagen del alergeno, nombre para que alergeno
tiene de nombre y el atributo id que lo identifica
Fotos:
Entidad en la que se guardan las fotos que pertenece a cada plato
Contiene el atributo nombre_archivo que contiene nombre.tipo de imagen al que pertenece
al plato, el atributo id que lo identifica y el id_platos (FK) que trae la relación N:1
Platos:
Entidad que guarda la información del plato relacionada reflexivamente y con pedidos,
ofertas (depende esta de platos), categorías, alergenos y fotos
Contiene el atributo nombre que nombra al plato, descripción que contiene información
sobre los ingredientes y la preparación del plato, precio que guarda el costo que pagaría el
consumidor para poder pedir el plato, picor que mide el nivel de intensidad picante y el id
que lo identifica
Platos_pedidos:
Tabla generada de la relación N:M de la entidad platos y pedidos para relacionar los platos a
su pedido correspondiente
Contiene id_platos (FK) e id_pedidos (FK)
- Corrección -
Se ha añadido unidad (número de platos que se pide) y precio (coste de ordenar
estos platos)
Platos_categorias:
Tabla generada de la relación N:M de la entidad platos y categorias para relacionar los
platos a su categoria correspondiente
Contiene id_platos (FK) e id_categorias (FK)
Platos_alergenos:
Tabla generada de la relación N:M de la entidad platos y pedidos para relacionar los
alérgenos a su plato correspondiente
Contiene id_platos (FK) e id_alergenos (FK)
Platos_platos:
Tabla generada de la relación reflexiva de la entidad platos utilizada para la generación de
combos/menus combinando dos platos
Contiene dos id_platos (FK) (id_platos1 y id_platos2) en la que se utilizan los ids diferentes
de platos para realizar el menú
Locales:
Entidad que guarda la información sobre el local y no está relacionada con ninguna otra
entidad