mysql 一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。此系统的功能分为面向学生和面向管理员两部分,其中,面向学生部分可以进行借阅、续借、归还和查询书籍等操作;面向管理员部分可以完成书籍和学生的增加、删除和修改以及对学生借阅、续借、归还的确认。要求完成该系统的数据库设计,用sql语句实现数据库的设计,并在mysql上调试通过。

时间: 2023-05-31 14:18:33 浏览: 228
### 回答1: 这是关于MySQL一个简单的图书管理系统,包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息等。此系统的功能分为面向学生和面向管理员两部分,其中,面向学生部分可以进行借阅、续借、归还和查阅书籍等操作;面向管理员部分可以完成书籍和学生的增加、删除和修改以及对学生借阅、续借、归还和查阅书籍等的操作。要求完成该系统的数据库设计,用SQL语句实现数据库的设计,并在MySQL上进行调试通过。 ### 回答2: 图书管理系统数据库设计 该图书管理系统的数据库包括三个表,分别为book(书籍)、student(学生)和borrow(借阅记录)。其中,book表包括书籍的ISBN编号、书名、作者、出版社、出版日期和数量等信息;student表包括学生的学号、姓名、性别、班级和电话等信息;borrow表包括借阅记录的借阅编号、书籍的ISBN编号、学生的学号、借阅日期和归还日期等信息。 图书管理系统的sql语句实现 1. 创建book表 CREATE TABLE book ( ISBN CHAR(13) NOT NULL PRIMARY KEY, title VARCHAR(100) NOT NULL, author VARCHAR(50) NOT NULL, press VARCHAR(50) NOT NULL, pub_date DATE NOT NULL, quantity INT NOT NULL ); 2. 创建student表 CREATE TABLE student ( student_id CHAR(8) NOT NULL PRIMARY KEY, name VARCHAR(20) NOT NULL, gender VARCHAR(4) NOT NULL, class VARCHAR(20) NOT NULL, phone VARCHAR(20) NOT NULL ); 3. 创建borrow表 CREATE TABLE borrow ( borrow_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, ISBN CHAR(13) NOT NULL, student_id CHAR(8) NOT NULL, borrow_date DATE NOT NULL, return_date DATE, FOREIGN KEY (ISBN) REFERENCES book(ISBN), FOREIGN KEY (student_id) REFERENCES student(student_id) ); 4. 插入数据到book表 INSERT INTO book (ISBN, title, author, press, pub_date, quantity) VALUES ('9787111601513', 'MySQL权威指南', 'Michael Widenius, David Axmark, MySQL AB', '机械工业出版社', '2003-08-01', 10), ('9780596008752', 'Head First Design Patterns', 'Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra', 'O''Reilly', '2004-11-04', 5), ('9787115443229', 'JavaScript高级程序设计', 'Nicholas C. Zakas', '人民邮电出版社', '2013-01-01', 8); 5. 插入数据到student表 INSERT INTO student (student_id, name, gender, class, phone) VALUES ('20010001', '张三', '男', '计算机1班', '13800138001'), ('20010002', '李四', '女', '计算机1班', '13800138002'), ('20010003', '王五', '男', '计算机2班', '13800138003'); 6. 插入数据到borrow表 INSERT INTO borrow (ISBN, student_id, borrow_date) VALUES ('9787111601513', '20010001', '2020-10-01'), ('9787111601513', '20010002', '2020-10-03'), ('9780596008752', '20010003', '2020-10-05'), ('9780596008752', '20010001', '2020-10-07'); 7. 查询书籍信息 SELECT ISBN, title, author, press, pub_date, quantity FROM book; 8. 查询学生信息 SELECT student_id, name, gender, class, phone FROM student; 9. 查询借阅记录 SELECT borrow_id, ISBN, student_id, borrow_date, return_date FROM borrow; 10. 借阅书籍 UPDATE book SET quantity = quantity - 1 WHERE ISBN = '9787111601513'; INSERT INTO borrow (ISBN, student_id, borrow_date) VALUES ('9787111601513', '20010003', '2020-10-10'); 11. 续借书籍 UPDATE borrow SET return_date = DATE_ADD(return_date, INTERVAL 7 DAY) WHERE borrow_id = 1; 12. 归还书籍 UPDATE book SET quantity = quantity + 1 WHERE ISBN = '9787111601513'; UPDATE borrow SET return_date = '2020-10-20' WHERE borrow_id = 1; 13. 增加书籍 INSERT INTO book (ISBN, title, author, press, pub_date, quantity) VALUES ('9787115443229', 'JavaScript高级程序设计', 'Nicholas C. Zakas', '人民邮电出版社', '2013-01-01', 10); 14. 增加学生 INSERT INTO student (student_id, name, gender, class, phone) VALUES ('20010004', '赵六', '男', '计算机2班', '13800138004'); 15. 删除书籍 DELETE FROM book WHERE ISBN = '9787115443229'; 16. 删除学生 DELETE FROM student WHERE student_id = '20010004'; 图书管理系统的mysql调试 要测试该系统是否可以正常运行,可以进行以下测试: 1. 查询书籍、学生和借阅记录是否正确插入并显示。 2. 借阅、续借和归还书籍功能是否正常。 3. 增加和删除书籍、学生是否正常。 4. 是否能够对借阅、续借、归还进行确认。 5. 系统是否能够处理同时有多名学生借阅同一本书的情况。 通过以上测试,可以验证该图书管理系统在mysql上调试通过。 ### 回答3: 该图书管理系统应该包括以下七个表:书籍信息表、学生信息表、借阅信息表、管理员信息表、出版社信息表、作者信息表、种类信息表。 1. 书籍信息表(book_info)包括字段:书籍id、书名、出版社id、作者id、种类id、库存 2. 学生信息表(student_info)包括字段:学生id、学生姓名、性别、年级、专业、学院 3. 借阅信息表(borrow_info)包括字段:借阅记录id、学生id、书籍id、借阅日期、归还日期、是否归还 4. 管理员信息表(admin_info)包括字段:管理员id、管理员姓名、联系方式、密码 5. 出版社信息表(publish_info)包括字段:出版社id、出版社名称 6. 作者信息表(author_info)包括字段:作者id、作者姓名 7. 种类信息表(category_info)包括字段:种类id、种类名称 以上七个表中,借阅信息表是连向学生信息表和书籍信息表的一个关联表,出版社信息表、作者信息表、种类信息表三个表则是为书籍信息表服务的辅助表。每个表中的字段要根据具体需求进行设计,确保无重复字段。 下面是用sql语句实现数据库的设计: -- 创建出版社信息表 CREATE TABLE `publish_info` ( `publish_id` int(11) NOT NULL AUTO_INCREMENT, `publish_name` varchar(50) NOT NULL DEFAULT '', PRIMARY KEY (`publish_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 创建作者信息表 CREATE TABLE `author_info` ( `author_id` int(11) NOT NULL AUTO_INCREMENT, `author_name` varchar(50) NOT NULL DEFAULT '', PRIMARY KEY (`author_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 创建种类信息表 CREATE TABLE `category_info` ( `category_id` int(11) NOT NULL AUTO_INCREMENT, `category_name` varchar(50) NOT NULL DEFAULT '', PRIMARY KEY (`category_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 创建书籍信息表 CREATE TABLE `book_info` ( `book_id` int(11) NOT NULL AUTO_INCREMENT, `book_name` varchar(100) NOT NULL DEFAULT '', `publish_id` int(11) NOT NULL, `author_id` int(11) NOT NULL, `category_id` int(11) NOT NULL, `inventory` int(11) NOT NULL, PRIMARY KEY (`book_id`), FOREIGN KEY (`publish_id`) REFERENCES `publish_info`(`publish_id`), FOREIGN KEY (`author_id`) REFERENCES `author_info`(`author_id`), FOREIGN KEY (`category_id`) REFERENCES `category_info`(`category_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 创建学生信息表 CREATE TABLE `student_info` ( `student_id` int(11) NOT NULL AUTO_INCREMENT, `student_name` varchar(50) NOT NULL DEFAULT '', `gender` varchar(4) NOT NULL DEFAULT '', `grade` varchar(10) NOT NULL DEFAULT '', `major` varchar(50) NOT NULL DEFAULT '', `college` varchar(50) NOT NULL DEFAULT '', PRIMARY KEY (`student_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 创建借阅信息表 CREATE TABLE `borrow_info` ( `borrow_id` int(11) NOT NULL AUTO_INCREMENT, `student_id` int(11) NOT NULL, `book_id` int(11) NOT NULL, `borrow_date` date NOT NULL, `return_date` date DEFAULT NULL, `is_return` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`borrow_id`), FOREIGN KEY (`student_id`) REFERENCES `student_info`(`student_id`), FOREIGN KEY (`book_id`) REFERENCES `book_info`(`book_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 创建管理员信息表 CREATE TABLE `admin_info` ( `admin_id` int(11) NOT NULL AUTO_INCREMENT, `admin_name` varchar(50) NOT NULL DEFAULT '', `contact` varchar(50) NOT NULL DEFAULT '', `password` varchar(50) NOT NULL DEFAULT '', PRIMARY KEY (`admin_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 以上六个表的设计就完成了。根据具体需求还可以添加一些其他的表和字段。在mysql上调试通过后,即可实现一个相对完善的图书管理系统。

相关推荐

最新推荐

recommend-type

数据库mysql 图书管理系统

在这样的大背景下,现代图书馆的管理方式,资源建设等方面都发生了重大变化,这种变化表现在图书馆工作,管理和服务平台发生的变化,图书馆不再是传统的手工操作,人工管理,而是全面实行计算机管理。
recommend-type

python+mysql实现学生信息查询系统

主要为大家详细介绍了python+mysql实现学生信息查询系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

基于php+MySql实现学生信息管理系统实例

主要介绍了基于php+MySql实现学生信息管理系统实例,文中通过图片功能介绍的非常详细,文章末尾附带项目源码,需要的朋友可以参考下
recommend-type

java(swing)+ mysql实现学生信息管理系统

主要分享了java mysql实现学生信息管理系统的源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
recommend-type

完美解决mysql in条件语句只读取一条信息问题的2种方案

使用mysql多表查询时一个表中的某个字段作为另一表的in查询条件,只能读取一条信息,而直接用数字的话可以正常读取
recommend-type

RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz

REALTEK 8188FTV 8188eus 8188etv linux驱动程序稳定版本, 支持AP,STA 以及AP+STA 共存模式。 稳定支持linux4.0以上内核。
recommend-type

管理建模和仿真的文件

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

爬虫与大数据分析:挖掘数据价值,洞察趋势

![python网站爬虫技术实战](https://img-blog.csdnimg.cn/20181107141901441.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hpaGVsbA==,size_16,color_FFFFFF,t_70) # 1. 爬虫基础与技术** 爬虫,又称网络蜘蛛,是一种自动化的程序,用于从互联网上抓取数据。其工作原理是模拟浏览器行为,通过发送请求并解析响应来获取网页内容。 爬虫技术涉及多种技术,
recommend-type

解释一下下面每句话的含义@RequestMapping(value = "gcGl") public String gcGl(Gcgl gcGl, Model model) { List<Gcgl> list = gcglService.findList(gcGl); if (list!=null&&list.size()>0) { model.addAttribute("gcGl", list.get(0)); }else { model.addAttribute("gcGl", gcGl); } return "modules/tjxx/gc08glForm"; }

这段代码是一个Java方法,用于处理HTTP请求,具体含义如下: - @RequestMapping(value = "gcGl"):这是一个注解,表示该方法会处理名为"gcGl"的请求,即当用户访问该请求时,会调用该方法。 - public String gcGl(Gcgl gcGl, Model model):这是方法的声明,它有两个参数:一个是Gcgl类型的gcGl,另一个是Model类型的model。方法的返回值是一个字符串类型。 - List<Gcgl> list = gcglService.findList(gcGl):这行代码调用了一个名为findList的方法,该方法接受一个
recommend-type

c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf

校园超市商品信息管理系统课程设计旨在帮助学生深入理解程序设计的基础知识,同时锻炼他们的实际操作能力。通过设计和实现一个校园超市商品信息管理系统,学生掌握了如何利用计算机科学与技术知识解决实际问题的能力。在课程设计过程中,学生需要对超市商品和销售员的关系进行有效管理,使系统功能更全面、实用,从而提高用户体验和便利性。 学生在课程设计过程中展现了积极的学习态度和纪律,没有缺勤情况,演示过程流畅且作品具有很强的使用价值。设计报告完整详细,展现了对问题的深入思考和解决能力。在答辩环节中,学生能够自信地回答问题,展示出扎实的专业知识和逻辑思维能力。教师对学生的表现予以肯定,认为学生在课程设计中表现出色,值得称赞。 整个课程设计过程包括平时成绩、报告成绩和演示与答辩成绩三个部分,其中平时表现占比20%,报告成绩占比40%,演示与答辩成绩占比40%。通过这三个部分的综合评定,最终为学生总成绩提供参考。总评分以百分制计算,全面评估学生在课程设计中的各项表现,最终为学生提供综合评价和反馈意见。 通过校园超市商品信息管理系统课程设计,学生不仅提升了对程序设计基础知识的理解与应用能力,同时也增强了团队协作和沟通能力。这一过程旨在培养学生综合运用技术解决问题的能力,为其未来的专业发展打下坚实基础。学生在进行校园超市商品信息管理系统课程设计过程中,不仅获得了理论知识的提升,同时也锻炼了实践能力和创新思维,为其未来的职业发展奠定了坚实基础。 校园超市商品信息管理系统课程设计的目的在于促进学生对程序设计基础知识的深入理解与掌握,同时培养学生解决实际问题的能力。通过对系统功能和用户需求的全面考量,学生设计了一个实用、高效的校园超市商品信息管理系统,为用户提供了更便捷、更高效的管理和使用体验。 综上所述,校园超市商品信息管理系统课程设计是一项旨在提升学生综合能力和实践技能的重要教学活动。通过此次设计,学生不仅深化了对程序设计基础知识的理解,还培养了解决实际问题的能力和团队合作精神。这一过程将为学生未来的专业发展提供坚实基础,使其在实际工作中能够胜任更多挑战。