Integridad referencial en SQL Server 2005 Express

27/06/2006 - 17:57 por José Luis | Informe spam
Hola a todos,

estoy tratando de crear la integridad referencial de una base de datos de
una aplicación que estoy traspasando a utilizar SQL Server 2005 Express como
base de datos. El problema que tengo es que no se como hacer para que
funcione de la siguiente manera:

dentro de una tabla tengo varios campos que son claves foraneas, lo que
quiero es que sea posbile introducir registros sin que sea necesario dar
valores a estas claves foraneas. Y que la integridad no permita borrar un
campo de la tabla asociada a la clave foránea si este valor esta siendo
utilizado en la tabla principal.

Creo que con un ejemplo estará más claro:

Tabla principal: Tabla 1 Tabla 2

id id_tabla_1 id_tabla_2
fk_tabla_1
fk_tabla_2

Lo que intento hacer es poder introducir un registro en la tabla principal
sin tener que indicar un valor para fk_tabla y que la integridad no me
permita borrar un registro de Tabla 1 ó Tabla 2 que este referenciado en la
Tabla principal.

Alguién sabe si esto se puede hacer y cómo ?

Muchas gracias.

Un saludo,
José Luis.
 

Leer las respuestas

#1 Salvador Ramos
27/06/2006 - 18:13 | Informe spam
Hola,

Lo que estás indicando es la utilización de la integridad referencial
declarativa.
Esto lo puedes hacer sin problema, utilizando por ejemplo alter table ...
foreign key

Un saludo
Salvador Ramos
Murcia - España

[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL Server y .NET)


" José Luis" <JLB> escribió en el mensaje
news:
Hola a todos,

estoy tratando de crear la integridad referencial de una base de datos de
una aplicación que estoy traspasando a utilizar SQL Server 2005 Express
como base de datos. El problema que tengo es que no se como hacer para que
funcione de la siguiente manera:

dentro de una tabla tengo varios campos que son claves foraneas, lo que
quiero es que sea posbile introducir registros sin que sea necesario dar
valores a estas claves foraneas. Y que la integridad no permita borrar un
campo de la tabla asociada a la clave foránea si este valor esta siendo
utilizado en la tabla principal.

Creo que con un ejemplo estará más claro:

Tabla principal: Tabla 1 Tabla 2

id id_tabla_1 id_tabla_2
fk_tabla_1
fk_tabla_2

Lo que intento hacer es poder introducir un registro en la tabla principal
sin tener que indicar un valor para fk_tabla y que la integridad no me
permita borrar un registro de Tabla 1 ó Tabla 2 que este referenciado en
la Tabla principal.

Alguién sabe si esto se puede hacer y cómo ?

Muchas gracias.

Un saludo,
José Luis.


Preguntas similares