Padre Con Hijos e Hijos con Padre?

08/08/2003 - 22:56 por Nelson Rodriguez | Informe spam
Hola amigos.
Soy algo nuevo en SQL Server.

Mi pregunta es la siguiente:

Cuál es la mejor manera de garantizar la siguiente regla:
QUe NO Haya CAbezal Sin Líneas y que
NO Haya Líneas SIN Cabezal.

Y supongo además que habrá que insertar los registros en ambas tablas en un
orden determinado no?

Gracias

Nelson Rodriguez
nri@adinet.com.uy
Salto - Uruguay

Preguntas similare

Leer las respuestas

#1 Miguel Egea
11/08/2003 - 14:10 | Informe spam
Que no hayan lineas sin cabecera lo garantiza la integridad referencial
declarativa. Sin embargo la segunda parte no es fácil de garantizar, fijate
que en algún momento tiene que existir esa situación. Sin embargo si es
viable encontrar cuales son esos registros 'inconsistentes' usando joins
externos.

Comentanos algo más de tu problema a ver si encontramos una solución. Esta
segunda parte se podría implementar abstrayendo esa funcionalidad en
procedimientos almacenados. Si nos comentas un poquito más veo si es lo que
quieres y te pongo un ejemplillo (aunque sea a modo de guia)



Espero que te sirva.

Saludos
Miguel Egea
http://www.portalsql.com
Sql-Server MVP
"Nelson Rodriguez" escribió en el mensaje
news:#YNQD#
Hola amigos.
Soy algo nuevo en SQL Server.

Mi pregunta es la siguiente:

Cuál es la mejor manera de garantizar la siguiente regla:
QUe NO Haya CAbezal Sin Líneas y que
NO Haya Líneas SIN Cabezal.

Y supongo además que habrá que insertar los registros en ambas tablas en


un
orden determinado no?

Gracias

Nelson Rodriguez

Salto - Uruguay





Respuesta Responder a este mensaje
#2 Nelson Rodriguez
13/08/2003 - 13:12 | Informe spam
Gracias por vuestras respuestas.
La pregunta viene por que hoy dia tenemos todos nuestros archivos en formato
.DBF y .CDX., sistemas Visual Foxpro.
Y justamente esos son algunos de los problemas GRAVES que tenemos.
Mi intención como futuro DBA es poder definir en el servidor SQL Server esas
"reglas" para liberar a los desarrolladores de esa responsabilidad. Yo me
quedo tranquilo y la aplicación deberá lidiar con el código de error
correspondiente que le envíe el SQL.
Pero, lógicamente, tal vez "algo" deban validar las aplicaciones en el
cliente, es justamente "eso" lo que estaba averiguando.
Saludos



"Nelson Rodriguez" escribió en el mensaje
news:#YNQD#
Hola amigos.
Soy algo nuevo en SQL Server.

Mi pregunta es la siguiente:

Cuál es la mejor manera de garantizar la siguiente regla:
QUe NO Haya CAbezal Sin Líneas y que
NO Haya Líneas SIN Cabezal.

Y supongo además que habrá que insertar los registros en ambas tablas en


un
orden determinado no?

Gracias

Nelson Rodriguez

Salto - Uruguay





Respuesta Responder a este mensaje
#3 Nelson Rodriguez
14/08/2003 - 14:47 | Informe spam
Gracias Javier
Coincido contigo.

"Javier Loria(MVP)" escribió en el mensaje
news:
Hola Nelson:
En la medida de lo posible es mejor declarar la integridad refencial
declarativa (Llaves Primarias, Llaves Segundarias, CHECK, NOT NULL, ect),
pero algunas reglas no se pueden escribir usando este tipo de integridad.
Entonces te queda la Intregidad Procedimental.
En tu caso con una relacion PADRE-HIJO, la forma que te recomiendo es
usar procedimientos almacenados de ingreso, actualizacion y borrado de los
datos, no dar ningun permiso sobre las tablas y dar permiso de ejecucion
sobre los procedimientos a los usuarios necesarios.
Tu forma de pensar va en el camino correcto, la BD por su naturaleza


NO
debe configar en las aplicaciones ni en los usuarios para mantener la
integridad.
Saludos,


Javier Loria
Costa Rica (MVP)
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

"Nelson Rodriguez" wrote in message
news:
> Gracias por vuestras respuestas.
> La pregunta viene por que hoy dia tenemos todos nuestros archivos en
formato
> .DBF y .CDX., sistemas Visual Foxpro.
> Y justamente esos son algunos de los problemas GRAVES que tenemos.
> Mi intención como futuro DBA es poder definir en el servidor SQL Server
esas
> "reglas" para liberar a los desarrolladores de esa responsabilidad. Yo


me
> quedo tranquilo y la aplicación deberá lidiar con el código de error
> correspondiente que le envíe el SQL.
> Pero, lógicamente, tal vez "algo" deban validar las aplicaciones en el
> cliente, es justamente "eso" lo que estaba averiguando.
> Saludos
>
>
>
> "Nelson Rodriguez" escribió en el mensaje
> news:#YNQD#
> > Hola amigos.
> > Soy algo nuevo en SQL Server.
> >
> > Mi pregunta es la siguiente:
> >
> > Cuál es la mejor manera de garantizar la siguiente regla:
> > QUe NO Haya CAbezal Sin Líneas y que
> > NO Haya Líneas SIN Cabezal.
> >
> > Y supongo además que habrá que insertar los registros en ambas tablas


en
> un
> > orden determinado no?
> >
> > Gracias
> >
> > Nelson Rodriguez
> >
> > Salto - Uruguay
> >
> >
> >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida