Diseño de base de datos: pasos y conceptos básicos

Tabla de contenido:

Diseño de base de datos: pasos y conceptos básicos
Diseño de base de datos: pasos y conceptos básicos
Anonim

El diseño de bases de datos es un proceso secuencial de adaptación del conocimiento y las herramientas disponibles para representar y procesar información.

El alcance real, la tarea específica, la descripción del flujo de información entrante y las ideas generales sobre el proceso de procesamiento de la información se suman gradualmente a una cierta idea conceptual de qué es una base de datos en un caso particular y cómo trabajar con él.

Base de datos moderna

Las relaciones relacionales están en el centro de cualquier modelo de información. Las soluciones de Oracle son equivalentes a MySQL en esencia, pero son fundamentalmente diferentes en muchos aspectos. El diseño de la base de datos también es una cuestión de seguridad, volumen de información y responsabilidad por la integridad de los datos, pero estos son secundarios al tema del diseño de una base de datos eficiente, confiable y fácil de usar.

pasos de diseño de base de datos
pasos de diseño de base de datos

Las tablas de Excel no son diferentes de Oracle y MySQL en el contexto de las estructuras rectangulares (relacionales): columnas y filas=una celda en la intersección del nombre de la columna (campo) y el índice de selección (fila). Si no tiene en cuenta la medida y la cantidad de trabajo manual, entonces, gracias a los medios desarrollados para combinar celdas vertical y horizontalmente, ¡Excel está por delante incluso de Oracle!

Excel, según su idea básica, nunca "brilla" la dinámica, la funcionalidad de Oracle, y no puede transferir algo de una hoja a otra "según los remanentes". Aquí Oracle es más prometedor, pero sus consideraciones sobre los temas de migrar grandes cantidades de información y combinar posiciones formalizadas de varias fuentes dejan mucho que desear. Aquí MySQL es más prometedor: no se plantea tareas globales, pero hace su trabajo a la perfección.

Las relaciones relacionales son herramientas convenientes, prácticas y bien establecidas, desde soluciones privadas a nivel de Excel hasta volúmenes globales de Oracle, se utilizan en todas partes, en demanda y tienen un futuro laboral garantizado.

Una base de datos moderna está formada por tablas, filas, columnas e índices rodeados de una funcionalidad completa, herramientas adicionales desarrolladas que tienen en cuenta múltiples operaciones, cargas pesadas y volúmenes enormes.

El conocimiento y la experiencia de los modernos sistemas de administración de bases de datos (DBMS) tienen en cuenta no solo los problemas de confiabilidad, confiabilidad de los datos, regulación de acceso y problemas de seguridad, sino que también permiten rastrear influencias externas negativas, analizar posibles ataquese intentos de dañar intencionalmente.

Una base de datos moderna es una base confiable para cualquier recurso web y aplicación local, la capacidad de migrar información, transformar y transferir datos, cruzar y combinar diferentes vistas.

La única condición indispensable: desarrollador altamente calificado. Para realizar un diseño efectivo de bases de datos relacionales está al alcance de un especialista, y más a menudo de un equipo de especialistas y expertos en el campo de aplicación del problema que se está resolviendo.

Alcance, posible solución y obstáculos

La información circula por todas partes. Muchos proyectos están conectados directamente a Internet, pero el factor de tener una representación de datos formal aquí no es mejor que el factor de incertidumbre al crear un recurso web para una planta siderúrgica.

El desarrollo y el interés masivo en las tiendas en línea no brinda motivos ni oportunidades para transferir la experiencia de crear una tienda a crear otra. El factor secreto comercial crea muchos obstáculos para la transferencia de conocimiento, aunque, de hecho, debe separar la tienda real de las herramientas de software creadas para esta tienda.

diseño de base de datos relacional
diseño de base de datos relacional

Por supuesto, el cliente pagó y el código del sitio es de su propiedad. Un rasgo característico de la modernidad: la transferencia de conocimientos y desarrollos entre tareas del mismo tipo y campos de aplicación relacionados es imposible y esto es un problema.

Parsing es una amplia gama de aplicaciones para sistemas de gestión de bases de datos. En primer lugar, está escaneando información de Internet. Es igualmente importante comparar la información acumulada enbase de datos y solicitudes de visitantes web.

El análisis de palabras clave también implica la necesidad de formar una solución óptima, pero el diseño de la base de datos en Access puede ser más prometedor que en MS SQL Server u Oracle.

La lista de fuentes de información puede ser dinámica. La dinámica puede ser inherente a las tablas de la base de datos de origen, los nombres de los campos de las tablas y las reglas de llamadas (consultas). El diseño de bases de datos relacionales a partir de múltiples fuentes claramente obliga a diseñar a partir de los datos de origen y no a partir de la organización óptima de la información recopilada.

