Jump to content

Duda con modelo ER


RomiChan

Recommended Posts

Siempre tuve problemas al crear relaciones entre tablas, y ahora tengo un examen muy importante que dependo mucho de este modelo. Ojala puedan aclarar mi dudas T__T

Tengo este modelo:213euki.png

 

Un arriendo puede tener muchas películas, y lo mismo con arriendo ...pero haciendo esto se me agregan las claves foráneas de arriendo y devolución, es algo que me confunde, ya que al agregar una película se tendría que agregar si o si el id de arriendo y devolución, caso que no debería ser. Que estoy entendiendo mal?

Estaba pensando en agregar otra tabla en medio de arriendo y película, para que la tabla película quede libre de claves foráneas, pero también se me hace confuso.

 

Si pueden, también les agradecería mucho si me pueden aclarar algunas dudas...

La tabla película se debe ver como un objeto único y como algo que está en el momento? no se si me hago entender, pero lo pregunto porque también se me viene la idea de que "película esta en muchos arriendos", cosa que para mi no tiene tanto sentido, pero por parte de las claves foráneas (idpelicula quedaría en la de arriendo y devolución) me conviene.

 

Espero puedan ayudarme T__T

Tengo un examen muy importante y solo esto me esta complicando para seguir.

Por favor u_u

 

 

edit: Ahora lo cambie y lo deje así, esta bien asi? tiene algun error?

16hjal5.png

 

Edited by RomiChan
Link to comment
Share on other sites

La tabla película se debe ver como un objeto único y como algo que está en el momento? no se si me hago entender, pero lo pregunto porque también se me viene la idea de que "película esta en muchos arriendos", cosa que para mi no tiene tanto sentido, pero por parte de las claves foráneas (idpelicula quedaría en la de arriendo y devolución) me conviene.

:mmm: Creo que la parte que te complica es que una película puede tener varias copias, o sea, si vas a la tienda donde arriendan películas y preguntas si tienen una determinada película, quizás te respondan que sí la tienen, pero que no le quedan copias para arrendar (todas están pedidas).

Veo que en la tabla detalle_arr tienes un campo cantidad, pero no tengo claro qué significado le das tú. Supongo que el total de copias y copias disponibles podrían ser campos de la tabla pelicula, pero no estoy seguro :nose:

De hecho, creo que se podría complicar más el modelo si consideras el formato, es decir, puedes tener varias copias de una película y quizás algunas copias están en DVD y otras en Blu-ray.

 

:huasonto:

Link to comment
Share on other sites

Hola xD

La cantidad lo puse como cantidad de películas que arrendó un cliente. La verdad es que no quise complicarme con la cantidad de copias xD Aunque la verdad puede que me lo pidan, pero me imagino haciendo las consultas para mostrar las películas disponibles, incluyendo las copias de una misma película...y no me veo capaz de hacerlo -o- (De verdad me enreda tanto que me trabo). Así que por ahora solo quiero tener en cuenta lo que tengo en mi modelo =P...respecto a eso, esta bien el modelo que hice? o no poniendo la cantidad de copias lo arruina todo? xD

 

Gracias por la ayuda :oky:

Link to comment
Share on other sites

:mmm: Aers...por lo que veo, vas a tener que pensar en copias (no en películas), o sea, hasta ahora tu modelo está pensado de esta forma:

  • Un cliente arrienda películas
pero en realidad deberías verlo así:
  • Una película tiene una o varias copias
  • Un cliente arrienda una o varias copias
Así que parece que no vas a poder hacerle el quite a la entidad copia ;) . Entonces, vas a tener una tabla copias (o puede ser en singular), y ésta va a tener un campo que indica si está o no arrendada y quizás un campo que indique el formato (DVD, Blu-ray u otro). Con este esquema, me imagino que para poder ver si una película está disponible, vas a tener que pensar que ahora tienes contar la cantidad de copias que no están arrendadas:
  • Buscas el título de la película en la tabla pelicula y obtienes el idpelicula
  • En la tabla copias, cuentas la cantidad de filas con ese idpelicula que no estén arrendadas, y así sabes si esa película está disponible para arrendarla
:huasonto:
Link to comment
Share on other sites

Básicamente, ahora película sería información sobre ésta (fecha de estreno, director, género, etc.), y copia es algo tangible (lo que realmente se le entrega al cliente). En otras palabras, las copias pueden extraviarse o deteriorarse, mientras que una película es una descripción de una copia.

 

:huasonto:

Link to comment
Share on other sites

Esta vez necesito ayuda con el código xD

Es primera vez que uso el JOIN y creo que no lo estoy usando bien...ya que no me muestra nada -o-

 

edit: ya lo arreglé xd agregué una variable $row al if de mysql_fetch_array y los imprimí con esa misma variable xd

<?
include "conexion.php";

if(isset($_POST['titulo']) && !empty($_POST['titulo']))
{
	$con=mysql_connect($host,$user,$pw) or die("Problemas al conectar al servidor");
	
	mysql_select_db($db,$con) or die("Problemas al conectar la BD.");
	
	$consulta=mysql_query("SELECT disponibilidad, formato, copia.idpelicula, titulo, fecha_estreno, director, genero FROM copia JOIN pelicula ON copia.idpelicula = pelicula.idpelicula",$con) or die("Problemas al realizar la consulta".mysql_error());	
	
	if(mysql_fetch_array($consulta))
	{
		echo $consulta['disponibilidad'];
		echo $consulta['formato'];
		echo $consulta['idpelicula'];
		echo $consulta['titulo'];
		echo $consulta['fecha_estreno'];
		echo $consulta['director'];
		echo $consulta['genero'];
	}
}
?>
Edited by RomiChan
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...