¡Urgente! ¡Buscando diseño de curso de base de datos!
Enunciado de la tarea del diseño del curso de principios de bases de datos
Propósito
1. Incluye principalmente análisis de sistemas, organización e implementación del diseño del sistema.
2. Dominar la tecnología de programación de sistemas de gestión de bases de datos relacionales y ser capaz de completar de forma independiente el diseño, la depuración y la operación de programas de sistemas pequeños en general.
3. Desarrollar la capacidad de aplicar los conocimientos aprendidos a objetos específicos y encontrar soluciones.
II.Tarea (elige una)
A. El sistema de gestión de bases de datos relacionales se utiliza para implementar el sistema de información de gestión de bibliotecas de nuestro hospital. Los requisitos específicos son los siguientes:
-Registro, baja y consulta de materiales del libro.
-Gestión de tarjetas de biblioteca, incluida la solicitud, cancelación y consulta de los titulares de tarjetas de biblioteca.
-Alta de préstamo y devolución de libros y materiales, tramitación de vencidos, préstamo vencido, etc.
Consulta de información de libros y libros prestados y devueltos.
-El análisis estadístico de la situación del endeudamiento de libros y materiales, y la situación del rechazo es una de las bases para pedir suficientes libros y materiales en la biblioteca. (Este artículo no es un requisito básico)
B. Utilice un sistema de gestión de bases de datos relacionales para implementar un sistema de gestión de llamadas de servicio
Las empresas de servicios que envían técnicos a los sitios de los clientes pueden utilizar el sistema de gestión de llamadas de servicio para realizar un seguimiento de clientes, empleados, órdenes de trabajo, facturas, pagos, etc.
Requisitos:
La base de datos debe almacenar la siguiente información:
-Información del cliente
-Información de la orden de trabajo del cliente
-Mano de obra requerida para completar la orden de trabajo
-Piezas requeridas para completar la orden de trabajo
-Información de piezas
-Información de pago
-Información del empleado
Funciones completadas:
Ingresar/ver información de la orden de trabajo del cliente
1.1 Antecedentes
Con la biblioteca Con Con la expansión continua de la escala, el número de libros también ha aumentado en consecuencia y la cantidad de información diversa en los libros también se ha duplicado. Frente a la enorme cantidad de información, el método tradicional de gestión manual conducirá a una gestión caótica y excesiva de la biblioteca. desperdicio de mano de obra y recursos materiales, y la biblioteca El aumento de los costos de gestión sobrecargará la biblioteca y afectará la operación y la gestión de control de toda la biblioteca. Por lo tanto, es particularmente importante contar con un sistema de gestión de la biblioteca. Por lo tanto, es necesario formular un sistema de gestión bibliotecaria razonable, eficaz, estandarizado y práctico para llevar a cabo una gestión centralizada y unificada de los materiales bibliotecarios.
Por otro lado, la industria de la tecnología de la información e Internet se han desarrollado rápidamente. Las aplicaciones informáticas han penetrado en diversos campos, provocando una revolución en la gestión de la información, realizando el procesamiento automatizado de la información y mejorando la puntualidad y precisión. del procesamiento del sexo.
Mejorar la eficiencia de la gestión bibliotecaria, realizar una gestión estandarizada de la información, estadísticas científicas y consultas rápidas, para que la biblioteca pueda servir mejor a la escuela y a la sociedad.
1.2 Requisitos de datos
Las principales funciones que debe completar el sistema de información de gestión de la biblioteca son:
1. Ingreso de la información básica de los lectores, incluida la tarjeta de la biblioteca. número, nombre del lector, sexo del lector.
2. Consultar y modificar la información básica del lector, incluido el número de tarjeta de la biblioteca del lector, el nombre del lector y el sexo del lector.
3. Estandarice la clasificación de libros e ingrese información de clasificación, incluidos los números de clasificación y los nombres de clasificación.
4. Consultar y modificar la información de clasificación del libro, incluido el número de clasificación y el nombre de la clasificación.
5. Entrada de información del inventario de libros, incluido el número de libro, el título del libro, la categoría del libro, el nombre del autor, el nombre del editor, la fecha de publicación y la fecha de registro.
6. Consultar y modificar la información del inventario de libros, incluido el número de libro, el nombre del libro, la categoría del libro, el nombre del autor, el nombre del editor, la fecha de publicación y la fecha de registro.
7. Ingrese la información del préstamo, incluido el número de tarjeta de la biblioteca del lector, el número del libro y la fecha del préstamo.
8. Consultar y modificar la información del préstamo, incluido el número de tarjeta de la biblioteca, el número del lector, el nombre del lector, el número del libro, el título del libro y la fecha del préstamo.
9. Ingrese la información de devolución del libro, incluido el número de tarjeta de la biblioteca, el número del libro y la fecha de devolución.
10. Consulta y modificación de la información de devolución de libros, incluido el número de tarjeta de biblioteca del lector que regresa, el nombre del lector, el número del libro, el título del libro, la fecha de préstamo y la fecha de devolución.
11. Entrada de multas por devoluciones de libros vencidos y devoluciones de libros vencidos, incluyendo el número de tarjeta de biblioteca, número de libro y monto de la multa a los lectores que devuelvan libros vencidos.
12. Consultar y eliminar multas por libros vencidos, incluido el número de tarjeta de la biblioteca del lector, el nombre del lector, el número del libro, el título del libro, el monto de la multa, etc.
1.3 Requisitos
(1) En la sección de gestión de información del lector, requisitos:
a.
b. Puede agregar y eliminar información del lector.
(2) En la columna de gestión de información del libro, requisitos:
a. Puede buscar información del libro, requisitos:
b. Puede mantener la información del libro, incluidas las operaciones de agregar y eliminar.
(3) En la parte de gestión de la información de endeudamiento, requisitos:
a.
a. Puede explorar la información de préstamos.
b. La información del préstamo se puede mantener.
(4) En la sección de gestión de información de devolución, los requisitos son:
a. La información de devolución se puede navegar
b. modificado y mantenido
p>
(5) En la sección de gestión de información del administrador, requisitos:
a.
b. Realizar operaciones de mantenimiento sobre la información del administrador.
(6) En la parte de gestión de información fina, los requisitos son:
a. Puede explorar información fina
b Puede actualizar información fina
1.4 Modelo relacional
(a) Categoría de libro (número de tipo, nombre de tipo)
(b) Lector (número de tarjeta de biblioteca, nombre del lector, sexo del lector, tipo de lector) ), hora de registro)
(c) Lector (número de tarjeta de biblioteca, nombre del lector, tiempo de préstamo del lector)
(v) Devolución de libro (número de tarjeta de biblioteca, número de libro, devolución del lector) tiempo)
(vi) Multa ((número de tarjeta de biblioteca, nombre del lector, número de tarjeta de biblioteca, número de libro, tiempo de préstamo del lector)
La operación anterior se realiza mediante el método de relación Se utiliza álgebra para obtener los resultados requeridos, que se pueden ver en los resultados experimentales.
2. Diseño del gráfico del programa
2.1 Diagrama E-R
Sobre la base de Al diseñar las funciones a implementar en ①, se puede establecer la relación entre ellas para realizar la estructura lógica de las funciones.
Las entidades que se pueden dividir en el sistema de información de gestión de libros son: información de categorías de libros. La entidad, la entidad de información del lector, la entidad de información del libro, la entidad de información del registro de préstamo y la entidad de información del registro de devolución se utilizan para describir estas entidades una por una.
2 Diagrama de flujo de datos
D5
Entrada de información organizacional Entrada de información básica
D2
D1
Información básica Ingresar entrada de información básica
D3
D4
Entrada de información de préstamo
Devolución de información del lector Devolución de información del libro
Figura 2-7 Diagrama de flujo de datos del sistema
2.3 Diccionario de datos
Tabla 2-1 tabla de información de categoría de libro book_sytle
El tipo de datos del nombre de la columna de la tabla puede estar vacío Descripción
bookstyleno varchar not null (clave principal) número de categoría
bookstyle Varchar not null nombre de categoría
Tabla 2-2 tabla de información del lector system_readers
Nombre de la columna de la tabla, el tipo de datos puede estar vacío descripción
lectorid varchar no nulo descripción
lectorid varchar no nulo (clave principal) número de tarjeta de biblioteca del lector
nombre del lector varchar not null nombre del lector
readersex varchar not null género del lector
lectortype varchar null tipo de lector
regdate datetime fecha de registro nula
Tabla 2 -3 system_book tabla de información del libro
El tipo de datos del nombre de la columna de la tabla puede estar vacío descripción
bookid Varchar no está vacío (clave principal) número de libro
bookname Varchar no es Nombre del libro nulo
bookstyle Varchar Categoría del libro no nulo
bookauthorVarchar Autor del libro no nulo
bookpub Varchar Nombre del editor nulo
bookpubdate Fechahora Fecha de publicación nula
bookindate Datetime Null Fecha de registro
isborrowed Varchar Not Null Si el libro ha sido prestado
Tabla 2-4 lend_record Tabla de información de registro de préstamo
El tipo de datos del nombre de la columna de la tabla puede estar vacío descripción
readerid Varchar no está vacío (clave primaria externa) número de tarjeta de lector
bookid Varchar no está vacío (clave primaria externa) clave) número de libro
bookid
Fecha de préstamo Varchar No nulo Fecha de préstamo del lector
Hora de préstamo Varchar No nulo Hora de préstamo del lector
Préstamo veces Varchar No nulo Lector Número de préstamos
Fecha de préstamo Varchar No nulo Número de préstamos por lectores
Tabla 2-5 return_record Tabla de información de registro de préstamos
Columna de la tabla nombre tipo de datos puede estar vacío Descripción
nombre de lector Varchar no está vacío (clave primaria externa) número de tarjeta de préstamo del lector
ID de lector Varchar no está vacío (clave primaria externa) número de libro GO p>
CREAR BASE DE DATOSsistema de biblioteca
ON
( NOMBRE = sistema de biblioteca,
NOMBRE DE ARCHIVO = 'd:\sistema de biblioteca.mdf',
TAMAÑO = 10,
MAXSIZE = 50,
FILEGROWTH = 5)
INICIAR SESIÓN
( NOMBRE = 'biblioteca',
FILENAME = 'd:\librarysystem .ldf',
TAMAÑO = 5 MB,
MAXSIZE = 25 MB,
FILEGROWTH = 5 MB )
GO
3.1.2 Crear tabla de categorías de libros
Crear tabla book_style
(
bookstyleno varchar(30) clave principal,
bookstyle varchar (30)
)
3.1.3 Crear tabla estilo libro
Crear tabla system_books
(
bookid varchar(20) clave principal,
bookname varchar(30) No nulo,
bookstyleno varchar(30) No nulo,
bookauthor varchar(30) ,
bookpub varchar(30),
bookpubdate datetime,
bookindate datetime,
isborrowed varchar (2),
referencias de clave externa (bookstyleno) book_style (bookstyleno),
)
3.1.4 Crear tabla de tarjetas de biblioteca
Crear tabla system_readers
(readerid varchar(9)clave primaria,<
nombre de lector varchar(9) no nulo,
sexo de lectores varchar(2) no nulo,
lectortipo varchar(10),
regdate fecha y hora
)
3.1.5 Crear tabla de registros de préstamo de libros
Crear tabla lend_record< / p>
( bookid varchar(20) clave principal,
lectorid varchar(9),
fecha y hora de préstamo,
clave externa (bookid) hace referencia a system_book (bookid),
Clave externa (readerid) hace referencia a system_readers (readerid),
)
3.1.1.6 Crear tabla de registros de devolución p>
Crear tabla return_record
( bookid varchar(20) clave primaria,
lectorid varchar(9),
p>
fecha y hora de retorno,
La clave externa (bookid) se refiere a system_books (bookid),
La clave externa (readerid) se refiere a system_readers (readerid)
)
3.1.7 Crear tabla Finesheet*/
Crear tabla Reader_fee
(readerid varchar(9)not null,
nombre de lector varchar(9) no nulo,
bookid varchar(20) clave principal,
nombre de libro varchar(30) no nulo,
bookfee varchar(30) ) ,
fecha y hora de préstamo,
La clave externa (bookid) se refiere a system_book (bookid),
La clave externa (readerid) se refiere a system_readers (readerid )
)
3.2 Inicialización de datos
3.2.1 Agregar categoría de libro a la tabla book_style
insertar en book_style(bookstyleno,bookstyle) valores('1' , 'Humanidades y Artes')
insertar en book_style(bookstyleno,bookstyle)valores('2','Ciencias Naturales')
insertar en book_style(bookstyleno ,bookstyle)values( '3', 'Ciencias Sociales')
insert into book_style(bookstyleno,
insert into book_style(bookstyleno, bookstyle)values('4', 'Imagen Arts')
p>insertar en book_style(bookstyleno,bookstyle)values('5','Economía política')
insertar en book_style(bookstyleno,bookstyle)values ('6','Clase de tecnología de ingeniería')
insertar en book_style(bookstyleno,bookstyle)values('7','Clase de habilidades lingüísticas')
3.2.2 Agregar libros a la tabla system_books (definir lo mismo Los números de libro del editor del autor son diferentes)
insertar
en system_books(bookid, bookname, bookstyleno.bookauthor, bookpub, bookpubdate, bookindate, isborrowed)
values('00125415152','Principios de composición informática','6','Wang Aiying','Universidad de Tsinghua
Xue Press', '2001-01-03', '2003-11-15', '1');
insertar
en system_books(bookid, bookname, bookstyleno, bookauthor). , bookpub, bookpubdate, bookindate, isborrowed )
values('00125415153', 'Principios de composición informática', '6', 'Wang Aiying', 'Tsinghua University Press', '2001-01-03 ', '2003-11-15', '1');
insertar
en system_books( bookid , bookname , bookstyleno , bookauthor , bookpub , bookpubdate , bookindate , isborrowed )
values('00456456','Principios de las bases de datos','6','Sa Shi Xuan','Higher Education Press','2007-07-02','2007-09-15', '1');
insertar
en system_books(bookid, bookname, bookstyleno, bookauthor, bookpub.bookpubdate, bookindate, isborrowed)
values(' 12215121 ', 'Programación C', '6', 'Tan Haoqiang', 'Tsinghua University Press', '2002-04-02', '2004-03-14', '1'); insertar
en system_books(bookid, bookname, bookstyleno, bookauthor, bookpub, bookpubdate, bookindate, isborrowed)
values(' 9787308020558', 'Computer Architecture', '6', ' ShiJiaoYing', 'Zhejiang University Press', '2004-10-03', '2006-11-15', '1');
insertar
en system_books(bookid, bookname.bookstyleno, bookauthor, bookpub, bookpubdate, bookindate, isborrowed)
values('45456141414','Estructuras de datos (edición en lenguaje C)','6','Wu Weimin, Yan Weimin', ' Tsinghua University Press'.2002-06-28', '2004-01-21', '1');
insertar
en system_books(bookid, bookname, bookstyle
no, bookauthor, bookpub, bookpubdate.bookindate, isborrowed)
values('5455515', '5000 años de historia china', '1', 'Wu Qiang', 'Peking University Press', '2005 -04-03', '2006-05-15', '1');
insertar
en system_books(bookid, bookname, bookstyleno, bookauthor, bookpub, bookpubdate, bookindate , es prestado )
values('015115','Ancient Egypt','3','Zhao Wenhua','Peking University Press','2001-02-02','2002-09-15 ', '1');
insertar
en system_books(bookid, bookname, bookstyleno, bookauthor.bookpub, bookpubdate, bookindate, isborrowed)
valores( '1514514','Cultura japonesa','1','Wu Xiaopeng','Peking University Press','2002-04-02','2004-03-14','1');
insertar
en system_books(bookid, bookname, bookstyleno, bookauthor, bookpub, bookpubdate, bookindate, isborrowed)
values(' 15154656', 'Microeconomía', '5', 'Li Xiaogang', 'Peking University Press', '2000-10-03', '2001-11-15', '1');
insertar
en system_books( bookid, bookname.bookstyleno, bookauthor, bookpub, bookpubdate, bookindate, isborrowed)
values('5658','Film and Television Literature','4','Su Qingdong','Peking University Press' , '1999-02-28', '2000-01-21', '1');
insertar en
system_books(bookid, bookname, bookstyleno, bookauthor, bookpub, bookpubdate, bookindate.isborrowed )
values('565800020','Explorando los misterios del universo', '2', 'Su Qingdong', 'Peking University Press',
'1999-02-28', '2000-01-21', '1');
3.2.3 Agregar lectores que ya tienen tarjetas de biblioteca a la tabla system_readers*/
insertar en system_readers(id de lector, nombre de lector, sexo de lector, tipo de lector, fecha de registro)
valores('X05620207', 'ChenYuanPeng', 'Hombre', 'Estudiante', '2005-9-23 14: 23: 56')
Insertar en system_readers(readerid, nombre de lector, sexo de lectores, tipo de lector, regdate)
valores('X05620206', 'Chanter', 'Hombre', 'Estudiante', ' 2005-09-30 13:24:54.623')
insertar en system_readers(id de lector, nombre de lector, sexo de lector, tipo de lector, fecha de registro)
valores('X05620204', 'Zhao Mingjing' , 'Mujer', 'Estudiante', '2005-09-27 11:24:54.123')
insertar en system_readers(id de lector, nombre de lector, sexo de lectores, tipo de lector, fecha de registro)
valores('X05620202', 'Pan Hong', 'Mujer', 'Estudiante', '2005-09-30 13:24:54.473')
insertar en system_readers(readerid, nombre de lector, sexo de lectores, tipo de lector , regdate)
values('008415', 'Jiang Wei', 'Hombre', 'Profesor', '2004-04-30 09:24:54.478')
Insertar into system_ lectores(idlector, nombrelector, sexolector, tipolector, regdate)
values('001456','Li Ye Feng','Mujer','Profesor','2004-04-30 09:24 :54.478')
3.2.4 Agregue el registro del lector que tomó prestado el libro y establezca la marca de préstamo del libro prestado en 0 */
insertar en lend_record( bookid, lectorid, fecha de préstamo)
values('00125415152', 'X05620202', '2007-09-27 11:24:54.123')
Actualizar system_books
set isborrowed=0
donde bookid='00125415152'
insertar en el registro_préstamo(bookid,readerid,borrowdate)
valores('00125415
153', 'X05620206', '2007-12-27 08:26:51.452')
Actualizar system_books
set isborrowed=0
donde bookid= '00125415153' y isborrowed='1'
insertar en lend_record(bookid,readerid,borrowdate)
values('5455515','X05620207','2007-12-27 08 :26:51.452')
Actualizar system_books
establecer isborrowed=0
donde bookid='5455515' y isborrowed='1'
insertar en lend_record(bookid,readerid,borrowdate)
values('015115','X05620204','2007-10-21 12:11:.51.452')
actualizar system_books
establecer isborrowed=0
donde bookid='015115' y isborrowed='1'
insertar en lend_record(bookid,readerid,borrowdate)
values('15154656', '001456', '2007-12-28 14:11:51.312')
actualizar system_books
set isborrowed=0
donde bookid='15154656' y isborrowed='1'
insertar en lend_record(bookid, lectorid, fecha de préstamo)
valores( '565800020', '008415 ', '2007-08-28 15:11:31.512')
actualizar system_books
establecer isborrowed=0
donde bookid='565800020' y isborrowed ='1'
4. Procesamiento de datos de resultados
4.1 Consulta de tabla única
4.1.1 Demostración de consulta en tabla book_style:
Figura 4-1 Contenido de la tabla book_style
4.1.2 Demostración de consulta en la tabla system_books:
Figura 4-2 Tabla system_books
4.1.3 En resultados de la consulta para agregar lectores con tarjetas de biblioteca a la tabla system_readers:
Figura 4-3 Tabla system_readers
4.1.4 Resultados de la consulta para la tabla de registros de préstamos lend_record:
Figura 4-4 Contenido de la tabla lend_record
4.2 Procesamiento vencido
4.2.1 Procesamiento vencido:
1.2.1 Ahora puede consultar a los lectores de tarjetas de biblioteca existentes si el Los libros prestados están vencidos (aquí se reduce a 30 días):
Explicación: El getdate() actual se calcula en función de la fecha del 6 de enero de 2008
Figura 4-4 Selección de lectores que han pedido prestado durante más de 30 días
4.2.
1. Puede realizar estadísticas sobre el estado de endeudamiento de los lectores, como se muestra en la Figura 4-4. 2 También puede multar a los lectores que tomen prestado por más de 30 días. Se agrega un informe a la hoja de multas. El método de cálculo es deducir 0,3 por día:
Lenguaje SQL:
. insertar en lector_fee(readerid, lectornombre, libroid, nombre de libro, tarifa de libro, fecha de préstamo)
seleccione system_readers.readerid lector_borrowing_card_number, nombre de lector nombre_lector,
system_books.bookid número de libro, nombre de libro nombre de libro,
0.3*(Datediff(day, convert(smalldatetime, lenddate), getdate())-30) días a lo largo del tiempo,
borrowdate lenddate
from lend_record , system_readers de lend_record , system_readers , system_books
donde system_readers.readerid=borrow_record.readerid
y system_books.bookid=borrow_record.
Y Datediff(día, convertir (smalldatetime,borrowdate), getdate())gt;=30
(El número de filas afectadas es 3)
seleccione lectorid libro número de tarjeta de biblioteca del lector, nombre del lector nombre del lector,
número de libro bookid, multas por mora de bookfee
de Reader_fee
Forma el monto de las multas correspondientes a cada libro, calculado en US$0,3 por día
Formando el monto de las multas correspondientes a cada libro, calculado en $0 3 yuanes por día
Figura 4-5 Ver la lista de multas
4.3 Operación de devolución de libros
4.3.1 Ahora devuelva el libro al lector Libro:
1. Primero devuelva el libro y agregue un registro de devolución al registro de devolución del libro.
2. el registro de préstamo del libro correspondiente
3. Finalmente, marque el libro como 1 en la biblioteca, lo que indica que el libro no ha sido prestado y puede ser prestado por otros lectores
Explicación : La identificación del estudiante es Regresar.
Lenguaje SQL:
insertar en return_record(bookid,readerid,returndate)
seleccionar bookid,readerid,getdate()
de registro de préstamo_record
donde bookid='565800020'
(El número de filas afectadas es 1)
eliminar
de préstamo_record p>
donde bookid='565800020'
(El número de filas afectadas es 1)
(El número de filas afectadas es 1). El número de filas afectadas es 1)
Actualizar system_books
set isborrowed=1
donde bookid='565800020'
(El el número de filas afectadas es 1)
Los resultados de las tres tablas se muestran a continuación:
Figura 4-6 Registro agregado 565800020
Figura 4-7 565800020 El libro ya no está en el registro de préstamo
Figura 4-8 La marca está establecida en '1'
Explicación: El libro se restaura al estado no prestado y la marca es 1. (Tenga en cuenta que los números del mismo libro son diferentes).
El resultado es que el libro se devuelve correctamente, la tabla correspondiente cambia y la tabla detallada se actualiza a través de la tabla de registro de préstamo lend_record. 3 Solicite una tarjeta de biblioteca:
Lenguaje SQL:
Insertar en system_readers (id de lector, nombre de lector, sexo de lector, tipo de lector, fecha de registro)
valores ('X05620211' , 'Xiaohua', 'male', 'student', getdate())
Figura 4-11
Explicación: Consulta los libros prestados de un lector como Xiaohua agregados al correspondiente registro Registro de tarjeta:
4.4.3 Solicitar una tarjeta de biblioteca 4.4 Cancelar una tarjeta de biblioteca:
Instrucciones de operación:
Realizar todos los procesos de devolución de libros antes. cancelación, es decir, la instrucción SQL anterior, y luego ejecute
eliminar de system_ lectores donde lectorid='X_', getdate(). lectores donde lectorid='X05620211',
4. Eliminar el registro de la tarjeta de la biblioteca de Xiaohua.
6 Estado del lector
4.6.1 Consultar quién tomó prestado qué libro:
Lenguaje SQL:
seleccione el nombre del lector, el nombre del libro, el nombre del libro
de lend_record, system_books, system_readers
donde system_readers.readerid=borrow_record.readerid
y system_books.bookid=borrow_record.bookid
Figura 4-15 p>
4.6.2 Especifique qué libros tomó prestado Pan Hong:
Idioma SQL:
seleccione el nombre del lector, el nombre del libro, el nombre del libro
de lend_record, system_books, system_readers
donde system_readers.readerid=borrow_record.readerid
y system_books.bookid=borrow_record.bookid
y nombre de lector='Pan Hong'