Visual Paradigm MOOC DDM

Tanto a raíz del curso de Sistemas Manejadores de Bases de Datos que me ha tocado impartir este semestre, como de la infraestructura que necesito para la investigación doctoral (en la que he decidido hacer uso de PostgreSQL), sólo era cuestión de tiempo para que me decidiera usar una herramienta de diseño (enough PowerPoint at this time).

Uno de mis alumnos me recomendó una herramienta, pero sólo corre en Windows. Se trata de un fork de otro producto con nombre DB Designer. Ésta la he descargado y la he venido probando en el equipo que tengo en el CIC.

Sin embargo, dado que mi principal equipo de trabajo es mi MacBook Pro, decidí buscar alguna otra (multiplataforma, preferente y obviamente). Aunque el nombre de Visual Paradigm hacía eco en mi mente (alguna vez la revisé al necesitar una herramienta CASE para diseño con UML), no me sorprendió encontrarla como el primer resultado que Google me devolvió, por lo que prácticamente no revisé otros resultados y me fui directamente al sitio de ésta.

Su instalación no fue problema, aunque sí fue más tardada que con la recomendación ya mencionada (que esencialmente consistió en desempacar un ZIP en alguna ruta del disco de mi equipo). En este caso, un instalador se encargo de revisar el asunto de la licencia y consentimiento obligados en un producto comercial, pasos y decisiones de instalación más algunos pasos de activación.

Si bien el uso de la herramienta no debe ser complicado (eso pensaba al inicio pero parafraseando al Tío Ben, “with great power come greater complexities“). Si uno tiene algo de conocimiento previo es posible que uno pueda optar por un proceso del auto aprendizaje y auto descubrimiento pero Visual Paradigm (VP) es multipropósito y multi paradigma por lo que su interfaz es más complicada. En fin, el desarrollador de la herramienta ofrece unos videos de entrenamiento en el uso de la herramienta, así como en el diseño de bases de datos y su administración.

Para este último, la información del curso señala 14 video lecturas en inglés para un total de un poco más de dos horas, por lo que decidí tomar el curso para evitar el auto engaño y hacer un buen uso de la herramienta (que al final puede servir para la otra herramienta CASE ya mencionada). Aquí resumo lo visto. No es propiamente un MOOC pero decidí titular así la entrada para su auto clasificación con otras similares que he hecho en el pasado.

Lecture 1 (11:49)

La primer video lectura es una introducción y panorama general del curso de entrenamiento, se describen la idea y necesidad de una base de datos en general. El curso está en inglés. Llama la intención el acento del instructor. No es el característico inglés americano pero tampoco es el británico, me da la impresión que el instructor es un moreno caribeño jamaiquino o algo así. El curso es ofrecido a través de la infraestructra de Udemy.

Lecture 2 (7:55)

Se dedica a la definición de entidades y columnas. Se describe cómo crear un diagrama entidad-relación. Aunque el curso no lo señala explícitamente, si hace una mención al respecto: conviene crear un proyecto primero en la herramienta que sirve como un contenedor de los objetos creados con VP.

Lecture 3 (14:14)

Toda la información adicional que puede darse en cada entidad es descrito en esta video lectura.

Domains: Se describe también la creación de dominios, que funcionan como templates para otras entidades posteriores.

Full-text index: Una propiedad para MS SQL para facilitar búsquedas en textos.

Discriminator column: Facilita la sincronización entre los diagramas de clases haciendo uso de una columna que contendrá los valores de identificación de cada registro contra la jerarquía del diagrama de clases.

Version column: Una columna que se usa para almacenar el número de versión del que haría uso Hibernate haciendo uso de ORM.

Schema: Un valor que permite agrupar entidades y que facilita la generación de las bases de datos (BD).

Data model: Permite identificar el nivel de maduración de la descripción: conceptual (abstracto, resumen), lógico (normalizado y con sus atributos completos), física (lista para la construcción de la base de datos).

