🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.bd.misc
6 messages
6 total messages Started by newton Sat, 18 Nov 2006 21:17
Ayuda con un diseño de BD
#122
Author: newton
Date: Sat, 18 Nov 2006 21:17
27 lines
2468 bytes
Estoy intentando resolver un ejercicio que me han propuesto. El
enunciado es el siguiente:

"Se desea crear una base de datos para la gestión de un restaurante.
Esta BD contendrá un listado de clientes (id, dni, nombre, apellidos,
dirección, tlf, móvil, e-mail), que tendrán la posibilidad de
reservar mesa.

La reserva puede pagarse antes o después del servicio indistintamente.
Una reserva puede incluir un menú predefinido o bien ser una reserva a
la carta, en cuyo caso cada comensal podrá decidir su menú el momento
de ejecutar la reserva. Las reservas no se contabilizan por mesas, sino
por comensales.

Cada día tiene 2 turnos de reserva. Los lugares reservados X día para
X turno se consideran ocupados para todo el turno. Existe también la
posibilidad de reservar mesa en una zona privada del restaurante pero
su coste por cubierto es algo más elevado."

No consigo sacar las relaciones correctas.
De momento tengo las entidades con sus correspondientes atributos:
Cliente,menu,turno,silla y zona. Silla la tengo relacionada con zona en
una relación 1:M. Respecto a lo demás he hecho muchas pruebas pero
siempre encuentro algo que no me encaja y tengo que empezar de nuevo.

Cualquier ayuda u orientación para encontrar la solución es
bienvenida. Gracias de antemano
Re: Ayuda con un dise�o de BD
#123
Author: Lex Sparrow
Date: Sun, 19 Nov 2006 09:06
49 lines
2827 bytes
newton nos comentaba un dia en es.comp.bd.misc, y con tan sabias palabras, 
nos ense�o la luz:

> 
> "Se desea crear una base de datos para la gesti�n de un restaurante.
> Esta BD contendr� un listado de clientes (id, dni, nombre, apellidos,
> direcci�n, tlf, m�vil, e-mail), que tendr�n la posibilidad de
> reservar mesa.
> 
> La reserva puede pagarse antes o despu�s del servicio indistintamente.
> Una reserva puede incluir un men� predefinido o bien ser una reserva a
> la carta, en cuyo caso cada comensal podr� decidir su men� el momento
> de ejecutar la reserva. Las reservas no se contabilizan por mesas, sino
> por comensales.
> 
> Cada d�a tiene 2 turnos de reserva. Los lugares reservados X d�a para
> X turno se consideran ocupados para todo el turno. Existe tambi�n la
> posibilidad de reservar mesa en una zona privada del restaurante pero
> su coste por cubierto es algo m�s elevado."

La verdad es que el planteamiento del problema deja mucho que desear ... 
all� vamos:

Las entidades que est�n mas o menos claras son:

clientes(id, dni, nombre, apellidos,direcci�n, tlf, m�vil, e-mail)
reserva(idreserva,idcliente,iddia,idturno,idTipoMenu)
reservaprivada(idcliente,iddia)
menu()
menucarta(idreserva,plato1,plato2,postre)

Y luego usa los ids para relacionarlo. Como la exposicion es compleja y 
difusa, lo que el profesor busca, casi con toda seguridad, es que haya 
varias soluciones, y que se razone la que se elija. Esta que te he dado, es 
una de varias, pero lo de las reservas da mucho juego, y se plantear de m�s 
formas.


-- 
Lex Sparrow

Pagina sobre gesti�n de las news:
http://www.pclandia.net/lexsparrow/usenet/

Press Play Then Any Key
http://www.pressplaythenanykey.com/

FAQ de es.comp.lenguajes.php:
http://www.pclandia.net/escomplenguajesphp
Re: Ayuda con un diseño de BD
#124
Author: newton
Date: Sun, 19 Nov 2006 19:54
114 lines
5687 bytes
No termino de ver muy clara tu propuesta. A ver que te parece lo que
tengo hecho yo:

Entidades:
.............................

