Hola amigos tengo una consulta e desarrolado un modelo entidad relacion en el DBDESIGNER y hay una opcion que me crea el codigo SQL del modelo y me bota el siguiente codigo:
CREATE TABLE Cargo ( Id_Cargo CHAR(4) NOT NULL, Descripcion VARCHAR(30) NULL, PRIMARY KEY(Id_Cargo) );
CREATE TABLE Variacion ( Id_Variacion CHAR(4) NOT NULL, Descripcion VARCHAR(30) NULL, Tipo CHAR(18) NULL, PRIMARY KEY(Id_Variacion) );
CREATE TABLE Area ( Id_Area CHAR(4) NOT NULL, Nombre VARCHAR(20) NOT NULL, Descripcion VARCHAR(30) NOT NULL, PRIMARY KEY(Id_Area) );
CREATE TABLE Tipo_Persona ( Id_Tipo_persona CHAR(4) NOT NULL, Descripcion VARCHAR(20) NULL, PRIMARY KEY(Id_Tipo_persona) );
CREATE TABLE Persona ( Id_persona CHAR(6) NOT NULL, Id_Tipo_persona CHAR(4) NOT NULL, Categoria CHAR(18) NOT NULL, Nombre_RS VARCHAR(45) NOT NULL, Direccion VARCHAR(100) NULL, Telefono VARCHAR(8) NULL, E_Mail VARCHAR(30) NULL, PRIMARY KEY(Id_persona), INDEX Persona_FKIndex1(Id_Tipo_persona), FOREIGN KEY(Id_Tipo_persona) REFERENCES Tipo_Persona(Id_Tipo_persona) ON DELETE NO ACTION ON UPDATE NO ACTION );
CREATE TABLE Servicio ( Id_Servicio CHAR(6) NOT NULL, RUC VARCHAR(11) NULL, PRIMARY KEY(Id_Servicio), INDEX Servicio_FKIndex1(Id_Servicio), FOREIGN KEY(Id_Servicio) REFERENCES Persona(Id_persona) ON DELETE NO ACTION ON UPDATE NO ACTION );
CREATE TABLE Proveedor ( Id_Proveedor CHAR(6) NOT NULL, RUC VARCHAR(11) NULL, PRIMARY KEY(Id_Proveedor), INDEX Proveedor_FKIndex1(Id_Proveedor), FOREIGN KEY(Id_Proveedor) REFERENCES Persona(Id_persona) ON DELETE NO ACTION ON UPDATE NO ACTION );
CREATE TABLE Cliente ( Id_persona CHAR(6) NOT NULL, RUC VARCHAR(11) NULL, DNI CHAR(8) NULL, Limite_Credito FLOAT NOT NULL, Credito_Utilizado FLOAT NOT NULL, Credito_Disponible FLOAT NOT NULL, Saldo FLOAT NOT NULL, PRIMARY KEY(Id_persona), INDEX Cliente_FKIndex1(Id_persona), FOREIGN KEY(Id_persona) REFERENCES Persona(Id_persona) ON DELETE NO ACTION ON UPDATE NO ACTION );
CREATE TABLE Empleado ( Id_Empleado CHAR(6) NOT NULL, Id_Cargo CHAR(4) NOT NULL, Id_Area CHAR(4) NOT NULL, Sueldo_Mensual FLOAT NULL, PRIMARY KEY(Id_Empleado), &nbp; INDEX Empleado_FKIndex1(Id_Empleado), INDEX Empleado_FKIndex2(Id_Area), INDEX Empleado_FKIndex3(Id_Cargo), FOREIGN KEY(Id_Empleado) REFERENCES Persona(Id_persona) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(Id_Area) REFERENCES Area(Id_Area) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(Id_Cargo) REFERENCES Cargo(Id_Cargo) ON DELETE NO ACTION ON UPDATE NO ACTION );
CREATE TABLE Boleta_Remuneracion ( Año DATETIME NOT NULL, Mes DATETIME NOT NULL, Id_Empleado CHAR(6) NOT NULL, Total FLOAT NULL, PRIMARY KEY(Año, Mes, Id_Empleado), INDEX Boleta_Remuneracion_FKIndex1(Id_Empleado), FOREIGN KEY(Id_Empleado) REFERENCES Empleado(Id_Empleado) ON DELETE NO ACTION ON UPDATE NO ACTION );
CREATE TABLE Contrato ( Id_Contrato CHAR(4) NOT NULL, Id_Empleado CHAR(6) NOT NULL, Detalle VARCHAR(20) NULL, Fecha_Inicio DATETIME NULL, Fecha_Fin DATETIME NULL, Sueldo FLOAT NULL, PRIMARY KEY(Id_Contrato), INDEX Contrato_FKIndex1(Id_Empleado), FOREIGN KEY(Id_Empleado) REFERENCES Empleado(Id_Empleado) ON DELETE NO ACTION ON UPDATE NO ACTION );
CREATE TABLE Detalle_Boleta ( Id_Empleado CHAR(6) NOT NULL, Mes DATETIME NOT NULL, Año DATETIME NOT NULL, Id_Variacion CHAR(4) NOT NULL, Valor FLOAT NULL, PRIMARY KEY(Id_Empleado, Mes, Año, Id_Variacion), INDEX Detalle_Boleta_FKIndex1(Año, Mes, Id_Empleado), INDEX Detalle_Boleta_FKIndex2(Id_Variacion), FOREIGN KEY(Año, Mes, Id_Empleado) REFERENCES Boleta_Remuneracion(Año, Mes, Id_Empleado) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(Id_Variacion) REFERENCES Variacion(Id_Variacion) ON DELETE NO ACTION ON UPDATE NO ACTION );
Pero me sale error en la parte de index ... Agradeceria mucho que me pudieran ayudar ... Porque no se para que sirve ese index en SQL o si existira otro comando que acepte en sql
GRacias |