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

Problema al crear relaciones entre tablas

Estas en el tema de Problema al crear relaciones entre tablas en el foro de Oracle en Foros del Web. Hola a todos, Estoy creando una base de datos para un proyecto en Oracle y al tratar de crear vinculos con claves foraneas entre tablas, ...
  #1 (permalink)  
Antiguo 06/02/2013, 20:48
 
Fecha de Ingreso: diciembre-2011
Mensajes: 21
Antigüedad: 12 años, 3 meses
Puntos: 0
Pregunta Problema al crear relaciones entre tablas

Hola a todos,

Estoy creando una base de datos para un proyecto en Oracle y al tratar de crear vinculos con claves foraneas entre tablas, Oracle me da el siguiente error: "no matching unique or primary key". Por lo cual necesito otro par de ojos que me ayude con esta seccion de codigo ya que no se que hacer. Podrian ayudarme?....Muchas gracias!

Código:
CREATE TABLE Serie (
  rating FLOAT,
  Num_actores INT,
  tipo VARCHAR2(60),
  NombreS VARCHAR2(60),
  breve_descri VARCHAR2(60),
  NombreC VARCHAR2(60),
  fechaL DATE,
  critica VARCHAR2(60),
  cancelacion VARCHAR2(60),
  fechaC DATE,
  PRIMARY KEY (NombreS, fechaL)
);

CREATE TABLE Horario (
 NombreS VARCHAR2(60),
 Hora_emp VARCHAR2(6),
 Hora_fin VARCHAR2(6),
 NombreSR VARCHAR2(60)
);

CREATE TABLE Vende (
  fechaC DATE,
  NombreS VARCHAR2(60),
  NombreC VARCHAR2(60),
  monto FLOAT, 
  nombreC1 VARCHAR2(60), 
  PRIMARY KEY (fechaC, NombreS, NombreC)
);

CREATE TABLE Tematica (
  exito VARCHAR2(60),
  Ano DATE,
  Mes INT,
  tipo VARCHAR2(60),
  Num_semana INT,
  PRIMARY KEY (Ano, Mes)
);

CREATE TABLE Transmite (
  Ano DATE,
  Mes INT,
  CodP INT,
  PRIMARY KEY(Ano,Mes,CodP)
);

ALTER TABLE Horario ADD CONSTRAINT fk_Horario FOREIGN KEY (NombreS) REFERENCES Serie(NombreS);
ALTER TABLE Horario ADD CONSTRAINT fk_Hor_Remp FOREIGN KEY (NombreSR) REFERENCES Serie(NombreS);
ALTER TABLE Vende ADD CONSTRAINT fk_VendeS FOREIGN KEY (NombreS) REFERENCES Serie (NombreS);

ALTER TABLE Transmite ADD CONSTRAINT fk_TransmiteT FOREIGN KEY (Ano) REFERENCES Tematica (Ano);
ALTER TABLE Transmite ADD CONSTRAINT fk_Transmit FOREIGN KEY (Mes) REFERENCES Tematica (Mes);
  #2 (permalink)  
Antiguo 07/02/2013, 07:43
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Problema al crear relaciones entre tablas

Si tienes llaves primarias compuestas (varios campos), al momento de hacer las llaves foraneas tambien debes referenciar el mismo numero de campos utilizados.

Solo estas referenciando en las foraneas un solo campo.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 08/02/2013, 16:36
 
Fecha de Ingreso: diciembre-2011
Mensajes: 21
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema al crear relaciones entre tablas

Muchas gracias por la ayuda me ayudo bastante en mi proyecto! Saludos

Etiquetas: claves, oracle11g, 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 20:29.