Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Introducción a las Bases de Datos - Conexiones

Introducción a las Bases de Datos - Conexiones

 ***** (13 opiniones)
Creative Commons Tutorial de Amanda - 08 de Marzo de 2006
6. Conexiones
Vamos a ver cómo se pueden conectar o relacionar las entidades (tablas)

Volvamos al paquetito de fichas de nuestra biblioteca particular:



Por la imagen y por la pura lógica deducimos que para cada libro tiene que existir un único listado de lectura:

Si un libro lo ha leído el lector 25, 150, y 1564 , es imposible que exista otro listado en el que aparezcan los lectores 25, 125, y 1564, o es cierto uno, o es cierto el otro, pero no pueden existir dos listados de lectura para el mismo libro, es decir, a cada libro le corresponderá un único listado (en este caso , ficha) de lectura a este tipo de relación entre entidades se le denomina de uno a uno
Otras relaciones de uno a uno serían: De un hijo hacía su madre biológica o la de un coche con su motor
Siguiendo con la pura lógica comprenderemos que en la biblioteca , un libro pueden haberlo leído varios lectores, por lo tanto, en la ficha de lectura están anotados más de un lector.

Una ficha de lectura estará relacionada con varios lectores, a esta relación se le denomina de de uno a varios
Otra relación de uno a varios sería : De una madre biológica hacia sus hijos. Pero ....

Entre dos entidades no pueden establecerse dos tipos diferentes de relaciones, por eso, es importante distinguir la diferencia entre los dos ejemplos adicionales que he incluido.

En el caso del coche con su motor puede estar más claro, sabemos que un coche sólo puede llevar un motor y a la inversa, un motor sólo puede ir en un coche. Si tuviésemos que gestionar la entidad coches y la entidad motores, podríamos estructurarlas de manera que se relacionasen por sus claves principales.

Cada id autonúmerico de la tabla coches lo podríamos relacionar con un id autonúmerico de la tabla motores. La relación sería de uno a uno y verdadera en las dos direcciones:

para cada id_coches ------> habría un id_motores
para cada id_motores ------> habría un id_coches

En el caso de la madre con su hijo, es diferente.

Si bien es cierto que un hijo sólo puede tener una madre biológica, también es cierto que una madre biológica puede tener varios hijos.

Si tuviésemos que gestionar la entidad hijos y la entidad madres y les diésemos esta estructura y atributos :




Sería imposible trazar una relación verdadera y única desde la entidad madres hacia la entidad hijos por medio del id de ambas tablas, id referido a su clave principal ¿por qué?

Porque en el momento que tuviésemos que ingresar un nuevo registro de un nuevo hijo para la misma madre, la relación se establecería así para el primer hijo ( id de ejemplo):

al hijo A de id 20 --------> le correspondería la madre de id 20 )

Pero ¿cómo podríamos relacionar al segundo?

madre (id 20) |--------> hijoA (id 20)
|--------> hijoB (¿?)

Hemos dicho que la clave principal tiene que ser única, por lo tanto no podemos volver a repetir el id 20 en la tabla hijos

Para poder relacionarlas tenemos que crear un nuevo campo en la tabla hijos, algo que nos diga exactamente a que madre pertenece y que además se pueda repetir el valor dentro de ese campo para varios registros, tendríamos que establecer una clave externa.



Tendríamos algo así:

madre (id 20) |--------> hijoA (id-madre 20) (id 20 )
madre (id 20) |--------> hijoB (id-madre 20) (id 35 )

Relacionaremos la clave principal de la tabla madres con el campo de la tabla hijos que nos diga "el nombre de la madre (id-madre)"

La clave principal de la tabla hijos, la que nos determina "el nombre del registro de cada hijo" permanecería único y sin repetirse.


Relación de varios a varios

Las entidades de nuestra biblioteca mostradas en esquema estarían así:



Entre la tabla lectores y la tabla libros hay una relación de varios a varios.

Voy a dejaros que analiceis vosotros esta relación como ejercicio, pero antes leed el análisis que hago de otra posible relación de varios a varios que se puede dar en nuestra biblioteca.

Imaginemos cómo están archivados los libros en una biblioteca real. Cada lote de libros están clasificados por tipo, en una sección: narrativa, poesía, historia, libro técnico ....

Pero además cada libro estará escrito en un idioma diferente : francés, inglés, ...

Veremos que hay libros en francés de bricolaje e informática




Hay libros en inglés de novela, historia, ensayo e informática




Hay libros en alemán de poesía y ensayo




Hay libros en italiano de poesía y ensayo




Si considerásemos hacer la clasificación de las secciones por idiomas en lugar de por tipo de libro, la relación sería también válida y quedaría así:

Hay libros de novela en francés e inglés



Hay libros de poesía en alemán e italiano



Hay libros de historia en inglés



Hay libros de bricolaje en francés



Hay libros de botánica en alemán e italiano



Hay libros de ensayo en inglés e italiano



Hay libros de informática en francés e inglés



Si representamos estas relaciones en una sola figura nos quedaría esto



A esta relación se le denomina de varios a varios
Podemos encontrar relaciones de este tipo en muchos casos de la vida diaria, son relaciones de varios a varios,:

    En el restaurante: En el menú hay varios platos, al restaurante van varios clientes. Cada cliente pedirá varios platos y un mismo plato lo pedirán varios clientes .
    Varios platos para varios clientes

    En la escuela: En un curso hay varias asignaturas optativas, en ese curso hay varios alumnos. Cada alumno estudiará varias asignaturas optativas y cada asignatura optativa será elegida por varios alumnos.
    Varias asignaturas para varios alumnos

    En el campeonato mundial de motociclismo: Hay varias competiciones válidas para puntuar en él, hay varios corredores inscritos en todas. Varios corredores puntuarán en una competición que se sumará al resto de pruebas para ganar el campeonato, una competición será ganada por varios corredores ( los tres clasificados : primero, segundo y tercero en cada prueba)
    Varias pruebas para varios corredores


Por lo general este tipo de relaciones se dan entre dos tablas que tienen "interpuesta entre ambas" otra tabla que es en la que recaen la dos partes "varios".

En el ejemplo de nuestra biblioteca la relación de varios a varios entre los libros y los lectores se estable por medio de la tabla préstamos.

un libro lo leen varios lectores |---> prestamos <----| un lector lee varios libros
La tabla prestamos irá presentando en cada uno de sus registros las combinaciones de las claves principales entre la tabla lectores y la tabla libros.
Autor y licencia de 'Introducción a las Bases de Datos - Conexiones'
Amanda Extraído de: http://www.tomatoma.ws/subsecciones.php?forum_id=30&catid=22&todos=1

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Introducción a las Bases de Datos - Conexiones'

Qué son y como funcionan las bases de datos. Trataremos conceptos muy básicos que os... Más »
Este curso contiene cuatro actividades. Publico la primera actividad.
Se ofrece una panorámica general sobre el surgimiento de los gestores personales de bases de... Más »
Un sistema informático utiliza ordenadores para almacenar datos, procesarlos y ponerlos a disposición de quien... Más »
Aquí dejo una clase que hice hace tiempo para tratar bases de datos MYSQL.
¿Estás seguro de que deseas eliminar este capítulo?