Hay dos cosas que son inherentes a cualquier base de datos:

  • orientación al contenido, algoritmo de generación de base de datos dinámica en prioridad;
  • orientación al uso, la estructura de la base de datos es más importante y en ella se basa el algoritmo de uso de la información.

En cualquier campo de aplicación existe un modelo formal del flujo de información entrante, un modelo de almacenamiento de información: el diseño real de la base de datos y un modelo (algoritmo) para usar datos.

Varios procedimientos y pasos de diseño

Los conceptos básicos del diseño de bases de datos generalmente se dividen en tres etapas. Diferentes especialistas se refieren a las etapas del trabajo de diferentes maneras, pero, de hecho, hay tres posiciones:

  • planificación conceptual;
  • diseño lógico;
  • ejecución técnica.

La práctica contribuye a las tradiciones establecidas. No importa cuán complejo sea el alcance y el problema que se está resolviendo. Siempre se necesita elegir el correctoinstrumentos. Por ejemplo, necesita recopilar información de los visitantes de un recurso web, pero debe compararla con los datos de MS SQL Server. El recurso web está alojado en FreeBSD (Internet, servidor Apache) y MS SQL Server en otra ciudad está disponible a través de la red distribuida de la empresa.

fundamentos del diseño de bases de datos
fundamentos del diseño de bases de datos

En esta solución, primero debe resolver un problema particular: establecer el intercambio de datos con el servidor interno.

La ejecución técnica de una tarea común necesariamente tendrá un impacto en la etapa inicial: es raro que el diseño de la base de datos se pueda hacer desde cero. Incluso con tecnología de resolución de problemas comprobada, el alcance está evolucionando, siempre se requiere hacer algo diferente de lo que se pretendía originalmente.

Recientemente, muchos teóricos y profesionales operan con entidades como datos especiales. Estas son abstracciones que le permiten describir el modelo de información en la entrada, durante el procesamiento y en el resultado final: la base de datos.

Vistas de datos y entidades

Diseño de base de datos a través de abstracciones y entidades: la capacidad de crear una imagen de información, definir tipos de datos y relaciones entre ellos.

Por lo general, el diseño de un modelo de base de datos termina con un modelo gráfico, usando MS Visio o herramientas visuales del DBMS elegido. Access tiene su propia forma de formar una imagen de información, MySQL tiene la suya y algunos sistemas de administración de contenido ocultan la base de datos por completo, imponiendo un modelo de datos al desarrollador a través de sus propias entidades:objetos de la tarea a resolver.

Un rasgo característico de muchos sistemas de administración de contenido (CMS) es que hacen una "aplicación" para un nivel de mayor abstracción al describir el área de información del problema que se está resolviendo. La base de datos real está oculta, CMS ofrece al desarrollador su propia idea de la imagen de información del mundo.

Como resultado, las etapas del diseño de la base de datos se reducen a la observancia de los requisitos fundamentales y la ejecución de los pasos propuestos por los creadores de un CMS en particular. No hay nada de vergonzoso en usar las ideas de bases de datos y su diseño de Symfony o Bitrix, Zend o Yii, pero para el desarrollador es una "carga".

Idealmente, las herramientas de diseño de bases de datos deben seleccionarse y aplicarse individualmente, sin opiniones externas, pero con la aplicación de la experiencia y el conocimiento.

diseño de base de datos de información
diseño de base de datos de información

Ideal para que un desarrollador esté certificado por Oracle, pero perfectamente aceptable para que las calificaciones de un desarrollador incluyan conocimientos sobre las ideas de información de Oracle y un conocimiento práctico de las aplicaciones MySQL.

En proyectos complejos y procesamiento de información distribuida, no solo es importante la base de datos, sino también las fuentes de información, las ideas sobre las necesidades de los consumidores.

Etapas o equipo: balance de prioridades

El requisito de consistencia es de suma importancia. Los conceptos básicos del diseño de la base de datos también incluyen la fase del trabajo, el seguimiento de los resultados intermedios, el replanteamiento de cada etapa completada en función de la ejecución del siguiente tipo de trabajo:

  • sistemático;
  • fases;
  • retroalimentación desde cualquier punto en el tiempo, hasta la posición inicial.

Estas disposiciones son abstractas, pero están presentes en cualquier tecnología teórica y práctica para crear una base de datos eficaz.

Ninguna tecnología se desarrolla sola, la impulsan las personas. La cualificación del equipo de desarrollo es fundamental. El modelo de información de la base de datos no es solo un marco, sino también flujos de información.

