Colección de citas famosas - Frases motivadoras - Habilidades de diseño para el diseño de bases de datos.

Habilidades de diseño para el diseño de bases de datos.

(Etapa de análisis de requisitos)

1) Comprender las necesidades del cliente y preguntar a los usuarios cómo ven los cambios futuros en la demanda. Deje que el cliente explique sus necesidades y, a medida que continúe el desarrollo, pregúntele con frecuencia para asegurarse de que sus necesidades aún estén dentro del propósito del desarrollo.

2) Comprender el negocio de la empresa puede ahorrar mucho tiempo en las etapas posteriores de desarrollo.

3) Presta atención a la entrada y salida.

Al definir los requisitos de campos y tablas de la base de datos (entradas), primero debe examinar los informes, consultas y vistas (salidas) existentes o diseñados para determinar qué tablas y campos son necesarios para admitir estas salidas.

Por ejemplo, si un cliente requiere un informe que ordene, desglose y resuma por código postal, debe asegurarse de que contenga un campo de código postal separado en lugar de colocar el código postal en un campo de dirección.

4) Crear diccionario de datos y diagrama ER.

Los diagramas ER y los diccionarios de datos pueden dejar claro a cualquiera que conozca las bases de datos cómo obtener datos de la base de datos. Los diagramas ER son útiles para mostrar las relaciones entre tablas, mientras que el diccionario de datos muestra el propósito de cada campo y los posibles alias. Esto es absolutamente necesario para la documentación de expresiones SQL.

5) Definir convenciones estándar de nomenclatura de objetos.

Se debe estandarizar la denominación de los distintos objetos de la base de datos. (Diseño lógico de base de datos)

Principios de diseño de tablas

1) Estandarización y normalización

La estandarización de datos ayuda a eliminar la redundancia de datos en la base de datos. La normalización se presenta en varias formas, pero la Tercera Forma Normal (3NF) generalmente se considera el mejor equilibrio entre rendimiento, escalabilidad e integridad de los datos. En pocas palabras, el principio de diseño de tablas de una base de datos que cumple con el estándar 3NF es: "Un hecho en un solo lugar", es decir, una tabla solo contiene sus propios atributos básicos y debe descomponerse cuando no son sus propios atributos. . Las relaciones entre tablas están conectadas por claves foráneas. Tiene las siguientes características: Existe un conjunto de tablas dedicadas a almacenar datos relacionados, conectadas por claves.

Por ejemplo, una base de datos 3NF que almacena clientes y sus pedidos relacionados podría tener dos tablas: cliente y pedido. La tabla Pedido no contiene ninguna información sobre el cliente asociado con el pedido, pero se almacena un valor clave en la tabla que apunta a la fila de la tabla Cliente que contiene la información del cliente.

De hecho, en aras de la eficiencia, a veces es necesario no estandarizar la forma.

2) Basado en datos

El uso de datos basados ​​en lugar de codificación hará que sea mucho más fácil modificar y mantener muchas políticas, mejorando en gran medida la flexibilidad y escalabilidad del sistema.

Por ejemplo, si la interfaz de usuario quiere acceder a fuentes de datos externas (archivos, documentos XML, otras bases de datos, etc.). ), se recomienda almacenar la información de ruta y conexión correspondiente en la tabla de soporte de la interfaz de usuario. Además, si la interfaz de usuario realiza tareas como el flujo de trabajo (enviar correos electrónicos, imprimir papelería, modificar el estado de los registros, etc.). ), entonces los datos que generan el flujo de trabajo también se pueden almacenar en la base de datos. La gestión de permisos de roles también se puede completar a través de la unidad de datos. De hecho, si el proceso se basa en datos, puede asignar una responsabilidad considerable a los usuarios, quienes mantendrán sus propios flujos de trabajo.

3) Considere varios cambios

Al diseñar una base de datos, considere qué campos de datos pueden cambiar en el futuro.

Por ejemplo, el apellido es así (preste atención a los apellidos occidentales, como las mujeres que toman el apellido de su marido después del matrimonio, etc., por lo tanto, al crear un sistema para almacenar información del cliente, almacene el apellido). campo en una tabla de datos separada y agregue campos como la fecha de inicio y la fecha de finalización para que se puedan realizar un seguimiento de los cambios en ese elemento de datos.

4) Tres campos útiles que se deben agregar a cada tabla.

El valor predeterminado es DRecordCreationDate, Now() en VB y el valor predeterminado es GETDATE() en SQL Server.

SRecordCreator, por defecto es el usuario predeterminado NOT NULL en SQL Server.

NRecordVersion, el sello de versión del registro; útil para explicar exactamente por qué aparecen datos nulos o faltantes en un registro.

5) Utilice múltiples campos para direcciones y números de teléfono.

Una sola línea que describa una dirección postal no es suficiente.

Address_Line1, Address_Line2 y Address_Line3 proporcionan mayor flexibilidad. Además, los números de teléfono y las direcciones de correo electrónico deben tener su propia tabla de datos, con sus propias categorías de tipo y etiqueta.

6) Utilice entidades de rol para definir columnas que pertenecen a una determinada categoría.

Cuando necesites definir cosas que pertenecen a una categoría específica o que tienen un rol específico, puedes usar entidades de rol para crear asociaciones de tiempo específicas para lograr la autodocumentación.

Por ejemplo, utilice la entidad PERSON y la entidad PERSON_TYPE para describir personas. Por ejemplo, cuando John Smith, ingeniero, fue ascendido a John Smith, director, y finalmente ascendió al alto puesto de John Smith, CIO, todo lo que tuvo que hacer fue cambiar el valor clave de la relación entre las dos tablas PERSON y PERSON_TYPE y agregue un campo de fecha/hora para saber cuándo ocurrió el cambio. De esta forma, la tabla PERSON_TYPE contiene todos los tipos de personal posibles, como asistente, ingeniero, supervisor, CIO o CEO. Otra alternativa sería cambiar el registro de personal para reflejar el cambio en el nuevo título, pero no hay forma de rastrear el momento específico en el que se ubicó al individuo.

7) Seleccione tantos tipos de números y tipos de texto como sea posible.

Tenga especial cuidado al utilizar los tipos smallint y tinyint en SQL. Por ejemplo, si desea ver el total de ventas mensuales y el tipo de campo Total es pequeño, no podrá calcularlo si el total supera los $32 767.

Los campos de texto de tipo ID, como ID de cliente o número de pedido, deben configurarse en un tamaño mayor de lo habitual. Supongamos que el ID del cliente tiene 10 dígitos. Luego debe establecer la longitud del campo de la tabla de la base de datos en 12 o 13 caracteres. Sin embargo, este espacio adicional no requiere reconstruir toda la base de datos en el futuro para permitir el crecimiento de la base de datos.

8) Agregue un campo de marca de eliminación.

Incluya un campo de marca de eliminación en la tabla para que las filas puedan marcarse para su eliminación. No elimine ninguna fila en la base de datos relacional; es mejor utilizar un programa de limpieza de datos y mantener cuidadosamente la integridad del índice. (Diseño lógico de base de datos)

Principios de selección de claves:

1) Los 4 principios del diseño de claves son los siguientes

Crear claves externas para los campos asociados.

Todas las claves deben ser únicas.

Evita utilizar combinaciones de teclas.

Las claves externas siempre están asociadas a un campo clave único.

2) Utilice la clave principal generada por el sistema

Al diseñar la base de datos, utilice la clave generada por el sistema como clave principal, controlando así la integridad del índice de la base de datos. De esta manera, la base de datos y los mecanismos no manuales controlan eficazmente el acceso a cada fila de los datos almacenados. Hay otro beneficio de utilizar una clave generada por el sistema como clave principal: cuando la estructura de la clave es consistente, la clave principal no se puede actualizar.

Al decidir qué campo usar como clave para una tabla, debe tener cuidado con los campos que editará el usuario. En general, no seleccione campos que los usuarios puedan editar como palabras clave.

4) Las claves opcionales a veces se pueden utilizar como claves principales.

Al utilizar más claves opcionales como claves principales, puede crear un índice potente.

Principios para el uso de índices:

Los índices son una de las formas más efectivas de obtener datos de la base de datos. El 95% de los problemas de rendimiento de las bases de datos se pueden resolver mediante tecnología de indexación.

1) Utilice índices agrupados únicos para claves primarias lógicas, índices no agrupados únicos para claves del sistema (como procedimientos almacenados) e índices desagrupados para cualquier columna de clave externa. Considere cuánto espacio tiene la base de datos, cómo se accede a las tablas y si esos accesos son principalmente para lectura y escritura.

2) La mayoría de las bases de datos indexarán los campos de clave principal creados automáticamente, pero no olvide indexar las claves externas, que también son claves de uso común, como ejecutar una consulta para mostrar un registro en la tabla principal y todas las tablas relacionadas.

3) No indexe campos de notas/notas ni campos grandes (con muchos caracteres). Esto hará que el índice ocupe demasiado espacio de almacenamiento.

4) No indexar tablas pequeñas de uso común.

No establezcas ninguna clave para tablas de datos pequeñas, especialmente si tienen inserciones y eliminaciones frecuentes. El mantenimiento del índice para estas operaciones de inserción y eliminación puede llevar más tiempo que escanear el espacio de la tabla.

(Diseño lógico de base de datos)

1) Mecanismo de implementación de integridad:

Integridad de la entidad: clave primaria

Integridad referencial:

Eliminar datos en tabla principal: eliminación en cascada; eliminación restringida; valor nulo

Insertar datos en la tabla principal: inserción restringida

Actualizar datos en la tabla principal: actualización restringida de nivel; valor

DBMS puede lograr la integridad referencial de dos maneras: mecanismo de implementación de clave externa (reglas de restricción) y mecanismo de implementación de activación.

Integridad definida por el usuario:

No nulo; verificar; aumentar

2) Hacer cumplir la integridad de los datos mediante restricciones en lugar de reglas comerciales.

Utilizar sistemas de bases de datos para lograr la integridad de los datos. Esto incluye no sólo la integridad lograda mediante la estandarización, sino también la funcionalidad de los datos. También puede agregar activadores al escribir datos para garantizar la exactitud de los datos. No depende de la capa empresarial para garantizar la integridad de los datos; no puede garantizar la integridad entre tablas (claves externas), por lo que no se puede imponer a otras reglas de integridad.

3) Integridad de instrucciones obligatorias

Elimina datos dañinos antes de que ingresen a la base de datos. Activa la característica de integridad indicada por el sistema de base de datos. Esto mantiene los datos ordenados y obliga a los desarrolladores a dedicar más tiempo a manejar las condiciones de error.

4) Utilice búsquedas para controlar la integridad de los datos.

La mejor manera de controlar la integridad de los datos es limitar las opciones del usuario. Siempre que sea posible, los usuarios deben recibir una lista clara de valores para elegir. Esto reducirá errores y malentendidos al escribir código y proporcionará coherencia en los datos. Algunos datos públicos son especialmente adecuados para la búsqueda: códigos de país, códigos de estado, etc.

5) Adoptar un punto de vista

Para proporcionar otra capa de abstracción entre la base de datos y el código de la aplicación, se puede establecer una vista especial para la aplicación sin necesidad de que la aplicación acceda al datos directamente. Hacerlo también le brinda más libertad a la hora de manejar cambios en la base de datos. 1) Evite el uso de desencadenantes.

La funcionalidad de un disparador a menudo se puede lograr de otras maneras. Los desencadenantes pueden convertirse en una distracción al depurar un programa. Si realmente necesita utilizar un disparador, es mejor que se concentre en registrarlo.

2) Utilice inglés común (o cualquier otro idioma) en lugar de codificación.

Al crear menús desplegables, listas e informes, es mejor ordenarlos por nombre en inglés. Si se requiere codificación, el inglés que el usuario conoce se puede adjuntar a la codificación.

3) Guardar información de uso común

Es muy útil tener una tabla dedicada a la información general de la base de datos. En esta tabla, se almacenan la versión actual de la base de datos, verificaciones/reparaciones (para acceso), nombres de documentos de diseño relacionados, clientes y otra información. Esto habilita un mecanismo simple para rastrear la base de datos, lo cual es especialmente útil en entornos que no son de cliente/servidor cuando un cliente se queja de que su base de datos no cumple con las expectativas y se comunica con usted.

4) Incluyendo el mecanismo de versión

El mecanismo de control de versiones se introduce en la base de datos para determinar la versión de la base de datos que se está utilizando. Las necesidades del usuario siempre cambian con el tiempo. Es posible que eventualmente necesite modificar la estructura de la base de datos. Es más conveniente almacenar la información de la versión directamente en la base de datos.

5) Preparación de archivos

Utilizar herramientas de base de datos para anotar tablas, columnas, activadores, etc. Útil para desarrollo, soporte y seguimiento de cambios.

Documentar la base de datos, ya sea dentro de la base de datos o por separado. De esta forma, cuando busques la segunda versión más de un año después, las posibilidades de cometer un error se reducirán considerablemente.

6) Probar, experimentar y repetir pruebas

Después de establecer o modificar la base de datos, los campos de datos deben probarse con los datos recién ingresados ​​por el usuario. Lo más importante es permitir que los usuarios prueben y trabajen con los usuarios para garantizar que los tipos de datos elegidos satisfagan las necesidades comerciales. Es necesario completar las pruebas antes de que la nueva base de datos entre en servicio real.

7) Verificar el diseño

Una técnica común para verificar el diseño de la base de datos durante el desarrollo es verificar la base de datos a través de un prototipo de aplicación respaldado por una base de datos. En otras palabras, para cada prototipo de aplicación que termine expresando datos, asegúrese de examinar el modelo de datos y comprender cómo extraer los datos.