ANUNCIO


HAGO FOTOGRAFÍAS POR ENCARGO.
SI NECESITAS REALIZAR ALGUNA FOTO O REPORTAJE,
PONTE EN CONTACTO CONMIGO A TRAVÉS DEL
CORREO ELECTRÓNICO Y HABLAMOS: angeltejedorlopez@gmail.com

TAMBIEN DOY CLASES PERSONALIZADAS
DE FOTOGRAFÍA A DOMICILIO (ZONA MADRID CAPITAL)

PRECIOS ASEQUIBLES

jueves, 17 de marzo de 2011

CREACIÓN DE UNA BASE DE DATOS FOTOGRÁFICA SENCILLA (I)

PRIMERA ENTREGA
Quien más quien menos, los que nos dedicamos a ésto de la fotografía en plan aficionado, podemos llegar a tener una colección de fotos bastante extensa. Al principio, cuando solo tenemos dos o tres carpetas en el disco duro del ordenador con todas nuestras fotos, la cosa no es para preocuparse ya que enseguida localizas la foto que buscas. Pero según va pasando el tiempo y nuestra colección de fotos crece, el problema de encontrar una determinada foto aumenta de forma exponencial. Más carpetas más fotos y más dificultad en encontrar la foto deseada. Mucha gente, para no enfrentare a demasiados problemas, hace uso de los programas (gratuitos o no) de catalogación de fotos, para ordenar, en la medida de lo posible, todas las fotos que tenga en el disco duro. Y es una opción que está muy bien sobre todo si el programa es gratuito. Pero esos programas solo pueden catalogar las fotos que están en el disco duro del ordenador y ahí está el problema, porque... ¿Qué pasa con las fotos que no están en el disco duro? ¿Y las fotos que están guardadas en un disco duro externo o en una colección de cd´s? En esos casos los programas catalogadores de fotos no puede gestionar esos archivos, sencillamente porque están fuera de su alcance. Entonces ¿Cómo lo hacemos? ¿Cómo catalogamos las fotos que estan guardadas en otro soporte que no es el disco duro del ordenador? Porque la verdad, ponerse a rellenar a mano fichas de cartulina, o cuadernos con los datos de las fotos, no es una solución demasiado atractiva, sobre todo cuando nos toque buscar una foto determinada. Pues todo eso se puede catalogar con una Base de Datos.
En éste momento seguro que hay alguien que está pensando; ¡"Ostras, una base de datos. ¿Que porras es eso? ¿Tengo yo eso en mi ordenador? ¿Cómo demonios se hace eso?, que yo no controlo mucho de informática y eso de la base de datos me suena a chino!" Pues modestia aparte para eso estoy aqui, para ayudar a los que están en una situación así, y decirles como construir una base de datos personalizada para tener ordenaditas y bien localizadas todas tus fotos.
PASOS PREVIOS
El programa que voy a usar para crear la base de datos se llama Access 2007, y viene incluido en la suite ofimática Office 2007 de Microsoft, por lo que si tienes instalada en tu ordenador esa suite, lo más seguro es que tengas instalado Access 2007 (aunque depende de la versión de la suite). Si no la tienes instalada, puedes bajarte una versión de prueba de la página de Microsoft para ver si te convence. Podría haber usado versiones anteriores de Access, pero la versión 2007 tiene una característica, que ya la podrían haber incluido a partir de la versión 2000. Me estoy refiriendo a un nuevo tipo de dato llamado "Archivos adjuntos", pero no adelantemos acontecimientos y ya lo veremos más detenidamente. Si no tienes la versión 2007, podrás seguir éste tutorial, aunque no podrás usar esa nueva característica.
Dicho ésto vamos a ver como empezamos. Lo primero que tenemos que tener claro es qué información vamos a almacenar de todas nuestras fotos en la base de datos, y a partir de aquí comenzar a diseñarla. Por eso es bueno que antes de sentarse a crear nada en el ordenador, nos pongamos delante de una hoja de papel y diseñar que es lo que queremos que nuestra base de datos almacene, gestione o procese y posteriormente nos muestre. Normalmente, la manera más generalizada de almacenar las fotos en el ordenador es crearnos una carpeta, a la que llamamos con un nombre descriptivo. Dentro de esa carpeta solemos meter todas las fotos que están realacionadas con el título de la carpeta, es decir, que si tenemos una carpeta a la que la hemos llamado con el nombre Naturaleza, lo lógico es que las fotos que haya dentro de esa carpeta estén relacionadas con ese tema. Pues ese criterio es el que vamos a seguir para crear la estructura de la base de datos. Como por un lado tenemos las carpetas que contienen las fotos y por el otro tenemos las fotos que vamos a meter en la carpeta, lo que tenemos que hacer es crear en la base de datos dos tablas, que es el germen de cualquier base de datos relacional: Las Tablas. Una tendrá los datos de la carpeta contenedora, y la otra tabla tendrá los datos de las fotos contenidas. ¿Qué datos? pues para no complicarnos mucho la vida, usaremos algunos de los datos exif que todas las cámaras digitales graban en las fotos que tomamos. Ya sabes: Velocidad de obturación, diafragma, longitud focal, valores ISO, etc. Teniendo claro ésto vamos a empezar.
  LA CREACIÓN DE LA PRIMERA TABLA

Lo primero que tenemos que hacer es abrir Access de la forma habitual. Si es la primera vez que abres ese programa, encontrarás su icono para abrirlo en el menú Inicio de Windows. Una vez que el programa esté abierto, verás una ventana similar a la imagen que puedes ver a la derecha de éste texto. (Siempre y cuando la versión de Access sea la 2007).
Lo primero que tienes que hacer es clicar en el icono que señala la flecha roja, "Base de datos en blanco". Después debes teclear el nombre de la base de datos, en la zona que señala la flecha verde. Yo la he llamado "Datos fotográficos", pero cada uno es muy libre de llamarla como quiera. Luego pinchamos donde señala la flecha azul, para seleccionar el directorio en donde queramos guardar la nueva base de datos. Y por último hacemos clic en el botón "Crear" (flecha amarilla). En unos instantes nos aparecerá una pantalla similar a la que puedes ver en la imagen de la captura 1. En esa pantalla vemos que está separada en tres zonas: La zona superior, que se llama "Cinta de opciones" (vaya nombrecito le han puesto). La zona de la izquierda, que se llama "Panel de exploración" y es donde Access nos mostrará todos los objetos que vayamos creando en la base de datos y que ahora mismo solo hay un objeto llamado "Tabla1", que es la primera tabla que Access crea por defecto después de haber pulsado el botón "Crear". Y por último la zona de la  derecha, que es donde se muestran los nombres de los campos que va a tener nuestra tabla, y que en éste momento está todo a punto para que empieces a teclear directamente el nombre de los campos. Pero si te fijas en la captura 1 verás la flecha roja que está señalando a un botón cuya imagen es una regla y una escuadra, y cuyo nombre es "Vista diseño". Hacemos clic sobre ese botón y Access nos pedirá que le demos un nombre a la tabla. Como esa tabla va a contener los datos de las carpetas que vayamos creando para guardar nuestras fotos, pues le damos el nombre de Carpetas. Es lógico ¿no?
Cuando hagamos clic en "Aceptar", Access nos mostrará la ventana que puedes ver en la captura 2. En esa captura puedes ver señalado con una flecha roja, la columna "Nombre del campo" que es donde vamos a teclear los campos de la tabla Carpetas. La flecha azul señala la columna llamada "Tipo de datos", que especifica de que clase serán los datos que va a contener ese campo. Y la flecha verde señala a la columna "Descripción", en donde podremos teclear una pequeña descripción de que es lo que hay que teclear en ese campo, y que aparecerá en la barra de estado de la base de datos. La barra de estado es la barra horizontal que aparece en la parte inferior de la ventana, por si no lo tenías claro. De esas tres columnas ésta es la única opcional, y para no complicar la creación de la base en exceso la omitiremos. 

Dado que ésta tabla es la que va a contener los datos de las carpetas, los campos que va a tener no son muchos, concretamente 5 campos cuyos nombres los iremos tecleando en la columna "Nombre del campo" (flecha roja). Dichos campos son: CÓDIGO CARPETA, que servirá para identificar de forma única a cada carpeta. Debajo teclearemos NOMBRE DE LA CARPETA, es evidente su utilidad. Servirá para teclear el nombre que le hayamos dado a la carpeta. NÚMERO DE FOTOS, que servirá para teclear la cantidad de fotos que contenga la carpeta. UBICACIÓN, que servirá para teclear la ubicación de la carpeta en el disco duro del ordenador. Y por último el campo OTRA UBICACIÓN, que lo usaremos para especificar si la carpeta está creada en un disco duro externo, en una unidad de memoria externa (pen drive) o en un CD o DVD. 
Una vez tecleados los nombres de los campos descritos, habrás visto que en la colunma Tipo de datos (flecha azul de la captura 2) habrán aparecido cosas. Vamos a ver que son esas cosas. Posicionate en la columna tipo de datos del campo Código Carpeta. Te aparecerá una flechita negra apuntando hacia abajo, pulsa sobre ella y selecciona de la lista que aparece la opción "Texto". Pulsa sobre la siguiente fila, la correspondiente al campo Nombre de la Carpeta, y vuelve a elegir la opción "Texto". Sigue en la fila de abajo (campo Número de Fotos) y elige de la lista la opción "Número".
Y en los dos campos que te quedan selecciona Texto para los dos. Si todo ha ido bien deberás tener en la columna Tipo de datos lo que puedes ver en la captura 3. De ésta forma le estamos indicando a Access el tipo de dato que va a contener cada uno de los campos.
Vamos ahora con las propiedades de los campos, para que en el momento de introducir los datos no haya problemas. Vamos a empezar por el último campo creado, es decir, OTRA UBICACIÓN. Nos posicionamos sobre dicho campo haciendo clic sobre él y verás como en la parte inferior de la pantalla habrá aparecido la hoja de propiedades del campo con dos pestañas: "General" y "Búsqueda". Nos vamos a centrar en la pestaña General y solo vamos a usar dos propiedades de todas las que hay, la primera y la última. La primera, que se llama "Tamaño del campo" es para establecer cuantos caracteres se van a poder teclear en dicho campo. Como es un campo que va a contener texto y no sabemos exactamente cuantos caracteres vamos a teclear en él, lo mejor es escribir un número que se ajuste a lo que vamos a escribir. Por ejemplo, sabemos que podemos tener fotos almacenadas en un disco duro externo, en un pen drive o en un CD o DVD. Como el texto más extenso que tenemos es "Disco Duro Externo", solo tenemos que contar los caracteres que hay (incluidos los espacios en blanco) y escribir ese número en la propiedad tamaño del campo. En éste caso tenemos 18 caracteres, pero como tampoco queremos quedarnos cortos, le añadimos 5 caracteres más y tenemos 23 caracteres. Pues eso es lo que tecleamos en la propiedad Tamaño del Campo. Así la introducción de datos en ese campo estará limitado a 23 caracteres incluidos los espacios en blanco. Si necesitas más caracteres, teclea un número más alto, aunque tienes que tener en cuenta que cuantos más caracteres pongas en esa propiedad, más memoria ocuparás. Ahora ve a la última propiedad de la lista, la que se llama "Alineación del texto". Esta propiedad sirve para alinear lo que se teclee en el campo, es decir, para que Access ponga el texto tecleado alineado a la derecha, a la izquierda, centrado o distribuido. Haz clic sobre la flechita negra que está a la derecha, y selecciona de la lista la opción "Izquierda". Si prefieres otra alineación del texto, elige la que más te guste.
Pincha ahora en la columna Tipo de datos del campo UBICACIÓN, porque aquí si que nos vamos a aprovechar de uno de los tipos de datos que tiene Access. Si tecleamos la dirección donde se encuentra la carpeta en el disco duro del ordenador, sin cambiar el tipo de dato, puede resultar muy lento el visitar dicha carpeta cuando tengamos que ver alguna foto, ya que tendremos que desplazarnos por todo el directorio de forma manual. Para ello vamos a seleccionar de la lista tipo de datos, la opción "Hipervínculo". Así, cada vez que teclees, o peges, la dirección, o ruta, donde se encuentra la carpeta en el disco duro, Access insertará automáticamente un hipervínculo a esa carpeta, de tal manera que si haces clic en ese hipervínculo, se te abrirá la carpeta referenciada. Como si estuvieses navegando por Internet, así de sencillo. Las propiedades de ese campo déjalas como están. El siguiente campo en el que vamos a cambiar algo es NÚMERO DE FOTOS. Como es un campo que solo va a contener un número, la única propiedad que vas a cambiar es la última, ésto es, "Alineación del texto". Haz clic en la flechita negra que apunta hacia abajo, y elige la opción "Centro".
Pincha ahora sobre el campo NOMBRE DE LA CARPETA, y aquí solo vas a usar la primera y la última propiedad. Posiciónate sobre la propiedad "Tamaño del campo" y teclea 40, es decir, que podrás teclear 40 caracteres incluidos los espacios en blanco. Como siempre si necesitas más espacio, puedes teclear un número mayor, hasta 255 caracteres. Vamos ahora a la última propiedad "Alineación del texto" y la fijas en izquierda, por ejemplo. Por último vete al primer campo, CÓDIGO CARPETA, que es el campo más importante de todos los que contiene nuestra tabla. ¿Por qué? Pues porque es el campo denominado "Campo clave". Por él Access va a poder realizar las búsquedas que le solicitemos, porque al tratarse de
un campo clave los datos que se introduzcan en él no podrán estar duplicados. Observa la captura 4. La flecha roja señala al icono de Clave principal, que sirve para crear un campo clave. Lo podemos crear nosotros o podemos dejar que sea Access quien lo haga. Cuando se crea una tabla, Access añade de forma predeterminada un campo clave del tipo Autonumérico cuyo nombre es "Id", es decir, que cada vez que introduzcas un registro nuevo, Access lo numerará de forma ascendente y automática desde el 1 en adelante. En éste tipo de campo no es necesario teclear nada, ya que Access introduce el dato de forma automática. Pero es un tipo de datos que no permite otra cosa que no sea un número, es decir, es muy limitado. Nosotros podemos cambiar eso y adaptar el campo a nuestras necesidades. ¿Cómo? Pues posiciónate donde señala la flecha azul en la captura 4, y cambia el nombre del campo por otro que se adapte a tus necesidades, luego cambia el tipo de dato a texto y así podrás introducir el código de la carpeta que estimes oportuno, pero asegúrate que el icono de la llave, que aparece en la captura 4, esté visible. Si por cualquier motivo ese icono no apareciese en el campo CÓDIGO CARPETA, selecciona dicho campo y haz clic sobre el icono que señala la flecha roja en la captura 4.
Como se trata de un campo cuya única condición es que los valores que se tecleen en él no se repitan, puedes, por ejemplo, empezar a teclear por el código "C1" hasta el "C999", es decir, que podrás almacenar 1000 carpetas independientemente del número de fotos que tenga cada carpeta. Si tienes 30 fotos, por ejemplo, por carpeta, podrás almacenar 30.000 fotos con el código C. Y no hay que preocuparse si se teclea un código repetido, ya que al intenter grabar el registro Access te indicará que no se puede grabar porque ya existe un registro con ese código, y se crearían referencias duplicadas. Por lo tanto si tienes más de 30.000 fotos, al legar a C999, puedes comenzar en CA1 y continuar hasta CA99, por ejemplo.
Por ese motivo, y por economizar memoria del sistema, en la propiedad "Tamaño del campo" (recuerda que es la primera de la lista) teclea 4, para que ese campo solo admita 4 caracteres. Ahora haz clic en la propiedad que está debajo, "Formato", y en ella teclea el símbolo de mayor que (>). Con ésto le estas diciendo a Access que todo lo que se teclee ahí, lo convierta a mayúsculas independientemente de como lo teclees. Ahora vamos a la última propiedad "Alineación del texto" y establece su propiedad a "Centro", para que Access alinee el texto que se teclee al centro de la caja de texto. Y con ésto habrás terminado de construir la primera tabla, solo tienes que cerrarla y contestar afirmativamente a la pregunta que te hace Access de si quieres guardar los cambios.
LA CREACIÓN DE LA SEGUNDA TABLA
La creación de la segunda tabla es idéntica a como se ha hecho la primera, solo variarán los campos que dependerán de lo que queramos que la base de datos almacene. Como he dicho al principio, lo normal es crear campos que almacenen los propios datos exif de las fotos. Dado que es una base de datos sencilla y para algunos será la primera que hagan (si se animan a ello) no vamos a crear demasiados campos. Nos vamos a conformar con los siguientes: CÓDIGO FOTO. Su misión será la misma que el campo CÓDIGO CARPETA, pero para las fotos. FECHA DE LA FOTO. Se pondrá, si se conoce, la fecha de toma de la imagen, si no se sabe se puede poner la fecha de la última edición de la foto. NOMBRE DEL ARCHIVO. Es para especificar el nombre que le hayamos dado a la foto, o el que tenga de origen. DISTANCIA FOCAL. El objetivo que se haya empleado al hacer la foto. SENSIBILIDAD ISO, APERTURA DE DIAFRAGMA, VELOCIDAD DE OBTURACIÓN, TAMAÑO DE ARCHIVO, que servirá para indicar que tamaño tiene la foto, OBSERVACIONES, para especificar datos relevantes de la foto, como por ejemplo donde se hizo la foto, o de que tema se trate. Y por último el campo MINIATURA, que mostrará una pequeña miniatura, valga la redundacia, de la foto y que es la novedad de ésta versión de Access. En versiones anteriores, para mostrar una miniatura de una foto que dependía de un registro, había que crear un campo del tipo OLE (un campo diseñado para poder introducir objetos de otras aplicaciones, como Excel, Word, así como imágenes, sonidos o gráficos, con una capacidad máxima de 1 Gigabite) y después escribir en Visual Basic, unas líneas de código para asociar esa foto a un control o un campo, por ejemplo. De ésta forma se iba actualizando la foto según se iba cambiando de registro. Es decir, que si no sabes programar en Visual Basic, pues lo tienes un poco difícil. En ésta nueva versión de Access, se puede hacer lo mismo pero con solo dos o tres clics de ratón y sin necesidad de tener ningún conocimiento de programación. También incluiremos el campo CÓDIGO CARPETA, que ya lo creamos en la tabla Carpeta y más adelante explicaré porque se repite ese campo en ésta tabla.
En resumen, que ésta segunda tabla, a la que llamaremos Fotografías, tendrá 11 campos, así es que vamos a crear la tabla. En la parte superior de la ventana principal de Access está la "Cinta de opciones", y en ésta hay una serie de pestañas. Éstas son: "Inicio", "Crear", "Datos externos", "Herramientas de base de datos", y "Complementos". Captura 5.

