Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/05/2009, 06:13
Avatar de cala932
cala932
 
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Respuesta: relaciones entre tablas

Hola, claro lo que tu tiene es una relacion de 1 a n entre categorias y subcategorias, es decir que una categoria puede tener mas de una subcategoria:
Las tablas quedarian:
Código:
CREATE  TABLE IF NOT EXISTS `categoria` (
  `id_categoria` INT NOT NULL AUTO_INCREMENT ,
  `nombre` VARCHAR(45) NULL ,
  PRIMARY KEY (`id_categoria`) )
ENGINE = InnoDB

CREATE  TABLE IF NOT EXISTS `subcategoria` (
  `id_subcategoria` INT NOT NULL AUTO_INCREMENT ,
  `nombre` VARCHAR(45) NOT NULL ,
  `id_categoria` INT NOT NULL ,
  PRIMARY KEY (`id_subcategoria`) ,
  INDEX `fk_subcategoria_categoria` (`id_categoria` ASC) ,
  CONSTRAINT `fk_subcategoria_categoria`
    FOREIGN KEY (`id_categoria` )
    REFERENCES `categoria` (`id_categoria` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB
Por ejemplo:
Tabla categoria:
id_categoria 1
id_categoria 2

Tabla subcategoria quedaria asi:

id_subcategoria1 , id_categoria 1, nombre_subcategoria
id_subcategoria2 , id_categoria 1, nombre_subcategoria
id_subcategoria3 , id_categoria 2, nombre_subcategoria

Esto implica que la categoria 1 tiene las subcategorias 1 y 2.
Y la categoria 2 tiene la subcategoria 3.

Espero que te sirva.

Saludos
__________________
->Aprender es un proceso que incluye el error..