Diseño de base de datos del sistema de gestión de suscripción de libros de texto universitarios

Resumen

Con el rápido desarrollo de las computadoras e Internet, cada vez más industrias se han dado cuenta de la informatización y automatización de la gestión, y la industria de la educación no es una excepción. Sin embargo, en muchos colegios y universidades, la suscripción de libros de texto, como un eslabón muy importante en el trabajo docente escolar, aún no se ha realizado plenamente la gestión de la información. Por lo tanto, teniendo como objetivo las dificultades de la gestión manual en el proceso de gestión de suscripciones de libros de texto universitarios, este sistema utiliza SQLserver 2012 para desarrollar un sistema de información de gestión de suscripciones de libros de texto universitarios para realizar la gestión de la red de suscripción de libros de texto, mejorar la eficiencia del trabajo y reducir los errores en los libros de texto. suscripción.

El desarrollo del sistema de gestión de suscripción de libros de texto incluye principalmente el establecimiento y mantenimiento de una base de datos. Este sistema requiere el establecimiento de una biblioteca con sólida consistencia e integridad de datos y buena seguridad de datos, y requiere que el programa de aplicación sea completamente funcional y fácil de usar. El sistema realiza funciones como suscripción, compra y distribución de libros multiprecio, reposición bibliográfica antes de la llegada, gran cantidad de trabajos de entrada y búsqueda bibliográfica.

Palabras clave: diseño de tablas de bases de datos de suscripción de libros de texto

1 Resumen del sistema 

El sistema de gestión de suscripción de libros de texto es una parte integral de la gestión de la enseñanza, y es un sistema de gestión de información (MIS) típico. El modo de gestión de suscripción de libros de texto de las escuelas generales se maneja sobre la base del sistema de año escolar y la clase como una unidad. Con el aumento del número de estudiantes, la creciente diversificación de los materiales didácticos y las crecientes diferencias en los materiales didácticos entre estudiantes individuales, la gestión de la suscripción de libros de texto en colegios y universidades ha presentado una situación que no se puede abordar. Por ello, es de gran trascendencia y urgencia establecer un conjunto de modalidades de gestión de suscripción de material didáctico y un sistema de gestión acorde con la selección de cursos, y las condiciones, conceptos de gestión y nivel técnico existentes lo han hecho posible.

Para adaptarse mejor a las necesidades de la gestión escolar actual y evitar las desventajas de la gestión manual, se ha desarrollado un sistema de gestión de suscripción de material didáctico, que puede realizar la gestión automática de carga y recepción de material didáctico.Este sistema incluye cuatro funciones, a saber , la gestión de almacenamiento de materiales didácticos, la gestión de tarifas de libros del estudiante, la gestión del sistema y la investigación integral.

2 Descripción del problema

El sistema de gestión de suscripciones de libros de texto es un software que realiza funciones básicas como el inicio de sesión del sistema y la gestión de información de libros de texto. A través de la investigación y el análisis de los modelos de gestión existentes y el software de gestión existente, se establece un modelo de sistema. El sistema debe realizar funciones como la entrada de información básica, modificación y consulta; Realice la función de análisis estadístico que cumple varias condiciones, y algunos datos estadísticos deben presentarse en forma de gráficos. La gestión de suscripción de libros de texto es totalmente responsable de toda la información de suscripción de libros de texto en la escuela. Es de importancia positiva promover la automatización y la gestión sin papel de la suscripción de libros de texto escolares. El sistema de gestión de suscripciones de libros de texto está diseñado para esta situación.

La información involucrada es:

(1) Información de suscripción de libros de texto. Los elementos de datos incluidos son: número de suscripción, título del libro, editorial, autor, edición, precio unitario, curso, carrera, clase, número de personas, fecha, etc.

(2) Información del inventario de material didáctico. Los datos que se incluyen son: número de suscripción, título del libro, editorial, autor, edición, precio unitario, cantidad, etc.

(3) Información de compra de libros de texto. Los elementos de datos incluidos son: número de suscripción, título del libro, editorial, autor, edición, precio unitario, curso, especialidad, clase, cantidad, fecha, etc.

(4) Información de la colección. Los elementos de datos incluidos son: fecha, clase, cantidad, etc.

(5) Información del usuario. Los elementos de datos incluidos son: código de usuario, nombre de usuario, contraseña, cumpleaños, categoría, etc.

La función principal de este sistema consta de las siguientes partes:

Después de la investigación y el análisis, el sistema de gestión de suscripción de libros de texto completa principalmente las siguientes funciones:

(1) Módulo de información básica del usuario: información básica de los usuarios.

(2) Módulo de información de inventario de material didáctico: registre la cantidad de inventario y la información básica de los materiales didácticos.

(3) Módulo de información de suscripción de libros de texto: para consultar la información de suscripción de libros de texto requerida, es decir, los usuarios pueden agregar, modificar, eliminar y consultar la información de suscripción.

(4) Módulo de información de compra de libros de texto: para consultar la información de compra de libros de texto requerida, es decir, el usuario agrega, modifica, elimina y consulta información de suscripción.

(5) Módulo de información de recibo: información sobre el registro del estado de pago de las compras de libros de texto.

3 Análisis de la demanda

El análisis de requisitos es la base del diseño de la base de datos y sus errores afectarán a todo el diseño. El análisis de requisitos es también la etapa más tediosa y difícil para los diseñadores.

3.1 Diagrama de flujo de datos

El análisis del flujo de datos consiste en abstraer y aislar el flujo de datos dentro de la organización, dejando de lado estructuras organizativas específicas, etc., para descubrir y resolver problemas en el flujo de datos. Después de contar la demanda de material didáctico, cada departamento envía el pedido de material didáctico al departamento de gestión de material didáctico. El departamento de gestión de material didáctico elabora un plan para generar un cronograma de material didáctico y envía el formulario de pedido al proveedor para solicitar el proveedor para suministrar los materiales didácticos y completar la compra de materiales didácticos Después del trabajo, llevar a cabo el registro de almacenamiento, generar documentos de almacenamiento y enviarlos al departamento financiero para su liquidación. Cada clase entregará la lista de libros al departamento de material didáctico, y el departamento de material didáctico distribuirá los materiales didácticos a cada clase y registrará la entrega, generará una lista de entrega y la enviará al departamento financiero para la liquidación de costos, y generará un lista de costos de libros de texto.

Su diagrama de flujo de datos se muestra en la siguiente figura.

 Figura 1 Diagrama de flujo de datos

3.2 Diccionario de datos

Tabla 3-1 Descripción del elemento de datos

Nombre del elemento de datos: número de libro de texto

Breve descripción: almacenar la información de cada libro de texto

Breve Descripción: Codificación de Libros de Texto Escolares

Tipo y Longitud: Numérico, 7 dígitos

Tipo de valor de datos: (continuo/discreto) discreto

Tabla 3-2 Descripción de la estructura de datos

数据结构名:教材管理表单

简述: 存储教材入出库等的表单

数据结构组成:征订号+书名+出版社+作者+版次+单价+课程+专业+班级+人数+日期+操作员

表3-3 数据处理描述   

处理逻辑名:制定计划

加工编号:P1

简要描述:根据各系征订教材以及所缺教材定购计划。

输入数据流: 教材订单。

输出数据流: 教材计划表

表3-4  数据存储描述

数据存储名:入库教材

简述:存储入库教材的基本信息。

文件组成:征订号+书名+出版社+作者+版次+单价+数量。

数据存储名:出库教材

简述:存储出库教材的基本信息。

文件组成:征订号+书名+出版社+作者+版次+单价+数量。

数据流名:教材入库单

简述:存储入库教材的基本信息。

文件组成:征订号+书名+出版社+作者+版次+单价+数量。

表3-5  数据流描述

数据流名:教材出库单

简述:存储出库教材的基本信息。

文件组成:征订号+书名+出版社+作者+版次+单价+数量。

4 概念结构设计

4.1实体分析描述

从用户角度来说,数据库的需求主要体现在对数据库表的增删改查。因此,数据库结构需同时满足两个要素:输入、输出。在进行数据设计时,首先需收集数据,然后分析数据结构,最后处理数据。根据本系统的需求,设计以下主要的数据项和数据结构:

(1)用户信息实体:用户编号、姓名、性别、所属专业、班级、密码、出生年月、角色、类别。

(2)教材购买信息实体:征订号、书名、出版社、作者、版次、单价、课程、专业、班级、数量、日期。

(3)教材库存信息实体:征订号、书名、出版社、作者、版次、单价、数量。

(4)教材征订信息实体:征订号、书名、出版社、作者、版次、单价、课程、专业、班级、人数、日期。

(5)收款信息实体:日期、班级、金额。

4.2整体E-R图

 图2 概念结构设计E-R图

5 逻辑结构设计

5.1 关系模式

关系模式:用户信息(用户编号、姓名、性别、所属专业、班级、密码、出生年月、角色)

模式判定:用户信息∈2NF,且每个非主属性都不传递函数依赖于用户信息的主关系键,所以用户信息∈3NF

