帮我用sql写一个学校图书借阅管理系统 要求是学校图书借阅管理系统 (1)功能要求 ①实现图书信息、类别、出版社等信息的管理; ②实现读者信息、借阅信息的管理; ③实现图书的借阅、续借、归还管理; ④实现超期罚款管理、收款管理; (2)数据要求 ①创建触发器,分别实现借书和还书时自动更新图书信息的在册数量; ②创建视图查询各种图书的书号、书名、总数和在册数; ③创建存储过程查询指定读者借阅图书的情况; ④建立数据库相关表之间的参照完整性约束

时间: 2023-11-26 15:06:27 浏览: 80
好的,下面是一个简单的学校图书借阅管理系统的 SQL 实现,包括创建表、触发器、视图和存储过程: 创建图书信息表: ```sql CREATE TABLE books ( id INT PRIMARY KEY, name VARCHAR(100), category VARCHAR(50), publisher VARCHAR(50), total INT, stock INT ); ``` 创建读者信息表: ```sql CREATE TABLE readers ( id INT PRIMARY KEY, name VARCHAR(50), gender CHAR(1), phone VARCHAR(20), email VARCHAR(50) ); ``` 创建借阅信息表: ```sql CREATE TABLE borrowings ( id INT PRIMARY KEY, book_id INT, reader_id INT, borrow_date DATE, return_date DATE, overdue_fine DECIMAL(10,2), payment_status CHAR(1), FOREIGN KEY (book_id) REFERENCES books(id), FOREIGN KEY (reader_id) REFERENCES readers(id) ); ``` 创建触发器,实现借书和还书时自动更新图书信息的在册数量: ```sql CREATE TRIGGER update_stock_on_borrow AFTER INSERT ON borrowings FOR EACH ROW UPDATE books SET stock = stock - 1 WHERE id = NEW.book_id; CREATE TRIGGER update_stock_on_return AFTER UPDATE ON borrowings FOR EACH ROW UPDATE books SET stock = stock + 1 WHERE id = NEW.book_id; ``` 创建视图,查询各种图书的书号、书名、总数和在册数: ```sql CREATE VIEW book_info AS SELECT id, name, category, publisher, total, stock FROM books; ``` 创建存储过程,查询指定读者借阅图书的情况: ```sql CREATE PROCEDURE reader_borrowings (IN reader_id INT) BEGIN SELECT b.id, b.name, b.borrow_date, b.return_date, b.overdue_fine, b.payment_status FROM borrowings AS b WHERE b.reader_id = reader_id; END; ``` 创建表之间的参照完整性约束: ```sql ALTER TABLE borrowings ADD CONSTRAINT fk_book_id FOREIGN KEY (book_id) REFERENCES books(id); ALTER TABLE borrowings ADD CONSTRAINT fk_reader_id FOREIGN KEY (reader_id) REFERENCES readers(id); ``` 这是一个简单的示例,实际的学校图书借阅管理系统可能需要更多的表和功能。

相关推荐

最新推荐

recommend-type

数据结构课程设计—图书借阅管理系统的设计与实现

本设计是用C语言来实现编程,用SQL SERVER 编写数据库。 设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。 主要分为两...
recommend-type

《SQL Server课程设计报告--图书借阅管理系统的设计与实现》

这是一份SQL Server课程设计报告,是用C#编程实现图书借阅管理系统!
recommend-type

图书借阅管理系统(数据库SQL)

昌嘿嘿田寮昌嘿嘿田寮电影节架式蛙鸣蝉噪蛙鸣蝉噪电影节架式蛙鸣蝉噪蛙鸣蝉噪
recommend-type

毕业设计 图书借阅管理系统

大学本科毕业设计 基于jsp的图书借阅管理系统 数据库 sqlserver
recommend-type

图书借阅管理系统图书借阅管理系统图书借阅管理系统图书借阅管理系统

图书借阅管理系统主要对图书管理日常工作中遇到的实际问题,例如书籍信息、读者信息、借阅信息、能够实现以下任务:用户分级权限操作、借还图书操作、书库维护操作等。本系统经过测试,运行稳定,可投入使用。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

spring添加xml配置文件

1. 创建一个新的Spring配置文件,例如"applicationContext.xml"。 2. 在文件头部添加XML命名空间和schema定义,如下所示: ``` <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。