Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/06/2010, 10:27
azer_87
 
Fecha de Ingreso: noviembre-2009
Mensajes: 12
Antigüedad: 14 años, 5 meses
Puntos: 0
Error al crear tabla en sql server 2005

Hola..!!

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
  1. CREATE DATABASE Guia1_Modelo_Factura /*Guia 1 - Consultas simples, multitabla y agrupamiento*/
  2.  
  3. USE Guia1_Modelo_Factura
  4.  
  5. CREATE TABLE Localidades
  6. (
  7.     Id_localidad INT,
  8.     Nombre VARCHAR (50),
  9.  
  10.     CONSTRAINT PK_Id_localidad PRIMARY KEY (Id_localidad),
  11. )
  12.  
  13. CREATE TABLE Barrios
  14. (
  15.     Id_barrio INT,
  16.     Nombre VARCHAR (50),
  17.     Id_localidad INT,
  18.    
  19.     CONSTRAINT PK_Id_barrio PRIMARY KEY (Id_barrio),
  20.    
  21.     CONSTRAINT FK_Id_localidad FOREIGN KEY (Id_localidad) REFERENCES Localidades (Id_localidad),
  22. )
  23.  
  24. CREATE TABLE Forma_pago
  25. (
  26.     Id_forma_pago INT,
  27.     Descripcion VARCHAR (100),
  28.    
  29.     CONSTRAINT PK_Id_forma_pago PRIMARY KEY (Id_forma_pago),
  30. )
  31.  
  32. CREATE TABLE Rubros
  33. (
  34.     Id_rubro INT,
  35.     Descripcion VARCHAR (100),
  36.    
  37.     CONSTRAINT PK_Id_rubro PRIMARY KEY (Id_rubro),
  38. )
  39.  
  40. CREATE TABLE Tipo_cuenta
  41. (
  42.     Id_tipo_cuenta INT,
  43.     Descripcion VARCHAR (100),
  44.    
  45.     CONSTRAINT PK_Id_tipo_cuenta PRIMARY KEY (Id_tipo_cuenta),
  46. )
  47.  
  48. CREATE TABLE Tipo_factura
  49. (
  50.     Id_tipo_factura INT,
  51.     Descripcion VARCHAR (100),
  52.    
  53.     CONSTRAINT PK_Id_tipo_factura PRIMARY KEY (Id_tipo_factura),
  54. )
  55.  
  56. CREATE TABLE Clientes
  57. (
  58.     Id_cliente INT,
  59.     Apellido VARCHAR (50),
  60.     Nombres VARCHAR (50),
  61.     Fecha_nac DATETIME,
  62.     Nro_calle NUMERIC (5,0),
  63.     Id_barrio INT,
  64.     Id_tipo_cuenta INT,
  65.     Id_forma_pago INT,
  66.    
  67.     CONSTRAINT PK_Id_cliente PRIMARY KEY (Id_cliente),
  68.    
  69.     CONSTRAINT FK_Id_barrio FOREIGN KEY (Id_barrio) REFERENCES Barrios (Id_barrio),
  70.    
  71.     CONSTRAINT FK_Id_tipo_cuenta FOREIGN KEY (Id_tipo_cuenta) REFERENCES Tipo_cuenta (Id_tipo_cuenta),
  72.    
  73.     CONSTRAINT FK_Id_forma_pago FOREIGN KEY (Id_forma_pago) REFERENCES Forma_pago (Id_forma_pago),
  74. )
  75.  
  76. CREATE TABLE Articulos
  77. (
  78.     Id_articulo INT,
  79.     Descripcion VARCHAR (100),
  80.     Precio INT,
  81.     Id_rubro INT,
  82.    
  83.     CONSTRAINT PK_Id_articulo PRIMARY KEY (Id_articulo),
  84.    
  85.     CONSTRAINT FK_Id_rubro FOREIGN KEY (Id_rubro) REFERENCES Rubros (Id_rubro),
  86.    
  87. )
  88.  
  89. CREATE TABLE Vendedores
  90. (
  91.     Legajo NUMERIC (5,0),
  92.     Apellido VARCHAR (50),
  93.     Nombres VARCHAR (50),
  94.     Calle VARCHAR (50),
  95.     Nro INT,
  96.     Id_barrio INT,
  97.    
  98.     CONSTRAINT PK_Legajo PRIMARY KEY (Legajo),
  99.    
  100.     CONSTRAINT FK_Id_barrioVendedor FOREIGN KEY (Id_barrio) REFERENCES Barrios (Id_barrio),
  101. )
  102.  
  103. CREATE TABLE Sucursales
  104. (
  105.     Id_sucursal INT,
  106.     Nombres VARCHAR (50),
  107.     Calle VARCHAR (50),
  108.     Nro INT,
  109.     Id_barrio INT,
  110.    
  111.     CONSTRAINT PK_Id_sucursal PRIMARY KEY (Id_sucursal),
  112.    
  113.     CONSTRAINT FK_Id_barrioSucursal FOREIGN KEY (Id_barrio) REFERENCES Barrios (Id_barrio),
  114. )
  115.  
  116. CREATE TABLE Factura
  117. (
  118.     Nro_factura INT,
  119.     Id_sucursal INT,
  120.     Id_tipo_factura INT,
  121.     Id_cliente INT,
  122.     Fecha DATETIME,
  123.     Total INT,
  124.     Id_vendedor NUMERIC (5,0),
  125.    
  126.     CONSTRAINT PK_Id_sucursal_Nro_factura_Id_tipo_fact_Id_cliente PRIMARY KEY(Nro_factura,Id_sucursal,Id_tipo_factura,Id_cliente),
  127.    
  128.     CONSTRAINT FK_Id_sucursal FOREIGN KEY (Id_sucursal) REFERENCES Sucursales (Id_sucursal),
  129.    
  130.     CONSTRAINT FK_Id_tipo_factura FOREIGN KEY (Id_tipo_factura) REFERENCES Tipo_factura (Id_tipo_factura),
  131.    
  132.     CONSTRAINT FK_Id_cliente FOREIGN KEY (Id_cliente) REFERENCES Clientes (Id_cliente),
  133.    
  134.     CONSTRAINT FK_Id_vendedor FOREIGN KEY (Id_vendedor) REFERENCES Vendedores (Legajo),
  135. )
  136.  
  137. [B]CREATE TABLE Detalle_Factura
  138. (
  139.     Nro_factura INT,
  140.     Id_sucursal INT,
  141.     Id_tipo_factura INT,
  142.     Id_articulo INT,
  143.     Cantidad INT,
  144.     Precio_parcial INT,
  145.  
  146.     CONSTRAINT PK_Nro_factura_Id_sucursal_Id_tipo_factura PRIMARY KEY (Nro_factura,Id_sucursal,Id_tipo_factura),
  147.  
  148.     CONSTRAINT FK_Nro_factura FOREIGN KEY (Nro_factura) REFERENCES Factura (Nro_factura),
  149.    
  150.     CONSTRAINT FK_Id_sucursal FOREIGN KEY (Id_sucursal) REFERENCES Factura (Id_sucursal),
  151.    
  152.     CONSTRAINT FK_Id_tipo_factura FOREIGN KEY (Id_tipo_factura) REFERENCES Factura (Id_tipo_factura),
  153.  
  154.     CONSTRAINT FK_Id_articulo FOREIGN KEY (Id_articulo) REFERENCES Articulos (Id_articulo),[/B]
  155. )

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..!!