sábado, 28 de junio de 2008

Crear tablas relacionadas Mysql

Las relaciones entre las tablas nos ayuda a obtener un mayor rendimiento en nuestra base de datos. Para utilizar este metodo es necesario que nuestro servidor Mysql tenga activado el uso de tablas InnoDB.

A continuación veremos una pequeña relacion entre 2 tablas, nos vamos a auxiliar del cliente Mysql Navicat.

1. Creación de la Tabla usuarios:

Codigo SQL:

CREATE TABLE `usuarios` (
`id` int(11) NOT NULL auto_increment,
`usuario` varchar(20) character set latin1 NOT NULL,
`nombres` varchar(30) character set latin1 NOT NULL,
`apellidos` varchar(30) character set latin1 NOT NULL,
`id_pais` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Crear índice:

A continuacion se crean los indices, indicaremos el nombre, el campo a tener referencia y el tipo.


2. Creación de la Tabla pais:


Codigo SQL:

CREATE TABLE `pais` (
`id` int(11) NOT NULL auto_increment,
`pais` varchar(30) character set latin1 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Crear índice:

A continuacion se crean los indices, indicaremos el nombre, el campo a tener referencia y el tipo.

3. Crear Foreign Keys o llave foranea, tabla usuario:

Las Foreign Keys o llaves foraneas nos permiten establecer la relacion entre las tablas.

En este paso iremos a la tabla "usuarios" y seleccionamos la pestaña foreign keys, ahi se deben definir el nombre de la llave, el campo, la tabla de referencia con su campo, seguidamente debemos configurar los tipos de restricciones "On Delete", "On Update".

Tipos de Relaciones:

1:1 - Relación 1 a 1.
M:1 - Relación 1 a muchos.
M:M - Relación muchos a muchos.

No hay comentarios: