Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Crear estas tablas

Estas en el tema de Crear estas tablas en el foro de Mysql en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 26/05/2007, 16:26
 
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
);
  #2 (permalink)  
Antiguo 26/05/2007, 17:08
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
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.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 26/05/2007, 17:32
 
Fecha de Ingreso: abril-2005
Mensajes: 196
Antigüedad: 19 años
Puntos: 2
Re: Crear estas tablas

Como los hago InnoDB ??
  #4 (permalink)  
Antiguo 26/05/2007, 19:50
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
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 tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




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