¿Cómo diseñar métodos de clases de operación de bases de datos?
En el campo de las bases de datos, varios sistemas que utilizan bases de datos suelen denominarse sistemas de aplicación de bases de datos.
1. Base de datos y sistema de información
(1) La base de datos es el núcleo y la base del sistema de información. Organiza una gran cantidad de datos en el sistema de información de acuerdo con un modelo determinado para proporcionar almacenamiento, mantenimiento y recuperación de datos. .
La función permite al sistema de información obtener la información requerida de la base de datos de manera conveniente, oportuna y precisa.
(2) La base de datos es la clave para determinar si las distintas partes del sistema de información pueden integrarse estrechamente y cómo hacerlo.
(3) El diseño de bases de datos es una parte importante del desarrollo y construcción de sistemas de información.
(4) Habilidades y conocimientos que deben poseer los diseñadores de bases de datos:
Conocimientos básicos de bases de datos y tecnología de diseño de bases de datos
Conocimientos básicos de informática y métodos de programación y Habilidad.
Principios y métodos de la ingeniería de software
Conocimiento del dominio de aplicación
2 Características del diseño de bases de datos
La construcción de bases de datos es una combinación de hardware. , combinación de software y hardware.
Tres puntos de tecnología, siete puntos de gestión y doce puntos de datos básicos
La interfaz entre tecnología y gestión se denomina "partes secas"
Base de datos diseño Debe combinarse con el diseño del sistema de aplicación.
Diseño estructural (de datos): Diseñar el marco de la base de datos o estructura de la base de datos.
Diseño (de procesamiento) conductual: diseño de aplicaciones, procesamiento de transacciones, etc.
Diseñar para separar estructura y comportamiento
La ingeniería de software tradicional ignora el análisis y la abstracción de la semántica de datos en las aplicaciones y pospone las decisiones sobre el diseño de la estructura de datos tanto como sea posible. El diseño inicial de bases de datos se dedicó a la investigación de modelos de datos y métodos de modelado, ignorando el diseño de comportamiento.
Como se muestra en la figura:
En tercer lugar, presente brevemente el método de diseño de la base de datos
Método manual de prueba y error
La calidad del diseño Está directamente relacionado con la experiencia y el nivel del diseñador.
Sin el apoyo de teorías científicas y métodos de ingeniería, es difícil garantizar la calidad del proyecto.
Después de que la base de datos ha estado funcionando durante un período de tiempo, a menudo se descubren varios problemas en distintos grados, lo que aumenta los costos de mantenimiento.
Métodos de diseño estándar
Diseñadores manuales
Ideas básicas
Iteración del proceso y refinamiento gradual
Método de diseño estándar (continuación)
Métodos típicos:
(1) Método de Nueva Orleans: el diseño de la base de datos se divide en cuatro etapas.
Método Nan B. Yao: El diseño de la base de datos se divide en cinco pasos.
Método Palmer: Trate el diseño de bases de datos como un proceso paso a paso.
②Diseño asistido por ordenador
ORACLE Designer 2000
SYBASE PowerDesigner
Cuatro pasos básicos del diseño de bases de datos
Proceso de diseño de base de datos (seis etapas)
1. Etapa de análisis de requisitos
Comprender y analizar con precisión las necesidades del usuario (incluidos los datos y el procesamiento)
Es el proceso completo. La base del proceso de diseño y el paso más difícil y que requiere más tiempo.
2. La etapa de diseño de la estructura conceptual
es la clave de todo el diseño de la base de datos.
A través de la síntesis, inducción y abstracción de las necesidades del usuario, se forma un modelo conceptual independiente del DBMS específico.
3. Etapa de diseño de estructura lógica
Convertir la estructura conceptual en un modelo de datos soportado por DBMS.
Optimízalo.
4. Etapa de diseño físico de la base de datos
Elija la estructura física (incluida la estructura de almacenamiento y el método de acceso) que sea más adecuada para el entorno de aplicación del modelo de datos lógico.
5. Etapa de implementación de la base de datos
De acuerdo con los resultados del diseño lógico y el diseño físico, utilice el lenguaje de datos, las herramientas y el lenguaje host proporcionados por DBMS
Establecer la base de datos y compilar y depurar aplicaciones, organizar el almacenamiento de datos y realizar ejecuciones de prueba.
6. Etapa de operación y mantenimiento de la base de datos
El sistema de aplicación de la base de datos se puede poner en operación formal después de la operación de prueba.
Los sistemas de bases de datos deben ser evaluados, ajustados y modificados continuamente durante su funcionamiento.
Características de diseño:
Durante el proceso de diseño, el diseño de la base de datos y el diseño del procesamiento de datos en la base de datos están estrechamente integrados, y los requisitos de estos dos aspectos se analizan simultáneamente. en cada etapa, abstracción, diseño e implementación, aprenden unos de otros y se complementan, mejorando así el diseño de estos dos aspectos.
Instrucciones de diseño para cada etapa del proceso de diseño:
Como se muestra en la figura:
5. El proceso de formación de modelos de bases de datos en todos los niveles
p>
1. Etapa de análisis de requisitos: Requisitos integrales de aplicación de cada usuario.
2. Etapa de diseño conceptual: Formar un modelo conceptual (diagrama E-R) que sea independiente de las características de la máquina y de los productos DBMS.
3. Etapa de diseño lógico: primero, convierta el diagrama E-R en un modelo de datos respaldado por un producto de base de datos específico, como un modelo relacional, para luego formar un modelo lógico de base de datos, basado en el procesamiento del usuario; requisitos y consideraciones de seguridad, en la tabla básica Establecer las vistas necesarias sobre la base para formar el modelo externo de los datos.
4. Etapa de diseño físico: De acuerdo con las características del sistema de gestión de la base de datos y las necesidades de procesamiento, se realizan los arreglos de almacenamiento físico, se establecen índices y se forman patrones en la base de datos.
6. Habilidades de diseño de bases de datos
1. Antes de diseñar la base de datos (etapa de análisis de la demanda)
1) Comprender las necesidades del cliente y preguntar a los usuarios cómo ven la demanda futura. cambios . 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 la etapa de desarrollo posterior.
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 el informe contenga un campo de código postal separado en lugar de colocar el código postal en el 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.
2. Diseño de tablas y campos (diseño lógico de base de datos)
Principios de diseño de tablas
1) Estandarización y estandarización
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 incluye sus propios atributos básicos. Cuando no son sus propios atributos, deben serlo. descompuesto. 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 conectados 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 de pedidos no contiene ninguna información del cliente asociada con el pedido, pero se almacena un valor clave en la tabla que apunta a la fila de la tabla de clientes que contiene la información del cliente.
De hecho, para mejorar la eficiencia, en ocasiones es necesario no estandarizar las tablas.
2. Basado en datos
Al utilizar el software basado en datos en lugar de codificado, muchos cambios de políticas y mantenimiento serán mucho más convenientes, lo que mejorará 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.).
), los datos generados para 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 la base de datos, considere qué campos de datos pueden cambiar en el futuro.
Por ejemplo, el apellido es así (tenga en cuenta 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, se almacena el campo de apellido). en una tabla de datos separada, y se agregan campos como la fecha de inicio y la fecha de finalización para que se puedan realizar un seguimiento de los cambios en este elemento de datos.
Principios de diseño del sitio
4) Tres campos útiles que deben agregarse a cada formulario.
DRecordCreationDate ahora tiene como valor predeterminado () en VB, pero ¿en SQL Server? El valor predeterminado es GETDATE()
¿El valor predeterminado de SRecordCreator en SQL Server NO es NULL? Usuario
NRecordVersion, el sello de versión del registro ayuda a 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 descripción de una línea de 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 el ingeniero John Smith es ascendido a director John Smith y, finalmente, a director de información John Smith, simplemente cambia el valor clave de la relación entre las dos tablas PERSON y PERSON_TYPE y agrega un campo de fecha/hora para saber cuándo cambian. ocurrió. De esta forma, la tabla PERSON_TYPE contiene todos los tipos de personal posibles, como asistente, ingeniero, supervisor, CIO o CEO. Otra opción sería cambiar el registro del individuo para reflejar el cambio en el nuevo título, pero sería imposible 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 establecerse en un tamaño mayor de lo habitual. Supongamos que el ID del cliente tiene 10 dígitos. Luego debes 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 para dar cabida al crecimiento futuro 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.
3. Seleccionar claves e índices (diseño lógico de base de datos)
Principios de selección de claves:
1) 4 principios de diseño de claves
Cree claves externas para campos relacionados. ?
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, la clave generada por el sistema se utiliza como clave principal, por lo que en realidad controla 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. Otra ventaja de utilizar claves generadas por el sistema como claves principales es que las fallas lógicas se descubren fácilmente cuando se tiene una estructura de claves consistente.
3) No utilice la clave del usuario (no haga que la clave principal sea actualizable)
Al decidir qué campo usar como clave para la tabla, debe tener cuidado con el campos que el usuario editará. 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 índices potentes.
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 un índice agrupado único en la clave primaria lógica, un índice desagrupado único en la clave del sistema (como procedimiento almacenado) y un índice desagrupado en 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 registros en la tabla principal y todos tablas relacionadas.
3) No indexe campos de notas/notas, y no indexe campos grandes (con muchos caracteres), lo que 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.
4. Diseño de integridad de datos (diseño lógico de base de datos)
1) Mecanismo de implementación de integridad:
Integridad de la entidad: clave primaria
Referencial integridad:
Eliminar datos en la tabla principal: eliminación en cascada; eliminación restringida; valor nulo
Insertar datos en la tabla principal: inserción restringida
p>Actualizar datos en la tabla principal: actualización en cascada; actualización restringida; valor nulo
El 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 nula; marcada; elevada
2) Aplicar 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 que sean correctos. No depende de la capa empresarial para garantizar la integridad de los datos; no puede garantizar la integridad entre tablas (claves externas) y, por lo tanto, no puede imponer otras reglas de integridad.
3) Integridad de instrucciones obligatorias
Elimina datos dañinos antes de que ingresen a la base de datos. Activa las funciones de integridad especificadas del sistema de base de datos. Esto mantiene los datos limpios y obliga a los desarrolladores a dedicar más tiempo a gestionar 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 tabla de datos directamente. Hacerlo también le brinda más libertad a la hora de manejar cambios en la base de datos.
5. Otras habilidades de diseño
1) Evite el uso de disparadores.
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) Utiliza inglés general (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 agregar 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 almacena la versión actual de la base de datos, la última inspección/reparación (para acceso), el nombre del documento de diseño relevante, el cliente 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)
Documente todos los atajos, convenciones de nomenclatura, limitaciones y capacidades.
Utilice herramientas de bases de datos para anotar tablas, columnas, activadores y más. Útil para desarrollo, soporte y seguimiento de cambios.
Registrar la base de datos, o crear documentos dentro de la base de datos o por separado. De esta manera, cuando vuelvas a la segunda versión más de un año después, la posibilidad de errores se reducirá 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 seleccionados satisfagan las necesidades comerciales. Es necesario completar las pruebas antes de que la nueva base de datos entre en servicio real.
Verificación del diseño
Una técnica común para verificar el diseño de una 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 en última instancia exprese datos, asegúrese de examinar el modelo de datos y comprender cómo extraer los datos.