关系模式:教材购买信息(征订号、书名、出版社、作者、版次、单价、课程、专业、班级、数量、日期)

模式判定:教材购买信息∈2NF,且每个非主属性都不传递函数依赖于教材购买信息的主关系键,所以教材购买信息∈3NF

关系模式:教材库存信息(征订号、书名、出版社、作者、版次、单价、数量)

Juicio de modo: información de inventario de libros de texto ∈ 2NF, y cada atributo no primario no transfiere la función depende de la clave de relación primaria de la información de inventario de libros de texto, por lo que la información de inventario de libros de texto ∈ 3NF

Modelo de relación: información de suscripción del libro de texto (número de suscripción, título del libro, editorial, autor, edición, precio unitario, curso, especialización, clase, número de personas, fecha)

Juicio de modo: información de suscripción de libros de texto ∈ 2NF, y cada atributo no primario no transfiere la función depende de la clave de relación principal de la información de suscripción de libros de texto, por lo que la información de suscripción de libros de texto ∈ 3NF

Modo de relación: información de cobro (fecha, clase, monto)

Juicio de modo: información de pago ∈ 2NF, y cada atributo no primario no transfiere la función depende de la clave de relación primaria de la información de pago, por lo que la información de pago ∈ 3NF

5.2 Diagrama de relación de datos

Como se muestra en la figura se muestra el diagrama de relaciones generado en la base de datos.

Figura 3 Diagrama ER de diseño de estructura conceptual

 5.3 Diagrama de relación del sistema

Figura 4 Diagrama de relación del sistema

6 Diseño de la estructura física

6.1 Definir el nombre de la base de datos y la tabla

Nombre de la base de datos:

Comprar libro

Nombre de la tabla de la base de datos:

(1) Tabla de información del usuario: s_user

(2) Formulario de información de compra de libros de texto: book_purchase_info

(3) Tabla de información de inventario de libros de texto: book_inventory_info

(4) Formulario de información de suscripción de libros de texto: book_subscription_info

(5) Tabla de información de la colección: collection_info

6.2 Diseño de la estructura de almacenamiento de la base de datos

Para mejorar el rendimiento del sistema, de acuerdo con la situación de la aplicación, la parte variable de los datos y la parte estable, a menudo

La parte de acceso se almacena por separado de la parte de acceso poco frecuente.

Dado que las computadoras de hoy en día tienen varios discos, colocar tablas (como las tablas de información del usuario) e índices en diferentes

En el proceso de consulta, la eficiencia de lectura y escritura de E/S se mejora considerablemente, y para particiones más grandes, los dos

En un disco, puede acelerar la velocidad de acceso, y es más efectivo en un entorno multiusuario; para mejorar el sistema

El rendimiento del archivo de registro y el objeto de la base de datos (tabla, índice, etc.) se colocan en discos diferentes. al mismo tiempo,

Teniendo en cuenta que este sistema es multiusuario, con el fin de mejorar la eficiencia, se mantendrán los datos y archivos de registro de la copia de seguridad de la base de datos.

almacenado en disco.

Las partes de la base de datos a las que se accede con frecuencia incluyen:

Usuario (número de usuario, nombre, sexo, especialización, clase, contraseña, fecha de nacimiento, función)

Suscripción de libros de texto (número de suscripción, título, editorial, autor, edición, precio unitario, curso, especialidad, clase, número de personas, fecha)

Inventario de libros de texto (número de suscripción, título, editorial, autor, edición, precio unitario, cantidad)

Compra de libro de texto (número de suscripción, título, editorial, autor, edición, precio unitario, curso, especialización, clase, cantidad, fecha)

La sección de acceso poco frecuente incluye:

Colección de material didáctico (fecha, clase, cantidad)

En la etapa inicial del diseño de la base de datos, para optimizar físicamente la futura base de datos, algunos

El sistema configura variables, almacena coeficientes de distribución y asigna valores predeterminados razonables a estas variables. pero estos valores no son

Debe ser adecuado para cada entorno de aplicación Al realizar el diseño físico, reasignar estas variables para mejorar

rendimiento de sistema. Al elegir dispositivos de hardware, sistemas operativos de servidor y bases de datos, debe considerar poder

Aumenta y expande.

Al configurar las variables del sistema, preste atención a la cantidad de usuarios que usan la base de datos al mismo tiempo, la cantidad de bases de datos abiertas al mismo tiempo

Número de objetos, parámetros de asignación de memoria, parámetros de asignación de búfer, tamaño de segmento de tiempo, tamaño de base de datos, bloqueo

numero etc Estos valores de parámetros afectarán el tiempo de almacenamiento de la base de datos y la asignación de espacio de almacenamiento. 