Tablespace: Para ser usado con Oracle. Localidad de almacenamiento donde los objetos son guardados en una BD Oracle.

DDL clause: Texto a ser agregado al final de las instrucciones de generación de la BD.

Description: Útil para la documentación de la entidad en un diccionario de datos

Lecture 4 (17:00)

Detalles de columnas:

Domain: Misma idea que con las entidades.

Type: Tipo de dato, dependiente de la base de datos (Tools > DB > Database Configuration).

Length: Longitud máxima de la columna.

User type: Tipos definidos por el usuario.

Default value: Valor por defecto.

ID Generator Key: Soporta diversas estrategias de cómo se generan valores únicos como llaves primarias..

Check constraint: Define que tipo de datos o valores pueden ser introducidos.

Generated: Usada para ORM. Marca a la columna para ser generada bajo ciertas acciones.

Sync to attribute: Asociación de tipo de c

DDL Clause: texto a incluir en las instrucciones de generación de la BD.

Description: Permite documentar la columna.

Include in Primary Key: Indica que debe ser considerada como parte de la llave primaria.

Nullable: Si la columna permitirá contener valores nulos.

Unique: Asegura que los valores de la columna no serán duplicados.

Index: Declaración de índices y consideraciones sobre performance y espacio de almacenamiento.

Lecture 5 (5:22)

Sobre los niveles conceptual, lógico y físico de definición del modelo Entidad-Relación (E-R) que VP permite. Pero, ¿debe ser uno por cada nivel? ¿No puede madurarse uno ya creado?

Lecture 6 (18:09)

Sobre llaves primarias y relaciones. Llaves compuestas y generadas: autogeneradas, manuales (no pueden ser nulas y deben ser introducidas), secuencias (se debe indicar el valor mínimo, máximo y el intervalo del incremento).

Sobre las llaves foráneas.

Tipos de cardinalidad.

Lecture 7 (8:09)

Se muestra como crear las vistas y se hace uso del Record Editor. Se muestra también como crear las vistas seleccionando las tablas de las que se quieren concentrar sus datos en la vista. Adicionalmente el producto permite adicionar filtros a las vistas.

Al parecer se trata de dos instructores. Ya había notado el cambio de pronunciación ya que la pronunciación de “view” es muy curiosa pero no es la misma del principio, quién hace esta lectura parece ser asiático, puede ser chino.

Lecture 8 (7:55)

La presentación aborda el tema de los triggers y los stored procedures. Los trigger deben ser codificados de acuerdo a la BD en la que está destinado el diseño. La creación de los stored procedures es similar a la de los triggers. En ambos casos el ícono que se crea en VP es más un contenedor y en éstos se crea el correspondiente elemento.

Lecture 9 (18:47)

La novena lectura está dedicada a la generación de la BD a partir del modelo E-R con las facilidades u opciones que VP tiene para generar el código y documentarlo.

Lecture 10 (7:51)

Visual Paradigm permite también manejar cambios a la estructura de una base de datos que ya se encuentra generada, a través del uso de las instrucciones que el DDL ofrece.

Lecture 11 (10:03)

VP permite también hacer ingeniería inversa para recuperar el diseño de una BD, incluyendo stored procedures.

Lecture 12 (16:56)

Se decribe el framework Hibernate, el Object Relational Mapping (ORM) que es parte de los proyectos de la Red Hat community, la sincronización entre clases y entidades del modelo E-R.

Lecture 13 (8:41)

Esta lectura está dedicada a enumerar algunas “buenas prácticas” al respecto del uso de VP en el diseño de bases de datos, la colaboración entre equipos de trabajo. Se menciona también el diseño de grandes bases de datos a partir de diagramas basados en contexto.

Lecture 14 (8:24)

Dedicada a la documentación de especificaciones de diseño de la base de datos, como es la simbología empleada. En esto también ayuda VP además de poder generar documentos PDF, HTML y MS Word.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s