Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2007, 16:26
jmjosebest
 
Fecha de Ingreso: abril-2005
Mensajes: 196
Antigüedad: 19 años
Puntos: 2
Crear estas tablas

He hecho un modelo entidad-relacion con DBDesigner pero las tablas que me genera luego en phpmyadmin me petan y no se cual es la causa, lo veo todo OK.

Las tablas que petan son las que tienen ForeingKey, las tres últimas...

Este es el codigo que me genra...

A ver si me podeis hechar un cable... GRACIAS!!

Código:
CREATE TABLE modelo (
  codigo INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  fabricante VARCHAR(255) NULL,
  serie VARCHAR(255) NULL,
  modelo VARCHAR(255) NULL,
  fecha_compra DATE NULL,
  procesador VARCHAR(255) NULL,
  ram VARCHAR(255) NULL,
  hdd VARCHAR(255) NULL,
  t_red VARCHAR(255) NULL,
  t_grafica VARCHAR(255) NULL,
  t_sonido VARCHAR(255) NULL,
  monitor VARCHAR(255) NULL,
  otros VARCHAR(255) NULL,
  PRIMARY KEY(codigo)
);

CREATE TABLE tipo_averia (
  codigo INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  descripcion VARCHAR(255) NULL,
  PRIMARY KEY(codigo)
);

CREATE TABLE tipo_usuario (
  numero INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  descripcion VARCHAR(255) NULL,
  PRIMARY KEY(numero)
);

CREATE TABLE grupo (
  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  numero INTEGER UNSIGNED NULL,
  nivel_acceso INTEGER UNSIGNED NULL,
  PRIMARY KEY(id)
);

CREATE TABLE Aula (
  numero INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  situacion VARCHAR(255) NULL,
  grupo_m VARCHAR(255) NULL,
  grupo_t VARCHAR(255) NULL,
  PRIMARY KEY(numero)
);

CREATE TABLE usuario (
  login VARCHAR NOT NULL AUTO_INCREMENT,
  tipo_usuario_numero INTEGER UNSIGNED NOT NULL,
  grupo_id INTEGER UNSIGNED NOT NULL,
  numero INTEGER UNSIGNED NULL,
  grupo INTEGER UNSIGNED NULL,
  password_2 VARCHAR(255) NULL,
  nombre VARCHAR(255) NULL,
  apellidos VARCHAR(255) NULL,
  tipo INTEGER UNSIGNED NULL,
  PRIMARY KEY(login),
  FOREIGN KEY(grupo_id)
    REFERENCES grupo(id)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(tipo_usuario_numero)
    REFERENCES tipo_usuario(numero)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
);

CREATE TABLE equipo (
  codigo VARCHAR NOT NULL AUTO_INCREMENT,
  modelo_codigo INTEGER UNSIGNED NOT NULL,
  Aula_numero INTEGER UNSIGNED NOT NULL,
  aula INTEGER UNSIGNED NULL,
  n_serie VARCHAR(255) NULL,
  mac VARCHAR(255) NULL,
  modelo INTEGER UNSIGNED NULL,
  PRIMARY KEY(codigo),
  FOREIGN KEY(Aula_numero)
    REFERENCES Aula(numero)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(modelo_codigo)
    REFERENCES modelo(codigo)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
);

CREATE TABLE averia (
  num_averia INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  usuario_login VARCHAR NOT NULL,
  tipo_averia_codigo INTEGER UNSIGNED NOT NULL,
  equipo_codigo VARCHAR NOT NULL,
  cod_equipo VARCHAR(255) NULL,
  tipo BOOL NULL,
  tipo_averia INTEGER UNSIGNED NULL,
  descripcion VARCHAR(255) NULL,
  fecha_incidencia DATE NULL,
  fecha_parte DATE NULL,
  fecha_reparacion DATE NULL,
  usuario VARCHAR(255) NULL,
  PRIMARY KEY(num_averia),
  FOREIGN KEY(equipo_codigo)
    REFERENCES equipo(codigo)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(tipo_averia_codigo)
    REFERENCES tipo_averia(codigo)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION,
  FOREIGN KEY(usuario_login)
    REFERENCES usuario(login)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
);