-
El título no puede ser más preciso. Estoy a vueltas con la práctica de bases de datos de este año, y pese a que en un principio habíamos optado por usar MySQL, después de crear todas las tablas y FKs nos hemos pasado a Interbase/Firebird porque no hubo manera de que se tragara las claves foráneas el puto mysql.
Así que, aquí estamos "migrando" todo y andamos con mil problemas. En mysql teníamos definidas varias tuplas con un tipo de datos enumerado (ENUM) pero esto Interbase no lo reconoce. Ahora tengo que crear las tablas y no puedo hacerlo por culpa de ese error ¿qué puedo hacer?
He buscado y rebuscado y no aparece nada sobre cómo crear tipos enumerados en IB pero estoy seguro de que se puede hacer. Con la opción de crear dominios no veo manera de insertar valores :llorar:
Os pongo un ejemplo:
CREATE TABLE "tipo_socio" ( "nom_tipo_socio" enum('estándar','aqua','VIP','estándar(B)','aqua(B)','VIP(B)') NOT NULL, "bono" smallint default 0 NOT NULL, --booleano inicializado a falso "precio" double precision NOT NULL, PRIMARY KEY ("nom_tipo_socio"));
¿ideas?
-
Yo tuve que hacer las practicas de bbdd con interbase. A decir verdad, no me acuerdo mucho de la sintaxis de dicho gestor, pero bucenado entre mis practicas he encontrado esto, que a lo mejor te puede valer:
CREATE DOMAIN Estado AS VARCHAR(15) CHECK (VALUE IN ('iniciado', 'presupuestado', 'aceptado', 'rechazado', 'cerrado')); CREATE TABLE Hoja ( CodHoja varchar(8) NOT NULL, Fecha date NOT NULL, Hora time NOT NULL, Kilometraje int, Desperfectos varchar(32), Estado Estado, Matricula varchar(8) NOT NULL, Registro varchar(8) NOT NULL, Tiempo_coord int ); ALTER TABLE Hoja ADD PRIMARY KEY (CodHoja);
Un saludo.
-
Voy a probarlo ahora mismo, muchas gracias.