integridad referencial en claves ajenas

En la nueva versión de el Puchero he decidido tratar con rigor el tema de las claves ajenas y aplicar la regla de integridad referencial para claves ajenas. Estas son las reglas que voy a seguir:

  • Regla de los nulos: permitir valores nulos – en mi casi en blanco – en los campos que son clave ajena.
  • Regla de borrado: al borrar la clave primaria los registros que contengan ese valor de clave ajena se pondrán a nulo.
  • Regla de modificación: al modificar un valor de clave primaria la modificación se propaga a la clave ajena.

Una cosa que me parece especialmente mal resuelta es la aplicación de la restricción de modificación de la clave principal. El usuario puede haber cometido un error de tipografia, por ejemplo, y tener que modificar uno a uno los registros que contienen la clave ajena antes de permitir el borrado de la clave principal. Menudo latazo.

libros pendientes

Cuando encuentro algún libro que me interesa lo compro sin pensar. Muchas veces he dejado pasar la oportunidad y luego no ha habido manera de encontrar el libro. Como he dicho alguna vez, no compro libros técnicos más que cuando son necesarios, y me atraen mucho los libros que abarcan temas relacionados con la profesión informática, estrategias e historia de empresas informáticas y cosas asi.

Estos son algunos de los que tengo tengo pendientes de leer:

20040120a.gif

El paradigma. Todo lo que necesito saber sobre la empresa lo aprendí en Microsoft.
Julie Bick
Ed. Empresa Activa
ISBN: 84-95787-04-0

20020120b.jpg

Microsiervos
Douglas Coupland
Editorial: Ediciones B
ISBN: 84-406-8269-7

20040120c.jpg

The new-new thing. La historia de Silicon Valley.
Michael Lewis
Ed. Peninsula
ISBN 84-8307-345-5

20040120d.jpg

El nudista del turno de noche ( y otras historias de Silicon Valley )
Po Bronson
Ed. Tusquets
ISBN: 8483107112

profesión informática

Un tema para mi siempre candente es el referido a la ‘profesión informática’. Entiendo que es un tema delicado y que hay que tratar con mucho cuidado pues puede dar lugar rapidamente a malentendidos. Sin embargo tras leer un post de Jaime Irurzun no puedo aparcar más el tema y creo necesario hablar de ello.

¿ Que se entiende por profesión ? ¿ Somos los informáticos un grupo profesional definido ? ¿ Tenemos el respeto social que merecemos como grupo profesional ?

Uno de los autores más reconocidos en este tema es Peter J. Denning. Antiguo presidente de la ACM, ha escrito diversos artículos que son citados cada vez que alguien escribe sobre el tema. Si atendemos a su artículo Who are we ?, para que un grupo de personas constituya una profesión debe cumplir los siguientes requisitos:

  1. Ocuparse de campo duradero de preocupación humana.
  2. Tener cuerpo codificado de principios (conocimiento conceptual).
  3. Tener cuerpo codificado de prácticas (conocimiento experimental incluyendo competencia).
  4. Cumplir unos estándares de competencia, ética y práctica.

Visto esto, para mi está claro que los informáticos constituimos un grupo profesional. Pero… ¿ qué percepción tiene la sociedad de nosotros ? Denning nos lo dice:

La identidad actual de nuestro campo (TI) está muy mezclada. Se nos ve como innovadores apasionados e inventores prolíficos. Se nos ve como unos inadaptados de mente estrecha centrada en las TI e incapacitados para las relaciones sociales. Se nos ve como centrados en la tecnología en vez de en las personas o en los usuarios. Se nos ve como ajenos a las consecuencias sociales, políticas y económicas de nuestras herramientas y servicios. Se nos ve como esquivos de la responsabilidad por fallos en nuestras herramientas e interrupciones en nuestros servicios. Se nos ve como alguien con quien es difícil comunicarse.

Ahi queda eso.

c3compiler

Ayer hice el registro del compilador C3 de Bruno Cantero. El principal activo de C3 es su estabilidad. Por las pruebas que hice con la versión de evaluación, C3 es el compilador xbase de 32 bits más estable que hay ahora mismo en el mercado. Además es el más parecido a Clipper, con lo cual la migración de los sistemas desarrollados en Clipper a 32 bits es cuestión de dias. Por decirlo en plata, C3 se traga casi todo el código Clipper sin rechistar.

Manuel Calero ya ha migrado casi por completo GST+, su impresionante programa de gestión, a 32 bits con C3. Hace poco dijo que necesitaría un año para hacerlo y lo ha conseguido en cuestión de semanas. Hay una demo del programa que contiene versiones en 16 y 32 bits y se puede descargar del sitio web de Manuel.

Es posible que xHarbour sea más avanzado tecnológicamente que C3, pero lo que tengo claro es que ahora mismo pretender hacer algo con xHarbour es jugar con una caja de bombas. Es cierto que el despliegue de medios técnicos y humanos de xHarbour es impresionante, la web es una pasada, hay un montón de gente trabajando en el proyecto, cada dia inventan algo nuevo, pero… no lo veo claro. Es como estar haciendo una casa con todos los oficios metidos dentro: el electricista hace las rozas antes que el fontanero, el pintor pinta antes que el carpintero termine las puertas,… más de una vez hay que deshacer lo hecho y rehacerlo de nuevo. El poco tiempo que tengo para programar no puedo dedicarlo a hacer experimentos. Sorry, Patrick.

C3 es un clon de Clipper a 32 bits. No más, pero tampoco menos. Es cierto que C3 tiene carencias: le hace falta una buena lavada de cara a la web, la documentación está incompleta y alguna cosa más, pero creo que ahora mismo es la mejor opción. Yo voy a tomar ese camino. Tengo ya FWC3, que me regaló Antonio Linares por ajuste de cuentas pendiente, y mi intención es que este sea mi entorno de desarrollo durante este año.