Red de conocimiento informático - Aprendizaje de código fuente - Optimización de bases de datos (diseño de modelo ER)

Optimización de bases de datos (diseño de modelo ER)

Según la solución completa requerida para acceder datamodule4.adoquery2.sql.add('SELECT número de tarjeta de biblioteca, contraseña DESDE [usuario] DONDE (número de tarjeta de biblioteca =: tt)');

datamodule4.adoquery2.parameters[0].value:=username;

datamodule4.adoquery2.open;

El método Close se llama al configurar propiedades SQL para un TQuery o Componente TADOquery Siempre es seguro, si el componente TQuery o TADOquery ha sido cerrado, llamar al método Close no tendrá ningún efecto. Al configurar una nueva declaración de comando SQL para el atributo SQL en la aplicación, se debe llamar al método Clear para borrar la declaración de comando SQL existente en el atributo SQL. Si no se llama al método Clear, se llama al método Add para configurar SQL. declaración de comando en el atributo SQL Luego, la declaración de comando SQL recién configurada se agregará a la declaración de comando SQL existente. Cuando el programa se esté ejecutando, a menudo aparecerán resultados de consulta inesperados y es posible que el programa incluso no se ejecute.

Aquí se debe prestar especial atención. Generalmente, el atributo SQL del componente TQuery o TADOquery solo puede contener una declaración SQL completa y no se permite configurarlo en varias declaraciones SQL. Por supuesto, algunos servidores de bases de datos también admiten la configuración de múltiples declaraciones SQL en el atributo SQL del componente TQuery o TADOquery. Siempre que el servidor de la base de datos lo permita, podemos configurar múltiples declaraciones SQL para el atributo SQL durante la programación.

Después de configurar el valor del atributo SQL para el componente TQuery o TADOquery, es decir, después de escribir el programa SQL apropiado, hay muchas formas de ejecutar el programa SQL.

Durante el proceso de diseño, después de configurar el atributo SQL del componente TQuery o TADOquery, establezca el valor de su atributo Active en Verdadero, para que el programa SQL en el atributo SQL se pueda ejecutar si la aplicación. tiene TQuery o Si el componente TADOquery está conectado a los componentes de exploración de datos (como TDDGridTDBEdit, etc.), los resultados de la ejecución del programa SQL se mostrarán en estos componentes de exploración de datos.

Mientras se ejecuta la aplicación, el programa SQL en su atributo SQL se puede ejecutar llamando al método Open o al método ExecSQL del componente TQuery o TADOquery a través del programa. El método Open y el método ExecSQL son diferentes. El método Open solo se puede usar para ejecutar declaraciones de consulta en lenguaje SQL (comandos de selección) y devolver un conjunto de resultados de la consulta, mientras que el método ExecSQL también se puede usar para ejecutar otras declaraciones SQL de uso común (como INSERT, UPDATE, DELETE y otros comandos). ), por ejemplo:

Query1.Open (esto devolverá un conjunto de resultados de la consulta)

Si se llama al método Open sin resultados de la consulta, se producirá un error. En este momento se debe llamar al método ExecSQL en lugar del método Open. Por ejemplo:

Query1.ExecSQL (no se devuelve ningún resultado)

Por supuesto, al diseñar una aplicación, los programadores no pueden determinar si la instrucción SQL en el componente TQuery o TADOquery devolverá una consulta. . Como resultado. Para esta situación, se debe utilizar el módulo Try...Except para diseñar el programa. Llame al método Open en la parte Try y llame al método ExceSQL en la parte Except para garantizar el correcto funcionamiento del programa.

Por ejemplo:

Pruebe

Query1.Open

Excepto

Query1.ExecSQL

Fin

Se pueden obtener dos tipos de datos a través de los componentes Tquery o TADOquery:

u datos "activos"

Este tipo de datos es el mismo como a través de TTable Los datos obtenidos por el componente son los mismos. Los usuarios pueden editar y modificar estos datos a través del componente de exploración de datos, y cuando se llama al método Post o cuando el foco abandona el componente de exploración de datos actual, las modificaciones del usuario a los datos. se escriben automáticamente en la base de datos.

