El modelado de bases de datos tiene algo de ciencia, algo de arte, muchas técnicas y bastante sabiduría general. Todos los buenos modeladores de bases de datos estudian mucho, practican mucho, cultivan la creatividad y desarrollan habilidades interpersonales.
El camino para convertirse en diseñador de bases de datos puede parecer arduo. Pero si disfruta trabajar con datos, brindar estructura donde aparentemente no la hay y ayudar a las personas a encontrar verdades ocultas en mareas de información, definitivamente disfrutará del viaje.
¿Qué es el modelado de datos?
Lo primero es lo primero. Seamos claros en qué es el modelado de datos. El modelado de datos es el proceso de crear una representación conceptual de la información que se incluirá en una base de datos. El resultado de este proceso es un modelo de datos, con objetos de datos (las entidades para las que se almacenará la información), las asociaciones o relaciones entre ellos y las reglas o restricciones que gobiernan la información en la base de datos.
La persona a cargo del modelado de datos es el diseñador de la base de datos, aunque el modelado a menudo se encuentra entre las responsabilidades del ingeniero o arquitecto de la base de datos. El trabajo del diseñador de la base de datos no se limita simplemente a dibujar diagramas, sino que incluye revisar los requisitos, ya sea leyendo documentación o entrevistando a los usuarios, y luego creando un modelo de datos que se ajuste a esos requisitos. Es por eso que necesita el modelado de datos.
Una vez que se crea un modelo de datos, el diseñador debe respaldar ese modelo y guiarlo a través de su evolución y ciclo de vida. Esto significa trabajar en estrecha colaboración con programadores, analistas y cualquier otra persona que necesite usar el modelo. También significa aceptar solicitudes de cambios en el modelo, aceptar sugerencias para mejorarlo o adaptarlo a nuevas necesidades.
Pasos hacia la carrera de diseñador de bases de datos
Roma no se construyó en un día, y no te convertirás en diseñador de bases de datos de la noche a la mañana. Para llegar a la meta hay que seguir una serie de pasos. Comienza por obtener un título, luego profundizar en algunos conocimientos específicos, aprender a usar herramientas, certificarse, convertirse en un experto en ciertas habilidades específicas y, finalmente, aprender habilidades indirectamente relacionadas con la actividad que desea realizar:las llamadas "blandas". habilidades. Pero vayamos paso a paso.
1. Obtener un título
El primer hito importante en la carrera de cualquier diseñador de bases de datos es obtener un título. Los programas de títulos de asociado y licenciatura son el mejor camino para aquellos que desean obtener una comprensión introductoria del diseño de bases de datos y el desarrollo de software. Los programas de grado asociado cubren aspectos específicos del diseño de bases de datos y software al tiempo que ofrecen cursos de educación y negocios más generales. Los programas de licenciatura ofrecen aún más cursos relacionados con los negocios y pueden preparar a los graduados para puestos más importantes en el campo de la informática o el desarrollo de software.
La diferencia más obvia entre los dos tipos de títulos (además del costo) es el tiempo que lleva obtener cada uno. Para un estudiante de tiempo completo, un programa de grado asociado generalmente toma dos años. Un programa de licenciatura, por otro lado, generalmente toma cuatro años para un estudiante de tiempo completo. Obviamente, los cuatro años del programa de licenciatura te permitirán aprender mucho más de lo que aprenderías en un programa de grado asociado.
Puede tomar un curso corto sobre diseño de bases de datos. Pero los cursos cortos generalmente requieren que tengas algún conocimiento previo en diferentes aspectos de la informática. También hay cursos diseñados para personas que no tienen conocimientos de informática. Vertabelo Academy tiene una amplia gama de cursos especialmente diseñados para personas que no son de TI.
También tienes la opción, si eres lo suficientemente disciplinado, de aprender por tu cuenta sin tomar un título o un curso. Hay muchas opciones en los libros de diseño de bases de datos que puede leer. Solo ten en cuenta que, a la hora de preparar tu currículum, no te servirá de mucho mencionar que has leído tal o cual libro sobre diseño. Por el contrario, sí ayuda tener un título o al menos un certificado de haber tomado un curso.
2. Profundiza tu conocimiento
Una vez que haya adquirido los conocimientos necesarios sobre el diseño de bases de datos, consolide y refuerce con la práctica real. La teoría que aprendes en un curso o una carrera, incluso junto con los ejercicios que te dan para resolver, solo te da una idea de los problemas que enfrentas en tu trabajo como diseñador de bases de datos. Por cierto, este conocimiento adicional lo prepara mejor para cuando tenga que ir a una entrevista de trabajo para un puesto de diseñador de bases de datos. Las siguientes son las habilidades que necesita dominar para convertirse en diseñador de bases de datos.
Normalización, Claves y el Instinto del Diseñador
Ya sea que haya tomado un título o un curso o simplemente haya leído un libro, sin duda habrá aprendido algo sobre la primera, segunda y tercera forma normal. Pero para reforzar su conocimiento, mire diferentes diagramas de entidad-relación (supongo que ya sabe qué son los ERD y para qué se usan) y analícelos para ver si están normalizados. Debería poder determinar en qué forma normal se encuentran.
En este diagrama, las mismas entidades se representan de dos maneras diferentes. ¿Puedes decir de un vistazo en qué forma normal está la tabla de la izquierda y en qué forma está el esquema de la derecha?
También recomiendo estudiar los problemas que puede causar un esquema sin normalizar. Puede comparar el espacio ocupado por un esquema no normalizado y un esquema normalizado de los mismos datos para ver las diferencias, con las tablas pobladas con una cantidad razonable de datos, obviamente. O puede intentar ejecutar consultas en tablas no normalizadas para ver las inconsistencias que aparecen.
Hay un par de cosas que aprendes con la práctica. Primero, nunca debe dejar una tabla sin una clave principal. En segundo lugar, cuando dos tablas están relacionadas, debe definir una clave externa que asocie los campos involucrados de ambas tablas. Si olvida estos consejos, se le recordará cuando encuentre filas duplicadas en una tabla o elementos huérfanos en las relaciones maestro-detalle, y eso le dará pesadillas.
Hablando de claves, probablemente hayas oído hablar de claves naturales y claves sustitutas. Hasta que no tengas mucha experiencia, tienes que tomarte el tiempo de pensar qué tipo de clave le das a cada tabla que creas. Una vez que haga unas pocas docenas de ERD, habrá desarrollado el instinto del diseñador para crear esquemas en la tercera forma normal sin esfuerzo, con las relaciones correctas y la mejor clave para cada tabla.
Almacenes de datos:dimensiones, medidas, modelos de esquema y otros conceptos
Los conceptos de diseño de bases de datos generalmente se enseñan teniendo en cuenta el procesamiento transaccional. Pero hoy en día, los diseñadores se ocupan cada vez más de las bases de datos para el procesamiento analítico. Estas bases de datos se conocen como almacenes de datos y tienen algunas ideas y técnicas de diseño que difieren de las de las bases de datos convencionales.
Los almacenes de datos se construyen utilizando el modelo relacional tradicional, pero con varios conceptos adicionales nuevos. Por ejemplo, algunos campos representan dimensiones, mientras que otros representan medidas. Algunas tablas recopilan hechos, mientras que otras agrupan dimensiones. Ahora existen modelos de diseño específicos para esquemas de almacenamiento de datos, como estrella, copo de nieve y galaxia.
Finalmente, los almacenes de datos introducen una técnica llamada desnormalización. A diferencia de lo que podría pensar, la desnormalización no significa revertir ningún intento anterior de normalización. Para entender para qué se usa la desnormalización, considérela como una técnica para introducir redundancia en los diseños de tablas para simplificar las consultas y la visualización de datos.
3. Elija sus herramientas
Además de los conocimientos teóricos que te dan tus estudios y los conocimientos prácticos que te da tu experiencia, debes dominar las herramientas para el diseño de bases de datos. Las herramientas del diseñador de bases de datos son aquellas que te ayudan en la tarea de crear modelos de datos.
La verdad es que los buenos diseñadores pueden hacer su trabajo sin más herramientas que lápiz y papel. Pero para ser eficientes y cumplir con sus tareas en el menor tiempo posible, deben utilizar herramientas que les ayuden a ser más eficientes.
Las herramientas que más tiempo ahorran al diseñador de bases de datos son las herramientas de diseño de ERD, como la plataforma Vertabelo.com. Estas herramientas simplifican el trabajo del diseñador de bases de datos de dibujar diagramas, automatizar la creación de scripts SQL y generar diagramas a partir de bases de datos existentes.
Otra herramienta fundamental para todo diseñador de bases de datos es el lenguaje SQL. Se requiere DDL (lenguaje de definición de datos) para crear o modificar esquemas, pero para ser un diseñador de bases de datos, también debe saber cómo escribir consultas SQL para obtener información de una base de datos.
Existen otras herramientas útiles para el diseñador de bases de datos, como herramientas de monitoreo y generación de perfiles y lenguajes de programación para análisis de datos y administradores de bases de datos. Si conoce estas herramientas, enumerarlas agrega valor a su currículum.
4. Obtenga la certificación
Hemos hablado de herramientas de masterización, pero ¿cómo demuestras en tu currículum que sabes escribir SQL o que sabes usar alguna herramienta de diseño de ERD? Lo hace tomando cursos específicos, realizando exámenes y obteniendo la certificación.
Básicamente, existen dos tipos de certificaciones:las que demuestran que dominas una herramienta en particular y las que demuestran que tienes cierta habilidad. Ambos agregan valor cuando se muestran en su currículum.
Las empresas que desarrollan las herramientas a menudo ofrecen programas de capacitación, y cuando completa uno de esos programas de capacitación, obtiene un certificado como prueba de que domina la herramienta. Estas certificaciones suelen ser gratuitas. Están interesados en certificar a muchos profesionales en el uso de sus herramientas, por lo que les conviene capacitarte para usarlas sin cobrarte (mucho) por ello.
Las certificaciones en una determinada habilidad, como, por ejemplo, programación SQL, administración de bases de datos NoSQL o diseño de procesos ETL, suelen ser costosas, pero agregan mucho valor a su currículum, principalmente porque evitan que los entrevistadores tengan que evaluar si usted realmente sabe cómo hacer su trabajo. Los cursos de posgrado son una opción adecuada si ya tienes un título.
5. Ir hasta el final
Ya has estudiado y aprendido los materiales para ser un diseñador de bases de datos. Has profundizado tu conocimiento. Has tomado cursos y obtenido certificaciones. ¿Qué te falta para convertirte en diseñador de bases de datos? Saber hacer tareas clave y ser capaz de ejecutarlas de principio a fin.
Modelado de una base de datos
Puede que sepa cómo dibujar un ERD, pero modelar una base de datos implica más que eso. Para ser un diseñador de bases de datos, debe poder pasar de la inspección y el análisis de requisitos a la generación y ejecución de scripts para transformar diagramas en bases de datos funcionales.
Escribir consultas complejas en SQL
No se trata simplemente de que una consulta devuelva los datos que se supone que debe devolver, sino también de devolverlos lo más rápido posible. Saber cómo escribir consultas SQL significa pensar con la misma lógica que el motor de la base de datos para recopilar la información solicitada y entregarla con el mínimo esfuerzo.
Optimización del rendimiento
La optimización del rendimiento de la base de datos incluye la creación de un diseño adecuado y la supervisión de las actividades de la base de datos para detectar operaciones que degradan el rendimiento. También implica saber cómo solucionar problemas de rendimiento, ya sea creando índices, rediseñando el esquema o informando al DBA de posibles problemas en la optimización del motor de la base de datos.
Seguridad de una base de datos
Si bien la asignación de permisos y privilegios en los objetos de la base de datos normalmente no es el trabajo del diseñador de la base de datos, él o ella pueden identificar áreas de responsabilidad en sus diseños que facilitan que un administrador asigne permisos correctamente a cada usuario de la base de datos.
6. Adquirir habilidades blandas
Este último paso a menudo se pasa por alto en la carrera de un diseñador de bases de datos, pero no lo deje sin abordar. En muchas situaciones, las habilidades blandas que se mencionan a continuación son tan importantes, si no más, que las habilidades y conocimientos técnicos tradicionales, también conocidas como habilidades duras.
Perspicacia comercial
Los diseñadores con visión para los negocios pueden interpretar mejor y dar la dimensión adecuada a cada requisito que reciben, y eso se traduce en mejores decisiones de diseño. Algo tan simple como decidir si usar una clave natural o una clave sustituta para una tabla puede ser importante para el negocio; alinear sus decisiones con los objetivos comerciales es clave para el éxito de su trabajo.
Comunicación y Habilidades Interpersonales
Crear un buen diseño es solo una parte del trabajo. Después de crear y perfeccionar su modelo, debe poder presentarlo, explicarlo y ayudar a cualquier persona que necesite trabajar con él. También debe aceptar que cada diseño se puede mejorar, así que prepárese para recibir sugerencias y críticas. En general, como diseñador, eres parte de un equipo. Ser una parte útil del equipo significa ser un jugador de equipo que siempre piensa en el beneficio del equipo.
La línea de meta:un trabajo de diseñador de bases de datos
Si ha hecho todas estas cosas, probablemente ya esté modelando bases de datos como un profesional y tenga muchas historias que contar. El espacio de comentarios a continuación es para que compartas consejos útiles e historias divertidas, y para que contribuyas a enriquecer nuestras vidas como diseñadores de bases de datos.