---------- Forwarded message ---------- From: Juan Pablo Cook <juamp...@gmail.com> Date: 2009/7/2 Subject: Re: [pgsql-es-ayuda] Duda FK To: Lennin Caro <lennin.c...@yahoo.com>
Muchas gracias amigos por la respuesta, a ambos. Sólo a Alvaro quería decirte que soy principiante, y no entiendo mucho todavía de postgresql, creo que hay mejores formas de explicar y de tratar. No te parece? Creo que ahora lo tengo más claro, se puede modificar una FK? Sin tener que borrarla y crearla nuevamente? Por ejemplo, cambiar ON UPDATE RESTRICT,... Muchas gracias desde ya. JP Cook 2009/7/2 Lennin Caro <lennin.c...@yahoo.com> > > From: Juan Pablo Cook <juamp...@gmail.com> > > Subject: [pgsql-es-ayuda] Duda FK > > To: pgsql-es-ayuda@postgresql.org > > Date: Thursday, July 2, 2009, 6:03 PM > > Hola Amigos, quería consultarles > > porque cuando hago una FK, por ejemplo: > > > > ALTER TABLE <tabla> ADD FOREIGN KEY(<atributo>) > > REFERENCES <tabla> > > > > En la definición queda expresado así: > > > > ALTER TABLE accesorio > > > > ADD CONSTRAINT fk_accesorio_marca FOREIGN KEY (marca) > > REFERENCES marca (codigo) MATCH SIMPLE > > ON UPDATE NO ACTION ON DELETE NO ACTION; > > > > Por lo cual un profesor me dijo que de esta forma me va a > > dejar borrar las cosas "enganchadas" con mi tabla. > > > > > > Hice la prueba, pero, como tendría que ser, no me deja > > borrar una tupla donde, la misma es usada por otras tablas. > > Esta persona me dijo que tendrían que crearse así: > > > > ALTER TABLE accesorio > > > > ADD CONSTRAINT fk_accesorio_marca FOREIGN KEY (marca) > > > > REFERENCES marca (codigo) MATCH SIMPLE > > > > ON UPDATE RESTRICT ON DELETE RESTRICT; > > > > Yo lo que leí es que: > > > > NONE: no hacer nada. > > RESTRICT: no permitir. > > CASCADE: hacer en cascada. > > > > Por lo cual no comprendo bien la diferencia, porque en el > > 1er caso donde no tengo especificada acción, igualmente no > > deja eliminar. > > > > > > Espero me puedan ayudar. > > > > Muchas gracias > > > > JP Cook > > > > NO ACTION es la opcion por omision y su mayor caracteristicas es que puedes > aplazar el chequeo de la consistencia. > > RESTRICT es igual que NO ACTION pero no se puede aplazar el chequeo. > > Ya las demas opciones tienes caracteristicas muy especificas > > espero te ayude ..... > > > >