uDatos inactivos (datos de solo lectura)

Los usuarios no pueden modificar los datos a través del componente de exploración de datos. De forma predeterminada, los datos del resultado de la consulta obtenidos a través del componente TQuery son datos de solo lectura. Para obtener datos "activos", el valor del atributo RequestLive del componente Tquery o TADOquery debe establecerse en True en la aplicación. En este caso, los datos "activos" se pueden obtener bajo cualquier circunstancia (estableciendo el valor de propiedad de RequestLive en True para obtener datos "activos", además de establecer la propiedad RequestLive del componente TQuery en True, los correspondientes). El comando SQL también debe satisfacer las siguientes condiciones.

En el caso de una consulta de declaración SQL local, para obtener un conjunto de datos actualizable, las limitaciones de la declaración SQL son:

nLa consulta solo puede involucrar una única tabla

Las sentencias nSQL no pueden contener el comando ORDERBY

Las sentencias nSQL no pueden contener el operador de agregación SUM o AVG

nNo se pueden calcular campos en la lista de campos después de Seleccionar

nLa parte WHERE de la declaración Select solo puede contener operaciones de comparación entre valores de campo y constantes. Estos operadores de comparación son: Like, gt;, lt;, gt =, lt; Puede haber operaciones de unión e intersección entre cada operación de comparación: AND y OR

Al consultar la tabla de la base de datos en el servidor de la base de datos a través de declaraciones SQL:

nLa consulta solo puede involucrar una única tabla

La declaración nSQL no puede contener el comando ORDERBY

La declaración nSQL no puede contener la operación SUM o AVG del operador de agregación

Además, si está consultando Sybase tabla de base de datos, entonces solo puede haber un índice en la tabla que se está consultando.

Si se requiere que el componente TQuery o TADOquery en la aplicación devuelva un conjunto de datos de resultado de consulta "activo", pero la instrucción del comando SQL no cumple con las restricciones anteriores, BDE solo puede devolver la consulta SQL al Base de datos local. Conjunto de datos de solo lectura. Para consultas SQL en el servidor de base de datos, solo se pueden devolver códigos de error. Cuando el componente Tquery o TADOquery devuelve un conjunto de datos de resultados de consulta "activo", el valor de su propiedad CanModIfy se establecerá en True.

§3.4 Breve descripción de MSSQLServer

SQLServer es un sistema de administración de bases de datos back-end. Es potente y fácil de operar, y es cada vez más apreciado por la mayoría de los usuarios de bases de datos. Cada vez más herramientas de desarrollo proporcionan interfaces con SQL Server. SQLServer es un sistema de gestión de bases de datos relacionales desarrollado originalmente conjuntamente por Microsoft, Sybase y Ashton-Tate. La primera versión de OS/2 se lanzó en 1988. Después del lanzamiento de Windows NT, Microsoft y Sybase se separaron en el desarrollo de SQL Server. Microsoft trasplantó SQL Server al sistema Windows NT y se centró en desarrollar y promover la versión de Windows NT. Servidor SQL.

SQLServer2000 es la última versión del sistema de administración de bases de datos SQLServer lanzada por Microsoft. Esta versión hereda las ventajas de la versión SQLServer7.0 y al mismo tiempo agrega muchas más funciones avanzadas, facilidad de uso y. escalabilidad.Tiene las ventajas de un buen rendimiento y un alto grado de integración con el software relacionado. Se puede utilizar en una variedad de plataformas, desde computadoras portátiles con Microsoft Windows 98 hasta grandes servidores multiprocesador con Microsoft Windows 2000. MSSQLServer no solo se puede utilizar en la gestión de bases de datos grandes y medianas para establecer bases de datos relacionales distribuidas, sino que también puede desarrollar bases de datos de escritorio. De hecho, la estructura básica del procesamiento de la base de datos SQLServer adopta el modelo de base de datos relacional. Sin embargo, creo que todos pueden encontrar fácilmente que el método de procesamiento de la base de datos de SQLServer utiliza métodos y espíritu de operación orientados a objetos. En otras palabras, SQLServer puede lograr todas las funciones. basado en algunos objetos que se han establecido en el sistema. Es una estructura del sistema que es bastante OO (orientada a objetos).

