locked
INNER JOIN CIRCULAR 3 TABLAS RRS feed

  • Pregunta

  • Hola 

    Se me presento esta duda y quiero resolverlo de la manera más eficiente, tengo 3 tablas ALUMNOS, LIBROS Y BIBLIOTECAS.

    y la consultas es:

    select

    nombre,

    libro

    biblioteca

    from ((ALUMNOS a INNER JOIN LIBROS o ON a.ID_ALUMNO= o.ID_ALUMNO) INNER JOIN BIBLIOTECAS b

    ON a.ID=b.ID)

    ahora el problema que tengo es que necesito hacer un JOIN entre LIBROS Y BIBLIOTECAS (o.ID_LIBRO=b.ID_LIBRO) sin cambiar los ALIAS ya que los necesito para una función en esta misma consulta.

    jueves, 22 de diciembre de 2016 10:52

Respuestas

  • MarcosPP,

    Si intentas representar la gestión de préstamos de libros creo que el modelamiento que realizaste no es el correcto, un atributo de la entidad Libros no puede ser una referencia a una instancia de la entidad Alumno, un libro le pertenece a una biblioteca, la relación con el alumno es únicamente de préstamo. Un acercamiento básico de modelamiento con las tablas que mencionas debería tener la siguiente forma:


    En caso un libro pueda tener una o varias copias en varias bibliotecas debes agregar una tabla N:M entre las entidades Libros y Bibliotecas, la nueva entidad deberá relacionarse con la entidad Prestamo.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    jueves, 22 de diciembre de 2016 16:04