Lo que es más importante: hermosos gráficos en la representación de la estructura de la base de datos o una descripción precisa de los flujos de información en la dinámica, una cuestión no solo de la tarea y el alcance, sino también de la opinión del equipo de desarrollo en la dinámica.

diseño de la estructura de la base de datos
diseño de la estructura de la base de datos

El personal lo es todo, pero en contexto: el diseño conceptual de una base de datos lo es todo cualificación. Todas las personas son únicas y, en el campo de los sistemas de información, existen y se desarrollan representaciones de personas específicas.

Es importante crear un equipo de desarrolladores, no algunos pasos de diseño de bases de datos míticos sugeridos por un experto autorizado. La autoridad de este especialista se formó sobre la base de obras específicas, en un momento específico. El trabajo debe realizarse hoy, nueva tarea, equipo moderno, tecnología nueva, …

Posible reverso. Hay Excel y Access y datos "abundantes" en estos formatos desde la antigüedad, cuando Windows for Workgoups todavía estaba vivo y bien. Se mantuvieron parcialmente los datos de dBase y Quattro. Hoy estas palabras ya han sido olvidadas, pero la informaciónpermaneció, está en demanda y necesita ser extraído y formado nuevas ideas.

Viejo y nuevo: equilibrio de conocimientos

La tecnología de la nube no es como las bases de datos que hizo Ashton-Tate. Lo que compró Oracle una vez no es de ninguna manera comparable a lo que hace hoy. Pero las variables, algoritmos, funciones, bucles y condiciones han permanecido en la programación desde aquellos inicios de los 80. A menos que el concepto del procedimiento se haya hundido en el olvido y todo quede como en la antigüedad.

Incluso las ideas modernas de programación orientada a objetos están revestidas de las clásicas "cadenas" sintácticas y semánticas del siglo pasado.

Qué hacer - La programación es inercial, y la formalización de la información y el diseño de bases de datos de información es más un proceso que un resultado. El trabajo por etapas es un requisito previo para lograr resultados. Pero, ¿quién contó el número de iteraciones desde las etapas intermedias casi hasta el comienzo del trabajo?

La información siempre es dinámica, nada se detiene: especialmente el área temática de la tarea y los requisitos del usuario. Cada etapa de trabajo completada le permite evaluar en un nuevo nivel lo que ya se ha hecho y lo que queda por hacer.

diseño de base de datos lógica
diseño de base de datos lógica

Considerar el diseño de una estructura de base de datos como una tarea y obtener el resultado final es inútil. Tan pronto como la base de datos se ponga en funcionamiento, seguramente aparecerá una nueva idea, incluso si la herramienta para crear la base de datos fue "simple" Excel, y no un producto increíblemente poderoso y versátil de Oracle,manipulando millones de transacciones, cientos de miles de usuarios concurrentes y terabytes de información.

La prioridad no es la estructura de la base de datos, sino la formación de un equipo calificado de especialistas, más el requisito obligatorio de mayor dinamismo del resultado, para que al finalizar el trabajo no sea necesario contactar los desarrolladores, al menos un par de meses.

Desarrollo secuencial y/o s altos de altura

Windows no es una base de datos, pero tiene una reliquia: el registro. El archivo de hosts es simplemente una identificación de las direcciones IP y los nombres simbólicos de la máquina local. Pero a través de este archivo se forman flujos de información desde diferentes dominios o hacia diferentes DBMS.

Es posible entender el Windows multifacético como una computadora o servidor en funcionamiento, pero no funcionará de ninguna manera para justificar la lógica de las versiones de este producto. PHP tampoco es una base de datos, pero los argumentos de los desarrolladores de por qué la versión 5 sigue inmediatamente a la versión 7 son inconsistentes. PHP es una herramienta de acceso a MySQL, su sintaxis define cómo realizar consultas y obtener respuestas de la base de datos usando el dialecto SQL.

Los ejemplos de incompatibilidad entre las herramientas de programación modernas y el soporte de bases de datos se han convertido en la norma en los últimos años, pero este no es el más original. ¿Qué habrá detrás de la versión de Windows 10? ¿Cuáles son las perspectivas de Oracle Database 12c?

Información del desarrollador-autor: Oracle Database 11g Express Edition (Oracle Database XE) es un DBMS básico basado en el código DBMS Oracle Database 11g Release 2. Este DBMS es gratuito para el desarrollo,implementación y venta, descarga rápida y fácil de administrar.”

La perspectiva de un desarrollador de usuarios: “En 2013, Oracle lanzó Oracle Database 12c (versión 12.1.0.1) con beneficios clave de menores costos de almacenamiento, alta disponibilidad de datos, fácil consolidación de bases de datos y protección de acceso a datos "".

