Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/09/2011, 00:50
Avatar de gildus
gildus
 
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 21 años, 3 meses
Puntos: 105
Respuesta: Tablas relacionadas

Holas,

Creo podrias mejorarlo asi:

Código MySQL:
Ver original
  1. CREATE  TABLE `Nacionalidad` (
  2.   `id_nacionalidad` VARCHAR(2) NOT NULL ,
  3.   `nacionalidad` VARCHAR(45) NULL ,
  4.   PRIMARY KEY (`id`) )
  5.  
  6. CREATE  TABLE `Socios` (
  7.  `codigo_socios` VARCHAR(6) NOT NULL ,
  8.   `ap_paterno` VARCHAR(45) NULL ,
  9.   `ap_materno` VARCHAR(45) NULL ,
  10.   `nombres` VARCHAR(45) NULL ,
  11.   `id_nacionalidad` VARCHAR(2) NOT NULL ,
  12.   PRIMARY KEY (`codigo_socios`) ,
  13.   INDEX `fk_Socios_Nacionalidad` (`id_nacionalidad` ASC) ,
  14.   CONSTRAINT `fk_Socios_Nacionalidad`
  15.     FOREIGN KEY (`id_nacionalidad` )

El campo `nacionalidad` VARCHAR(2) NULL , quite de la tabla Socios, ya que en la tabla Nacionalidad ya lo tienes con el campo nacionalidad (antes descripcion). Y el PRIMARY KEY de tu tabla Socios, no era necesario que tengas a id_nacionalidad, el PRIMARY KEY es para tu tabla Socios por lo que codigo_socios es el unico UNIQUE de tu tabla.

Trata de no usar VARCHAR para tu campos id, ponles algo mas fijo como INT o CHAR.

Saludos
__________________
.: Gildus :.