Вы находитесь на странице: 1из 5

LINUX USER Base

Educacin:
de Datos
Squeak
Kexi

Construimos una base de datos con Kexi

DATOS AMIGOS
Kexi, parte de la suite KOffice, nos permite a todos crear, rellenar y mantener
una base de datos. POR MARTIN STREICHER

l mundo del cdigo abierto ofrece


varias soluciones para administrar
datos. SQLite es una diminuta aunque potente base de datos, MySQL es
extremadamente popular entre los desarrolladores web y PostgreSQL cuenta con
funcionalidades transaccionales al mismo
nivel que Oracle. Las tres soluciones tienen interfaces de lnea de comandos y
programticas, y tanto MySQL como PostgreSQL tienen soporte para administracin basada en navegador [1] [2]. SQLite,
MySQL y PostgreSQL tienen sus fortalezas
y debilidades, y cada una es muy capaz,
aunque tristemente, ninguna de las tres es
apropiada para los nuevos propietarios de
los netbooks con Linux o para usuarios de
escritorios casuales. De hecho, los usuarios de Linux tienen pocas opciones para
una solucin de base de datos amigable,
grfica y de peso ligero similar a Microsoftt Access.
Un usuario Windows puede crear
tablas, introducir datos, formular consultas y crear informes en Access con poco
ms que un clic de ratn. La herramienta
OpenOffice.org Base pretende hacer lo

72

Nmero 55

mismo para entornos Linux, aunque algunas distros populares no incluyen Base
con el escritorio predeterminado, por lo
que muchos usuarios Linux continan
buscando otras opciones.
La herramienta de desarrollo de bases
de datos Kexi [3] es otra alternativa para
muchos usuarios Linux. Kexi, que se
vende como Access para Linux, ha
estado disponible desde 2006, y la ltima
versin estable, Kexi 1.1.3, es parte de la
suite KOffice 1.6 [4]. Kexi 1.1.3, utilizada
para este artculo, data de abril de 2008,
pero Kexi 2.0 est siendo sometida a una
serie de pre-lanzamientos, con la intencin de estar lista para finales del ao.

Introduccin de Kexi
Kexi, al igual que Microsoft Office, ofrece
una interfaz de usuario amigable para
crear, rellenar y mantener una base de
datos. En esta herramienta, muchas tareas
son como rellenar una hoja de clculo. Por
ejemplo, para crear una tabla, rellenamos
una fila por cada campo en la tabla. Luego
damos un nombre a cada campo, asignamos un tipo (como fecha, entero o texto),

WWW.LINUX- MAGAZINE.ES

y quizs unimos el nuevo campo a un


campo existente en otra tabla, de ese
modo relacionamos las dos tablas (de ah
el nombre base de datos relacional).
Una vez que hemos definido una tabla,
podemos rellenarla con datos como haramos con una hoja de clculo.
Crear consultas en Kexi es un poco ms
complicado, aunque no precisa ningn
conocimiento de SQL. En vez de ello, la
mayor parte del trabajo consiste en arrastrar y soltar elementos en el espacio de trabajo: Elegimos una o dos tablas, relacionamos un campo con otro mediante sealar
y pulsar, y seleccionamos los campos que
deseamos presentar. Kexi tambin ofrece
el modo de creacin con arrastrar-y-soltar
para crear interfaces para introducir datos
y, al igual que Access, puede usar su propio formato de base de datos o bien puede
conectarlo a otro motor con ms potencia.
En el caso de Kexi, podemos usar MySQL.
Si no nos gusta la interfaz phpMyAdmin,
se puede usar Kexi para navegar por una
base de datos existente.
Kexi es modal. La vista de diseo crea y
edita tablas, consultas y formularios,

LINUX USER Base de Datos Kexi

Despus de que finalice la


instalacin, ejecutamos Kexi:
$ kexi

Figura 1: Ventana principal de Kexi.

mientras que la vista de datos muestra el