SQLServer Enterprise Manager es la principal herramienta de administración de SQLServer. Proporciona una interfaz de usuario que cumple con los estándares MMC, permitiendo a los usuarios:

·Definir grupos de instancias de SQLServer.

·Registrar servidores individuales en grupos.

·Configurar todas las opciones de SQLServer para cada servidor registrado.

·Crea y administra todas las bases de datos, objetos, inicios de sesión, usuarios y permisos de SQLServer en cada servidor registrado.

·Define y realiza todas las tareas de administración de SQLServer en cada servidor registrado.

·Diseñe y pruebe de forma interactiva sentencias, lotes y scripts SQL llamando al Analizador de consultas SQL.

·Llamadas de despertador a varios asistentes definidos para SQL Server.

·

Capítulo 3 Análisis del diseño del sistema de gestión de bibliotecas

§4.1 Análisis de requisitos de la aplicación

El sistema de gestión de bibliotecas debe cumplir tres aspectos : Las necesidades de estos tres aspectos son los prestatarios de libros, el personal de la biblioteca y los administradores de la biblioteca. Las necesidades de los prestatarios de libros son consultar sobre los libros almacenados en la biblioteca, el estado del préstamo personal y la modificación de la información personal. El personal de la biblioteca opera según los requisitos de préstamo y devolución de los prestatarios de libros y, al mismo tiempo, elabora un informe de préstamo o devolución; el prestatario Verificar y confirmar las funciones de los administradores de la biblioteca son las más complejas, incluida la gestión y el mantenimiento del personal, los prestatarios de libros y los libros, así como la visualización y el mantenimiento del estado del sistema y la generación de informes de devolución de libros.

Los prestatarios de libros pueden verificar directamente el estado de los libros de la biblioteca. Si el prestatario de libros inicia sesión en el sistema con su número de tarjeta de biblioteca y contraseña, también puede consultar sobre su estado de préstamo y. mantener cierta información personal. En circunstancias normales, los prestatarios de libros solo deben consultar y mantener su propio estado de préstamo e información personal. Si consultan y mantienen el estado de préstamo y la información personal de otros prestatarios, deben conocer los números de tarjeta de la biblioteca y las contraseñas de otros prestatarios. Son difíciles de obtener, especialmente las contraseñas, por lo que no sólo cumplen con los requisitos de los prestatarios de libros, sino que también protegen la privacidad personal de los prestatarios de libros.

El personal de la biblioteca tiene la autoridad para modificar los registros de préstamo y devolución de los prestatarios de libros, por lo que se debe prestar más atención al inicio de sesión del personal en este módulo. En este módulo, el personal de la biblioteca puede agregar registros de préstamo o devolución de libros para los prestatarios de libros, e imprimir y generar los informes correspondientes para que los usuarios los vean y confirmen.

Las funciones de administrador de biblioteca tienen una gran cantidad de información y requieren la máxima seguridad y confidencialidad de los datos. Esta función realiza la gestión y las estadísticas de la información del libro, la información del prestatario, la información general de la situación del préstamo y la visualización y el mantenimiento de la información del personal y del administrador.

Los administradores de la biblioteca pueden explorar, consultar, agregar, eliminar, modificar y contar la información básica de los libros; explorar, consultar, contar, agregar, eliminar y modificar la información básica de los prestatarios de libros, explorar, consultar y contar la información de préstamo de la biblioteca. Sin embargo, la información de préstamo no se puede agregar, eliminar ni modificar. Esta parte de la función debe ser realizada por el personal de la biblioteca. Sin embargo, al eliminar un registro de información básica de un prestatario de libros, se debe realizar la eliminación en cascada del registro de préstamo del préstamo. implementarse. Y también debería tener la función de generar e imprimir informes para recuperar libros retroactivos.

Dado que no hay ningún dispositivo de impresión para realizar pruebas en este sistema, la impresión del informe se cambia a la vista previa del informe por adelantado.

Diseñar permisos de operación y métodos de inicio de sesión para diferentes usuarios

Consulta de libros abierta a todos los usuarios

Los prestatarios mantienen la información personal de los prestatarios

Los prestatarios ver información del estado del préstamo personal

Mantener las contraseñas personales de los prestatarios

Operar la base de datos y generar informes según el estado del préstamo

Administrar la base de datos según el estado de la devolución Operar la base de datos y generar informes

Consultar y recopilar estadísticas sobre información diversa

Mantener información del libro

Mantener información del personal y del administrador

Mantener información del prestatario

Procesar la integridad de la información

Generar informes de libros prestados vencidos

Figura 4-2 Resumen de requisitos de aplicaciones de bases de datos para sistemas de gestión de bibliotecas

Con base en el análisis de demanda anterior y omitiendo algunos detalles (como no considerar el inicio de sesión del usuario; mantenimiento de registros), se obtiene el siguiente diagrama de flujo de datos de tres capas.

§4.2 División del módulo de funciones del sistema

El diagrama de bloques de funciones del sistema se muestra en la Figura 4-10.

§4.3 Diseño de base de datos del sistema

4.3.1 Diseño conceptual

En la etapa de diseño conceptual, los diseñadores analizan los requisitos y restricciones de datos y procesamiento desde la perspectiva del usuario. , produciendo un modelo conceptual que refleja la perspectiva del usuario. Luego convierta el modelo conceptual en un modelo lógico. Separar el diseño conceptual del proceso de diseño hace que las tareas en cada etapa sean relativamente simples, lo que reduce en gran medida la complejidad del diseño y no está restringido por un DBMS específico.

El diseño conceptual de la base de datos utilizando el método ER se puede dividir en tres pasos: primero, diseñar el modelo ER local, luego integrar cada modelo ER local en un modelo global y finalmente optimizar el modelo ER global. para obtener el modelo final, es decir, modelo conceptual.

(1) Diseñar un modelo ER local

Definición de entidades y atributos:

Libro (número de libro, nombre del libro, autor, editorial, fecha de publicación, Observaciones, precio, cantidad,)

Prestatario (número de tarjeta de biblioteca, nombre, sexo, tarjeta de identificación, número de contacto, contraseña)

Identidad (número de identidad, descripción de identidad, número máximo de préstamos)

Categoría de libro (número de categoría de libro, descripción de categoría)

La "relación" del modelo ER se utiliza para describir la asociación entre entidades. Una forma completa es examinar si existe una relación entre dos tipos de entidades cualesquiera en la estructura local en función de los resultados del análisis de requisitos. Si hay una conexión, determine además si es 1:N, M:N o 1:1, etc. También es necesario examinar si existe una relación dentro de un tipo de entidad, si existe una relación entre dos tipos de entidad, si existe una relación entre múltiples tipos de entidad, etc. La definición de contacto se muestra en la Figura 4-5. La explicación es la siguiente:

uUn prestatario (usuario) solo puede tener una identidad, y una identidad puede ser propiedad de varios prestatarios;

uUn libro solo puede tener una identidad Pertenece a una categoría de libro (categoría) y una categoría de libro pueden contener varios libros;

uUn usuario puede tomar prestados varios libros diferentes y varios usuarios diferentes también pueden tomar prestado un libro.

(2) Diseñar el modelo ER global

Una vez diseñados todos los modelos ER locales, el siguiente paso es sintetizarlos en una única estructura conceptual global.

La estructura conceptual global no sólo debe soportar todos los esquemas ER locales, sino que también debe representar razonablemente una estructura conceptual de base de datos completa y consistente.

1) Determinar el tipo de entidad pública

Para proporcionar una base para fusionar múltiples esquemas ER locales, primero debemos determinar las entidades públicas en cada tipo de entidad local. En este paso solo identificamos el tipo de entidad pública según el nombre y la clave del tipo de entidad. Generalmente, el tipo de entidad con el mismo nombre se utiliza como un tipo de candidato para el tipo de entidad pública, y el tipo de entidad con la misma clave se utiliza como otro tipo de candidato para el tipo de entidad pública.

