Index únic condicionat

Maig 13, 2008

Imaginem que tenim una taula on tenim les subscripcions de clients a
determinats productes i volem garantir que a la taula no hi ha més d’una subscripció alhora per un client i un producte. És a dir, tenim una taula SUBSCRIPCIONS amb aquesta estructura:

  ID_SUBSCRIPCIO ID_CLIENT ID_PRODUCTE DATA_ALTA DATA_BAIXA ID_MOTIU_BAIXA ...

Volem garantir que no no poguem tenir això:

  ID_SUBSCRIPCIO ID_CLIENT ID_PRODUCTE DATA_ALTA  DATA_BAIXA ID_MOTIU_BAIXA ...
  -------------- --------- ----------- ---------- ---------- --------------
  1000           50        10          18/12/2007   (null)     (null)
  1001           50        10          30/04/2008   (null)     (null)

En aquest cas, la solució consistiria en crear un índex únic de funció per aquestes columnes:

  ID_CLIENT, ID_PRODUCTE, NLV2(DATA_BAIXA, ID_SUBSCRIPCIO, -1)

És a dir, en Oracle hauriem d’executar això:

  create unique index IDX_UK_SUBSCRIPCIONS on SUBSCRIPCIONS (
      ID_CLIENT,
      ID_PRODUCTE,
      NVL2(ID_MOTIU_BAIXA, ID_SUBSCRIPCIO, -1)
  );

D’aquesta manera evitem fer servir triggers i podem aconseguir que la base de dades ens validi aquestes regles de negoci. A més, aquesta solució també es pot aplicar, amb les corresponents modificacions, a taules on no hi ha una clau primària per una sola columna o per als casos en que no fem servir el valor null.


Un any de paternitat

Abril 1, 2008

PauAvui fa un any que sóc pare! El Pau avui ha fet un any i només puc dir que és lo millor que m’ha passat a la vida!

Moltes Felicitats Pau!


Passaport i immigració

Març 30, 2008

Avui fa un any que es va publicar una carta que vaig enviar a un parell de diaris sobre ironies del passaport espanyol i la immigració. Es va publicar tal dia com avui a la La Vanguardia i el dia 1 d’abril (per cert, és el dia del naixement del Pau, el meu fill) a la web d’El Periodico de Catalunya (no sé si també a la versió impresa).

Llegeix la resta d’aquesta entrada »


Quan treballava a Vilaweb…

Febrer 10, 2008

Mentre feia un cop d’ull a les noticies de Vilaweb he recordat quan es feien les 24 hores a Internet i he trobat aquesta pàgina sobre l’edició de l’any 97 (ja fa 11 anys!) on vaig escriure una entrada sobre algun problema tècnic que no deixava visualitzar les entrades guardades.

També hi ha una entrada al final d’aquesta pàgina amb aquesta foto de família amb una part de la redacció de Vilaweb de aleshores:


Aules d’Internet i seguretat

Gener 6, 2008

En que s’assembla un Boeing 787 i moltes xarxes informàtiques?. Doncs la resposta la trobarem en aquest article de Wired on explica un problema de seguretat en aquest nou model d’avió.

Quan es munta una aula d’Internet en una ONG ens trobem enfront de dues opcions: una tecnològicament interessant i una tecnològicament pràctica:

  • La primera consisteix en fer servir una única xarxa per tothom, això si, securitzada per un firewall o segmentada per un switch. Tecnològicament és interessant perquè comporta una configuració complexa però, per aquesta raó, els potencials errors de seguretat estan esperant ansiosament a sorgir i segur que, tard o dora, n’hi hauran.
  • La segona opció és ben senzilla, pràctica i ràpida: separar físicament les dues xarxes, contractar una línia addicional a Internet i ja està.

Sembla clar que la segona opció és la més recomanable, oi? Però de vegades introduir una despesa, en aquest cas per una nova línia d’Internet, sembla difícil de pair i, per altra banda, les hores que es perden (que també són diners!) en males opcions ja sigui en els moments inicials d’un projecte o ens petits grups de minuts distribuïts durant una pila de jornades per a fer un manteniment passen desapercebudes.


Provar el Linux comodament

Gener 6, 2008

Una manera senzilla de provar un Linux sense complicacions és fer servir la virtualització d’equips, que ens permet executar altres sistemes operatius dins d’un altre com si fossin una aplicació més. Encara que hi ha d’altres opcions, recomano fer servir l’eina gratuïta VMWARE Player que ens permetrà executar una instal·lació d’Ubuntu de manera fàcil en qüestió de minuts i sense haver de reinciar per canviar d’un sistema operatiu a un altre.

Llegeix la resta d’aquesta entrada »


Quin antivirus em poso?

Desembre 31, 2007

A dia d’avui, la resposta que dono a aquesta pregunta és ben senzilla: l’AVAST. Des de que ho aconsello ningú se m’ha queixat més d’aquest tema. Però també hi ha d’altres opcions gratuïtes i les podem trobar a la web d’Alerta Antivirus.

És gratuït per a usuaris domèstics i fan un 50% de descompte a ONGs. Pels usuaris domèstics cal omplir aquest formulari que enviarà un correu amb una clau, aquest procés caldrà repetir-lo cada any. Pel que fa a les ONGs, cal omplir aquest formulari per demanar el descompte. A més, tenen un suport que està força bé.

Les coses com són. Fa poc algú a qui li vaig dir que se’l poses em va dir que es va trobar amb un virus que l’avast el detectava però que no l’esborrava. En fi, no hi ha res perfecte però continuo pensant que el principal requeriment per un antivirus és la detecció, l’eliminació és molt important però és secundaria, oi?


Eina de gestió per a ONGs

Desembre 31, 2007

El CENATIC va adjudicar el passat 19 d’octubre el desenvolupament d’una eina de gestió per a ONGs amb un pressupost de 370.000€. Una de les condicions és que estigui tot basat en codi obert.

Els requeriments no són pocs i el temps que tenen tampoc és gaire ja que, segons la documentació. hauria d’existir un producte en proves el 31 de març del 2008, és a dir, d’aquí a quatre dies…

Estiguem a l’expectativa de que en surt de tot plegat i encara que no sóc gaire optimista, no m’importaria pas estar equivocat, més aviat el contrari. ;-) Trobarem més informació en el seu blog.


Rellotje mundial

Desembre 29, 2007

captura.jpg

Aquí van un parell de rellotges que ens donen unes quantes xifres sobre com anem. El primer ens diu com ens va als sers humans que anem fent de les nostres alegrement per la terra i l’altre ens mira d’explicar la ressaca que li fem passar al planeta cada dos per tres…


Apa doncs…

Desembre 28, 2007

Som-hi!