6.3 Estructura de la tabla de la base de datos

Tabla 6-1 Formulario de información de compra de libros de texto (book_purchase_info)

nombre del campo

Tipo de campo

longitud

clave principal/foránea

Restricciones de valor de campo

Nombre chino correspondiente

suscripción_No

varchar

50

Clave primaria

No nulo

número de subscripción

nombre del libro

varchar

50

No nulo

Titulo del libro

prensa

varchar

50

No nulo

el editor

autor

varchar

50

Nulo

autor

revisión

varchar

50

No nulo

Edición

precio unitario

varchar

50

Nulo

precio unitario

plan de estudios

varchar

50

Nulo

curso

importante

varchar

50

Nulo

importante

nombre de la clase

varchar

50

Nulo

clase

comprar_Cuenta

carbonizarse

100

No nulo

cantidad

fecha_de_compra

Fecha

Nulo

fecha

Tabla 6-2 Tabla de información de inventario de libros de texto (book_inventory_info)

nombre del campo

Tipo de campo

longitud

clave principal/foránea

Restricciones de valor de campo

Nombre chino correspondiente

suscripción_No

varchar

50

Clave primaria

No nulo

número de subscripción

nombre del libro

varchar

50

No nulo

Titulo del libro

prensa

varchar

50

No nulo

el editor

autor

varchar

50

Nulo

autor

revisión

varchar

50

No nulo

Edición

precio unitario

varchar

50

Nulo

precio unitario

book_Count

carbonizarse

100

No nulo

cantidad

Tabla 6-3 Formulario de información de suscripción de libros de texto (book_subscription_info)

nombre del campo

Tipo de campo

longitud

clave principal/foránea

Restricciones de valor de campo

Nombre chino correspondiente

suscripción_No

varchar

50

Clave primaria

No nulo

número de subscripción

nombre del libro

varchar

50

No nulo

Titulo del libro

prensa

varchar

50

No nulo

el editor

autor

varchar

50

Nulo

autor

revisión

varchar

50

No nulo

Edición

precio unitario

varchar

50

Nulo

precio unitario

plan de estudios

varchar

50

Nulo

curso

importante

varchar

20

Nulo

importante

nombre de la clase

varchar

20

Nulo

clase

número_personas

varchar

20

No nulo

número de personas

fecha_info

fecha

Nulo

fecha

Tabla 6-4 Tabla de información de la colección (collection_info)

nombre del campo

Tipo de campo

longitud

clave principal/foránea

Restricciones de valor de campo

Nombre chino correspondiente

fecha de colección

varchar

No nulo

fecha

nombre de la clase

varchar

20

No nulo

clase

dinero

varchar

10

No nulo

La cantidad


Tabla 6-5 Tabla de información del usuario (s_user)

nombre del campo

Tipo de campo

longitud

clave principal/foránea

Restricciones de valor de campo

Nombre chino correspondiente

codigo de usuario

varchar

50

anfitrión

No nulo

codigo de usuario

nombre de usuario

varchar

50

 nulo

nombre de usuario

sexo

varchar

10

 nulo

género

importante

varchar

20

 nulo

importante

nombre de la clase

varchar

20

 nulo

clase

personas con discapacidad

varchar

10

 nulo

contraseña

cumpleaños

varchar

30

 nulo

Cumpleaños

nombre de rol

varchar

30

 nulo

Número de teléfono

 

7 Implementación de base de datos

7.1 Creación de base de datos

crear libro de compras de base de datos

en

( nombre=datos_de_trabajo,

filename='d:\program files (x86)\sql\buybook.mdf',

size=5,

filegrowth=1

)

log on

( name=work_log,

filename='d:\program files (x86)\sql\buybook_log.ldf',

size=1,

maxsize=50,

filegrowth=10%

)

7.2 数据库表创建

(1)用户表

