当前位置: 首页 > news >正文

【数据库——MySQL(实战项目1)】(1)图书借阅系统

目录

  • 1. 简述
  • 2. 功能
  • 3. 数据库结构设计
    • 3.1 绘制 E-R 图
    • 3.2 创建数据库
    • 3.3 创建表
    • 3.4 插入表数据

1. 简述

经过前期的学习,我们已经掌握数据库基础操作,因此是时候来做一个实战项目了——图书借阅系统。对于图书借阅系统,相信大家不难想到至少需要 3 张表,分别是:借阅人表图书表借阅信息表(当然不限于这些表,大家可以根据自己的想法创建其它表)。

那么每张表的内容应该有这些:

表名表内容
借阅人证件号,姓名,类别(教师,学生),已借数目,电话
图书图书编号,书名,类别,是否借出
借阅信息证件号,图书编号,借出日期,应归还日期(计算字段),实际归还日期

2. 功能

相信大家对于图书借阅系统的功能都有一个大概的想法,当然也可能有些同学没什么想法,这里我会给出 11 个要实现的功能供大家参考~

  1. 创建视图显示所有逾期未归还的借阅信息(包括借阅人姓名,借阅人类别,书名,借出日期,应归还日期,逾期时长);
  2. 创建存储过程,每借出一本图书,向借阅信息表中加入一条记录;
  3. 创建存储过程,每归还一本图书,修改借阅信息表中相应的记录;
  4. 创建存储函数,根据图书编号查借阅人姓名,并调用该函数查询‘ 小邓在森林 ’已借未还的图书情况;
  5. 创建存储函数,计算某借阅人还能借阅的图书数目,学生限额 5 本,教师限额 10 本。
  6. 创建存储函数,查询某本图书逾期未还的时长,并调用该函数显示所有逾期未归还图书的书名,借阅人和逾期时长并按逾期时长排序;
  7. 创建存储函数,查询某借阅人有几本逾期未还图书,并调用该函数显示有逾期未归还图书的借阅人和未归还图书数目;
  8. 创建存储函数,利用游标计算计算某借阅人逾期未还图书应缴纳的罚款,逾期 30 日内罚款 1 元,逾期 90 日内罚款 3 元,逾期超过 90 日罚款 5 元。调用该函数显示所有应缴纳罚款的借阅人的姓名,逾期罚款和电话;
  9. 创建两个触发器,分别在借出或归还图书时,修改借阅人表中的已借数目(附加:借阅人表的总借书数、图书表的借阅次数以及更新图书表的图书状态为(已借出/在架上))字段;
  10. 创建触发器,当借阅者已借阅的书籍数目达到限额时,禁止借入新的书籍;
  11. 创建触发器,当要从借阅人表中删除借阅人时(毕业了),需要先判断此借阅人是否有书未还,有的话禁止从借阅人表中删除此借阅人。

:大家可以根据需要开发其它的功能,下面就分几篇文章给出整个开发思路,所有操作都是由代码进行的~

3. 数据库结构设计

3.1 绘制 E-R 图

在这里插入图片描述

3.2 创建数据库

# 先删除数据库
DROP DATABASE IF EXISTS library;
# 创建数据库
CREATE DATABASE IF NOT EXISTS `library` 
DEFAULT CHARACTER SET 'gb18030' 
DEFAULT COLLATE 'gb18030_chinese_ci';
# 创建存储函数开关
set global log_bin_trust_function_creators=TRUE;

这里采用 gb18030 编码是因为可能用户的姓名或者书名有生僻字,所以采用蕴含最多汉字的 gb18030 编码。

3.3 创建表

  1. 借阅人表
    主键:证件号;
    默认值:性别默认取男,类别默认取本科生,已借数目、总借书数默认取零,借阅人等级默认取 5(最高 5 颗星);
    检查约束:对手机号进行检查(长度为11,且第一位为1)。

    use library;
    # 删除表(如果存在的话)
    DROP TABLE IF EXISTS borrower;
    # 创建"借阅人"表
    CREATE TABLE IF NOT EXISTS `library`.`borrower`  (`id` char(13) NOT NULL COMMENT '证件号',`name` varchar(20) NULL DEFAULT NULL COMMENT '姓名',`sex` enum('男','女') NULL DEFAULT '男' COMMENT '性别(男【默认值】、女)',`category` enum('教师','本科生','研究生') NOT NULL DEFAULT '本科生' COMMENT '类别(教师、本科生【默认值】、研究生)',`borrowedCount` int(7) UNSIGNED NOT NULL DEFAULT 0 COMMENT '已借数目(无符号,默认零)',`borrowedAll` int(7) UNSIGNED NOT NULL DEFAULT 0 COMMENT '总借书数(无符号,默认零)',`tel` char(11) NOT NULL UNIQUECHECK(LENGTH(TRIM(tel))=11 AND LEFT(tel,1)='1')COMMENT '手机号',`email` varchar(50) NOT NULL COMMENT '邮箱',`grade` tinyint(1) UNSIGNED NOT NULL DEFAULT 5 COMMENT '借阅人等级(0,1,2,3,4,5【默认值】)',`password` varchar(50) NOT NULL COMMENT '密码',PRIMARY KEY (`id`)
    );
    

    在这里插入图片描述

  2. 图书表
    主键:图书编号;
    默认值:是否借出默认值为在架上(否),借阅次数默认值取零;

    # 删除图书表
    DROP TABLE IF EXISTS book;
    # 创建图书表
    CREATE TABLE `library`.`book`  (`id` char(12) NOT NULL COMMENT '图书编号',`name` varchar(50) NOT NULL COMMENT '书名',`category` enum('马克思主义、列宁主义、毛泽东思想、邓小平理论','哲学、宗教','社会科学总论','政治、法律','军事','经济','文化、科学、教育、体育','语言、文字','文学','艺术','历史、地理','自然科学总论','数理科学和化学','天文学、地球科学','生物科学','医药、卫生','工业技术','农业科学','交通运输','航空、航天','环境科学、安全科学','综合性图书') NOT NULL COMMENT '类别(马克思主义、列宁主义、毛泽东思想、邓小平理论,哲学、宗教,社会科学总论,政治、法律,军事,经济,文化、科学、教育、体育,语言、文字,文学,艺术,历史、地理,自然科学总论,数理科学和化学,天文学、地球科学,生物科学,医药、卫生,工业技术,农业科学,交通运输,航空、航天,环境科学、安全科学,综合性图书)',`state` enum('在架上','已借出') NOT NULL DEFAULT '在架上' COMMENT '是否借出(在架上【默认值】,已借出)',`author` varchar(20) NOT NULL COMMENT '作者',`introduction` varchar(2000) NULL COMMENT '图书简介',`press` varchar(50) NOT NULL COMMENT '出版社',`publishDate` year NOT NULL COMMENT '出版时间',`callNum` char(20) NOT NULL COMMENT '索书号',`location` varchar(255) NOT NULL COMMENT '馆藏位置',`lendCount` int UNSIGNED NOT NULL DEFAULT 0 COMMENT '借阅次数(无符号,默认取零)',PRIMARY KEY (`id`)
    );
    

    在这里插入图片描述

  3. 借阅信息表
    主键:借阅编号(自动增长,无符号);
    默认值:无;

    # 删除借阅信息表
    DROP TABLE IF EXISTS information;
    # 创建借阅信息表
    CREATE TABLE `library`.`information`  (`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '借阅编号(自动增长,无符号)',`borrowerid` char(13) NOT NULL COMMENT '证件号',`bookid` char(12) NOT NULL COMMENT '图书编号',`leadDate` date NOT NULL COMMENT '借出日期',`returnDate` date GENERATED ALWAYS AS (FROM_DAYS(TO_DAYS(leadDate) + 30)) STORED COMMENT '应归还日期(计算字段,每本书可借30天)' NULL,`returnDateReality` date NULL DEFAULT NULL COMMENT '实际归还日期(未归还时为空)',PRIMARY KEY (`id`)
    );
    

    在这里插入图片描述
    在这里插入图片描述

各表外键设置:借阅信息表与借阅人表通过“证件号”列建立外键约束,类型皆为级联(CASCADE);借阅信息表与图书表通过“图书编号”列建立外键约束,类型皆为级联(CASCADE)。

# 设置外键
ALTER TABLE `library`.`information` 
ADD CONSTRAINT `fk_borrowerid` FOREIGN KEY (`borrowerid`) REFERENCES `library`.`borrower` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `fk_bookid` FOREIGN KEY (`bookid`) REFERENCES `library`.`book` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

在这里插入图片描述

3.4 插入表数据

  1. 借阅人表

    # 向借阅人表添加数据
    INSERT INTO borrower VALUES(2020312011047,'小邓在森林','男','本科生',3,3,13168968999,'CSDN_deng@whu.edu.cn',2,'123456'),(1000000000001,'康卓','男','教师',0,1,13125168999,'kang@163.com',5,'123456'),(2020312011001,'Tony','男','本科生',1,1,13612288888,'Tony@163.com',5,'tony123456'),(2021312011002,'森林','男','研究生',DEFAULT,DEFAULT,17765499263,'senlin@qq.com',5,'senlin_jisuanji'),(2019311010065,'Mary','女','本科生',0,1,15088198250,'Mary@gmail.com',5,'ajndj_6556asdhabd'),(2018210210205,'张三','男','研究生',0,1,17766877652,'zhangsan@qq.com',5,'fawaikuangtujiushiwo'),(1000000000002,'许和雅','女','教师',1,1,18927763056,'18927763056@163.com',5,'jkja_hjsbj5665_naAAA'),(2022312011029,'冯红云','女','研究生',DEFAULT,DEFAULT,13908623506,'2022312011029@whu.edu.cn',5,'bsadhj32e_5SAS53'),(2023302010007,'刘一凡','男','本科生',DEFAULT,DEFAULT,13702345067,'13702345067@163.com',5,'66666666'),(2022312011047,'张海','男','本科生',1,1,18985107123,'2022312011047@whu.edu.cn',5,'88888888'),(2020301110066,'雷淳雅','女','研究生',1,1,13707761223,'2020301110066@whu.edu.cn',5,'ajck6515a_cj'),(2023513266556,'郭靖','男','本科生',1,1,17725108427,'2023513266556@whu.edu.cn',5,'woaihuangrong'),(2023513266557,'黄蓉','女','本科生',DEFAULT,DEFAULT,17715108427,'2023513266557@whu.edu.cn',5,'woaiguojing'),(2022202365655,'张三丰','男','研究生',DEFAULT,DEFAULT,17715156632,'2022202365655@whu.edu.cn',5,'ilikecomputer'),(2019301021002,'陈启','女','本科生',1,1,13521234567,'2019301021002@whu.edu.cn',5,'duiaidnk66556');
    

    在这里插入图片描述

  2. 图书表

    # 向图书表添加数据
    INSERT INTO book VALUES(101102275625,'PyQt 5快速开发与实战','工业技术','已借出','王硕, 孙洋洋','本书对PyQt 5基础知识比较全面的介绍, 同时对新手使用PyQt 5的一些重点、难点都有专门的章节进行针对性分析, 还重点介绍了如何把Python的一些重量级模块(Pandas、Matplotlib和Plotly)嵌入到PyQt 5中, 从而极大地节约开发时间。最后, 给出一些综合性较强的实战案例, 帮助读者快速掌握PyQt 5的实战应用。','北京 : 电子工业出版社','2017','TP311.561/W218','工学馆自科图书借阅区',1),(101102275623,'PyQt 5快速开发与实战','工业技术','在架上','王硕, 孙洋洋','本书对PyQt 5基础知识比较全面的介绍, 同时对新手使用PyQt 5的一些重点、难点都有专门的章节进行针对性分析, 还重点介绍了如何把Python的一些重量级模块(Pandas、Matplotlib和Plotly)嵌入到PyQt 5中, 从而极大地节约开发时间。最后, 给出一些综合性较强的实战案例, 帮助读者快速掌握PyQt 5的实战应用。','北京 : 电子工业出版社','2017','TP311.561/W218','总馆中文图书借阅A2-A5',DEFAULT),(101102275622,'PyQt 5快速开发与实战','工业技术','已借出','王硕, 孙洋洋','本书对PyQt 5基础知识比较全面的介绍, 同时对新手使用PyQt 5的一些重点、难点都有专门的章节进行针对性分析, 还重点介绍了如何把Python的一些重量级模块(Pandas、Matplotlib和Plotly)嵌入到PyQt 5中, 从而极大地节约开发时间。最后, 给出一些综合性较强的实战案例, 帮助读者快速掌握PyQt 5的实战应用。','北京 : 电子工业出版社','2017','TP311.561/W218','信息馆借阅区2楼东',1),(101102275624,'PyQt 5快速开发与实战','工业技术','在架上','王硕, 孙洋洋','本书对PyQt 5基础知识比较全面的介绍, 同时对新手使用PyQt 5的一些重点、难点都有专门的章节进行针对性分析, 还重点介绍了如何把Python的一些重量级模块(Pandas、Matplotlib和Plotly)嵌入到PyQt 5中, 从而极大地节约开发时间。最后, 给出一些综合性较强的实战案例, 帮助读者快速掌握PyQt 5的实战应用。','北京 : 电子工业出版社','2017','TP311.561/W218','工学馆自科图书借阅区',DEFAULT),(101102698766,'PyTorch深度学习入门','工业技术','在架上','曾芃壹','本书以图文并貌的形式、浅显易懂的语言仔细讲解了深度学习的基础知识。从如何挑选硬件到神经网络的初步搭建,再到实现图片识别、文本翻译、强化学习、生成对抗网络等多个目前最流行的深度学习应用。本书用Python语言,基于目前流行的PyTorch框架,编写代码实现了各种深度学习的应用程序,让理论和实践紧密结合。','北京 : 人民邮电出版社','2019','TP181/Z167','总馆中文图书借阅A2-A5',DEFAULT),(101102512651,'PyTorch深度学习入门','工业技术','已借出','曾芃壹','本书以图文并貌的形式、浅显易懂的语言仔细讲解了深度学习的基础知识。从如何挑选硬件到神经网络的初步搭建,再到实现图片识别、文本翻译、强化学习、生成对抗网络等多个目前最流行的深度学习应用。本书用Python语言,基于目前流行的PyTorch框架,编写代码实现了各种深度学习的应用程序,让理论和实践紧密结合。','北京 : 人民邮电出版社','2019','TP181/Z167','信息馆借阅区2楼东',2),(101102512652,'PyTorch深度学习入门','工业技术','已借出','曾芃壹','本书以图文并貌的形式、浅显易懂的语言仔细讲解了深度学习的基础知识。从如何挑选硬件到神经网络的初步搭建,再到实现图片识别、文本翻译、强化学习、生成对抗网络等多个目前最流行的深度学习应用。本书用Python语言,基于目前流行的PyTorch框架,编写代码实现了各种深度学习的应用程序,让理论和实践紧密结合。','北京 : 人民邮电出版社','2019','TP181/Z167','信息馆借阅区2楼东',1),(101102699724,'矩阵论千题习题详解','数理科学和化学','在架上','方保镕','本书涵盖了清华大学出版社《矩阵论》(第3版)一书中约1200道习题和自测题的解答。部分习题给出了多种解法并作了一些评注。这些习题大致可分为两种类型:基础题型用以巩固所学的知识,加深对基本概念的理解;综合题型是训练读者灵活运用前面所学知识的能力。','北京 : 清华大学出版社','2021','O151.21/F1653/p','总馆中文阅览区B2',1),(101102699725,'矩阵论千题习题详解','数理科学和化学','已借出','方保镕','本书涵盖了清华大学出版社《矩阵论》(第3版)一书中约1200道习题和自测题的解答。部分习题给出了多种解法并作了一些评注。这些习题大致可分为两种类型:基础题型用以巩固所学的知识,加深对基本概念的理解;综合题型是训练读者灵活运用前面所学知识的能力。','北京 : 清华大学出版社','2021','O151.21/F1653/p','总馆中文图书借阅A2-A5',1),(101102584721,'凸优化理论与算法','数理科学和化学','在架上','张海斌, 张凯丽','本书系统地阐述了凸优化的理论与算法,首先介绍必要的凸分析基础知识,然后讨论对偶理论与最优性条件,它们作为基础对凸优化算法的理论分析起着十分重要的作用,最后讲述凸优化算法。本书基本涵盖了所有的关键性证明,尽量为读者节省查阅其他文献的时间,同时也收录了一些相关领域的最新研究成果,所涉及内容有着广泛的应用前景.','北京 : 科学出版社','2020','O174.13/Z271','总馆中文阅览区B2',DEFAULT),(101102584722,'凸优化理论与算法','数理科学和化学','已借出','张海斌, 张凯丽','本书系统地阐述了凸优化的理论与算法,首先介绍必要的凸分析基础知识,然后讨论对偶理论与最优性条件,它们作为基础对凸优化算法的理论分析起着十分重要的作用,最后讲述凸优化算法。本书基本涵盖了所有的关键性证明,尽量为读者节省查阅其他文献的时间,同时也收录了一些相关领域的最新研究成果,所涉及内容有着广泛的应用前景.','北京 : 科学出版社','2020','O174.13/Z271','总馆中文图书借阅A2-A5',1),(101102713690,'人工智能习题解析与实践','工业技术','已借出','朱福喜, 朱丽达','本书共16章,内容包括:用搜索求解问题的基本原理、搜索的基本策略、图搜索策略、博弈与搜索、演化搜索算法等。','北京 : 清华大学出版社','2019','TP18/Z712c3/p','总馆中文图书借阅A2-A5',1),(101102510900,'人工智能习题解析与实践','工业技术','在架上','朱福喜, 朱丽达','本书共16章,内容包括:用搜索求解问题的基本原理、搜索的基本策略、图搜索策略、博弈与搜索、演化搜索算法等。','北京 : 清华大学出版社','2019','TP18/Z712c3/p','信息馆借阅区2楼东',DEFAULT),(101102620212,'人工智能习题解析与实践','工业技术','在架上','朱福喜, 朱丽达','本书共16章,内容包括:用搜索求解问题的基本原理、搜索的基本策略、图搜索策略、博弈与搜索、演化搜索算法等。','北京 : 清华大学出版社','2019','TP18/Z712c3/p','信息馆借阅区2楼东',DEFAULT),(101102713691,'人工智能习题解析与实践','工业技术','在架上','朱福喜, 朱丽达','本书共16章,内容包括:用搜索求解问题的基本原理、搜索的基本策略、图搜索策略、博弈与搜索、演化搜索算法等。','北京 : 清华大学出版社','2019','TP18/Z712c3/p','医学馆中文科技借阅B',DEFAULT),(451100004441,'人工智能习题解析与实践','工业技术','在架上','朱福喜, 朱丽达','本书共16章,内容包括:用搜索求解问题的基本原理、搜索的基本策略、图搜索策略、博弈与搜索、演化搜索算法等。','北京 : 清华大学出版社','2019','TP18/Z712c3/p','计算机学院资料室',DEFAULT),(101700033107,'SPSS 22.0统计分析从入门到精通','社会科学总论','在架上','李昕, 张明明','本书以SPSS 22.0为平台,由浅入深地全面讲解SPSS软件的相关知识,通过图文并茂的方式讲解各项操作,深入浅出,实例引导,讲解翔实,清晰、直观、易学易用。全书分为三部分共19章,详细介绍SPSS的界面、数据文件的编辑、数据文件的整理、基本统计分析、参数估计与假设检验、非参数检验、方差分析、相关分析、回归分析、聚类分析、判别分析、因子分析、对应分析、信度分析、生存分析、时间序列分析、统计图形的绘制、SPSS在企业经济活动和房地产中的应用等内容。本书涉及面广,涵盖了一般用户需要使用的各种功能,全书按逻辑顺序编排,自始至终结合实例进行描述,内容完整且每章相对独立,是一本详细实用的SPSS参考书。','北京 : 电子工业出版社','2015','C819/L334','总馆中文图书借阅A2-A5',DEFAULT),(101700037671,'SPSS 22.0统计分析从入门到精通','社会科学总论','在架上','李昕, 张明明','本书以SPSS 22.0为平台,由浅入深地全面讲解SPSS软件的相关知识,通过图文并茂的方式讲解各项操作,深入浅出,实例引导,讲解翔实,清晰、直观、易学易用。全书分为三部分共19章,详细介绍SPSS的界面、数据文件的编辑、数据文件的整理、基本统计分析、参数估计与假设检验、非参数检验、方差分析、相关分析、回归分析、聚类分析、判别分析、因子分析、对应分析、信度分析、生存分析、时间序列分析、统计图形的绘制、SPSS在企业经济活动和房地产中的应用等内容。本书涉及面广,涵盖了一般用户需要使用的各种功能,全书按逻辑顺序编排,自始至终结合实例进行描述,内容完整且每章相对独立,是一本详细实用的SPSS参考书。','北京 : 电子工业出版社','2015','C819/L334','总馆中文图书借阅A2-A5',DEFAULT),(101101926385,'SPSS 22.0统计分析从入门到精通','社会科学总论','在架上','李昕, 张明明','本书以SPSS 22.0为平台,由浅入深地全面讲解SPSS软件的相关知识,通过图文并茂的方式讲解各项操作,深入浅出,实例引导,讲解翔实,清晰、直观、易学易用。全书分为三部分共19章,详细介绍SPSS的界面、数据文件的编辑、数据文件的整理、基本统计分析、参数估计与假设检验、非参数检验、方差分析、相关分析、回归分析、聚类分析、判别分析、因子分析、对应分析、信度分析、生存分析、时间序列分析、统计图形的绘制、SPSS在企业经济活动和房地产中的应用等内容。本书涉及面广,涵盖了一般用户需要使用的各种功能,全书按逻辑顺序编排,自始至终结合实例进行描述,内容完整且每章相对独立,是一本详细实用的SPSS参考书。','北京 : 电子工业出版社','2015','C819/L334','总馆中文图书借阅A2-A5',DEFAULT),(101102210607,'SPSS 22.0统计分析从入门到精通','社会科学总论','在架上','李昕, 张明明','本书以SPSS 22.0为平台,由浅入深地全面讲解SPSS软件的相关知识,通过图文并茂的方式讲解各项操作,深入浅出,实例引导,讲解翔实,清晰、直观、易学易用。全书分为三部分共19章,详细介绍SPSS的界面、数据文件的编辑、数据文件的整理、基本统计分析、参数估计与假设检验、非参数检验、方差分析、相关分析、回归分析、聚类分析、判别分析、因子分析、对应分析、信度分析、生存分析、时间序列分析、统计图形的绘制、SPSS在企业经济活动和房地产中的应用等内容。本书涉及面广,涵盖了一般用户需要使用的各种功能,全书按逻辑顺序编排,自始至终结合实例进行描述,内容完整且每章相对独立,是一本详细实用的SPSS参考书。','北京 : 电子工业出版社','2015','C819/L334','总馆中文图书借阅A2-A5',DEFAULT),(101700033106,'SPSS 22.0统计分析从入门到精通','社会科学总论','在架上','李昕, 张明明','本书以SPSS 22.0为平台,由浅入深地全面讲解SPSS软件的相关知识,通过图文并茂的方式讲解各项操作,深入浅出,实例引导,讲解翔实,清晰、直观、易学易用。全书分为三部分共19章,详细介绍SPSS的界面、数据文件的编辑、数据文件的整理、基本统计分析、参数估计与假设检验、非参数检验、方差分析、相关分析、回归分析、聚类分析、判别分析、因子分析、对应分析、信度分析、生存分析、时间序列分析、统计图形的绘制、SPSS在企业经济活动和房地产中的应用等内容。本书涉及面广,涵盖了一般用户需要使用的各种功能,全书按逻辑顺序编排,自始至终结合实例进行描述,内容完整且每章相对独立,是一本详细实用的SPSS参考书。','北京 : 电子工业出版社','2015','C819/L334','总馆多媒体阅览区',DEFAULT),(101102637877,'《暴力在历史中的作用》','马克思主义、列宁主义、毛泽东思想、邓小平理论','已借出','吴兴德','本书是“马克思主义经典文献传播通考”丛书的其中一部。是对曹汀所翻译的《暴力在历史中的作用》的背景和地位进行介绍, 考证其历史价值与学术贡献, 并做考释与译文解析。','沈阳 : 辽宁人民出版社','2021','A811.24/B278','总馆中文阅览区C1-C4',1),(101102051108,'精神交往论 : 马克思恩格斯的传播观','马克思主义、列宁主义、毛泽东思想、邓小平理论','在架上','陈力丹','《精神交往论:马克思恩格斯的传播观》从信息传播的角度,系统展现了马克思和恩格斯开放的思想体系。全书论证了他们历史唯物主义的传播理论、世界交往的基本理念,详尽地阐述了他们所谈到的几乎所有涉及人类传播的各种现象和形态,诸如思维、语言、文字、印刷术、宗教、文艺、宣传、新闻、报刊等等。还论证了他们关于传播与法、传播心理、工人政党内部的精神交往、人类传播历经的三个发展形态等等观点。','北京 : 中国人民大学出版社','2016','A811.67/C332a2','总馆中文图书借阅A2-A5',DEFAULT),(341100043465,'精神交往论 : 马克思恩格斯的传播观','马克思主义、列宁主义、毛泽东思想、邓小平理论','在架上','陈力丹','《精神交往论:马克思恩格斯的传播观》从信息传播的角度,系统展现了马克思和恩格斯开放的思想体系。全书论证了他们历史唯物主义的传播理论、世界交往的基本理念,详尽地阐述了他们所谈到的几乎所有涉及人类传播的各种现象和形态,诸如思维、语言、文字、印刷术、宗教、文艺、宣传、新闻、报刊等等。还论证了他们关于传播与法、传播心理、工人政党内部的精神交往、人类传播历经的三个发展形态等等观点。','北京 : 中国人民大学出版社','2016','A811.67/C332a2','新闻与传播学院资料室',1),(351100061116,'精神交往论 : 马克思恩格斯的传播观','马克思主义、列宁主义、毛泽东思想、邓小平理论','已借出','陈力丹','《精神交往论:马克思恩格斯的传播观》从信息传播的角度,系统展现了马克思和恩格斯开放的思想体系。全书论证了他们历史唯物主义的传播理论、世界交往的基本理念,详尽地阐述了他们所谈到的几乎所有涉及人类传播的各种现象和形态,诸如思维、语言、文字、印刷术、宗教、文艺、宣传、新闻、报刊等等。还论证了他们关于传播与法、传播心理、工人政党内部的精神交往、人类传播历经的三个发展形态等等观点。','北京 : 中国人民大学出版社','2016','A811.67/C332a2','政管、马院中文书库',1),(101101699412,'《中观心论》及其古注《思择焰》研究','哲学、宗教','在架上','何欢欢','《中观心论》是清辩论师现存唯一的梵文著作,仅保存在丹珠尔中的《思择炎》则是《中观心论》的唯一古注,其中的《入抉择数论之真实品》、《入抉择胜论之真实品》、《入抉择吠檀多之真实品》是目前所知最早系统叙述并批判数论派、胜论派、吠檀多派思想理论的佛教文献。本文以这三品的梵文贝叶写本和藏译刻版写经为研究对象,结合相关梵文原典与汉译文献,考察了佛教中观派对数论派、胜论派、吠檀多派三大“外道”思想的记述与批判。本书为作者在北京大学的博士论文。','北京 : 中国社会科学出版社','2013','B946.9/H314','总馆中文图书借阅A2-A5',DEFAULT),(101101699410,'《中观心论》及其古注《思择焰》研究','哲学、宗教','在架上','何欢欢','《中观心论》是清辩论师现存唯一的梵文著作,仅保存在丹珠尔中的《思择炎》则是《中观心论》的唯一古注,其中的《入抉择数论之真实品》、《入抉择胜论之真实品》、《入抉择吠檀多之真实品》是目前所知最早系统叙述并批判数论派、胜论派、吠檀多派思想理论的佛教文献。本文以这三品的梵文贝叶写本和藏译刻版写经为研究对象,结合相关梵文原典与汉译文献,考察了佛教中观派对数论派、胜论派、吠檀多派三大“外道”思想的记述与批判。本书为作者在北京大学的博士论文。','北京 : 中国社会科学出版社','2013','B946.9/H314','总馆中文图书借阅A2-A5',DEFAULT),(321100120204,'当代中国政治法律制度','政治、法律','在架上','王文惠','本著作系统介绍新中国建立以后特别是改革开放以来,根据宪法的制度安排,在当代中国现行法律体系框架下,有关政治关系的法律制度。具体介绍当代中国的政党法律制度、人民代表大会法律制度、人民政府法律制度、民族区域自治法律制度、人民法院和人民检察院法律制度、基层民主法律制度、群团组织法律制度和特别行政区法律制度。','北京 : 中国社会科学出版社','2018','D926.04/W221','法学院中文图书借阅室',DEFAULT),(101102398494,'当代中国政治法律制度','政治、法律','在架上','王文惠','本著作系统介绍新中国建立以后特别是改革开放以来,根据宪法的制度安排,在当代中国现行法律体系框架下,有关政治关系的法律制度。具体介绍当代中国的政党法律制度、人民代表大会法律制度、人民政府法律制度、民族区域自治法律制度、人民法院和人民检察院法律制度、基层民主法律制度、群团组织法律制度和特别行政区法律制度。','北京 : 中国社会科学出版社','2018','D926.04/W221','总馆中文图书借阅A2-A5',DEFAULT),(101102308670,'《孙子兵法》新解 : 王阳明兵学智慧的源头','军事','在架上','(日) 冈田武彦','本书作者对《孙子兵法》的原文做了极平易的翻译,并从全新角度对《孙子兵法》进行了解读,尤其对《孙子兵法》的原理和精神做了重点的解说和分析。书中不仅对中国古代诸如曹操、杜牧、张预等注评家关于《孙子兵法》各条目的观点进行了分析和判断,而且吸收和采纳了山口春水、荻生徂徕、佐藤一斋等人的兵法研究成果,将孙子的兵法思想诠释出了跨越古今的极新高度。','重庆 : 重庆出版社','2017','E892.25/S841dc','总馆中文图书借阅A2-A5',DEFAULT);
    

    在这里插入图片描述

  3. 借阅信息表

    # 向借阅信息表添加数据
    INSERT INTO information VALUES(DEFAULT,1000000000001,341100043465,'2017-05-15',DEFAULT,'2017-05-30'),(DEFAULT,2019311010065,101102512651,'2020-10-20',DEFAULT,'2020-11-08'),(DEFAULT,2018210210205,101102699724,'2022-01-02',DEFAULT,'2022-01-30'),(DEFAULT,2020312011047,101102275625,'2023-01-10',DEFAULT,DEFAULT),(DEFAULT,2020301110066,101102275622,'2023-01-10',DEFAULT,DEFAULT),(DEFAULT,2022312011047,101102512652,'2023-02-01',DEFAULT,DEFAULT),(DEFAULT,2019301021002,101102584722,'2023-02-08',DEFAULT,DEFAULT),(DEFAULT,2020312011047,351100061116,'2023-02-23',DEFAULT,DEFAULT),(DEFAULT,1000000000002,101102637877,'2023-03-10',DEFAULT,DEFAULT),(DEFAULT,2020312011047,101102512651,'2023-04-10',DEFAULT,DEFAULT),(DEFAULT,2020312011001,101102699725,'2023-04-28',DEFAULT,DEFAULT),(DEFAULT,2023513266556,101102713690,'2023-05-05',DEFAULT,DEFAULT);
    

    在这里插入图片描述

数据库 library 创建完毕,具体的功能实现将在下一篇文章展示~

上一篇文章:【数据库——MySQL】(16)游标和触发器习题及讲解

相关文章:

【数据库——MySQL(实战项目1)】(1)图书借阅系统

目录 1. 简述2. 功能3. 数据库结构设计3.1 绘制 E-R 图3.2 创建数据库3.3 创建表3.4 插入表数据 1. 简述 经过前期的学习,我们已经掌握数据库基础操作,因此是时候来做一个实战项目了——图书借阅系统。对于图书借阅系统,相信大家不难想到至少…...

[GXYCTF 2019]Ping Ping Ping题目解析

本题考察的内容是rce绕过,本事过滤的东西不算多也算是比较好绕过 基础看到这种先ping一下试试看 输入127.0.0.1看看有啥东西 有回显说明可以接着往下做 借用RCE漏洞详解及绕过总结(全面)-CSDN博客这个大佬整理的rce绕过 ;A;B无论真假,A与B都执行&…...

HTTP协议的请求协议和响应协议的组成,HTTP常见的状态信息

HTTP协议 什么是协议 协议实际上是某些人或组织提前制定好的一套规范,大家只要都按照这个规范来就可以做到沟通无障碍 HTTP协议是W3C(万维网联盟组织)制定的一种超文本传输通信协议(发送消息的模板和数据的格式),除了传送字符串,还有声音、视频、图片等流媒体等超文本信息 …...

【LeetCode】剑指 Offer Ⅱ 第6章:栈(6道题) -- Java Version

题库链接:https://leetcode.cn/problem-list/e8X3pBZi/ 类型题目解决方案栈的应用剑指 Offer II 036. 后缀表达式模拟 栈 ⭐剑指 Offer II 037. 小行星碰撞分类讨论 栈 ⭐单调栈剑指 Offer II 038. 每日温度单调栈 ⭐剑指 Offer II 039. 直方图最大矩形面积单调栈…...

vue3的element-plus的el-dialog的样式修改无效问题

问题描述 想要修改element-plus的对话框el-dialog中的样式,发现在页面style的scoped属性下,使用:deep深入选择器进行修改是无效的。(vue2下深度选择器是有效的) //无效 :deep(.el-dialog){background-color: transparent; }解决…...

归纳所猜半结论推出完整结论:CF1592F1

https://www.luogu.com.cn/problem/CF1592F1 场上猜了个结论,感觉只会操作1。然后被样例1hack了。然后就猜如果 ( n , m ) (n,m) (n,m) 为1则翻转4操作,被#14hack了。然后就猜4操作只会进行一次,然后就不知道怎么做下去了。 上面猜的结论都…...

WPFdatagrid结合comboBox

在WPF的DataGrid中希望结合使用ComboBox下拉框,达到下拉选择绑定的效果,在实现的过程中,遇到了一些奇怪的问题,因此记录下来。 网上能够查询到的解决方案: 总共有三种ItemSource常见绑定实现方式: 1.ItemS…...

Markdown类图之继承、实现、关联、依赖、组合、聚合总结(十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...

@MultipartConfig注解

前言: 在学习Javaweb的Servlet文件上传和下载的过程中,我们会遇到一个特殊的注解---MultipartConfig。 MultipartConfig的适用情况: 1.文件上传: 当您的应用程序需要接收用户上传的文件时,可以在相应的 Servlet 上使用 Multipart…...

Python并发编程简介

1、Python对并发编程的支持 多线程: threading, 利用CPU和IO可以同时执行的原理,让CPU不会干巴巴等待IO完成多进程: multiprocessing, 利用多核CPU的能力,真正的并行执行任务异步IO: asyncio,在单线程利用CPU和IO同时执行的原理,实现函数异步执行使用Lo…...

WebSocket介绍及部署

WebSocket是一种在单个TCP连接上进行全双工通信的协议,其设计的目的是在Web浏览器和Web服务器之间进行实时通信(实时Web)。 WebSocket协议的优点包括: 1. 更高效的网络利用率:与HTTP相比,WebSocket的握手…...

自动求导,计算图示意图及pytorch实现

pytorch实现 x1 torch.tensor(3.0, requires_gradTrue) y1 torch.tensor(2.0, requires_gradTrue) a x1 ** 2 b 3 * a c b * y1 c.backward() print(x1.grad) print(y1.grad) print(x1.grad 6 * x1 * y1) print(y1.grad 3 * (x1 ** 2))输出为: tensor(36.) …...

睿伴科创上线了

Robotutor睿伴,一个专业的青少儿编程科创教育品牌和科创服务平台。 Robotutor睿伴拥有一个超过5年的青少儿编程科创教育团队,积累了丰富的课程研发,教学服务和赛事辅导经验。并和上海多所知名高校、上海市计算机学会、上海青少年科学社等开展…...

域名抢注和域名注册

随着互联网的发展,域名已经成为了企业和个人在网络上展示自己的重要标志。如何获得一段好记、易拼写、有意义的域名,是很多人都面临的问题。本文将介绍域名抢注和域名注册的相关内容,并推荐ym.qqmu.com这个可靠的域名注册平台。 一、什么是域…...

【20】c++设计模式——>组合模式

组合模式定义 C组合模式(Composite Pattern)是一种结构型设计模式,他允许将对象组合成树形结构来表示“部分-整体”的层次结构;在组合模式中有两种基本类型的对象:叶子对象和组合对象,叶子对象时没有子对象…...

Jetpack:004-如何使用文本组件

文章目录 1. 概念介绍2. 使用方法2.1 通用参数2.2 专用参数 3. 示例代码4. 内容总结 我们在上一章回中介绍了Jetpack组件在布局中的对齐方式,本章回中主要介绍文 本组件的使用方法。闲话休提,让我们一起Talk Android Jetpack吧 1. 概念介绍 我们在本章…...

JVM(八股文)

目录 一、JVM简介 二、JVM中的内存区域划分 三、JVM加载 1.类加载 1.1 加载 1.2 验证 1.3 准备 1.4 解析 1.5 初始 1.6 总结 2.双亲委派模型 四、JVM 垃圾回收(GC) 1.确认垃圾 1.1 引用计数 1.2 可达性分析(Java 采用的方案&a…...

C#WPF标记扩展应用实例

本文介绍C#WPF标记扩展应用实例 一、标记扩展 标记扩展是一个 XAML 语言概念。 用于提供特性语法的值时,大括号({ 和 })表示标记扩展用法。 此用法指示 XAML 处理不要像通常那样将特性值视为文本字符串或者可转换为字符串的值。就是类似于值用变量的意思。 WPF 应用编程中…...

四维曲面如何画?matlab

clc; clear all [theta,phi]meshgrid(linspace(0,pi,50),linspace(0,2*pi,50)); zcos(theta); xsin(theta).*cos(phi); ysin(theta).*sin(phi); f-1*((x.*y).2(y.*z).2(z.*x).^2); surf(sin(theta).*cos(phi).*f,sin(theta).*sin(phi).*f,cos(theta).*f,f) 结果...

软件培训测试高级工程师多测师肖sir__html之作业11

html之作业 案例1&#xff1a; 截图&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>表单</title></head><body><table style"background-color:red" bo…...

详解一典型的反激式开关电源方案

理解一个单端反激式开关电源方案&#xff1a; 1、抛出问题&#xff1a; 如图&#xff0c;在某系统方案上看到下图所示的单端反激式开关电源方案。 2、解析问题&#xff1a; 2.1、乍一看&#xff1a; 典型的AC-DC电路&#xff0c;考虑了安规及过压过流保护&#xff0c;如&am…...

AI 大框架基于python来实现基带处理之TensorFlow(信道估计和预测模型,信号解调和解码模型)

AI 大框架基于python来实现基带处理之TensorFlow(信道估计和预测模型,信号解调和解码模型) 基带处理&#xff08;Baseband Processing&#xff09;是一种信号处理技术&#xff0c;用于在通信系统中处理和调制基带信号。基带信号是指未经过调制的信号&#xff0c;通常包含原始数…...

阿里云上了新闻联播

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 阿里新任的CEO吴泳铭上央视新闻联播了! 在昨天的新闻联播里&#xff0c;出席科技座谈会&#xff0c;有一个特别镜头&#xff0c;出现了阿里新任CEO吴泳铭的镜头。 这个信号意义明显&#xff0c;我…...

算法练习12——跳跃游戏

LeetCode 55 跳跃游戏 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 贪…...

Java架构师系统架构设计服务拆分

目录 1 服务拆分和子系统模块拆分1.1 服务化架构的优势2 描绘系统蓝图里面的详解服务2.1 为什么拆分服务3 服务拆分的基本要求3.1 服务功能是自包含的3.2 服务呢应该具备独立性和专业性3.3 服务是无状态的3.4 服务之间采用轻量级的通讯机制4 服务拆分的基本方法4.1 按业务边界拆…...

通用任务批次程序模板

通用批次任务模板 我们总会遇到需要使用批次任务处理问题的场景&#xff0c;任务有很多不同类型的任务&#xff0c;同时这些任务可能都有大致相同&#xff0c;甚至抽象出来共同的执行阶段状态。 任务的执行肯定无法保证一帆风顺&#xff0c;总会在某个时间阶段被打断&#xff…...

Rust专属开发工具——RustRover发布

JetBrains最近推出的Rust集成开发工具——RustRover已经发布&#xff0c;官方网站&#xff1a;RustRover: Rust IDE by JetBrains JetBrains出品过很受欢迎的开发工具IntelliJ IDEA、PyCharm等。 RustRover优势 Rust集成环境&#xff0c;根据向导可自动下载安装rust开发环境提…...

数据结构:链表(1)

顺序表的优缺点 缺点&#xff1a; 1.插入数据必须移动其他数据&#xff0c;最坏情况下&#xff0c;就是插入到0位置。时间复杂度O(N) 2.删除数据必须移动其他数据&#xff0c;最坏情况下&#xff0c;就是删除0位置。时间复杂度O(N) 3.扩容之后&#xff0c;有可能会浪费空间…...

软件测试之概念篇2(瀑布模型、螺旋模型、增量模型和迭代模型、敏捷模型,V模型、W模型)

目录 开发模型 &#xff08;1&#xff09;瀑布模型 &#xff08;2&#xff09;螺旋模型 &#xff08;3&#xff09;增量模型和迭代模型 &#xff08;4&#xff09;敏捷模型 &#xff08;5&#xff09;测试模型&#xff08;V模型、W模型&#xff09; V模型 W模型 开发模型…...

【【萌新的SOC学习之重新起航SOC】】

萌新的SOC学习之重新起航SOC ZYNQ PL 部分等价于 Xilinx 7 系列 FPGA PS端&#xff1a;Zynq 实际上是一个以处理器为核心的系统&#xff0c;PL 部分可以看作是它的一个外设。 我们可以通过使用AXI(Advanced eXtensible Interface)接口的方式调用 IP 核&#xff0c;系统通过 AX…...