Entidad	        - Clave	           - Atributos
-------------      ---------------------
-----------------------------------------------------------------------------------
Cliente	         - Id_cliente      - Dni, nombre, apellido1, apellido2,
direccion, tlf, mv, email
Horario          - Fecha,Turno  -
Zona             - Id_zona         - Descripcion, precio_cubierto
Silla              - Id_silla	       -
Menu            - Num_menu    - Descripcion
Reserva	        - Id_reserva      - Pagada

Interrelaciones:
...............................

Interrelacion	         - Clave	   - Atributos	            - Grado
------------------       -----------------------
-------------------------    -----------------
Cliente-Reserva	     - Id_reserva     -	Id_cliente*	        - 1:M
Horario-Reserva	     - Id_reserva     -	Fecha*,Turno*	    - 1:M
Reserva-Silla	       - Id_silla	   - Id_reserva*	   - 1:M
Zona-Silla	         - Id_silla	    - Id_zona*	             - 1:M
Menú-Silla	        - Id_silla	   - Num_menu*	        - 1:M

---------------------------

Si crees que puedes echarme un cable puedo enviarte por mail el diseño
que tengo hecho con el Case Studio, que ahí se ve todo más claro. El
planteamiento del problema deja mucho que desear porque lo he hecho yo
;-) Es que es un ejercicio que teniamos que inventarnos. Lo bueno de
esto es que si veo que algo se complica lo cambio y listo ;-)

Con las entidades y las interrelaciones que te he puesto creo que he
encontrado la forma correcta, al menos todas las preguntas que me
propuse las he podido sacar mediante consultas a esa base de datos, lo
que no se si habrá algún fallo de diseño que haya podido cometer por
no saber bien la teoria. Si ves algo gordo y me lo dices te lo
agradeceré mucho.

Saludos

PD: Me han sugerido que ponga el atributo "precio_cubierto" como
atributo de la interrelacion Zona-Silla, pero yo lo que veo es que si
lo pongo así habrá más redundancia en la BD, ya que cada silla
llevaría ese atributo y muchas de ellas con el mismo valor, ya que
puede haber 300 sillas pero solo dos zonas, por poner un ejemplo. En
cambio si lo dejo en zona, solo se pone una vez y como la silla ya
está relacionada con la zona puede obtenerse su precio por cubierto
correspondiente.


----


Lex Sparrow ha escrito:

> newton nos comentaba un dia en es.comp.bd.misc, y con tan sabias palabras,
> nos enseño la luz:
>
> >
> > "Se desea crear una base de datos para la gesti¢n de un restaurante.
> > Esta BD contendr  un listado de clientes (id, dni, nombre, apellidos,
> > direcci¢n, tlf, m¢vil, e-mail), que tendr n la posibilidad de
> > reservar mesa.
> >
> > La reserva puede pagarse antes o despu,s del servicio indistintamente.
> > Una reserva puede incluir un men£ predefinido o bien ser una reserva a
> > la carta, en cuyo caso cada comensal podr  decidir su men£ el momento
> > de ejecutar la reserva. Las reservas no se contabilizan por mesas, sino
> > por comensales.
> >
> > Cada d¡a tiene 2 turnos de reserva. Los lugares reservados X d¡a para
> > X turno se consideran ocupados para todo el turno. Existe tambi,n la
> > posibilidad de reservar mesa en una zona privada del restaurante pero
> > su coste por cubierto es algo m s elevado."
>
> La verdad es que el planteamiento del problema deja mucho que desear ...
> allá vamos:
>
> Las entidades que están mas o menos claras son:
>
> clientes(id, dni, nombre, apellidos,direcci¢n, tlf, m¢vil, e-mail)
> reserva(idreserva,idcliente,iddia,idturno,idTipoMenu)
> reservaprivada(idcliente,iddia)
> menu()
> menucarta(idreserva,plato1,plato2,postre)
>
> Y luego usa los ids para relacionarlo. Como la exposicion es compleja y
> difusa, lo que el profesor busca, casi con toda seguridad, es que haya
> varias soluciones, y que se razone la que se elija. Esta que te he dado, es
> una de varias, pero lo de las reservas da mucho juego, y se plantear de más
> formas.
>
>
> --
> Lex Sparrow
>
> Pagina sobre gestión de las news:
> http://www.pclandia.net/lexsparrow/usenet/
>
> Press Play Then Any Key
> http://www.pressplaythenanykey.com/
>
> FAQ de es.comp.lenguajes.php:
> http://www.pclandia.net/escomplenguajesphp
Re: Ayuda con un diseño de BD
#125
Author: newton
Date: Mon, 20 Nov 2006 00:14
128 lines
6292 bytes
Vale, está fatal lo de antes ya me he dado cuenta. Mañana te pongo la
nueva versión por si le quieres echar un vistazo. No te molestes en
leer el mensaje anterior (salvo el PD) porque  ya le estoy haciendo
cambios.

Saludos


newton ha escrito:

> No termino de ver muy clara tu propuesta. A ver que te parece lo que
> tengo hecho yo:
>
> Entidades:
> .............................
>
> Entidad	        - Clave	           - Atributos
> -------------      ---------------------
> -----------------------------------------------------------------------------------
> Cliente	         - Id_cliente      - Dni, nombre, apellido1, apellido2,
> direccion, tlf, mv, email
> Horario          - Fecha,Turno  -
> Zona             - Id_zona         - Descripcion, precio_cubierto
> Silla              - Id_silla	       -
> Menu            - Num_menu    - Descripcion
> Reserva	        - Id_reserva      - Pagada
>
> Interrelaciones:
> ...............................
>
> Interrelacion	         - Clave	   - Atributos	            - Grado
> ------------------       -----------------------
> -------------------------    -----------------
> Cliente-Reserva	     - Id_reserva     -	Id_cliente*	        - 1:M
> Horario-Reserva	     - Id_reserva     -	Fecha*,Turno*	    - 1:M
> Reserva-Silla	       - Id_silla	   - Id_reserva*	   - 1:M
> Zona-Silla	         - Id_silla	    - Id_zona*	             - 1:M
> Menú-Silla	        - Id_silla	   - Num_menu*	        - 1:M
>
> ---------------------------
>
> Si crees que puedes echarme un cable puedo enviarte por mail el diseño
> que tengo hecho con el Case Studio, que ahí se ve todo más claro. El
> planteamiento del problema deja mucho que desear porque lo he hecho yo
> ;-) Es que es un ejercicio que teniamos que inventarnos. Lo bueno de
> esto es que si veo que algo se complica lo cambio y listo ;-)
>
> Con las entidades y las interrelaciones que te he puesto creo que he
> encontrado la forma correcta, al menos todas las preguntas que me
> propuse las he podido sacar mediante consultas a esa base de datos, lo
> que no se si habrá algún fallo de diseño que haya podido cometer por
> no saber bien la teoria. Si ves algo gordo y me lo dices te lo
> agradeceré mucho.
>
> Saludos
>
> PD: Me han sugerido que ponga el atributo "precio_cubierto" como
> atributo de la interrelacion Zona-Silla, pero yo lo que veo es que si
> lo pongo así habrá más redundancia en la BD, ya que cada silla
> llevaría ese atributo y muchas de ellas con el mismo valor, ya que
> puede haber 300 sillas pero solo dos zonas, por poner un ejemplo. En
> cambio si lo dejo en zona, solo se pone una vez y como la silla ya
> está relacionada con la zona puede obtenerse su precio por cubierto
> correspondiente.
>
>
> ----
>
>
> Lex Sparrow ha escrito:
>
> > newton nos comentaba un dia en es.comp.bd.misc, y con tan sabias palabras,
> > nos enseño la luz:
> >
> > >
> > > "Se desea crear una base de datos para la gesti¢n de un restaurante.
> > > Esta BD contendr  un listado de clientes (id, dni, nombre, apellidos,
> > > direcci¢n, tlf, m¢vil, e-mail), que tendr n la posibilidad de
> > > reservar mesa.
> > >
> > > La reserva puede pagarse antes o despu,s del servicio indistintamente.
> > > Una reserva puede incluir un men£ predefinido o bien ser una reserva a
> > > la carta, en cuyo caso cada comensal podr  decidir su men£ el momento
> > > de ejecutar la reserva. Las reservas no se contabilizan por mesas, sino
> > > por comensales.
> > >
> > > Cada d¡a tiene 2 turnos de reserva. Los lugares reservados X d¡a para
> > > X turno se consideran ocupados para todo el turno. Existe tambi,n la
> > > posibilidad de reservar mesa en una zona privada del restaurante pero
> > > su coste por cubierto es algo m s elevado."
> >
> > La verdad es que el planteamiento del problema deja mucho que desear ...
> > allá vamos:
> >
> > Las entidades que están mas o menos claras son:
> >
> > clientes(id, dni, nombre, apellidos,direcci¢n, tlf, m¢vil, e-mail)
> > reserva(idreserva,idcliente,iddia,idturno,idTipoMenu)
> > reservaprivada(idcliente,iddia)
> > menu()
> > menucarta(idreserva,plato1,plato2,postre)
> >
> > Y luego usa los ids para relacionarlo. Como la exposicion es compleja y
> > difusa, lo que el profesor busca, casi con toda seguridad, es que haya
> > varias soluciones, y que se razone la que se elija. Esta que te he dado, es
> > una de varias, pero lo de las reservas da mucho juego, y se plantear de más
> > formas.
> >
> >
> > --
> > Lex Sparrow
> >
> > Pagina sobre gestión de las news:
> > http://www.pclandia.net/lexsparrow/usenet/
> >
> > Press Play Then Any Key
> > http://www.pressplaythenanykey.com/
> >
> > FAQ de es.comp.lenguajes.php:
> > http://www.pclandia.net/escomplenguajesphp
Re: Ayuda con un diseño de BD
#126
Author: newton
Date: Mon, 20 Nov 2006 00:15
128 lines
6291 bytes
Vale, está fatal lo de antes ya me he dado cuenta. Mañana te pongo la
nueva versión por si le quieres echar un vistazo. No te molestes en
leer el mensaje anterior (salvo el PD) porque  ya le estoy haciendo
cambios.

Saludos


newton ha escrito:

> No termino de ver muy clara tu propuesta. A ver que te parece lo que
> tengo hecho yo:
>
> Entidades:
> .............................
>
> Entidad	        - Clave	           - Atributos
> -------------      ---------------------
> -----------------------------------------------------------------------------------
> Cliente	         - Id_cliente      - Dni, nombre, apellido1, apellido2,
> direccion, tlf, mv, email
> Horario          - Fecha,Turno  -
> Zona             - Id_zona         - Descripcion, precio_cubierto
> Silla              - Id_silla	       -
> Menu            - Num_menu    - Descripcion
> Reserva	        - Id_reserva      - Pagada
>
> Interrelaciones:
> ...............................
>
> Interrelacion	         - Clave	   - Atributos	            - Grado
> ------------------       -----------------------
> -------------------------    -----------------
> Cliente-Reserva	     - Id_reserva     -	Id_cliente*	        - 1:M
> Horario-Reserva	     - Id_reserva     -	Fecha*,Turno*	    - 1:M
> Reserva-Silla	       - Id_silla	   - Id_reserva*	   - 1:M
> Zona-Silla	         - Id_silla	    - Id_zona*	             - 1:M
> Menú-Silla	        - Id_silla	   - Num_menu*	        - 1:M
>
> ---------------------------
>
> Si crees que puedes echarme un cable puedo enviarte por mail el diseño
> que tengo hecho con el Case Studio, que ahí se ve todo más claro. El
> planteamiento del problema deja mucho que desear porque lo he hecho yo
> ;-) Es que es un ejercicio que teniamos que inventarnos. Lo bueno de
> esto es que si veo que algo se complica lo cambio y listo ;-)
>
> Con las entidades y las interrelaciones que te he puesto creo que he
> encontrado la forma correcta, al menos todas las preguntas que me
> propuse las he podido sacar mediante consultas a esa base de datos, lo
> que no se si habrá algún fallo de diseño que haya podido cometer por
> no saber bien la teoria. Si ves algo gordo y me lo dices te lo
> agradeceré mucho.
>
> Saludos
>
> PD: Me han sugerido que ponga el atributo "precio_cubierto" como
> atributo de la interrelacion Zona-Silla, pero yo lo que veo es que si
> lo pongo así habrá más redundancia en la BD, ya que cada silla
> llevaría ese atributo y muchas de ellas con el mismo valor, ya que
> puede haber 300 sillas pero solo dos zonas, por poner un ejemplo. En
> cambio si lo dejo en zona, solo se pone una vez y como la silla ya
> está relacionada con la zona puede obtenerse su precio por cubierto
> correspondiente.
>
>
> ----
>
>
> Lex Sparrow ha escrito:
>
> > newton nos comentaba un dia en es.comp.bd.misc, y con tan sabias palabras,
> > nos enseño la luz:
> >
> > >
> > > "Se desea crear una base de datos para la gesti¢n de un restaurante.
> > > Esta BD contendr  un listado de clientes (id, dni, nombre, apellidos,
> > > direcci¢n, tlf, m¢vil, e-mail), que tendr n la posibilidad de
> > > reservar mesa.
> > >
> > > La reserva puede pagarse antes o despu,s del servicio indistintamente.
> > > Una reserva puede incluir un men£ predefinido o bien ser una reserva a
> > > la carta, en cuyo caso cada comensal podr  decidir su men£ el momento
> > > de ejecutar la reserva. Las reservas no se contabilizan por mesas, sino
> > > por comensales.
> > >
> > > Cada d¡a tiene 2 turnos de reserva. Los lugares reservados X d¡a para
> > > X turno se consideran ocupados para todo el turno. Existe tambi,n la
> > > posibilidad de reservar mesa en una zona privada del restaurante pero
> > > su coste por cubierto es algo m s elevado."
> >
> > La verdad es que el planteamiento del problema deja mucho que desear ...
> > allá vamos:
> >
> > Las entidades que están mas o menos claras son:
> >
> > clientes(id, dni, nombre, apellidos,direcci¢n, tlf, m¢vil, e-mail)
> > reserva(idreserva,idcliente,iddia,idturno,idTipoMenu)
> > reservaprivada(idcliente,iddia)
> > menu()
> > menucarta(idreserva,plato1,plato2,postre)
> >
> > Y luego usa los ids para relacionarlo. Como la exposicion es compleja y
> > difusa, lo que el profesor busca, casi con toda seguridad, es que haya
> > varias soluciones, y que se razone la que se elija. Esta que te he dado, es
> > una de varias, pero lo de las reservas da mucho juego, y se plantear de más
> > formas.
> >
> >
> > --
> > Lex Sparrow
> >
> > Pagina sobre gestión de las news:
> > http://www.pclandia.net/lexsparrow/usenet/
> >
> > Press Play Then Any Key
> > http://www.pressplaythenanykey.com/
> >
> > FAQ de es.comp.lenguajes.php:
> > http://www.pclandia.net/escomplenguajesphp
Re: Ayuda con un diseño de BD
#127
Author: newton
Date: Mon, 20 Nov 2006 00:18
128 lines
6288 bytes
Vale, está fatal lo de antes ya me he dado cuenta. Mañana te pongo la
nueva versión por si le quieres echar un vistazo. No te molestes en
leer el mensaje anterior (salvo el PD) porque  ya le estoy haciendo
cambios.

