Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Mysql (http://www.forosdelweb.com/f86/)
-   -   Crear estas tablas (http://www.forosdelweb.com/f86/crear-estas-tablas-493043/)

jmjosebest 26/05/2007 16:26

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
);


BrujoNic 26/05/2007 17:08

Re: Crear estas tablas
 
¿Cuál es el tipo de BD que estas creando en MySQL?

Ahí estas mostrando la creación de tablas pero NO el tipo de BD ya que solo los declarados tipo InnoDB, podes establecer relaciones.

jmjosebest 26/05/2007 17:32

Re: Crear estas tablas
 
Como los hago InnoDB ??

BrujoNic 26/05/2007 19:50

Re: Crear estas tablas
 
Pues me puse a investigar un poco y encontré esto:
InnoDB: Transacciones ACID y más

Se pone la condición en la declaración de la tabla.

Utiliza google para que obtengas más resultados. Te dejo el filtro que usé:
type InnoDB mysql

O baja el manual de MySQL directamente desde su sitio.

Saludos.


La zona horaria es GMT -6. Ahora son las 23:06.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.