2) Fusión en modo ER parcial

El principio de fusión es: primero fusionar dos por dos; primero fusionar aquellas estructuras locales que están relacionadas en el mundo real y finalmente agregar estructuras locales independientes; .

3) Eliminar conflictos

Los conflictos se dividen en tres categorías: conflictos de atributos, conflictos estructurales y conflictos de nombres.

El propósito de diseñar un modelo de ER global no es fusionar formalmente varios modelos de ER locales en un modelo de ER, sino eliminar conflictos y convertirlo en uno que pueda ser entendido y aceptado por todos los usuarios. modelo.

3) Optimización del esquema ER global

Después de obtener el esquema ER global, para mejorar la eficiencia del sistema de base de datos, el esquema ER debe optimizarse aún más de acuerdo con requisitos de procesamiento. Un buen modelo de ER global, además de reflejar de manera precisa y completa los requisitos funcionales del usuario, también debe cumplir las siguientes condiciones: el número de tipos de entidad debe ser lo más pequeño posible; el número de atributos contenidos en el tipo de entidad debe ser lo más pequeño posible; posible; el número de atributos entre tipos de entidad debe ser lo más pequeño posible; Contacto sin redundancia;

En resumen, el modelo ER global del "Sistema de gestión de biblioteca" se muestra en la Figura 4-13.

4.3.2 Diseño lógico de una base de datos relacional

Dado que el resultado del diseño conceptual es un diagrama ER, el DBMS generalmente adopta un tipo relacional (el MSSQLServer que uso es un DBMS relacional), por lo que El proceso de diseño lógico de una base de datos es el proceso de convertir el diagrama ER en un esquema relacional. Debido a las ventajas del modelo relacional, el diseño lógico puede hacer pleno uso de la teoría de estandarización de bases de datos relacionales para formalizar el proceso de diseño. El resultado del diseño es la definición de un conjunto de patrones relacionales.

(1) Exportar el esquema de relación inicial

