Tablas relacionales con MyISAM y Mysql

MySql uno de los más populares servidores de Base de Datos en el mundo, soporta tablas relacionales, es más cualquier servidor de base de datos lo soporta, pero, la pregunta que es relación de tablas?

La relación de tablas es el enlace entre diferentes tablas a través de campos, esta relación puede darse manualmente o a través de la integridad referencial.

El motor de almacenamiento MyISAM, se puede efectuar relaciones a pesar de que no posee integridad referencial como InnoDB.

Ejemplo:

Tabla A: Alumno

Campos: id , nombre, apellido

Tabla B: Curso

Campos: id, nombre, creditos

Tabla C: Matricula

Campos: idalumno, idcurso

Como podemos ver, Alumno con Curso se relaciona a través de la tabla Matricula,

¿Como podemos lista todos los alumnos en el curso con id = 6 ?

Solo usamos 2 tablas, alumno y matricula

Select a.id, a.nombre, a.apellido from Matricula m

Left join Alumno a on m.idalumno = a.id

Where m.idcurso = 6

¿Como podemos lista todos los alumnos con sus cursos?

Usamos las 3 tablas

Select a.id, a.nombre, a.apellido, c.nombre, c.creditos from Matricula m

Left join Alumno a on m.idalumno = a.id

Left join Curso c on m.idcurso = c.id

Y asi podemos seguir sumando más tablas y sumando sentencias de relaciones.

This entry was posted on Sunday, February 17th, 2008 at 1:32 pm and is filed under Base de Datos. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply