Guia de Usuario

1 INTRODUCCIÓN

¿Qué es Kata Kuntur?

Kata Kuntur es una herramienta para el modelado de datos. A diferencia de otros modeladores que se centran en el enfoque de diseño de base de datos, Kata Kuntur, se centra en permitir el modelado de estructuras de datos que puedan ser usadas para la implantación de Base de Datos así como la implantación de un modelo de clases (Código Fuente). Aunque podrías usarlo también solo para el diseño especifico de Base de Datos (ya que el lenguaje de modelado lo permite), pero no aprovecharías todo el potencial que esta herramienta te puede ofrecer.
Kata Kuntur no implementa el lenguaje de modelado de datos IDEF1X
1) La notación IDEF1X es usado en modeladores como ERwin, Microsoft Visio.
para el diseño, si no, utiliza un lenguaje de modelado propio. Esto significa, que la notación usada para el modelado no es similar a otros programas informáticos centrados en el diseño de bases de datos. Pero la diferencia no es muy pronunciada, por lo cual, si vienes conociendo otros lenguajes de modelado, éste se te hará sencillo de aprender.
El modelo de clases que se genera es basado en el fundamento ORM
2) El modelo de desarrollo ORM(Object Relational Mapping) es un enfoque utilizado para incorporar el modelo de clases a una base de datos, por ahora solo se tiene implementado el soporte para las bibliotecas Kata Qowi. El modelo ORM permite tener un conjunto de clases listas para gestionar los datos de una Base de Datos implantada, esto, disminuye el tiempo de desarrollo además del tiempo empleado para pruebas, finalmente, al exportar a las bibliotecas Kata Qowi se tiene también las interfaces gráficas listas para usar.

1.1.1 Características

Rápido
Kata Kuntur está desarrollado bajo C++, por lo cual su consumo de recursos es bajo, puede ser usado en Procesadores Pentium III con 250 mb de RAM.
Gratuito
La herramienta se distribuye de manera gratuita y puede ser usada en cuantas PC's tengas sin restricción alguna, pero eso no quiere decir que no puedas ponerte una mano al pecho y otra al bolsillo para colaborar con alguito :P.
Ingeniería Directa
El modelo de datos creado con Kata Kuntur puede ser exportado directamente al gestor de base de datos seleccionado en tiempo de diseño. Dentro de los gestores de bases de datos soportados tenemos:
  • MySQL
  • PostgreSQL
  • SQLite
  • Microsoft SQL Server
    3
    Por el momento, solo se tiene soporte solo para la generación de scripts SQL.
Exportación a Código Fuente
El modelo de base de datos diseñado puede ser exportado a código fuente en C++ para el uso de las bibliotecas ORM Kata Qowi. La exportación incluye:
  • Código Fuente
  • Interfaces Gráficas
  • Documentación HTML

1.1.2 ¿Gratis?

Esto depende desde el punto de vista del que lo veas. Si te enfocas en tí (como usuario) es gratuito, no tiene coste alguno, simplemente te diriges la página http://katakuntur.llullutuqo.me lo descargas, lo instalas y ¡a disfrutar!.
Si lo enfocas desde mi punto de vista (programador, creador) no es gratis, he invertido mucho tiempo (y sigo invirtiendo) en el desarrollo además del aporte intelectual que esto ha llevado, la manutención del sitio web además del desarrollo de manuales , etc.
Entonces podrías estar preguntándote ¿Y por qué lo distribuyes de manera gratuita?. Esta herramienta surgió desde los problemas que tenía desarrollando software, además, de ciertas ideas que he ido implementando poco a poco, como por ejemplo, el soporte de un modelador para PostgreSQL, de no tener que usar herramientas escritas en java para el modelado de datos, de agregar soporte para un modelo ORM para desarrollar software, etc. Así que simplemente decidí publicarla bajo la premisa “Si me sirve a mi, a alguien más le podría servir”.
Así que te pediría ciertas cosas para que puedas ayudar con el desarrollo de esta herramienta:
Si te da algún error,
no reniegues :), dame la descripción del problema.
Si te parece demasiado simple,
dime tus ideas, dos cabezas piensan mejor que una.
Si algo no entiendes,
te recomiendo que leas el manual de nuevo :) y, si sigues sin entender, vuelve a leer y, si aún así no entiendes, pues.. ¡pregúntamelo!.
Trata de ser específico en tus preguntas... y..... me olvidaba.... ¡gracias por usar Kata Kuntur!.

1.1.3 ¿Cómo ayudar?

Hay muchas maneras de ayudar a que esta herramienta siga siendo desarrollada, la principal, es que me digas tus ideas, un software que no avanza simplemente se quedará estancado, si te parece útil esta herramienta, lo mínimo que podrías hacer, es darme tus ideas y reportar errores, de esta manera podré agregar mejoras al software.
Otra manera de colaborar es pagando una irrisoria suma de $4 como retribución, pero obviamente, esto es voluntario. También puedes apoyar comprando los manuales y agregados que creo con este fin.

¿Que encontrarás en este manual?

La finalidad de este manual es de mostrar el uso básico de Kata Kuntur, esto incluye la manera en como modelar, exportar, modificar atributos, crear relaciones, etc. Si lo que deseas es aprender los fundamentos de base de datos
4
El diseño de Base de Datos es más complejo que sentarse y crear entidades, existen fundamentos que se deben definir para diseñar.
o tal vez creas que en este manual encontrarás información para determinar si tu diseño es correcto , pues, este manual no es para ti :).

2 ¿CÓMO TRABAJAR CON KATA KUNTUR?

Interfaz

image: 1interfaz.png
Figura 2.1:
Interfaz - Kata Kuntur
La interfaz es del tipo MDI(Multiple Document Interfaz), pero utiliza pestañas para la navegación entre los diagramas abiertos en vez de la típica interfaz MDI.
En la figura 2.1 se puede observar la apariencia del modelador, donde se enumeran las siguientes áreas:
  1. Área de trabajo: es el área en la cual se cargan los diagramas, es posible la edición de los mismos, pueden existir varias áreas de trabajo gracias al uso de pestañas, se puede alternar entre diagramas haciendo clic en su pestaña correspondiente.
  2. Panel de acciones: contiene el historial de acciones, se ve con mas detalle en 2.4 Sección 2.4.
  3. Barra de herramientas: contiene accesos a las acciones más comunes de edición y manipulación de diagramas, para utilizarlos simplemente dar clic.
  4. Barra de menús: contiene la sección completa de acciones, algunas acciones tienen un icono de describe su acción, otras no, se puede mantener el ratón encima para obtener una pequeña descripción de la acción. Es posible invocar algunas de estas acciones mediante el uso de su atajo de teclado, los atajos de teclado se pueden ver con más detalle en 2.4 Sección 2.3.

Operaciones Básicas

Bajo el menú archivo se encuentran las operaciones básicas para el manejo de los archivos de diagramas en Kata Kuntur:
  • image: 2idocument-new.png Nuevo
  • image: 3idocument-open.png Abrir
  • Diagramas Recientes
  • image: 4idocument-save.png Guardar
  • image: 5idocument-save-as.png Guardar como
  • Exportar Diagrama
    • Imprimir
    • *.sql
    • *.png
    • YAML - Propel
  • Exportar Mapeo
    • Imprimir
    • *.png
    • *.odt
  • image: 6iexport-sql.png Exportar a DBMS
  • image: 7iexport-orm.png Exportar a ORM
Algunos de los menús son muy comunes en algunos modeladores de base de datos. Exportar Diagrama⇒Imprimir permite pre-visualizar el diagrama en vista de impresión de acuerdo con la vista de diagrama que esté seleccionada(Lógica o Física).Exportar a DBMS mostrará un cuadro de exportación a base de datos siempre y cuando se haya seleccionado uno al crear o modificar el diagrama. Exportar a ORM mostrará un cuadro de dialogo para configurar la generación de código fuente, esto sólo funcionará cuando se haya seleccionado un Modelo ORM al momento de crear o modificar el diagrama.
Adicionalmente, el diagrama y el modelo, puede ser exportado a otros formatos. Para exportar el diagrama a una imagen png se puede hacer clic en Exportar Diagrama⇒*.png, similar es el caso de que se quiera exportar el script SQL(siempre y cuando se haya seleccionado un gestor DBMS). En el caso del mapeo se genera un formato útil para realizar el mapeo de las entidades, el mapeo puede ser exportado a imagen, a odt(Open Document Format
1
Open Document Format es un estándar para documentos de texto, puede ser abierto con Open Office, LibreOffice, AbiWord.
) y también se puede realizar una impresión rápida.

Atajos de Teclado

  • Acciones básicas
    • CTRL+N : Crea un nuevo diagrama vacío.
    • CTRL+O : Permite abrir un diagrama previamente guardado.
    • CTRL+S : Guarda los cambios realizados en el diagrama, en caso de ser un diagrama nuevo solicita la ubicación para ser guardado.
    • CTRL+SHIFT+S : Guarda un diagrama en una ubicación seleccionada.
    • CTRL+Z : Activa la acción deshacer.
    • CTRL+SHIFT+Z: Activa la acción de rehacer.
    • CTRL+C : Copia una entidad(es).
    • CTRL+D : Duplica una entidad(es) seleccionada, es el equivalente a copiar y pegar al mismo tiempo.
    • CTRL+X : Corta una entidad(es).
    • CTRL+V : Pega una entidad(es) cargada en el portapapeles.
  • Edición de diagramas
    • CTRL+Up(Arriba) : Aumenta el tamaño del diagrama, esto no afecta a los tamaños de los ítemes.
    • CTRL+Down(Abajo) : Disminuye el tamaño del diagrama, esto no afecta a los tamaños de los ítemes.
    • E: Pone el área de trabajo en estado de desplazamiento, se puede desplazar por el diagrama haciendo clic moviendo el ratón.
    • S: Pone el área de trabajo en estado de selección, se pueden seleccionar los ítemes al momento de hacer clic en el diagrama. Se puede usar la tecla CTRL para realizar una selección/deselección múltiple.
    • R: Pone el área de trabajo en estado de agregar relación, se puede agrear una relación dando clic en una entidad , y sin soltar, desplazarlo hacia otra entidad, finalmente se suelta el ratón. Al inicio se creará una línea provisional, una vez que se suelta el ratón la linea provisional desaparecerá y se creará la relación.
    • T: Pone el área de trabajo en estado agregar entidad(tabla). Al hacer clic en una parte del diagrama se crea una entidad limpia.
    • D: Elimina los ítemes seleccionados en el diagrama.
  • Otros
    • CTRL+F : Activa o desactiva el modo de pantalla completa. Cuando se está en modo de pantalla completa se ocupa el 100% del espacio del escritorio.

Deshacer y Rehacer

En las últimas versiones de Kata Kuntur se ha creado un historial de acciones más consistente. Se puede navegar en el historial de acciones de dos maneras:
image: 8cuadro_acciones.png
Figura 2.2:
Panel de historial de acciones.
Mediante menú:
se puede deshacerimage: 9edit-undo.png y rehacerimage: 10edit-redo.png las acciones mediante los menús ubicados en Editar⇒Deshacer y Editar⇒Rehacer respectivamente. Adicionalmente se puede hacer uso de los atajos de teclado CTRL+Z para deshacer y CTRL+SHIFT+Z para rehacer.
Mediante el panel de acciones:
el panel de acciones (véase figura equation (2.4)), usualmente está al lado derecho de la interfaz gráfica, contiene una lista de todas las acciones realizadas a un diagrama, para poder navegar entre las acciones simplemente basta con dar clic a cualquier ítem de la lista.
Es posible ocultar el panel dando clic en la parte superior derecha, para volverlo a activar simplemente, en la barra de menús, dar clic derecho y activar acciones.
Ten en cuenta que cada vez que el documento es guardado se limpia todo el historial de acciones, esto se realiza simplemente para la reserva de memoria, por lo cual no podrás deshacer ni rehacer un documento recientemente guardado.

Personalización

En el menú Herramientas⇒Preferencias se puede acceder al editor de propiedades. Dentro del editor tenemos 2 secciones:
image: 11propiedades1.png
Figura 2.3:
Propiedades - General
image: 12propiedades2.png
Figura 2.4:
Propiedades - Diagrama
General
Se pueden editar las propiedades relacionadas con la interfaz (ver figura 2.3). La propiedad Autor predeterminado representa al autor que se va a usar para referenciar un diagrama, esto se guarda en una cadena al momento de guardar el diagrama por primera vez, activar la opción Cargar último diagrama al iniciar abre el último diagrama editado al momento de abrir Kata Kuntur,finalmente, la propiedad Usar panel de propiedades permite la edición de los ítemes mostrando sus editores en un único panel en la parte inferior de la interfaz.
Diagrama
Esta sección representa las propiedades que son aplicables al diagrama (ver figura 2.4). Color de atributos normales define el color de los atributos de una entidad cuando estos son propios de la entidad, Color de atributos foráneos define el color para los atributos foráneos a una entidad, finalmente, Fórmula para atributos foráneos define la fórmula a ser usada para la creación de los nombres de los atributos foráneos, puede tener como parte de la etiqueta : %t-> nombre de la entidad, %c nombre del atributo.

3 EDICIÓN DE DIAGRAMAS

Diagrama

Para crear un diagrama nos dirigimos a Archivo⇒Nuevo o simplemente presionamos CTRL+N, esto abrirá el diálogo Propiedades de diagrama(ver figura 3.1). Para crear el nuevo diagrama debes escribir un nombre, para eso puedes usar la propiedad Nombre del proyecto, no se te permitirá crear un nuevo diagrama si es que no colocas un nombre.
image: 13cuadro_nuevo_diagrama.png
Figura 3.1:
Propiedades de diagrama.
La propiedad Gestor DBMS te permite seleccionar un gestor de base de datos para el cual se orientará el diseño de datos, debes seleccionar un Gestor DBMS en caso de que desees exportar a un gestor de base de datos, en caso contrario no es necesario, la propiedad ORM Model te permite seleccionar algún modelo ORM, si deseas exportar el modelo hacia código fuente debes seleccionar una opción. Finalmente dar clic en el botón OK(Aceptar), esto creará un área de trabajo lista para agregar ítemes.
Si por algún motivo deseas cambiar las propiedades de un diagrama después de crearlo puedes dirigirte a Editar⇒Propiedades de diagrama.

Entidades

Una vez que se tiene un área de trabajo lista (un diagrama nuevo o cargado :P) se pueden agregar entidades. Para agregar una entidad simplemente ir a Diagrama⇒Agregar entidad o presionando el atajo de teclado T, finalmente te diriges con el ratón hacia el área de trabajo donde quieres agregarlo y das clic izquierdo.

3.2.1 Editar entidades

Para modificar los atributos o propiedades de una entidad dar doble clic izquierdo con el ratón encima de la entidad y se abrirá el dialogo Propiedades de entidad. En el editor, los atributos son ubicados en una tabla de edición siendo las columnas las propiedades posibles a editar de los atributos.
image: 14edicion_entidad.png
Figura 3.2:
Propiedades de entidad
En el dialogo Propiedades de entidad (ver figura 3.2) podemos:
Agregar atributos
simplemente damos clic en el botón image: 15ilist-add.png , de manera automática se creará una nueva fila en la tabla de atributos y el foco estará establecido hacia el nombre del nuevo atributo. También podemos agregar nuevos atributos presionando la tecla ENTER
1
Para que esto funcione el foco lo debe tener la tabla de edición de atributos.
.
Eliminar atributos
simplemente seleccionamos la fila que tiene al atributo que queremos borrar y presionamos el botón image: 16ilist-remove.png .
Subir una fila
esto permite ubicar un atributo encima del atributo contiguo superior, para esto, simplemente seleccionamos la fila que contiene al atributo y presionamos el botón image: 17igo-up.png .
Bajar una fila
esto permite ubicar un atributo debajo del atributo contiguo inferior, para esto, simplemente seleccionamos la fila que contiene al atributo y presionamos el botónimage: 18igo-down.png .

3.2.2 Propiedades de atributos

Se pueden editar las propiedades de los atributos mediante el uso de los controles en cada fila de la tabla de edición, para empezar a modificar vasta con dar clic en en control ubicado en la columna que designa la propiedad:
nombre
define el nombre del atributo.
llavePrimaria
define si el atributo es el identificador de unicidad de la entidad.
llaveUnica
define si el nombre del atributo debe ser único en todos los registros.
nulo
define si es obligatorio o no que este atributo contenga datos. Si está activo no es obligatorio, en caso contrario sí.
tipoDato
define el tipo de dato del gestor de base de datos. Para editarlo se puede hacir clic en el combobox de edición y seleccionar el tipo de dato de la lista. Solo válido cuando se ha seleccionado un gestor de Base de Datos al crear un diagrama.
notas
una pequeña descripción del atributo, esta información será usada para la generación de documentación en HTML.

Relaciones

Las relaciones solo pueden ser establecidas entre entidades o hacia una entidad. Existen dos tipos de relaciones una relación de entidad a entidad y otra relación a sí misma.
Para crear una nueva relación diríjase a Diagrama⇒Agregar Relación o simplemente presione el atajo de teclado R esto establecerá el estado del área de trabajo a agregar relación. Para crear una relación entre entidades presionar el clic izquierdo del ratón en la primera entidad y, sin soltar el botón, dirigirse hacia el interior de la segunda entidad, finalmente soltar el botón del ratón(ver figura a), si la generación a sido exitosa se creará una relación un a muchos por defecto.
Figura 3.3:
Tipos de relaciones
image: 19nueva_relacion.png
Sub-Figura a:
Crear relación de entidad a entidad.
image: 20nueva_relacion1.png
Sub-Figura b:
Crear relación a sí misma
Para crear una relación entre una misma entidad presionar el clic izquierdo del ratón y , sin soltarlo, dirigirse hacia otro extremo de la entidad pero sin salirse de ella, finalmente soltar el botón (ver figura b).

3.3.1 Edición de relaciones

Al igual que en las entidades, se puede abrir el editor de relaciones dando doble clic izquierdo encima de la relación que se desea editar.
image: 21edicion_relacion.png
Figura 3.4:
Propiedades de relación.
En el tipo de relaciones de entidad a entidad es posible editar:
Opcionalidad
combobox, se puede seleccionar entre Puede y Debe.
Texto de referencia
textbox, se debe escribir la etiqueta de la sección de la relación.
Cardinalidad
combobox, se puede seleccionar entre uno y solo un, uno o más y uno o más(identificativo).
image: 22edicion_selfrelacion.png
Figura 3.5:
Propiedades de auto-relación.
En el caso de las relaciones a sí mismas solo es posible editar la etiqueta de las secciones.

Exportar a un Gestor de Base de Datos

Para poder exportar a un gestor de base de datos es necesario haber seleccionado un Gestor DBMS en las propiedades del diagrama. En caso de no haber seleccionado alguno puedes dirigirte a Editar⇒Propiedades de diagrama, una vez seleccionado o cambiado el Gestor DBMS debes corregir los tipos de datos de los atributos.
image: 23exportar_sql.png
Figura 3.6:
Exportar a DBMS
Para poder abrir el cuadro abre el menú Archivo⇒Exportar DBMS o puedes usar el ícono en la barra de herramientas. En la figura 3.6 se muestra el dialogo que se encarga de la exportación, siendo:
  1. Propiedades de base de datos: aquí se debe ubicar la información de la base de datos a la cual se va a exportar. En Servidor se debe colocar la ip o el nombre del dominio del servidor de base de datos, en Usuario y Contraseña se debe colocar la información respectiva de la base de datos, en Base de Datos se debe colocar el nombre de la base de datos a ser exportada, finalmente, si la opción generar base de datos está activada intentará crear la base de datos antes de exportar el script sql. En caso de seleccionar como gestor a SQLite la única opción que se debe llenar es Base de Datos con la ruta al archivo al cual se va a exportar.
  2. Bloque Script SQL: Muestra una visualización del Script SQL que se va a exportar al gestor.
  3. Mensajes: muestra mensajes de acuerdo al avance de la exportación.
Una vez llenados los datos respectivos datos para la exportación, simplemente dar clic en el botón image: 6iexport-sql.png y espera :).

Exportar a un modelo ORM

Por el momento solo se tiene soporte para las biblitecas ORM Kata Qowi, estas bibliotecas están escritas para trabajar con el Framework Qt4. La ecportación genera:
  1. Código fuente: crear clases con los nombres de las tablas, estas clases están listas para ser usadas, proveen funciones básicas para el mantenimiento de registro en base de datos(guardar, cargar, modificar).
  2. Interfaz gráfica: crea interfaces gráficas listas para ser usadas.
  3. Incorporación al sistema de gestión de las bibliotecas Kata Qowi.
  4. Documentación: crea documentación en HTML que puede ser usado dentro del sistema de ayuda de las bibliotecas Kata Qowi.
Previamente a la exportación se debe tener seleccionado el modelo ORM en las preferencias del diagrama. SI no lo tiene seleccionado diríjase a Editar⇒Propiedades de diagrama y seleccione el Modelo ORM que desee. Para poder exportar su diagrama de datos diríjase a Archivo⇒Exportar ORM, le aparecer´a un cuadro de di´alogo similar al de la figura 3.7 donde:
Directorio a exportar:
es el directorio base donde se va a exportar el código fuente.
Generar clases ORM:
genera las clases para el mantenimiento de la base de datos bajo el directorio model.
Generar documentación:
genera la documentación HTML bajo el subdirectorio doc.
Generar Interfaces Gráficas:
genera las interfaces gráficas bajo el prefijo Wg en el subdirectorio widgets.
Integrar la documentación con QtHelp:
crea un archivo *.qhcp para ser compilada la documentación HTML hacia el formato de ayuda de las bibliotecas Kata Qowi.
Generar proyecto completo:
crear el archivo *.pro además de una MainWindow, el proyecto generado puede ser cargado desde QtCreator.
image: 24exportar_orm.png
Figura 3.7:
Exportar a ORM.