libro (número de libro #, nombre del libro, categoría del libro #, autor, editorial, fecha de publicación, comentarios, precio, cantidad) clase ( Categoría del libro #, nombre de la categoría) usuario (número de tarjeta de biblioteca #, nombre, sexo, número de identidad #, tarjeta de identificación, número de contacto, contraseña) ID (número de identidad #, descripción de identidad, número máximo de préstamos) Propietario (número de tarjeta de biblioteca # , número de libro #, fecha de préstamo)

Figura 4-14 Conjunto de patrones de relación

(2) Generar subpatrones

Los usuarios utilizan los subpatrones descripción de esa parte de los datos. Además de señalar los datos utilizados por los usuarios, también se debe señalar la conexión entre los datos y los datos correspondientes en el esquema conceptual, es decir, se debe señalar la correspondencia entre el esquema conceptual y el subesquema.

Submodo de préstamo (número de tarjeta de biblioteca #, nombre, número de libro #, nombre del libro, fecha de préstamo)

Figura 4-15 Parte del submodo

(3) De acuerdo con los problemas que ocurrieron en el diseño, también agregué dos modelos de relación al escribir el sistema:

1.ownertemp: se usa para almacenamiento temporal cuando el personal se encarga de pedir prestado y devolver libros. La información sobre el préstamo y la devolución de libros se puede utilizar al imprimir informes.

2. Keyer: se utiliza para almacenar los nombres de usuario, contraseñas y permisos del personal y los administradores de la biblioteca, de modo que el personal o los administradores de la biblioteca puedan verificar la identidad del usuario al ingresar al módulo funcional correspondiente.

4.3.3 Implementación de la base de datos

Elijo la base de datos MicrosoftSQLServer2000 (Enterprise Edition) para realizar el diseño lógico de la base de datos. Primero cree siete tablas de bases de datos básicas como se muestra en la Tabla 4-1-4-7 y luego establezca la relación entre cada tabla según el diagrama ER global, como se muestra en la Figura 4-8.

Tabla 4-1 Estructura de la tabla de información básica del prestatario (Usuario)

Tabla 4-2 Estructura de la tabla de información del libro (Libro)

Tabla 4 - 3 Estructura de la tabla de información de categoría de libro (Clase)

Tabla 4-4 Estructura de la tabla de información de identidad del prestatario (ID)

Tabla 4-5 Estructura de la información del estado del préstamo table (Owner )

Tabla 4-6 Estructura de la tabla de información de almacenamiento temporal del estado del préstamo (Ownertemp)

Nota: Los campos de índice se agregan a la tabla de propietario y a la tabla de propietariotemp para identificar de forma única un registro del Libro de préstamo y configúrelo como el logotipo, y la semilla del logotipo es 1.

Tabla 4-7 Estructura de las tablas de información del personal y administrador (Keyer)

Figura 4-8 Diagrama de relaciones entre tablas de la base de datos

Capítulo 5 Aplicación del sistema de gestión de libros diseño

§5.1 Composición del módulo de formulario del sistema

§5.2 Configuración del formulario del módulo de datos

Al escribir aplicaciones de bases de datos, a menudo es necesario Cuando se encuentra una situación en la que muchos componentes y formularios acceden a la misma fuente de datos al mismo tiempo, será un artefacto que consumirá mucho tiempo configurar una fuente de datos para cada componente o formulario, y es necesario asegurarse de que estas fuentes de datos sean realmente las mismas. También requiere algo de esfuerzo. Entonces, ¿se pueden administrar estas fuentes de datos de manera centralizada, preferiblemente como un módulo unificado, y este módulo se puede introducir cuando sea necesario sin operar directamente la fuente de datos? DataModule es la mejor respuesta a este problema. En pocas palabras, el módulo de datos es un formulario que se utiliza para administrar de forma centralizada las fuentes de datos. Este formulario se puede introducir en cualquier momento donde sea necesario.

Pero cuando estaba desarrollando este sistema, comencé a usar el módulo de datos, pero encontré algunos problemas durante el uso. Y considerando que este sistema utiliza muchos controles TADOQuery, el uso de controles de datos puede causar problemas de administración, como confundir las funciones de cada control de datos. Considere también que el uso de ADOQuery generado dinámicamente puede ser más eficiente en cuanto a recursos. Por lo tanto, en mi sistema, el primer módulo que comencé a construir, el "Módulo personal del prestatario", también usó un poco el módulo de datos. Pero la mayoría de los dos módulos creados posteriormente se implementan generando ADOQuery dinámicamente. Y debido a que las declaraciones SQL se agregan dinámicamente, no hay muchos controles en el módulo de datos.

§5.3 Implementación de la pantalla de inicio

La pantalla de inicio es para dar a los usuarios una buena impresión y profundizar la afinidad del software. No tiene ninguna función real que se agregue al Form1. componentes de forma y tiempo. Se omite la forma de la pantalla de inicio y el código fuente principal es el siguiente:

§5.4 Implementación del formulario de inicio de sesión de usuario

Este formulario es para tres usuarios diferentes (usuarios generales, Personal, administradores) brindan opciones para ingresar diferentes módulos para satisfacer las necesidades de diferentes usuarios. El código fuente es relativamente simple y se omite.

§5.5 Implementación del formulario de autenticación de contraseña de usuario

Este formulario es para que el personal o los administradores de la biblioteca inicien sesión según el nombre de usuario y la contraseña, y verifiquen según el nombre de usuario. "El campo en la tabla Keyer se utiliza para distinguir entre ingresar al módulo de administrador de biblioteca o al módulo de personal. La interfaz del formulario y el código fuente son los siguientes

§5.6 Implementación del módulo de servicio al prestatario

Las funciones del formulario de servicio al prestatario son principalmente consultar libros, verificar el estado de los préstamos personales y modificación de información. El diagrama de la interfaz es el siguiente:

5.6.1 Implementación de la función de consulta de libros

En este sistema, cualquiera tiene autoridad para utilizar la función de consulta sin restricciones. La interfaz es la siguiente.

Dado que hay muchas funciones de consulta implementadas, como búsqueda de coincidencia completa y búsqueda difusa de coincidencia parcial basada en el número de libro, el nombre del libro y otros campos, y lógica Y basada en múltiples condiciones. O una búsqueda de múltiples condiciones usando OR lógico.

Los métodos de implementación son similares, por lo que solo se proporciona el código para la búsqueda de múltiples condiciones, de la siguiente manera:

5.6.2 Implementación de la función de inicio de sesión del prestatario

La implementación de esta función es relacionado con el personal y El método para implementar la función de inicio de sesión del administrador es aproximadamente el mismo, e incluso más simple. El número de tarjeta de préstamo y la contraseña se encuentran en la tabla Usuario para ver si coinciden con lo que ingresó el usuario. Si son consistentes, el usuario puede ver el estado de su préstamo y mantener parte de su información. Se omiten el código fuente y la interfaz de inicio de sesión del prestatario.

5.6.3 Implementación de la función de estado de endeudamiento del prestatario

Cuando el prestatario inicie sesión correctamente en el sistema, se activará esta función, permitiendo al usuario ver su estado de endeudamiento. . En este sistema, la visualización de información generalmente se implementa usando ListView, y DBgrid solo se usa en casos raros, porque creo que ListView está mejor implementado y puede separar completamente los datos de información de los usuarios.

Aquí podemos consultar el estado del préstamo de acuerdo con los diferentes requisitos de los prestatarios, incluida la verificación de toda la información del préstamo, el estado del préstamo de un determinado libro y la consulta según la cantidad de días que ha estado prestado. Entre ellos, es más representativo consultar según el número de días de préstamo, incluidos el método 1 y el método 2. El código fuente de esta función se proporciona a continuación

Método de consulta uno según los días de préstamo

Método de consulta dos según los días de préstamo

5.6.4 Datos personales del prestatario Implementación de la función de mantenimiento

Esta función permite la modificación de cierta información del prestatario actual, pero no se permite modificar información como el número de tarjeta de la biblioteca y la categoría de identidad. Esta es la función del módulo bibliotecario. En esta interfaz, haga clic en el botón modificar y aparecerá el formulario "Modificar" (Form8). Haga clic en el botón modificar contraseña y aparecerá groupbox8, donde podrá modificar la contraseña. El código fuente clave es el siguiente.

El código fuente para modificar información personal se proporciona aquí:

El código fuente para modificar la contraseña se proporciona aquí:

5.7 Personal - Módulo de préstamo/devolución de libros Implementación

5.7.1 El personal implementa la función de préstamo de libros

En esta función, el personal ingresa el número de tarjeta de préstamo del prestatario y el número del libro que se va a tomar prestado, y luego Haga clic en el botón de préstamo para pedir prestados libros. Teniendo en cuenta que en la práctica, puede suceder que solo se conozca el nombre del libro pero no el número del libro, se agrega una función de conversión en la parte inferior de esta interfaz, que puede convertir el nombre del libro en un número de libro antes de tomar prestado el libro.

Una vez completado el préstamo, se generará un informe de préstamo para que el prestatario lo verifique y confirme. El efecto de impresión del informe de préstamo se muestra a continuación. La implementación es relativamente simple y el proceso de implementación es. omitido.

5.7.2 Implementación de la función de devolución de libros por parte del personal

En esta función, el personal devuelve los libros según el número de tarjeta de la biblioteca del prestatario y el número del libro devuelto. Y en función de la situación de devolución que puede ocurrir en la realidad donde solo se conoce el nombre del libro pero no el número del libro, se ha agregado la función de devolución por nombre del libro. Esta función es un método mejorado para convertir nombres de libros en números de libros en la función de préstamo de libros, de modo que no es necesario convertir primero y luego pedir prestado como en la función de préstamo. Una vez completada la devolución, el informe de devolución también se imprimirá para que el usuario lo verifique y confirme.

Implementación del módulo bibliotecario 5.8

5.8.1 Implementación de la función de gestión de libros del bibliotecario

En esta función, puede (* libros Ingrese el número de libro en el número), haga clic en el botón de búsqueda y la información se mostrará en cada componente correspondiente, o puede realizar una búsqueda difusa del registro deseado por el nombre del libro, y la información del primer registro se mostrará en cada componente correspondiente, o puede Haga clic en un registro en el componente ListView en la parte inferior y la información del registro seleccionado también se mostrará en cada componente correspondiente. En la función de almacenamiento, se pueden insertar nuevos registros de libros siempre que no sean el mismo número de libro y los campos marcados con * no estén vacíos. La eliminación elimina los registros del libro en la tabla Libro. Si se toman prestados, los registros en la tabla del propietario también se pueden eliminar según la solicitud del usuario.

Debido a que las funciones de modificación y almacenamiento de libros son las mismas que el proceso de implementación de modificación y adición de registros de personal, a continuación solo se proporciona el código fuente de la función de eliminación, de la siguiente manera

5.8.2 Biblioteca Administrador Implementación de funciones de gestión de personal y administradores

En esta función podrás agregar personal o administradores, o modificar sus contraseñas y permisos.

En esta función, si se selecciona un registro en el ListView, la información se mostrará en el componente correspondiente a la derecha, pudiendo el administrador también modificar estos registros o agregar nuevos registros. Y también puede hacer clic en el botón Eliminar para eliminar el registro o registros seleccionados. La función de eliminación es la misma que la eliminación de registros contables, por lo que a continuación solo se detalla el proceso de implementación de agregar y modificar.

5.8.3 Implementación de la capacidad del bibliotecario para modificar categorías de libros y registrar estadísticas.

De este formulario, las categorías de libros se pueden eliminar, agregar y modificar. Este módulo El proceso de implementación del. La función es la misma que la de eliminar, agregar y modificar registros de libros, pero este formulario también puede realizar estadísticas basadas en categorías de libros. También puede contar el número total de libros, el número de libros en stock y el número de libros prestados. basado en la tabla de libros y la tabla de propietarios y la cantidad de libros vencidos prestados. A continuación se presentan varias funciones y procesos en el proceso de implementación de contar el número total de libros, el número de libros en stock, el número de libros prestados y el número de libros prestados vencidos

5.8.4 Prestatario administrador de la biblioteca gestión Implementación de la función

Para consultar al prestatario, puede encontrar la información del prestatario según el número de tarjeta de la biblioteca del prestatario o su nombre o número de identidad, o puede realizar una búsqueda difusa La implementación de esta función es. Lo mismo que la implementación de la búsqueda de libros anterior. El proceso es general y no se explicará en detalle.

5.8.5 Implementación de funciones de mantenimiento de la biblioteca y gestión de prestatarios

Esta función puede ver, agregar, eliminar y modificar información del prestatario. El proceso de implementación del botón de actualización se proporciona aquí

5.8.6 Implementación de la función de mantenimiento de identidad de la biblioteca

Esta parte es para administrar la identidad de los prestatarios y puede agregar y eliminar identidades. Revisar. Y de manera similar, cuando se seleccionan uno o más registros en la vista de lista, la información se mostrará en el componente correspondiente a la derecha. El proceso de implementación de esta función es similar al descrito anteriormente, por lo que se omite aquí.

5.8.7 Implementación de la función estadística de prestatarios de la biblioteca

Esta función realiza estadísticas según la identidad de los prestatarios, y obtiene el número total de prestatarios con una determinada identidad. combinación de tales identidades El número de prestatarios que toman prestados libros y el número de libros prestados se indican a continuación.

5.8.8 Implementación de la función de registro de préstamos vencidos estadísticos de la biblioteca

El informe recordatorio de préstamos vencidos impreso es como se muestra a continuación:

Este informe se puede mostrar El préstamo la información ordenada en orden ascendente por número de tarjeta de biblioteca excede el límite de tiempo limitado Las principales declaraciones SQL son las siguientes:

Implementación de la visualización de información del sistema 5.9

Muestra la información de este sistema. Y las palabras de la derecha se desplazan hacia arriba para mostrarse, y la implementación principal es la siguiente:

Además, la compra de productos del grupo de máquinas virtuales es súper barata