CREATE TABLE s_user (

user_code  varchar (50)  NOT NULL,

 user_name  varchar (50)  NULL,

 sex  varchar (10)  NULL,

 major varchar (20)  NULL,

 class_name varchar (20)  NULL,

 pwd  varchar (10)  NULL,

 birthday  varchar (30)  NULL,

 role_name  varchar (30)  NULL,

 CONSTRAINT  PK_s_user  PRIMARY KEY CLUSTERED

  1. 教材购买信息表

CREATE TABLE book_purchase_info (

 subscription_No  varchar (50)  NOT NULL,

 book_name  varchar (50)  NULL,

 press  varchar (50)  NULL,

 author  varchar (50)  NULL,

 revision  varchar (50)  NULL,

 unit_Price  varchar (50)  NULL,

 curriculum  varchar (50)  NULL,

 major  varchar (50)  NULL,

 class_name  varchar (50)  NULL,

 buy_Count  varchar (50)  NULL,

 buy_date   date  NULL,

 CONSTRAINT  PK_book_purchase_info  PRIMARY KEY CLUSTERED

  1. 教材库存信息表

CREATE TABLE   book_inventory_info (

 subscription_No  varchar (50)  NULL,

 book_name  varchar (50)  NULL,

 press  varchar (50)  NULL,

 author  varchar (50)  NULL,

 revision  varchar (50 ) NULL,

 unit_Price  varchar (50)  NULL,

 book_Count  char (100)  NULL

)

  1. 教材征订信息表

CREATE TABLE  book_subscription_info (

 subscription_No  varchar (50)  NOT NULL,

 book_name  varchar (50)  NULL,

 press  varchar (50)  NULL,

 author  varchar (50)  NULL,

 revision  varchar (50)  NULL,

 unit_Price  varchar (50)  NULL,

 curriculum  varchar (50)  NULL,

 major  varchar (20)  NULL,

 class_name  varchar (20)  NULL,

 people_Num  varchar (20)  NULL,

 date_info  date  NULL,

 CONSTRAINT PK_book_subscription_info  PRIMARY KEY CLUSTERED

)

(5)用户信息表

CREATE TABLE   s_user (

 user_code  varchar (50) NOT NULL,

 user_name  varchar (50) NULL,

 sex  varchar (10) NULL,

 major  varchar (20) NULL,

 class_name  varchar (20) NULL,

 pwd varchar (10) NULL,

 birthday  varchar (30) NULL,

 role_name  varchar (30) NULL,

 CONSTRAINT  PK_s_user  PRIMARY KEY CLUSTERED

)

7.3 建立存储过程

(1)建立用户表查询存储过程

create procedure s_user

as

begin

    select b.用户编码,

           b.用户名,

           性别,

           专业,

           班级,

           密码,

           生日,

           手机号

    from 用户表 a

end

(2)建立教材购买信息表查询存储过程

create procedure book_purchase_info

as

begin

    select b.征订号,

           b.书名,

           出版社,

           作者,

           版次,

           单价,

           课程,

           专业,

           班级,

           数量,

           日期

    from 教材购买信息表 a

             inner join 用户表 b on a.班级 = b.班级

end

(3)建立教材征订信息表更新存储过程

Create procedure book_subscription_info @班级 char(8), @记录号 int,

@姓名 char(30),@专业 char(10), @人数 char(10),

@日期 datetime

as

    if not exists(select *

                  from 教材征订信息表

                  where 用户编码 = @用户编码)

        Print ('不存在该用户')

    else

        begin

            update 教材征订信息表

            set 征订号=@征订号,

                书名=@书名,

                班级=@班级,

   数量=@数量,

                日期=@日期

            where 用户编码 = @用户编码;

     end

7.4创建触发器

(1) 创建一个触发器,当删除用户信息表时,时也删除其他表中用户的信息。如当删除用户表中信息时,也删除教材征订信息表中的内容,教材购买信息表,收款信息表分别建立此类触发器。

create trigger data_del

    on 用户信息表

    after delete

    as

begin

    delete 教材征订信息表

    where 用户班级 in (select 用户班级 from deleted)

end

(2)建立教材购买信息触发器:

create trigger book_purchase_update

    on 班级

    after update

    as

    declare

        @new_book_purchase_update int, @old_book_purchase_update int

    select @old_book_purchase_update = deleted.征订号

    from deleted

    select @new_book_purchase_update= inserted.征订号

    from inserted

    if ((@new__book_purchase_update - @old__book_purchase_update) > @old__book_purchase_update * 0.15)

        begin

            raiserror ('教材购买过长,取消操作',16,1)

            rollback transaction

        end

(3)建立收款触发器:

CREATE TRIGGER collection_info

    ON 用户信息表

    AFTER INSERT

    AS

BEGIN

    SET NOCOUNT ON;

    Declare @class int;

    Select @class = 班级 From 用户信息表

    IF (@class = null)

        Begin

            Insert into 用户信息表(员工编码, 用户名, 性别, 专业, 班级, 密码, 生日,手机号)

            Select 员工编码, 用户名, 性别, 专业, 班级, 密码, 生日,手机号

            From inserted

        End

    ELSE

        Begin

            print ('用户班级不存在')

            rollback transaction

        END

Supongo que te gusta

Origin blog.csdn.net/lf21qp/article/details/131498776
Recomendado
Clasificación