Práctica real: un diseño de base de datos lógico objetivo, eficiente y efectivo está disponible solo para un equipo de desarrolladores calificados. Obtener un resultado de trabajo no es difícil, es difícil formalizar los flujos de información entrantes y determinar la base óptima.

Al mundo de las formas suaves a partir de rectángulos precisos

Con el advenimiento de la programación orientada a objetos, la serialización de datos ha adquirido una nueva vida. De hecho, todo alrededor son solo líneas, preferiblemente de longitud indefinida. Los números y las fechas también son cadenas de caracteres.

El poder y la objetividad de las relaciones relacionales es innegable, pero ¿la dinámica de las columnas y las filas daña su reputación? Una tabla son simplemente datos que pueden tener un encabezado (una lista de columnas) o no tener filas. Deje que la tabla sea solo una colección de datos, no necesariamente nombrados.

El conjunto de datos puede ser heterogéneo y puedes encontrar datos de diferente estructura en él. Fundamentalmente, la homogeneidad de los datos indica el desarrollo del alcance. La distribución de datos por tipos y especies es un signo de un enfoque sistemático y objetivo, pero aún así es recomendable admitir la posibilidad de la dinámica de la estructura.

Si salidadiseñar y crear una base de datos más allá de las estructuras rígidas y asumir que una tabla es una colección de filas que no son necesariamente del mismo tipo y semánticamente similares entre sí, entonces el diseño de la base de datos cambiará drásticamente.

El tema del trabajo no será una descripción de la estructura de la base de datos, sino la dinámica del movimiento de la información. Las etapas de trabajo se dividirán en tres centros de gravedad:

  • flujo de información de entrada;
  • transformación y movimiento de información dentro de la base de datos;
  • seleccione los datos a usar.

No hay concepto de estructura de tabla. No hay filas ni columnas. Hay una abstracción - un dato, de cierta estructura, que satisface un punto específico en el algoritmo. Más específicamente, la función de procesamiento de información requiere cierta información en una cantidad específica.

El requisito obligatorio de la recursividad de todas las funciones de procesamiento de información y el enfoque en las funciones, no en los datos, le permite diseñar una base de datos en la dinámica de la información acumulada y el flujo de datos entrantes, que se utilizan a iniciativa del usuario, proceso u otra función.

De hecho: llegó una señal de uso, se recibió una solicitud de búsqueda, se activó un disparador en la aplicación y la información entrante, a través de lo que ya estaba allí, brindó la solución deseada.

Conocimientos fundamentales y construcciones rígidas

El conocimiento es prerrogativa del hombre, los programas son la carga de las computadoras. El desarrollador es libre de aplicar el conocimiento como mejor le parezca en una situación particular. Una persona común usa muchas bases de datos, sin darle importancia. cómolas bases de datos están organizadas en la cabeza de una persona común, nadie lo sabe, pero todos saben cómo lleva a cabo su negocio, dónde anota lo que encuentra y cuándo necesita usarlo.

El resultado del trabajo del programador, a nivel de un programa en "Básico", que recupera datos del sitio web de una tienda en línea a través de ODBC, es equivalente a un desarrollador de Oracle titulado que realiza una solicitud para obtener datos del MAKS Salón de la Aviación y el Espacio. Ambos resultados se "congelan" en estática desde el momento en que se completa el trabajo. Este no es conocimiento activo que usa una persona, este es el secreto para crear un sistema de diseño de base de datos.

El algoritmo no se puede arreglar. Todo debe definirse dinámicamente. Los méritos de los desarrolladores calificados son innegables, pero no se basan en absoluto en las formas elegantes de las soluciones de Oracle, MySQL o Access, que tienen capacidades limitadas. Otra hoja de cálculo de Excel puede proporcionar contenido dinámico y no requerir la participación de un programador durante un tiempo más o menos decente después de la finalización del trabajo.

La pregunta es qué tan bien se formaliza la dinámica del área de aplicación, no la estructura de la base de datos.

Soluciones en vivo

Es imposible planificar el trabajo de tal manera que ate a un equipo de desarrolladores profesionales a una tarea. No es que el equipo se sintiera ofendido, pero este no es el enfoque correcto.

Soluciones en vivo
Soluciones en vivo

La tarea de diseñar una base de datos debe formularse de tal forma que la funcionalidad desarrollada se mejore a sí misma, acumule conocimiento y, en el desempeño de sus “funciones”, no parta del código,creado por expertos, sino a partir del conocimiento adquirido a través de este código.

Recomendado: