Al hilo del hilo de "Programo bien?": Programación declarativa

09/02/2007 - 12:19 por Juan Diego Bueno | Informe spam
Hola gente:

A propósito de esas polémicas que surgen constantemente en este
grupo... y tratando de hacer las cosas como se plantean en muchos de
los posts, me encuentro ante una serie de dudas en la creación de una
tabla del proyecto en el que estoy. Me gustaría saber como puedo
resolver declarativamente esta situación ( y pido perdón de antemano
por no haberme documentado más, pero es que no se por donde empezar, y
solo necesito un punto de partida)

Se trata de crear una tabla que va a guardar las vacaciones del
personal. Muchas de las situaciones ya están declaradas en
constraints, como cuidar que los intervalos de fechas sean correctos,
y otras asignaciones a campos, pero hay dos situaciones que no se como
resolver declarativamente. Son las siguientes:

1. La tabla va a tener dos claves principales, el NIF de la persona, y
la fecha de inicio del periodo vacacional. También se guarda la fecha
fin. ¿Cómo puedo hacer que no haya incongruencia entre los diferentes
registros?. Es decir, para que un empleado al insertar un intervalo de
fechas, no se solape con otro ya existente en esa misma tabla

2. En otra tabla se almacenan el número de días de vacaciones a los
que tiene derecho el personal. Por lo tanto, necesito que la suma de
días solicitados en esta tabla, no superen los días que ese personal
tiene asignado.

Para ambas situaciones, evidentemente, puedo utilizar SPs y triggers,
los cuales son eminentemente procedimentales, pero dada la premisa que
se ha planteado de hacer declarativamente lo más posible... ¿cómo
puedo resolver estas dos situaciones de esa forma?

Gracias de antemano

Saludos

Preguntas similare

Leer las respuestas

#11 Carlos
09/02/2007 - 21:18 | Informe spam
lo de no parecerme 100% procedimental



Y si no lo es que ? se acabara el mundo por eso?

Si te metes al extremismo cuadrao de o procedimental o declarativo vas a
terminar medio chiflao igual que tus queriditos amigos de aqui.
O tu tambien vas a criticar a SQL Server y a Oracle porque no tenga eso?

Tu tambien bruto hijo mio ????!!!!!


X-DDDDDD


"Juan Diego Bueno Prieto" escribió en el mensaje
news:
Gracias por la respuesta, Carlos (por la primera parte, la segunda es
perfectamente prescindible). Desde luego, es válida para lo que busco
aunque no se si es 100% declarativa



Meter la consulta en el "Check" es 100% declarativo.



Como, que yo sepa, SQL Server no permite añadir a una constraint check el
resultado devuelto por una consulta ¿Aceptamos resultado devuelto por una
función como declarativo en lugar de procedimental? A eso me refería yo
con


Estoy utilizando la versión gratuita de SPAMfighter para usuarios
privados.
Ha eliminado 5435 correos spam hasta la fecha.
Los abonados no tienen este mensaje en sus correos.
¡Pruebe SPAMfighter gratis ya!


Respuesta Responder a este mensaje
#12 Juan Diego Bueno
09/02/2007 - 22:56 | Informe spam
Y si no lo es que ? se acabara el mundo por eso?

Si te metes al extremismo cuadrao de o procedimental o declarativo vas a
terminar medio chiflao igual que tus queriditos amigos de aqui.



Bueno, lo de terminar chiflao... creo que tenemos conceptos diferentes al
respecto. Resulta que Alfredo era don Quijote, pero no es él precisamente el
que ve gigantes donde solo hay molinos de viento.

Simplemente, busco otra forma de hacer las cosas, y créeme, no me obsesiona
hacerlo el 100% de una forma u otra, aunque lo pregunte. Si necesito
hacerlo, lo haré de cualquier manera, de la forma que se, pero...mi querido
Carlitos... tengo la suerte o desgracia de que me gusta aprender, y pensar.
Y no es que deseche ninguna de las propuestas que aquí se hacen, es que esas
se parecen mucho a las que yo ya uso, y... por que no probar otra cosa?. A
mi, todo lo que sea aprender... y de la misma forma que aprendo sobre esto,
leo sobre otras cosas, que nunca me gustó cerrarme a nada.

O tu tambien vas a criticar a SQL Server y a Oracle porque no tenga eso?




Dios me libre de criticar a quien me da de comer

Saludos



Estoy utilizando la versión gratuita de SPAMfighter para usuarios privados.
Ha eliminado 5435 correos spam hasta la fecha.
Los abonados no tienen este mensaje en sus correos.
¡Pruebe SPAMfighter gratis ya!
Respuesta Responder a este mensaje
#13 Alfredo Novoa
10/02/2007 - 00:00 | Informe spam
On Fri, 9 Feb 2007 22:56:52 +0100, "Juan Diego Bueno"
wrote:

O tu tambien vas a criticar a SQL Server y a Oracle porque no tenga eso?



Dios me libre de criticar a quien me da de comer




¿No será más bien que les das de comer tu a ellos?

Si pagas por un producto y ves formas de mejorarlo ¿Por que no
decirlo?


Saludos
Alfredo
Respuesta Responder a este mensaje
#14 Juan Diego Bueno
10/02/2007 - 00:04 | Informe spam
O tu tambien vas a criticar a SQL Server y a Oracle porque no tenga eso?



Dios me libre de criticar a quien me da de comer




¿No será más bien que les das de comer tu a ellos?

Si pagas por un producto y ves formas de mejorarlo ¿Por que no
decirlo?



Es una frase con un punto de ironía. Por supuesto que se puede proponer
mejorar, pero mientras hay que jugar con lo que hay.

Por cierto, si ni Oracle, ni SQL Server, ni MySQL (que tiene la cláusula
Check solo por mantener la compatibilidad con el ANSI, pero pasa de ella),
ni PostgreSQL admiten un check sobre una consulta... ¿existe algún SGBD que
lo haga? (que esté en el mercado, no me salgas con el que tu estás haciendo)
Tengo curiosidad malsana...

Saludos



Estoy utilizando la versión gratuita de SPAMfighter para usuarios privados.
Ha eliminado 5435 correos spam hasta la fecha.
Los abonados no tienen este mensaje en sus correos.
¡Pruebe SPAMfighter gratis ya!
Respuesta Responder a este mensaje
#15 Carlos M. Calvelo
10/02/2007 - 01:01 | Informe spam
On 10 feb, 00:04, "Juan Diego Bueno" wrote:


Por cierto, si ni Oracle, ni SQL Server, ni MySQL (que tiene la cláusula
Check solo por mantener la compatibilidad con el ANSI, pero pasa de ella),
ni PostgreSQL admiten un check sobre una consulta... ¿existe algún SGBD que
lo haga? (que esté en el mercado, no me salgas con el que tu estás haciendo)
Tengo curiosidad malsana...



Hola Juan,

Alphora Dataphor
Disclaimer: solo para curiosos.

Saludos,
Carlos
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida