Como se crea una relacion entre 2 tablas

Jose
29 de Abril del 2005
Hola.
Ante todo gracias.
Necesito crear una relación entre 2 tablas.
Pero no manejo muy bien oracle.
Un saludo.

Estoyaqui
29 de Abril del 2005
Nas, lo que puedes hacer, por ejemplo, es lo siguiente:

create table tabla1
(
ta1_cod number(2),
ta1_nombre varchar2(50)
constraint pk_ta1_cod primary key(ta1_cod)
);

create table tabla2
(
ta2_cod number(2),
ta2_direccion varchar2(50),
ta1_cod number(2),
contraint pk_ta2_cod primary key (ta2_cod),
constraint fk_ta1_cod foreign key (ta1_cod) references tabla1
);

El "foreign key" es la relacion que une a las dos tablas, de la manera que hice en el ejemplo.

Estoyaqui
29 de Abril del 2005
Bueno si os poneis asi este es el corregido:

create table tabla1
(
ta1_cod number(2),
ta1_nombre varchar2(50),
constraint pk_ta1_cod primary key(ta1_cod)
);

create table tabla2
(
ta2_cod number(2),
ta2_direccion varchar2(50),
ta1_cod number(2),
contraint pk_ta2_cod primary key (ta2_cod),
constraint fk_ta1_cod foreign key (ta1_cod) references tabla1
);

jc3000
29 de Abril del 2005
Pos majete, eso que has puesto no funciona

carlitros
29 de Abril del 2005
no funciona porque le tienes que añadir, entre parentesis, la columna a la que hace referencia en la tabla padre... references tabla1 (columna padre)

Estoyaqui
29 de Abril del 2005
Carlitos, no tiene porque poner como tu dices. Ya que lo pongo de la siguiente forma:

constraint fk_ta1_cod foreign key (ta1_cod) references tabla1

Lo cual entre parentesis va la columna padre referida a la table1.

jc3000
29 de Abril del 2005
Y alguna coma

Estoyaqui
29 de Abril del 2005
Pero a parte de los fallos habeis entendido mas o menos como es, esto es lo importante y nadie es perfecto