DISEÑO DE UNA BASE DE DATOS

Introducción
Hoy en día las empresas manejan una gran cantidad de datos. Cualquier empresa que se precie debe tener almacenados todos estos datos en una base de datos para poder realizarlos mediante una aplicación profesional; sin esta funcionalidad resultaría imposible tratar y manejar en su totalidad los datos que leva a cabo la empresa y se perdería un tiempo y un dinero muy valiosos
Uno de los pasos cruciales en la construcción de una aplicación que maneje una base de datos, es sin duda, el diseño de la base de datos.
Si las tablas no son definidas apropiadamente, podemos tener muchos dolores de cabeza al momento de ejecutar consultas a la base de datos para tratar de obtener algún tipo de información.
Objetivos
Entre las metas más importantes que se persiguen al diseñar un modelo de bases de datos, se encuentran las siguientes:
- Acceso eficiente a la información.
- Diseño de esquemas con la forma normal.
- Información adicional.
- Especificación de delimitantes (Dependencias funcionales)
Diseño de Bases de Datos
Son muchas las consideraciones a tomar en cuenta al momento de hacer el diseño de la base de datos, quizá las más fuertes sean:
- La velocidad de acceso.
- El tamaño de la información.
- El tipo de la información.
- Facilidad de acceso a la información.
- Facilidad para extraer la información requerida.
- El comportamiento del manejador de base de datos con cada tipo de información.
No obstante que pueden desarrollarse sistemas de procesamiento de archivos e incluso manejadores de bases de datos basándose en la experiencia del equipo de desarrollo de software logrando resultados altamente aceptables, siempre es recomendable la utilización de determinados estándares de diseño que garantizan el nivel de eficiencia mas alto en lo que se refiere a almacenamiento y recuperación de la información.
De igual manera se obtiene modelos que optimizan el aprovechamiento secundario y la sencillez y flexibilidad en las consultas que pueden proporcionarse al usuario.
Observación
Ventajas
• Permite una rápida obtención de los datos requeridos al momento de realizar una consulta.
• Permite una reducción de tiempo en programación.
• Permite al usuario final la posibilidad de realizar una modificación de manera dinámica a las opciones del software, fácil y rápidamente desde una administración.
• Permite crear una base de datos normalizada.
- El uso de memoria en el servidor SQL puede verse afectado.
- La desventaja puede ser solucionada con el uso correcto de las consultas SQL, tal es el caso de evitar productos cartesianos al momento de dicha consulta y en su reemplazo utilizar INNER JOIN, LEFT JOIN, RIGHT JOIN según se requiera.
- Ciertos desarrolladores necesitan ver un proceso de normalización de una base datos, sin embargo, si comienzas a diseñarla utilizando catálogos, dicho proceso puede llegar a ser innecesario.
Desventajas
Fases de diseño

Proceso de Diseño
En esta fase se trata de conocer las expectativas del usuario sobre la base de datos. Para ello, se identifican los grupos de usuarios reales posibles y las áreas de aplicación, se revisa la documentación existente, se analiza el entorno operativo y los requerimientos de procesado, y se realizan entrevistas y cuestionarios con los usuarios. Para todo ello existen técnicas formalizadas de especificación de requerimientos.
Fase 1: Recopilación y análisis de requerimientos
A) Corresponde al diseño del esquema conceptual: esquema de especificación del modelo de datos a alto nivel, independiente de cualquier SGBD, que no puede utilizarse para implementar directamente la estructura de la base de datos.
B) Corresponde al diseño de transacciones: es decir, a aquellas aplicaciones que van a manipular datos contenidos en la base de datos. Se suelen identificar mediante el estudio de las entradas y salidas de datos y su comportamiento funcional.
Fase 2: Diseño Conceptual de la Base de Datos
Esta fase se subdivide en otras dos.
Se consideran diferentes factores técnicos, económicos y de beneficio, de servicio técnico y formación de usuarios, organizativos de rendimiento, etc.
Fase 3: Elección de un SGBD
En esta fase se crea un esquema conceptual y los esquemas externos necesarios en el modelo de datos del SGBD seleccionado, mediante la transformación de los esquemas de modelo de datos a alto nivel obtenidos en la Fase 2a, al modelo de datos ofrecido por el SGBD.
Fase 4: Transformación del modelo de datos (o fase de diseño lógico)
Consiste en definir las estructuras de almacenamiento y de acceso para alcanzar un rendimiento óptimo de las aplicaciones de la base de datos
Fase 5: Diseño de la base de datos física
En esta fase final se hace realidad la base de datos, mediante la creación y la compilación del esquema de bases de datos y de los ficheros de bases de datos, así como de las transacciones, a través de las aplicaciones.
Fase 6: Implementación del sistema de base de datos
El último paso del diseño de la base de datos es adoptar determinadas convenciones de nombres. Aunque MySQL es muy flexible en cuanto a la forma de asignar nombre a las bases de datos, tablas y columnas, he aquí algunas reglas que es conveniente observar:
- Utilizar caracteres alfanuméricos.
- Limitar los nombres a menos de 64 caracteres (es una restricción de MySQL).
- Utilizar el guión bajo (_) para separar palabras.
- Utilizar palabras en minúsculas (esto es más una preferencia personal que una regla).
- Los nombres de las tablas deberían ir en plural y los nombres de las columnas en singular (es igual una preferencia personal)
Recomendaciones
- Utilizar las letras ID en las columnas de clave primaria y foránea.
- En una tabla, colocar primero la clave primaria seguida de las claves foráneas.
- Los nombres de los campos deben ser descriptivos de su contenido.
- Los nombres de los campos deben ser unívocos entre tablas, excepción hecha de las claves.
Los puntos anteriores corresponden muchos de ellos a preferencias personales, más que a reglas que debamos de cumplir, y en consecuencia muchos de ellos pueden ser pasados por alto, sin embargo, lo más importante es que la nomenclatura utilizada en nuestras bases de datos sea coherente y consistente con el fin de minimizar la posibilidad de errores al momento de crear una aplicación de bases de datos.
Conclusiones
Siempre que una persona escucha hablar de bases de datos y de toda la terminología que las acompaña piensa que es un tema excesivamente complicado, y no es así, todo tiene un porque y lógica, es cosa de familiarizarse un poco con ellas (bases de datos).
Cuando se ven en realidad todas las ventajas que tienen, es mas sencillo el proceso de aprendizaje, ya que siente que el aprender a manejarlas se vera recompensado.
Además de los sencillas que son, es muy fácil acceder a información, manuales y cursos relacionados a ellas, todo esta a la mano, con la facilidad de poner este tema en un buscador de la red y aparecerán infinidad de temas, unos mas complejos que otros, pero siempre uno que se adecue a las capacidades de aprendizaje de cada persona.
Otro punto muy importante es que la mayoría son gratis.
Diseño de Base de Datos
By renan1991
Diseño de Base de Datos
- 44