Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Error al crear tabla en sql server 2005

Estas en el tema de Error al crear tabla en sql server 2005 en el foro de Bases de Datos General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 07/06/2010, 10:27
 
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..!!

Etiquetas: server, sql, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:53.