resultado final. Construir una aplicacin
en Kexi est tipificado a travs del cambio
de un modo a otro. En primer lugar, utilizar Kexi para construir una aplicacin,
explorando sus funcionalidades por el
camino.

Instalacin de Kexi
La manera ms fcil y ms rpida de instalar Kexi es mediante nuestro administrador de paquetes. Las variantes Debian y
Ubuntu usan apt-get o uno de los frontends grficos equivalentes:
$ sudo apt-get update
$ sudo apt-get install kexi

Kexi depende de KDE [5]. Si no utilizamos


KDE ni ninguno de sus componentes, la
adicin de Kexi, KDE y las dependencias
de los paquetes podran aadir unos 100
paquetes a nuestro sistema, incluyendo la
suite KOffice. Si ya tenemos KDE y KOffice
instalados, el proceso es muy rpido.

Cuando aparece la ventana de


Elegir Proyecto, seleccionamos
Base datos vaca y pulsamos
Aceptar. La siguiente pregunta
que nos hace es dnde nos
gustara crear la base de datos.
Las dos elecciones se encuentran en un fichero o en un servidor MySQL. Para mantener
las cosas simples, seleccionamos Proyecto nuevo almacenado en
archivo. Cuando Kexi pregunta por el
nombre de una base de datos, introducimos Ejemplo Uno, pulsamos Aceptar y utilizamos el dilogo del navegador para
seleccionar un lugar para el fichero en
nuestro disco.
La ventana principal de Kexi se parece a
la que vemos en la Figura 1: El panel de la
izquierda rene nuestras tablas, consultas,
formularios y scripts (lo ltimo es una
funcionalidad experimental y la ignoraremos en este artculo). Kexi llama a cada
una de esas entidades objetos. Para crear
una nueva tabla, por ejemplo, pulsamos
en Tablas y elegimos Crear Objecto: Tabla,
o desde la barra de men seleccionamos
Insertar | Tabla. La paleta de herramientas
se encuentra inmediatamente debajo de la
barra de men. La lista de herramientas
disponibles cambia dependiendo de la
tarea que estemos realizando.
El rea central de la ventana de Kexi es
el corazn de la aplicacin, donde est
representado la mayor parte de nuestro

Nmero 55

Construyendo la Primera
Base de Datos
Para demostrar cmo funciona, mostrar
cmo construir una base de datos para
mantener las notas de unos estudiantes.
La estructura de la base de datos, o
esquema, incluye tres tablas: una tabla
para los estudiantes, otra para el programa
del curso (deberes, tests y exmenes) y
una tabla para notas, las cuales asocian un
estudiante a una nota para una tarea en
particular.
La tabla de los estudiantes tiene cuatro
campos: primer apellido, segundo apellido, ID del estudiante y fecha de nacimiento.
La tabla de tareas tiene cuatro campos:
una descripcin, una puntuacin
mxima posible, un ID nico y una
fecha para registrar el trabajo que se
asign.
La tabla de notas tiene tres campos: un
ID de estudiante, un ID de tarea y una
puntuacin.
Para crear una tabla, pulsamos en Tablas
en el panel ms a la izquierda y seleccionamos Crear Objeto: Tabla. Para comenzar, vemos cmo crear la tabla de estudiantes.
Cuando aparece la tabla en blanco en el
panel central, pulsamos en la primera fila,
introducimos id en la columna Ttulo del

Figura 3: Seleccionamos una tabla y fila


como clave externa.

Figura 2: La tabla de estudiantes con un campo.

74

trabajo. El panel ms a la derecha, que se


encuentra vaco en la Figura 1, aunque
mostrado en las figuras subsiguientes, se
usa para editar los atributos de los campos.

WWW.LINUX- MAGAZINE.ES

estudiantes est completa,


guardamos nuestro trabajo.
A continuacin creamos
una tabla de tareas para deberes usando los mismos procesos que utilizamos en el paso
anterior. Creamos un campo
tarea (Texto y necesario, no
puede quedar en blanco) para
describir la tarea, un campo
puntuacin_mxima (Nmero
Entero, necesario) para regisFigura 4: Una coleccin de estudiantes (muy) capacitados. trar la puntuacin mxima
posible, y un campo fecha
Campo y seleccionamos Nmero Entero
(Fecha/Hora requerido, no en blanco) para
como Tipo de dato. En el panel ms a la
indicar cundo se dieron las tareas.
derecha, elegimos la pestaa Propiedades,
Finalmente, confeccionamos la tabla
pulsamos en Clave Primaria y seleccionanotas, la cual liga un estudiante a una
mos S (siempre que diseemos un campo
tarea y registra la puntuacin de los estucomo clave primaria, Kexi configura autodiantes. Primero, creamos un campo
mticamente las otras propiedades para
denominado id_estudiante y establecemos
asegurar que el campo sea nico). Nos
su tipo como Nmero entero. En la pesreferiremos al ID del estudiante desde la
taa Propiedades a la derecha, hacemos el
tabla notas.
campo requerido y nos aseguramos de
A continuacin elegimos Guardar desde
que no queda en blanco. Luego, pulsamos
el men Archivo. Cuando nos pregunte,
en la pestaa Asociaciones en la parte ms
introducimos estudiantes en el campo
a la derecha del panel (el icono es un
Ttulo y pulsamos Aceptar. Nuestra venpequeo men desplegable) para definir
tana Kexi debera mostrar algo parecido a
el campo como una clave externa, o una
lo que vemos en la Figura 2.
clave desde otra tabla que establece una
Para continuar, creamos el campo para
conexin entre un registro y otro.
el primer y segundo apellidos, usando
Aqu, la clave externa debe ser la ID de
tanto el editor de la tabla como el de proun estudiante. En el dilogo, configurapiedades. Los dos campos deben ser
mos el Origen de la fila como estudiantes
Texto, y debemos asegurarnos de que se
y seleccionamos id como el Lmite de
requieren los dos, de que son indexados
Columna. (La ID es ahora la clave externa
(para acelerar las bsquedas), y que tieque liga dos registros). Adems de esto,
nen una longitud mxima de 100 caractepodemos configurar Columna visible para
res. Ningn campo puede estar en blanco,
presentar un valor del registro del estuas que establecemos la propiedad adediante que es ms significativo que el ID,
cuada para hacer este campo obligatorio.
como apellidos del estudiante. La Figura 3
Adems, creamos un campo adicional
muestra cmo est definida la clave
para registrar la fecha de nacimiento de
externa.
cada estudiante. Esta entrada debe ser
A continuacin, creamos un campo llaFecha/Hora, y debemos especificar que el
mado puntuacin como un Nmero Entero
campo es necesario. Cuando la tabla de
requerido, y luego creamos un campo llamado id_actividad. Al igual
que se hizo con la ID del
estudiante, usamos las pestaas en el panel ms a la
derecha, aunque el campo
referir al ID de la tarea.
Si Kexi nos pregunta para
crear una clave primaria
para la tabla de notas
cuando guardamos nuestro
trabajo, pulsamos No. Esta
Figura 5: Correlacin de campos entre dos tablas para formu- tabla no exige una clave prilar una consulta.
maria.

WWW.LINUX- MAGAZINE.ES

LINUX USER Base de Datos Kexi

Probar Datos con


Consultas

Figura 6: Elegimos los campos a presentar.

Ahora disponemos de la estructura suficiente en su lugar para registrar las puntuaciones de los estudiantes y ejecutar
consultas.
Hasta el momento hemos estado trabajando en la vista diseo. Para introducir
datos, seleccionamos cualquiera de las
tablas y cambiamos a Vista de Datos
seleccionando Ver | Vista de datos o pulsando la tecla F6. De nuevo, la interfaz
recuerda a la de una hoja de clculo con
un encabezamiento en la parte superior
para clarificar el orden de los campos.
Aqu podemos crear entradas para cinco o
seis estudiantes y entradas para un
puado de tareas antes de crear notas,
combinar un registro de estudiante y
tarea, y anotar una puntuacin. La Figura
4 muestra algunos posibles registros de
estudiantes.
Ahora que tenemos algunos datos, el
siguiente paso es poner a trabajar la informacin.

