Miren... Estoy haciendo practico de una materia de la facu ya q el sabado q viene la rindo...
Cree todas las tablas excepto la ultima (Detalle_Factura) que es la que me da error... Aca les dejo el script...
Código SQL:
Ver original
CREATE DATABASE Guia1_Modelo_Factura /*Guia 1 - Consultas simples, multitabla y agrupamiento*/ USE Guia1_Modelo_Factura CREATE TABLE Localidades ( Id_localidad INT, Nombre VARCHAR (50), CONSTRAINT PK_Id_localidad PRIMARY KEY (Id_localidad), ) CREATE TABLE Barrios ( Id_barrio INT, Nombre VARCHAR (50), Id_localidad INT, CONSTRAINT PK_Id_barrio PRIMARY KEY (Id_barrio), CONSTRAINT FK_Id_localidad FOREIGN KEY (Id_localidad) REFERENCES Localidades (Id_localidad), ) CREATE TABLE Forma_pago ( Id_forma_pago INT, Descripcion VARCHAR (100), CONSTRAINT PK_Id_forma_pago PRIMARY KEY (Id_forma_pago), ) CREATE TABLE Rubros ( Id_rubro INT, Descripcion VARCHAR (100), CONSTRAINT PK_Id_rubro PRIMARY KEY (Id_rubro), ) CREATE TABLE Tipo_cuenta ( Id_tipo_cuenta INT, Descripcion VARCHAR (100), CONSTRAINT PK_Id_tipo_cuenta PRIMARY KEY (Id_tipo_cuenta), ) CREATE TABLE Tipo_factura ( Id_tipo_factura INT, Descripcion VARCHAR (100), CONSTRAINT PK_Id_tipo_factura PRIMARY KEY (Id_tipo_factura), ) CREATE TABLE Clientes ( Id_cliente INT, Apellido VARCHAR (50), Nombres VARCHAR (50), Fecha_nac DATETIME, Nro_calle NUMERIC (5,0), Id_barrio INT, Id_tipo_cuenta INT, Id_forma_pago INT, CONSTRAINT PK_Id_cliente PRIMARY KEY (Id_cliente), CONSTRAINT FK_Id_barrio FOREIGN KEY (Id_barrio) REFERENCES Barrios (Id_barrio), CONSTRAINT FK_Id_tipo_cuenta FOREIGN KEY (Id_tipo_cuenta) REFERENCES Tipo_cuenta (Id_tipo_cuenta), CONSTRAINT FK_Id_forma_pago FOREIGN KEY (Id_forma_pago) REFERENCES Forma_pago (Id_forma_pago), ) CREATE TABLE Articulos ( Id_articulo INT, Descripcion VARCHAR (100), Precio INT, Id_rubro INT, CONSTRAINT PK_Id_articulo PRIMARY KEY (Id_articulo), CONSTRAINT FK_Id_rubro FOREIGN KEY (Id_rubro) REFERENCES Rubros (Id_rubro), ) CREATE TABLE Vendedores ( Legajo NUMERIC (5,0), Apellido VARCHAR (50), Nombres VARCHAR (50), Calle VARCHAR (50), Nro INT, Id_barrio INT, CONSTRAINT PK_Legajo PRIMARY KEY (Legajo), CONSTRAINT FK_Id_barrioVendedor FOREIGN KEY (Id_barrio) REFERENCES Barrios (Id_barrio), ) CREATE TABLE Sucursales ( Id_sucursal INT, Nombres VARCHAR (50), Calle VARCHAR (50), Nro INT, Id_barrio INT, CONSTRAINT PK_Id_sucursal PRIMARY KEY (Id_sucursal), CONSTRAINT FK_Id_barrioSucursal FOREIGN KEY (Id_barrio) REFERENCES Barrios (Id_barrio), ) CREATE TABLE Factura ( Nro_factura INT, Id_sucursal INT, Id_tipo_factura INT, Id_cliente INT, Fecha DATETIME, Total INT, Id_vendedor NUMERIC (5,0), CONSTRAINT PK_Id_sucursal_Nro_factura_Id_tipo_fact_Id_cliente PRIMARY KEY(Nro_factura,Id_sucursal,Id_tipo_factura,Id_cliente), CONSTRAINT FK_Id_sucursal FOREIGN KEY (Id_sucursal) REFERENCES Sucursales (Id_sucursal), CONSTRAINT FK_Id_tipo_factura FOREIGN KEY (Id_tipo_factura) REFERENCES Tipo_factura (Id_tipo_factura), CONSTRAINT FK_Id_cliente FOREIGN KEY (Id_cliente) REFERENCES Clientes (Id_cliente), CONSTRAINT FK_Id_vendedor FOREIGN KEY (Id_vendedor) REFERENCES Vendedores (Legajo), ) [B]CREATE TABLE Detalle_Factura ( Nro_factura INT, Id_sucursal INT, Id_tipo_factura INT, Id_articulo INT, Cantidad INT, Precio_parcial INT, CONSTRAINT PK_Nro_factura_Id_sucursal_Id_tipo_factura PRIMARY KEY (Nro_factura,Id_sucursal,Id_tipo_factura), CONSTRAINT FK_Nro_factura FOREIGN KEY (Nro_factura) REFERENCES Factura (Nro_factura), CONSTRAINT FK_Id_sucursal FOREIGN KEY (Id_sucursal) REFERENCES Factura (Id_sucursal), CONSTRAINT FK_Id_tipo_factura FOREIGN KEY (Id_tipo_factura) REFERENCES Factura (Id_tipo_factura), CONSTRAINT FK_Id_articulo FOREIGN KEY (Id_articulo) REFERENCES Articulos (Id_articulo),[/B] )
Al tratar de ejecutar esta partecita del script me de el siguente error...
Mens. 1776, Nivel 16, Estado 0, Línea 1
No hay claves principales ni candidatas en la tabla a la que se hace referencia ('Factura') que concuerden con la lista de columnas que hace la referencia en la clave externa 'FK_Nro_factura'.
Mens. 1750, Nivel 16, Estado 0, Línea 1
No se pudo crear la restricción. Consulte los errores anteriores.
Si alguien me puede ayudar le estare agradecido.... Saludos..!!