Saludos


newton ha escrito:

> No termino de ver muy clara tu propuesta. A ver que te parece lo que
> tengo hecho yo:
>
> Entidades:
> .............................
>
> Entidad	        - Clave	           - Atributos
> -------------      ---------------------
> -----------------------------------------------------------------------------------
> Cliente	         - Id_cliente      - Dni, nombre, apellido1, apellido2,
> direccion, tlf, mv, email
> Horario          - Fecha,Turno  -
> Zona             - Id_zona         - Descripcion, precio_cubierto
> Silla              - Id_silla	       -
> Menu            - Num_menu    - Descripcion
> Reserva	        - Id_reserva      - Pagada
>
> Interrelaciones:
> ...............................
>
> Interrelacion	         - Clave	   - Atributos	            - Grado
> ------------------       -----------------------
> -------------------------    -----------------
> Cliente-Reserva	     - Id_reserva     -	Id_cliente*	        - 1:M
> Horario-Reserva	     - Id_reserva     -	Fecha*,Turno*	    - 1:M
> Reserva-Silla	       - Id_silla	   - Id_reserva*	   - 1:M
> Zona-Silla	         - Id_silla	    - Id_zona*	             - 1:M
> Menú-Silla	        - Id_silla	   - Num_menu*	        - 1:M
>
> ---------------------------
>
> Si crees que puedes echarme un cable puedo enviarte por mail el diseño
> que tengo hecho con el Case Studio, que ahí se ve todo más claro. El
> planteamiento del problema deja mucho que desear porque lo he hecho yo
> ;-) Es que es un ejercicio que teniamos que inventarnos. Lo bueno de
> esto es que si veo que algo se complica lo cambio y listo ;-)
>
> Con las entidades y las interrelaciones que te he puesto creo que he
> encontrado la forma correcta, al menos todas las preguntas que me
> propuse las he podido sacar mediante consultas a esa base de datos, lo
> que no se si habrá algún fallo de diseño que haya podido cometer por
> no saber bien la teoria. Si ves algo gordo y me lo dices te lo
> agradeceré mucho.
>
> Saludos
>
> PD: Me han sugerido que ponga el atributo "precio_cubierto" como
> atributo de la interrelacion Zona-Silla, pero yo lo que veo es que si
> lo pongo así habrá más redundancia en la BD, ya que cada silla
> llevaría ese atributo y muchas de ellas con el mismo valor, ya que
> puede haber 300 sillas pero solo dos zonas, por poner un ejemplo. En
> cambio si lo dejo en zona, solo se pone una vez y como la silla ya
> está relacionada con la zona puede obtenerse su precio por cubierto
> correspondiente.
>
>
> ----
>
>
> Lex Sparrow ha escrito:
>
> > newton nos comentaba un dia en es.comp.bd.misc, y con tan sabias palabras,
> > nos enseño la luz:
> >
> > >
> > > "Se desea crear una base de datos para la gesti¢n de un restaurante.
> > > Esta BD contendr  un listado de clientes (id, dni, nombre, apellidos,
> > > direcci¢n, tlf, m¢vil, e-mail), que tendr n la posibilidad de
> > > reservar mesa.
> > >
> > > La reserva puede pagarse antes o despu,s del servicio indistintamente.
> > > Una reserva puede incluir un men£ predefinido o bien ser una reserva a
> > > la carta, en cuyo caso cada comensal podr  decidir su men£ el momento
> > > de ejecutar la reserva. Las reservas no se contabilizan por mesas, sino
> > > por comensales.
> > >
> > > Cada d¡a tiene 2 turnos de reserva. Los lugares reservados X d¡a para
> > > X turno se consideran ocupados para todo el turno. Existe tambi,n la
> > > posibilidad de reservar mesa en una zona privada del restaurante pero
> > > su coste por cubierto es algo m s elevado."
> >
> > La verdad es que el planteamiento del problema deja mucho que desear ...
> > allá vamos:
> >
> > Las entidades que están mas o menos claras son:
> >
> > clientes(id, dni, nombre, apellidos,direcci¢n, tlf, m¢vil, e-mail)
> > reserva(idreserva,idcliente,iddia,idturno,idTipoMenu)
> > reservaprivada(idcliente,iddia)
> > menu()
> > menucarta(idreserva,plato1,plato2,postre)
> >
> > Y luego usa los ids para relacionarlo. Como la exposicion es compleja y
> > difusa, lo que el profesor busca, casi con toda seguridad, es que haya
> > varias soluciones, y que se razone la que se elija. Esta que te he dado, es
> > una de varias, pero lo de las reservas da mucho juego, y se plantear de más
> > formas.
> >
> >
> > --
> > Lex Sparrow
> >
> > Pagina sobre gestión de las news:
> > http://www.pclandia.net/lexsparrow/usenet/
> >
> > Press Play Then Any Key
> > http://www.pressplaythenanykey.com/
> >
> > FAQ de es.comp.lenguajes.php:
> > http://www.pclandia.net/escomplenguajesphp
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads