图书馆借阅表
DDL
用户表 (Users)
图书表 (Books)
图书类别表 (BookCategories)
图书与类别关联表 (BookCategoryRelations)
借阅记录表 (BorrowRecords)
供应商表 (Suppliers)
采购记录表 (PurchaseRecords)
CREATE TABLE Users (user_id INT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(50) NOT NULL UNIQUE,password VARCHAR(255) NOT NULL,email VARCHAR(100),phone VARCHAR(20),created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE Books (book_id INT PRIMARY KEY AUTO_INCREMENT,title VARCHAR(255) NOT NULL,author VARCHAR(100) NOT NULL,publisher VARCHAR(100),publication_year YEAR,ISBN VARCHAR(13) UNIQUE,stock_quantity INT NOT NULL DEFAULT 0
);
CREATE TABLE BookCategories (category_id INT PRIMARY KEY AUTO_INCREMENT,category_name VARCHAR(100) NOT NULL UNIQUE
);
CREATE TABLE `bookcategoryrelations` (`relation_id` int(11) NOT NULL AUTO_INCREMENT,`book_id` int(11) DEFAULT NULL,`category_id` int(11) DEFAULT NULL,PRIMARY KEY (`relation_id`),UNIQUE KEY `book_id` (`book_id`,`category_id`),KEY `bookcategoryrelations_ibfk_2` (`category_id`),CONSTRAINT `bookcategoryrelations_ibfk_1` FOREIGN KEY (`book_id`) REFERENCES `books` (`book_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,CONSTRAINT `bookcategoryrelations_ibfk_2` FOREIGN KEY (`category_id`) REFERENCES `bookcategories` (`category_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
);
CREATE TABLE BorrowRecords (record_id INT PRIMARY KEY AUTO_INCREMENT,user_id INT,book_id INT,borrow_date DATE NOT NULL,return_date DATE,FOREIGN KEY (user_id) REFERENCES Users(user_id),FOREIGN KEY (book_id) REFERENCES Books(book_id)
);
CREATE TABLE Suppliers (supplier_id INT PRIMARY KEY AUTO_INCREMENT,supplier_name VARCHAR(100) NOT NULL,contact_name VARCHAR(100),phone VARCHAR(20),email VARCHAR(100)
);
CREATE TABLE `purchaserecords` (`record_id` int(11) NOT NULL AUTO_INCREMENT,`supplier_id` int(11) DEFAULT NULL,`book_id` int(11) DEFAULT NULL,`purchase_date` date NOT NULL,`quantity` int(11) NOT NULL,`price` decimal(10,2) NOT NULL,PRIMARY KEY (`record_id`),KEY `supplier_id` (`supplier_id`),KEY `book_id` (`book_id`),CONSTRAINT `purchaserecords_ibfk_1` FOREIGN KEY (`supplier_id`) REFERENCES `suppliers` (`supplier_id`),CONSTRAINT `purchaserecords_ibfk_2` FOREIGN KEY (`book_id`) REFERENCES `books` (`book_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DML
INSERT INTO Users (username, password, email, phone)
VALUES ('user1', 'pass1', 'user1@example.com', '1234567890');INSERT INTO Users (username, password, email, phone)
VALUES ('user2', 'pass2', 'user2@example.com', '0987654321');INSERT INTO Users (username, password, email, phone)
VALUES ('user3', 'pass3', NULL, '1112223333');INSERT INTO Users (username, password, email, phone)
VALUES ('user4', 'pass4', 'user4@example.com', NULL);INSERT INTO Users (username, password, email, phone)
VALUES ('user5', 'pass5', 'user5@example.com', '5556667777');INSERT INTO Users (username, password, email, phone)
VALUES ('user6', 'pass6', NULL, '9998887777');INSERT INTO Users (username, password, email, phone)
VALUES ('user7', 'pass7', 'user7@example.com', '7778889999');INSERT INTO BookCategoryRelations (book_id, category_id)
VALUES (1, 1);INSERT INTO BookCategoryRelations (book_id, category_id)
VALUES (2, 2);INSERT INTO BookCategoryRelations (book_id, category_id)
VALUES (3, 3);INSERT INTO BookCategoryRelations (book_id, category_id)
VALUES (4, 4);INSERT INTO BookCategoryRelations (book_id, category_id)
VALUES (5, 5);INSERT INTO BookCategoryRelations (book_id, category_id)
VALUES (6, 6);INSERT INTO BookCategoryRelations (book_id, category_id)
VALUES (7, 7);INSERT INTO Books (title, author, publisher, publication_year, ISBN, stock_quantity)
VALUES ('Book 1', 'Author 1', 'Publisher 1', 2020, '1234567890123', 10);INSERT INTO Books (title, author, publisher, publication_year, ISBN, stock_quantity)
VALUES ('Book 2', 'Author 2', 'Publisher 2', 2019, '2345678901234', 15);INSERT INTO Books (title, author, publisher, publication_year, ISBN, stock_quantity)
VALUES ('Book 3', 'Author 3', 'Publisher 3', 2021, '3456789012345', 20);INSERT INTO Books (title, author, publisher, publication_year, ISBN, stock_quantity)
VALUES ('Book 4', 'Author 4', 'Publisher 4', 2018, '4567890123456', 25);INSERT INTO Books (title, author, publisher, publication_year, ISBN, stock_quantity)
VALUES ('Book 5', 'Author 5', 'Publisher 5', 2022, '5678901234567', 30);INSERT INTO Books (title, author, publisher, publication_year, ISBN, stock_quantity)
VALUES ('Book 6', 'Author 6', 'Publisher 6', 2023, '6789012345678', 35);INSERT INTO Books (title, author, publisher, publication_year, ISBN, stock_quantity)
VALUES ('Book 7', 'Author 7', 'Publisher 7', 2024, '7890123456789', 40);INSERT INTO BookCategories (category_name)
VALUES ('Category 1');INSERT INTO BookCategories (category_name)
VALUES ('Category 2');INSERT INTO BookCategories (category_name)
VALUES ('Category 3');INSERT INTO BookCategories (category_name)
VALUES ('Category 4');INSERT INTO BookCategories (category_name)
VALUES ('Category 5');INSERT INTO BookCategories (category_name)
VALUES ('Category 6');INSERT INTO BookCategories (category_name)
VALUES ('Category 7');INSERT INTO BorrowRecords (user_id, book_id, borrow_date, return_date)
VALUES (1, 1, '2024-07-01', '2024-07-15');INSERT INTO BorrowRecords (user_id, book_id, borrow_date, return_date)
VALUES (2, 2, '2024-07-05', '2024-07-20');INSERT INTO BorrowRecords (user_id, book_id, borrow_date, return_date)
VALUES (3, 3, '2024-07-10', NULL);INSERT INTO BorrowRecords (user_id, book_id, borrow_date, return_date)
VALUES (4, 4, '2024-07-15', NULL);INSERT INTO BorrowRecords (user_id, book_id, borrow_date, return_date)
VALUES (5, 5, '2024-07-20', NULL);INSERT INTO BorrowRecords (user_id, book_id, borrow_date, return_date)
VALUES (6, 6, '2024-07-25', NULL);INSERT INTO BorrowRecords (user_id, book_id, borrow_date, return_date)
VALUES (7, 7, '2024-07-30', NULL);INSERT INTO Suppliers (supplier_name, contact_name, phone, email)
VALUES ('Supplier 1', 'Contact 1', '1234567890', 'upplier1@example.com');INSERT INTO Suppliers (supplier_name, contact_name, phone, email)
VALUES ('Supplier 2', 'Contact 2', '0987654321', 'upplier2@example.com');INSERT INTO Suppliers (supplier_name, contact_name, phone, email)
VALUES ('Supplier 3', 'Contact 3', '1112223333', 'upplier3@example.com');INSERT INTO Suppliers (supplier_name, contact_name, phone, email)
VALUES ('Supplier 4', 'Contact 4', '4445556666', 'upplier4@example.com');INSERT INTO Suppliers (supplier_name, contact_name, phone, email)
VALUES ('Supplier 5', 'Contact 5', '7778889999', 'upplier5@example.com');INSERT INTO Suppliers (supplier_name, contact_name, phone, email)
VALUES ('Supplier 6', 'Contact 6', '0001112222', 'upplier6@example.com');INSERT INTO Suppliers (supplier_name, contact_name, phone, email)
VALUES ('Supplier 7', 'Contact 7', '3334445555', 'upplier7@example.com');INSERT INTO PurchaseRecords (supplier_id, book_id, purchase_date, quantity, price)
VALUES (1, 1, '2024-06-01', 50, 20.00);INSERT INTO PurchaseRecords (supplier_id, book_id, purchase_date, quantity, price)
VALUES (2, 2, '2024-06-05', 40, 18.00);INSERT INTO PurchaseRecords (supplier_id, book_id, purchase_date, quantity, price)
VALUES (3, 3, '2024-06-10', 30, 25.00);INSERT INTO PurchaseRecords (supplier_id, book_id, purchase_date, quantity, price)
VALUES (4, 4, '2024-06-15', 20, 30.00);INSERT INTO PurchaseRecords (supplier_id, book_id, purchase_date, quantity, price)
VALUES (5, 5, '2024-06-20', 15, 22.00);INSERT INTO PurchaseRecords (supplier_id, book_id, purchase_date, quantity, price)
VALUES (6, 6, '2024-06-25', 10, 15.00);INSERT INTO PurchaseRecords (supplier_id, book_id, purchase_date, quantity, price)
VALUES (7, 7, '2024-06-30', 5, 10.00);
相关文章:
图书馆借阅表
DDL 用户表 (Users) 图书表 (Books) 图书类别表 (BookCategories) 图书与类别关联表 (BookCategoryRelations) 借阅记录表 (BorrowRecords) 供应商表 (Suppliers) 采购记录表 (PurchaseRecords) CREATE TABLE Users (user_id INT PRIMARY KEY AUTO_INCREMENT,username …...
云动态摘要 2024-06-25
给您带来云厂商的最新动态,最新产品资讯和最新优惠更新。 最新产品更新 Web应用防火墙 - 验证码支持微信小程序接入 阿里云 2024-06-25 支持客户从微信小程序场景下接入,提供人机识别的安全防护。 工业数字模型驱动引擎 - iDME控制台换新升级 华为云…...
Docker编译nanopc-t4源码流程介绍
官方文档 Android系统编译 vnc加环境变量配置 https://github.com/friendlyarm/docker-cross-compiler-novnc 下载 git clone https://github.com/friendlyarm/docker-ubuntu-lxde-novnc cd docker-ubuntu-lxde-novnc docker build --no-cache -t docker-ubuntu-lxde-novnc …...
Redis八股文目录
Redis缓存穿透-CSDN博客 Redis缓存击穿-CSDN博客 Redis缓存雪崩(主从复制、哨兵模式(脑裂)、分片集群)-CSDN博客 Redis双写一致性-CSDN博客 Redis持久化-CSDN博客 Redis数据过期、淘汰策略-CSDN博客 分布式锁(Re…...
Ext JS+Spring Boot 使用Ajax方式上传文件
实现方式 使用 Ext JS 进行 AJAX 调用以传递文件通常涉及到创建一个 FormData 对象,将文件附加到这个对象中,然后通过 Ext JS 的 AJAX API 发送这个对象。 基本步骤 以下是使用 Ext JS 发送文件的基本步骤: 准备文件和数据: 首先需要获取到要传递的文件 创建 FormData 对…...
windows桌面运维----第九天
1、新的电脑需要安装哪些驱动: 显卡驱动、声卡驱动、主板驱动、网卡驱动、打印机驱动、外设驱动、 2、网络打印机如何开启打印机共享核客户端连接共享打印机: 一、打开控制面板并定位到设备和打印机: 首先,我们在电脑桌面上找…...
【Docker】安装和加速
目录 1.安装 2.了解 docker 信息 3.查询状态 4. 重新启动Docker 1.安装 yum install –y docker 2.了解 docker 信息 cat /etc/redhat-release 3.查询状态 systemctl status docker 4.支持 1.12 的 docker 镜像加速 sudo mkdir -p /etc/docker sudo tee /etc/docke…...
如何关闭win10音量调节时 左上角出现的黑框
目录 1.谷歌浏览器: 2.edge浏览器: 3.没得办法的办法: 4.官方回复: 1.谷歌浏览器: 把这行地址chrome://flags/#hardware-media-key-handling 输入到chrome的地址栏里,回车,把黄色里的Hardwa…...
准确率(accuracy)、召回率(recall)的意义和区别
准确率(accuracy)、召回率(recall)的意义和区别 对于准确率和召回率:一句话,准确率就是“找的对”,召回率就是“找的全” (精确率:正样本中找对的准确率) 注…...
分享5个卫星影像查看网站
我们在《分享5个图源二维码及使用方法》一文中,为你分享了5个图源二维码。 现在再为你为分享5种在线卫星影像,如果你需要更多的图源二维码,请在文末查看领取方式。 MapBox卫星影像 可能很多人都知道MapBox的地名路网地图,但可能…...
37岁,被裁员,失业三个月,被面试官嫌弃“太水”:就这也叫10年以上工作经验?
今年部门要招两个自动化测试,这几个月我面试了几十位候选人。发现一个很奇怪的现象,面试中一问到元素定位、框架api、脚本编写之类的,很多候选人都对答如流。但是一问到实际项目,比如“项目中UI自动化和接口自动化如何搭配使用&am…...
如何选择一款优质的酱香酒?
很多人在评价一款酒的好坏时,往往只关注一个标准:口感是否顺滑。然而,真正品鉴一款酒的品质,首要的是香味,其次是味道,最后才是岁月带来的柔和。这种由岁月赋予的柔和,才能展现出酒的力量感和层…...
SQL Server数据库安装
原文:https://blog.c12th.cn/archives/26.html SQL Server数据库安装 测试:笔记本原装操作系统:Windows 10 家庭中文版 资源分享链接:提取码:qbt2 注意事项: 请严格按照步骤安装,SQL软件安装较…...
Hadoop 面试题(十)
1. 简述下列关于Hadoop命令中,命令执行成功返回0,执行失败返回-1,下列命令返回-1的是 ? A:hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2 B:hdfs dfs -mv hdfs:///testData file:///tmp/testData …...
Python网络安全项目开发实战,如何看清Web攻击
注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程: Python网络安全项目开发实战_看清Web攻击_编程案例解析实例详解课程教程.pdf 一、引言 在网络安全领域,Web攻击一直是一个严峻的问题。攻击者通过各…...
持续总结中!2024年面试必问的操作系统面试题(三)
上一篇地址:持续总结中!2024年面试必问的操作系统面试题(二)-CSDN博客 五、什么是分页和分段?它们之间有什么区别? 分页和分段是操作系统中用于内存管理的两种不同技术,它们都旨在允许操作系统…...
请说明Thread类中run和start的区别,从方法的区别,及运行结果的区别分别说明
方法本身的区别 start() 方法: run()方法是Thread类的一个普通方法,它包含了线程要执行的代码。当你直接调用一个线程的run()方法(如myThread.run()),你实际上是在当前线程(通常是主线程)中执行…...
MySQL:概念、逻辑与物理结构设计详解
MySQL:概念、逻辑与物理结构设计详解 一、引言 MySQL是一个流行的开源关系型数据库管理系统(RDBMS),广泛应用于各种规模和类型的应用程序中。在设计和实现一个MySQL数据库时,理解其基本概念、逻辑结构设计和物理结构…...
《昇思 25 天学习打卡营第 6 天 | 函数式自动微分 》
《昇思 25 天学习打卡营第 6 天 | 函数式自动微分 》 活动地址:https://xihe.mindspore.cn/events/mindspore-training-camp 签名:Sam9029 函数式自动微分 自动微分是深度学习中的一个核心概念,它允许我们自动计算模型参数的梯度,…...
刷题——二叉树的中序遍历
双指针法 void midorder(vector<int>&res, TreeNode* root){if(root NULL) return;midorder(res, root->left);res.push_back(root->val);midorder(res, root->right);}vector<int> inorderTraversal(TreeNode* root) {// write code herevector<…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
