Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Creación lógica de este ejemplo de base de datos

Estas en el tema de Creación lógica de este ejemplo de base de datos en el foro de Bases de Datos General en Foros del Web. Hola, buenas tardes. Antes que nada agradecer cualquier tipo de ayuda. El problema es que no se muy bien cómo plantear el diseño del siguiente ...
  #1 (permalink)  
Antiguo 16/04/2017, 13:21
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Pregunta Creación lógica de este ejemplo de base de datos

Hola, buenas tardes. Antes que nada agradecer cualquier tipo de ayuda.

El problema es que no se muy bien cómo plantear el diseño del siguiente ejemplo para la correcta creación de la base de datos (la voy a desarrollar en MySQL Workbench)

El escenario es el siguiente->

1) Tenemos por orden de relevancia: Locales, empleados, y servicios.
2) Un empleado está asignado a un local determinado (sólo existen 3 locales)
3) Un empleado debe disponer de nombre, alias, contraseña y hora de entrada.
4) Un servicio está compuesto por tipo de servicio (tipo 1 o tipo 2), fecha y hora de servicio, y un empleado debe atenderlo (mientras esté activo) al menos 2 veces. Además la hora de finalización del servicio.
5) La tabla servicio está compuesta por (servicio 1, servicio 2 y servicio 3).

Es un ejercicio de la facultad. Me han dicho que lo asimile a un restaurante. El objetivo es: Un empleado trabaja (se recoge si llega tarde o no). Un empleado pone un servicio (se recoge cualidades del servicio [tipo, hora de inicio, hora de fin y veces que ha sido atendido por el empleado].

De nuevo agradezco su ayuda. Mil gracias, y por cierto felicito a la comunidad que lleváis un puñado de años ayudando a los programadores en general.

Entre hoy y mañana subo una imagen con mi propuesta de resolución. Mientras tanto, quedo atento a sus soluciones. Gracias nuevamente y un saludo.
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #2 (permalink)  
Antiguo 17/04/2017, 00:51
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Creación lógica de este ejemplo de base de datos

Y bien, esta es mi propuesta. La duda ahora me surge en la definición de tablas que he hecho y en la relación entre las mismas. Un saludo.



Y aquí el link de la imagen: https://ibb.co/mKAhO5

En las tablas "empleado", "tipo_servicio" y "sabor_servicio" se almacena los datos referidos a dichas categorías. También la tabla "aux_servicio" dónde se almacena si un empleado realiza las visitas obligatorias de atención a una mesa. Y en hora_aux1 y hora_aux2 se almacena la hora en la que se realiza dicha visita. En la tabla servicio se almacena todo sobre el servicio a una mesa. El resto de definiciones se entienden por sí solas creo.
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"

Última edición por winjose; 17/04/2017 a las 00:59
  #3 (permalink)  
Antiguo 17/04/2017, 03:16
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Creación lógica de este ejemplo de base de datos

Cita:
Iniciado por winjose Ver Mensaje
Y bien, esta es mi propuesta. La duda ahora me surge en la definición de tablas que he hecho y en la relación entre las mismas. Un saludo.



Y aquí el link de la imagen: https://ibb.co/mKAhO5

En las tablas "empleado", "tipo_servicio" y "sabor_servicio" se almacena los datos referidos a dichas categorías. También la tabla "aux_servicio" dónde se almacena si un empleado realiza las visitas obligatorias de atención a una mesa. Y en hora_aux1 y hora_aux2 se almacena la hora en la que se realiza dicha visita. En la tabla servicio se almacena todo sobre el servicio a una mesa. El resto de definiciones se entienden por sí solas creo.
Rectifico. Me han dicho hoy en la facultad que me he complicado la vida. Que lo asimile a un restaurante dónde sólo se sirven bebidas de limón, fresa y manzana por ejemplo y que sólo hay dos tamaños de vasos (grande y pequeño). Explico una posible solución más óptima.

Sólo habría que crear 3 tablas: local, empleado y servicio. Las tablas contendrán las siguientes filas:

Local:
  • id_local
Empleado:
  • id_empleado,
  • nombre,
  • contraseña,
  • local_id_local (llave foránea que introduce el local dónde se ubica el empleado cuando inicia sesión)
Servicio:
  • id_servicio,
  • sabor,
  • tipo (vaso grande/pequeño),
  • fecha,
  • hora_de_inicio,
  • hora_de_fin,
  • empleado_id_empleado
El problema me surge en que no sé cómo introducir el tema de que un camarero debe visitar al menos dos veces una mesa.

Acepto todo tipo de sugerencias, y mejoras posibles. Gracias nuevamente y un saludo
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"
  #4 (permalink)  
Antiguo 17/04/2017, 09:18
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Creación lógica de este ejemplo de base de datos

La relacion esta entre EMPLEADO y SERVICIO, al ser una relacion de "many to many" (muchos a muchos), solo se resuelve insertando una tabla intermedia entre las tablas ya mencionadas (EMP_SER)
__________________
MCTS Isaias Islas
  #5 (permalink)  
Antiguo 17/04/2017, 10:07
 
Fecha de Ingreso: julio-2008
Mensajes: 258
Antigüedad: 15 años, 9 meses
Puntos: 9
Respuesta: Creación lógica de este ejemplo de base de datos

Cita:
Iniciado por iislas Ver Mensaje
La relacion esta entre EMPLEADO y SERVICIO, al ser una relacion de "many to many" (muchos a muchos), solo se resuelve insertando una tabla intermedia entre las tablas ya mencionadas (EMP_SER)
Primero, gracias por la ayuda iislas. El resultado entiendo que será algo como añadir esto:

Aux_servicio:
• veces_que_se_atiende_una_mesa
• aux_id_servicio,
• aux_id_empleado,

Entiendo que en esa fila (veces_que_se_atiende_una_mesa) se almacenará un entero (INT), y además lo idóneo es que sea autoincrementable ¿no?. Porque lo que intentaré hacer es que cuándo se solicite atención de una mesa, salga un aviso en pantalla y tras aceptar el aviso se incremente una unidad el entero de esa fila ¿me equivoco? ¿alguna sugerencia más óptima?
__________________
"La diversidad de opiniones crean una perspectiva capaz de ver todas las caras del objeto"

Etiquetas: creación, diseño, ejemplo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:49.