Para crear nuestra segunda tabla hacemos clic en la pestaña "Crear" y Access nos mostrará la imagen de la captura 6, en la que podemos ver que hay cuatro grupos de opciones, pero de momento solo nos interesa el grupo "Tablas", el primero de la izquierda, y de ese grupo la opción que está señalada con una flecha azul, así es que pulsamos sobre el botón "Tabla" y Access creará una nueva tabla. Hacemos clic sobre el botón que señala la flecha roja de la captura 1 (que se llama Vista diseño), le damos el nombre Fotografías y accedemos a la vista diseño de la tabla para comenzar a teclear los nombres de los campos, de la misma forma que hiciste cuando creaste la tabla Carpetas. Cuando hayas terminado, la segunda tabla mostrará la estructura que puedes ver en la captura 7.

Como ya he comentado antes, en la tabla Fotografías, está el campo CÓDIGO CARPETA, que pertenece a la tabla Carpetas. Ésto es así porque más adelante habrá que establecer una relación entre las dos tablas, para que la base de datos pueda relacionar las carpetas con las fotos que contiene y ésta funcione bien.
Ahora ha llegado el momento de que te relajes porque has llegado al final de ésta primera parte. En la próxima entrega explicaré que propiedades de los campos de la tabla Fotografías hay que cambiar, pero ya adelanto que es igual a lo que has hecho para establecer las propiedades de la tabla Carpetas. También detallaré como relacionar las dos tablas para que la base de datos funcione bien.
Solo un consejillo: No desesperes y tómate tu tiempo para crear la estructura de las tablas. Sientate delante de una hoja de papel y diseña que es lo que la base de datos quieres que haga con tus fotos, al final te darás cuenta que los pasos para crear las tablas son casi siempre repetitivos y en cuanto crees la primera tabla, las demás se crean de la misma manera, solo cambian los nombres de los campos y las propiedades de éstos, y sobre todo ten paciencia a la hora de crear tu base de datos, ten en cuenta que a un equipo de informáticos crear una base de datos comercial, con muchos campos y con una estructura mucho más compleja que la base que estás creando, les puede llevar meses. Con ésto no estoy intentando desanimarte, nada más lejos de la realidad, lo que pretendo es que te des cuenta que crear una base de datos personalizada, adaptada a tus necesidades fotográficas y que encima funcione bien, no es sencillo si no eres disciplinado en su diseño. Cuanto más tiempo emplees en el diseño de la base de datos, más sencilla será la creación de ésta. Y si sigues las directrices que te voy marcando, podrás crearla sin problemas. Y si tienes alguna duda ya sabes, estoy para ayudar.
Ángel Tejedor
Un aficionado a la fotografía.