Tengo un problema un pelin serio.
Resulta que yo hice un web para un gimnasio para una asignatura de mi carrera (ingeniería informática de software). Es una web echa en HTML+CSS, PHP y para la base de datos, nos obligaron a usar Oracle Database XE 11g. La sintaxis que utilice fue la de Oracle SQL.
Me salio bastante bien, y ahora quiero subirlo a internet.
Tras llevarme el verdadero palo de que en los hosting se usa siempre MySQL y nunca Oracle Database, me he dispuesto a meter el script SQL en phpMyAdmin y no va bien.
Todo son errores de sintaxis y demas. Al parecer no se pueden usar secuencias en MySQL...
Me gustaría que me ayudaran a migrar el codigo SQL de las tablas y secuencias (e inserts) a la sintaxis que admite MySQL.
Un saludo, y gracias por su tiempo
Os dejo aqui el codigo SQL.
**Las secuencias no puedo eliminarlas, dado que en la web las uso para crear IDs para meterlas en las tablas.
Citar
DROP TABLE Administrador;
DROP TABLE Empleado;
DROP TABLE EntrenamientosEjercicios;
DROP TABLE Entrenamientos;
DROP TABLE ActividadEspecifica;
DROP TABLE Actividad;
DROP TABLE LineaFactura;
DROP TABLE Facturas;
DROP TABLE Carrito;
DROP TABLE Productos;
DROP TABLE Cliente;
DROP TABLE Persona;
CREATE TABLE administrador (
usuario VARCHAR2(20) NOT NULL ,
pass VARCHAR2(32) NOT NULL ,
CONSTRAINT administrador_fk PRIMARY KEY (usuario)
);
/
CREATE TABLE Persona (
Nombre VARCHAR2 (50) NOT NULL,
Apellidos VARCHAR2(50) NOT NULL,
DNI CHAR(9) NOT NULL ,
Email VARCHAR2 (50) NOT NULL,
Sexo VARCHAR2(1) NOT NULL ,
Telefono VARCHAR2 (9) NOT NULL,
FechaNacimiento DATE NOT NULL,
Direccion VARCHAR2(255) NOT NULL,
pass VARCHAR2(32) NOT NULL ,
Baja INT NOT NULL,
CONSTRAINT PERSONA_PK PRIMARY KEY (DNI),
CHECK (Sexo IN ('H' , 'M'))
);
/
CREATE TABLE Cliente (
IDCliente INT NOT NULL ,
DNIPersona CHAR(9) NOT NULL ,
CONSTRAINT Cliente_PK PRIMARY KEY (IDCliente),
CONSTRAINT CLIENTE_FK FOREIGN KEY (DNIPersona) REFERENCES Persona
);
/
CREATE TABLE Empleado (
IDEmpleado INT NOT NULL,
DNIPersona CHAR(9) NOT NULL,
CONSTRAINT EMPLEADO_PK PRIMARY KEY (IDEmpleado),
CONSTRAINT EMPLEADO_FK FOREIGN KEY (DNIPersona) REFERENCES Persona(DNI)
);
CREATE TABLE Actividad (
IDActividad INT NOT NULL,
Nombre VARCHAR2 (50) NOT NULL,
CONSTRAINT ACTIVIDAD_PK PRIMARY KEY (IDActividad)
);
/
CREATE TABLE ActividadEspecifica (
IDActividadEspecifica INT NOT NULL,
IDActividad INT NOT NULL,
Nombre VARCHAR2(50) NOT NULL,
Descripcion VARCHAR2(255),
CONSTRAINT ACtividadEspecifica_FK FOREIGN KEY (IDActividad) REFERENCES Actividad(IDActividad),
PRIMARY KEY(IDActividadEspecifica)
);
/
CREATE TABLE Entrenamientos (
IDEntrenamiento INT NOT NULL,
IDCliente INT NOT NULL,
FechaInicio DATE NOT NULL,
FechaFin DATE NOT NULL,
IDActividad INT NOT NULL,
Descripcion VARCHAR2(255),
CONSTRAINT Entrenamientos_FK FOREIGN KEY (IDCliente) REFERENCES Cliente(IDCliente),
CONSTRAINT EntrenamientosActividades_FK FOREIGN KEY (IDActividad) REFERENCES Actividad(IDActividad),
PRIMARY KEY(IDEntrenamiento)
);
/
CREATE TABLE EntrenamientosEjercicios (
IDEntrenamiento INT NOT NULL,
IDActividadEspecifica INT NOT NULL,
CONSTRAINT EntrenamientosEjercicios_FK FOREIGN KEY (IDEntrenamiento) REFERENCES Entrenamientos(IDEntrenamiento),
CONSTRAINT EntrenamientosAEspecificas_FK FOREIGN KEY (IDActividadEspecifica) REFERENCES ActividadEspecifica(IDActividadEspecifica),
PRIMARY KEY(IDEntrenamiento,IDActividadEspecifica)
);
/
CREATE TABLE Productos (
IDProducto INT NOT NULL,
Nombre VARCHAR2(255) NOT NULL,
Descripcion VARCHAR2(255) NOT NULL,
Precio NUMBER(6,2) NOT NULL,
Stock INT NOT NULL,
Foto VARCHAR2(255),
PRIMARY KEY(IDProducto)
);
/
CREATE TABLE Carrito (
IDCarrito INT NOT NULL,
IDProducto INT NOT NULL,
IDCliente INT NOT NULL,
Unidades INT NOT NULL,
PRIMARY KEY(IDCarrito),
CONSTRAINT Carrito_FK FOREIGN KEY (IDCliente) REFERENCES Cliente(IDCliente),
CONSTRAINT CarritoProducto_FK FOREIGN KEY (IDProducto) REFERENCES Productos(IDProducto)
);
/
CREATE TABLE Facturas (
IDFactura INT NOT NULL,
IDCliente INT NOT NULL,
PrecioTotal NUMBER(6,2) NOT NULL,
PRIMARY KEY(IDFactura),
CONSTRAINT ClientesFacturas_FK FOREIGN KEY (IDCliente) REFERENCES Cliente(IDCliente)
);
/
CREATE TABLE LineaFactura (
IDLineaFactura INT NOT NULL,
IDProducto INT NOT NULL,
IDCliente INT NOT NULL,
IDFactura INT NOT NULL,
PrecioCompra NUMBER(6,2) NOT NULL,
Unidades INT NOT NULL,
PRIMARY KEY(IDLineaFactura),
CONSTRAINT ClientesLF_FK FOREIGN KEY (IDCliente) REFERENCES Cliente(IDCliente),
CONSTRAINT LFacturaProducto_FK FOREIGN KEY (IDProducto) REFERENCES Productos(IDProducto),
CONSTRAINT Facturas_FK FOREIGN KEY (IDFactura) REFERENCES Facturas(IDFactura)
);
/
DROP SEQUENCE sec_entrenamientos;
CREATE SEQUENCE sec_entrenamientos MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
DROP SEQUENCE sec_actividadesespecifica;
CREATE SEQUENCE sec_actividadesespecifica MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
DROP SEQUENCE sec_clientes;
CREATE SEQUENCE sec_clientes MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
DROP SEQUENCE sec_empleados;
CREATE SEQUENCE sec_empleados MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
DROP SEQUENCE sec_facturas;
CREATE SEQUENCE sec_facturas MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
DROP SEQUENCE sec_lineafacturas;
CREATE SEQUENCE sec_lineafacturas MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
DROP SEQUENCE sec_actividades;
CREATE SEQUENCE sec_actividades MINVALUE 1 INCREMENT BY 1 START WITH 1;
DROP SEQUENCE sec_carrito;
CREATE SEQUENCE sec_carrito MINVALUE 1 INCREMENT BY 1 START WITH 1;
DROP SEQUENCE sec_productos;
CREATE SEQUENCE sec_productos MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
commit;
DROP TABLE Empleado;
DROP TABLE EntrenamientosEjercicios;
DROP TABLE Entrenamientos;
DROP TABLE ActividadEspecifica;
DROP TABLE Actividad;
DROP TABLE LineaFactura;
DROP TABLE Facturas;
DROP TABLE Carrito;
DROP TABLE Productos;
DROP TABLE Cliente;
DROP TABLE Persona;
CREATE TABLE administrador (
usuario VARCHAR2(20) NOT NULL ,
pass VARCHAR2(32) NOT NULL ,
CONSTRAINT administrador_fk PRIMARY KEY (usuario)
);
/
CREATE TABLE Persona (
Nombre VARCHAR2 (50) NOT NULL,
Apellidos VARCHAR2(50) NOT NULL,
DNI CHAR(9) NOT NULL ,
Email VARCHAR2 (50) NOT NULL,
Sexo VARCHAR2(1) NOT NULL ,
Telefono VARCHAR2 (9) NOT NULL,
FechaNacimiento DATE NOT NULL,
Direccion VARCHAR2(255) NOT NULL,
pass VARCHAR2(32) NOT NULL ,
Baja INT NOT NULL,
CONSTRAINT PERSONA_PK PRIMARY KEY (DNI),
CHECK (Sexo IN ('H' , 'M'))
);
/
CREATE TABLE Cliente (
IDCliente INT NOT NULL ,
DNIPersona CHAR(9) NOT NULL ,
CONSTRAINT Cliente_PK PRIMARY KEY (IDCliente),
CONSTRAINT CLIENTE_FK FOREIGN KEY (DNIPersona) REFERENCES Persona
);
/
CREATE TABLE Empleado (
IDEmpleado INT NOT NULL,
DNIPersona CHAR(9) NOT NULL,
CONSTRAINT EMPLEADO_PK PRIMARY KEY (IDEmpleado),
CONSTRAINT EMPLEADO_FK FOREIGN KEY (DNIPersona) REFERENCES Persona(DNI)
);
CREATE TABLE Actividad (
IDActividad INT NOT NULL,
Nombre VARCHAR2 (50) NOT NULL,
CONSTRAINT ACTIVIDAD_PK PRIMARY KEY (IDActividad)
);
/
CREATE TABLE ActividadEspecifica (
IDActividadEspecifica INT NOT NULL,
IDActividad INT NOT NULL,
Nombre VARCHAR2(50) NOT NULL,
Descripcion VARCHAR2(255),
CONSTRAINT ACtividadEspecifica_FK FOREIGN KEY (IDActividad) REFERENCES Actividad(IDActividad),
PRIMARY KEY(IDActividadEspecifica)
);
/
CREATE TABLE Entrenamientos (
IDEntrenamiento INT NOT NULL,
IDCliente INT NOT NULL,
FechaInicio DATE NOT NULL,
FechaFin DATE NOT NULL,
IDActividad INT NOT NULL,
Descripcion VARCHAR2(255),
CONSTRAINT Entrenamientos_FK FOREIGN KEY (IDCliente) REFERENCES Cliente(IDCliente),
CONSTRAINT EntrenamientosActividades_FK FOREIGN KEY (IDActividad) REFERENCES Actividad(IDActividad),
PRIMARY KEY(IDEntrenamiento)
);
/
CREATE TABLE EntrenamientosEjercicios (
IDEntrenamiento INT NOT NULL,
IDActividadEspecifica INT NOT NULL,
CONSTRAINT EntrenamientosEjercicios_FK FOREIGN KEY (IDEntrenamiento) REFERENCES Entrenamientos(IDEntrenamiento),
CONSTRAINT EntrenamientosAEspecificas_FK FOREIGN KEY (IDActividadEspecifica) REFERENCES ActividadEspecifica(IDActividadEspecifica),
PRIMARY KEY(IDEntrenamiento,IDActividadEspecifica)
);
/
CREATE TABLE Productos (
IDProducto INT NOT NULL,
Nombre VARCHAR2(255) NOT NULL,
Descripcion VARCHAR2(255) NOT NULL,
Precio NUMBER(6,2) NOT NULL,
Stock INT NOT NULL,
Foto VARCHAR2(255),
PRIMARY KEY(IDProducto)
);
/
CREATE TABLE Carrito (
IDCarrito INT NOT NULL,
IDProducto INT NOT NULL,
IDCliente INT NOT NULL,
Unidades INT NOT NULL,
PRIMARY KEY(IDCarrito),
CONSTRAINT Carrito_FK FOREIGN KEY (IDCliente) REFERENCES Cliente(IDCliente),
CONSTRAINT CarritoProducto_FK FOREIGN KEY (IDProducto) REFERENCES Productos(IDProducto)
);
/
CREATE TABLE Facturas (
IDFactura INT NOT NULL,
IDCliente INT NOT NULL,
PrecioTotal NUMBER(6,2) NOT NULL,
PRIMARY KEY(IDFactura),
CONSTRAINT ClientesFacturas_FK FOREIGN KEY (IDCliente) REFERENCES Cliente(IDCliente)
);
/
CREATE TABLE LineaFactura (
IDLineaFactura INT NOT NULL,
IDProducto INT NOT NULL,
IDCliente INT NOT NULL,
IDFactura INT NOT NULL,
PrecioCompra NUMBER(6,2) NOT NULL,
Unidades INT NOT NULL,
PRIMARY KEY(IDLineaFactura),
CONSTRAINT ClientesLF_FK FOREIGN KEY (IDCliente) REFERENCES Cliente(IDCliente),
CONSTRAINT LFacturaProducto_FK FOREIGN KEY (IDProducto) REFERENCES Productos(IDProducto),
CONSTRAINT Facturas_FK FOREIGN KEY (IDFactura) REFERENCES Facturas(IDFactura)
);
/
DROP SEQUENCE sec_entrenamientos;
CREATE SEQUENCE sec_entrenamientos MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
DROP SEQUENCE sec_actividadesespecifica;
CREATE SEQUENCE sec_actividadesespecifica MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
DROP SEQUENCE sec_clientes;
CREATE SEQUENCE sec_clientes MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
DROP SEQUENCE sec_empleados;
CREATE SEQUENCE sec_empleados MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
DROP SEQUENCE sec_facturas;
CREATE SEQUENCE sec_facturas MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
DROP SEQUENCE sec_lineafacturas;
CREATE SEQUENCE sec_lineafacturas MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
DROP SEQUENCE sec_actividades;
CREATE SEQUENCE sec_actividades MINVALUE 1 INCREMENT BY 1 START WITH 1;
DROP SEQUENCE sec_carrito;
CREATE SEQUENCE sec_carrito MINVALUE 1 INCREMENT BY 1 START WITH 1;
DROP SEQUENCE sec_productos;
CREATE SEQUENCE sec_productos MINVALUE 1 INCREMENT BY 1 START WITH 1;
/
commit;