Adems de la persistencia de
los datos, una base de datos
deriva informacin a travs de
una consulta. Tal y como mencion al comienzo, es tpico
escribir consultas en SQL,
aunque no es particularmente
natural para el usuario normal. Kexi, al igual que Access,
ofrece una interfaz grfica en
la que podemos construir consultas.
Ahora mostrar cmo construir una consulta que resumir todas las puntuaciones
que se han registrado. Para llevar a cabo el
resumen, el nombre del estudiante se
extrae de su tabla, los detalles de la asignacin de la tabla de asignaciones, y la puntuacin de la tabla de notas. Los campos
ID dispersos a lo largo de las tres tablas
combinan los correspondientes registros
unos con otros.
Para crear la consulta, seleccionamos
Insertar | Consulta. En el panel que se abre
en la parte central, seleccionamos el nombre de una tabla del men desplegable y
pulsamos Aadir. Hacemos lo mismo con
las otras dos tablas hasta que las tres se
muestren en mitad del panel.
A continuacin, pulsamos en el campo
id en la tabla de asignaciones y arrastramos el campo al campo id_actividad en la
tabla de notas. Hacemos lo mismo para
correlacionar el campo id en la tabla de
estudiantes con el id_estudiante de la tabla
de notas. Lo que vemos debera parecerse
ahora a la que se muestra en la Figura 5.

El siguiente paso consiste en seleccionar


los campos que deseamos mostrar. Si hacemos doble clic en nombre, apellidos, tarea
y puntuacin, estos campos pasan a la lista
Columnas de la Consulta en la parte inferior. La Figura 6 muestra el panel central
tras aadir los cuatros campos.
Si cambiamos a Vista de Datos, deberamos ver algo como lo que aparece en la
Figura 7. Se presentan los datos de la consulta.
Para asignar valores al campo Criterios
de una columna de la consulta, podemos
limitar los resultados a aqullos en los que
estamos interesados. Adems, es posible
clasificarlos configurando el campo Ordenacin. Con una combinacin de tablas,
correlaciones y columnas de consultas,
podemos confeccionar informes a la
medida de nuestras necesidades especficas. Por cierto, si preferimos escribir cdigo
SQL a mano, el editor de consultas ofrece
tambin una Vista de Texto en el que podemos escribir y validar nuestro cdigo.

Formularios y Ms
Kexi ofrece tambin un editor de formularios en el que podemos crear interfaces de
entrada de datos. Otras herramientas
exportan e importan datos e importan
esquemas de bases de datos. La versin
actual de Kexi tiene algunas particularidades, pero el equipo Kexi promete una
interfaz novedosa en la v2.0, adems de
un diseador de informes para producir
salida de apariencia profesional. Segn el
desarrollador de Kexi, Jaroslaw Staniek, la
prxima versin conectar ms bases de
datos incluyendo SQL Server, Oracle,
Sybase y dBase y ofrecer integracin
con la suite completa KOffice 2. Por ejemplo, Staniek prevee la generacin de documentos ODF, sin programacin y comparticin de datos en todo el escritorio.
Estaremos al tanto. Un artculo futuro
volver a visitar a Kexi 2 una vez que el
software est distribuido en fase de

prueba beta.

RECURSOS
[1] phpMyAdmin:
phpmyadmin.net/

http://www.

[2] PremiumSoft Navicat: http://www.


navicat.com/
[3] Kexi:
html

http://kexi-project.org/about.

[4] KOffice: http://www.koffice.org/


[5] KDE: http://www.kde.org/

Figura 7: Resultados de una consulta.

76

Nmero 55

WWW.LINUX- MAGAZINE.ES

Вам также может понравиться