Oracle - TABLAS INDEXADAS

 
Vista:

TABLAS INDEXADAS

Publicado por Eduardo (1 intervención) el 26/03/2003 21:05:37
Hola soy nuevo en el manejo de oracle, alguien me puede decir como puedo crear tablas relacionales en oracle.

Tengo una aplicación en VB 6 y quiero tener 2 tablas que se relacionen por una campo llamado matería.

También tengo dudas, como le hago cuando quiera inserta un registro utilizando las 2 tablas? o al momento de actualizarlo se van a actualizar en las 2 tablas?

De antemano gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:TABLAS INDEXADAS

Publicado por DACH (258 intervenciones) el 27/03/2003 14:45:45
HOLA
Al hacer lo que dices estarás creando una clave foranea, ya que el campo por el cual se unirán las tablas debe ser en una de ellas PK y en otra ser un campo más.
Primero debes insertar donde este es PK y luego donde es FK (Foreing Key).

Salu2.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TABLAS INDEXADAS

Publicado por Byron (300 intervenciones) el 27/03/2003 15:05:41
Saludos...

Para crear un FK en una tabla debes primero crear la PK de la tabla que quieres relacionar.

ALTER TABLE NOMBRE_TABLA ADD (
CONSTRAINT NOMBRE_CONSTRAINT_PK PRIMARY KEY (CAMPOS_CLAVE));

Luego vas a la tabla a la que quieres añadir el FK:

ALTER TABLE NOMBRE_TABLA ADD (
CONSTRAINT NOMBRE_CONSTRAINT_FK FOREIGN KEY (CAMPOS_REFERENCIA) REFERENCES TABLA_REFERENCIADA(CAMPOS_REFERENCIADOS));

Sería algo así:
ALTER TABLE MATERIA ADD (
CONSTRAINT MATERIA_PK PRIMARY KEY (ID_MATERIA));

ALTER TABLE SEMINARIO ADD (
CONSTRAINT SEMINARIO_MATERIA_FK FOREIGN KEY (MATERIA) REFERENCES MATERIA);

Si deseas insertar un registro en la tabla seminario, debes previamente insertar el registro en la tabla seminario al que le harás referencia mediante el FK, si deseas modificar algo de la tabla materia deberas hacerlo en la tabla materia sin modificar el campo id_materia porque esta referenciado por la tabla profesor(Oracle no te dejará cambiar porque el constraint lo valida), si deseas cambiar la referencia de la tabla profesor puedes cambiar el campo materia que hace FK pero lo debes cambiar con otro registro que ya haya sido ingresado en la tabla materia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar