综合案例——图书管理系统(MySQL)

综合案例——图书管理系统

在这里插入图片描述

图书管理系统有三大类角色:普通用户、图书管理员和系统管理员。
(1)普通用户:查看个人信息、修改个人信息、查询图书、借阅图书。
(2)图书管理员:图书预约查询、图书借阅查询、借阅图书登记、还书登记、图书遗失登记。
(3)系统管理员:管理用户、分配角色权限、系统设置。

一、数据库设计

1、创建用户表user:包含用户编号、姓名、出生日期、身份证号、登录名称、登录密码、手机号、电子邮箱、部门编号、角色编号信息,如表1所示。
在这里插入图片描述
2、创建部门表dept:包含部门编号、部门名称、创建日期信息,如表2所示。
在这里插入图片描述
3、创建角色表role:包含角色编号、角色名称、备注信息,如表3所示。
在这里插入图片描述

二、创建数据库

有一部分同行因varchar字符串类型时常而报错,网上有各色各类的说法,其实际操作起来较为麻烦,而且还解决不了问题。大家可以试试,将varchar改为nvarchar,其效果完全一样,毫无差别。我们要的是实现效果,其过程官方也确认!
大小写可根据个人情况,在公司尽量大小写分明,这样就一目了然,为防止交接工作时别人看不懂。更要极为重视英汉标点符号。

1、建表语句

mysql> create table user (
id int(11) not null primary key,
user_name nvarchar(255) default null,
birth_date date default null,
id_card nvarchar(255) default null,
login_name nvarchar(255) default null,
password nvarchar(255) default null,
dept_id int(11) default null,
role_id int(11) default null);
Query OK, 0 rows affected (0.05 sec)
------------------------------------------
mysql> create table dept (
id int(11) not null,
dept_name nvarchar(255) default null,
create_date date default null);
Query OK, 0 rows affected (0.06 sec)
------------------------------------------
mysql> create table role (
id int(11) not null,
role_name nvarchar(255) default null,
remark nvarchar(255) default null);
Query OK, 0 rows affected (0.05 sec)

2、初始化数据

(1)插入数据到用户表中,数据如表4所示。

在这里插入图片描述

mysql> insert into user values(1,'小红','1985-05-25','10111','xiaohong','123456',1,1);
Query OK, 1 row affected (0.01 sec)

mysql> insert into user values(2,'小影','1989-02-19','10112','xiaoying','123456',1,1);
Query OK, 1 row affected (0.02 sec)

mysql> insert into user values(3,'大梅','1989-06-01','30102','damei','123456',2,2);
Query OK, 1 row affected (0.02 sec)

mysql> insert into user values(4,'admin','1988-03-25','30103','admin','123456',3,3);
Query OK, 1 row affected (0.02 sec)
(2)插入数据到部门表dept,数据如表5所示。

在这里插入图片描述

mysql> insert into dept values(1,'行政部','2018-06-03'),(2,'后勤部','2018-06-03'),(3,' 运维部','2018-06-03');

Query OK, 1 row affected (0.02 sec)
(3)插入数据到角色表,数据如表6所示。

在这里插入图片描述

mysql> insert into role values(1,'普通用户',null),(2,'图书管理员',null),(3,'系统管理员',null);
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0

3、实现效果

mysql> select*from user;
+----+-----------+------------+---------+------------+----------+---------+---------+
| id | user_name | birth_date | id_card | login_name | password | dept_id | role_id |
+----+-----------+------------+---------+------------+----------+---------+---------+
|  1 | 小红      | 1985-05-25 | 10111   | xiaohong   | 123456   |       1 |       1 |
|  2 | 小影      | 1989-02-19 | 10112   | xiaoying   | 123456   |       1 |       1 |
|  3 | 大梅      | 1989-06-01 | 30102   | damei      | 123456   |       2 |       2 |
|  4 | admin     | 1988-03-25 | 30103   | admin      | 123456   |       3 |       3 |
+----+-----------+------------+---------+------------+----------+---------+---------+
4 rows in set (0.02 sec)

mysql> select*from dept;
+----+-----------+-------------+
| id | dept_name | create_date |
+----+-----------+-------------+
|  1 | 行政部    | 2018-06-03  |
|  2 | 后勤部    | 2018-06-03  |
|  3 | 运维部    | 2018-06-03  |
+----+-----------+-------------+
3 rows in set (0.02 sec)

mysql> select*from role;
+----+------------+--------+
| id | role_name  | remark |
+----+------------+--------+
|  1 | 普通用户   | NULL   |
|  2 | 图书管理员 | NULL   |
|  3 | 系统管理员 | NULL   |
+----+------------+--------+
3 rows in set (0.00 sec)

三、用户信息管理

1、修改用户小红的部门,修改为运维部。
mysql> update user set dept_id=3 where login_name='xiaohong';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select*from user;
+----+-----------+------------+---------+------------+----------+---------+---------+
| id | user_name | birth_date | id_card | login_name | password | dept_id | role_id |
+----+-----------+------------+---------+------------+----------+---------+---------+
|  1 | 小红      | 1985-05-25 | 10111   | xiaohong   | 123456   |       3 |       1 |
|  2 | 小影      | 1989-02-19 | 10112   | xiaoying   | 123456   |       1 |       1 |
|  3 | 大梅      | 1989-06-01 | 30112   | damei      | 123456   |       2 |       2 |
|  4 | admin     | 1988-03-25 | 30103   | admin      | 123456   |       3 |       3 |
+----+-----------+------------+---------+------------+----------+---------+---------+
4 rows in set (0.00 sec)
2、查询用户小红的姓名、登录名、部门名称、角色名称。
mysql> select u.user_name,u.login_name,d.dept_name,r.role_name from user u, dept d,role r where u.dept_id=d.id and u.role_id=r.id and u.login_name='xiaohong';
+-----------+------------+-----------+-----------+
| user_name | login_name | dept_name | role_name |
+-----------+------------+-----------+-----------+
| 小红      | xiaohong   | 运维部    | 普通用户  |
+-----------+------------+-----------+-----------+
1 row in set (0.00 sec)
3、删除用户小红。
mysql> delete from user where login_name='xiaohong';
Query OK, 1 row affected (0.00 sec)

四、部门管理

1、查询所有部门信息。
mysql> select*from dept;
+----+-----------+-------------+
| id | dept_name | create_date |
+----+-----------+-------------+
|  1 | 行政部    | 2018-06-03  |
|  2 | 后勤部    | 2018-06-03  |
|  3 | 运维部    | 2018-06-03  |
+----+-----------+-------------+
3 rows in set (0.00 sec)

mysql> insert into dept values('4','办公室','2020-12-02');
Query OK, 1 row affected (0.02 sec)
2、新增一个办公室部门,创建时间为2020-12-02。
mysql> insert into dept values('4','办公室','2020-12-02');
Query OK, 1 row affected (0.02 sec)

五、用户信息查询视图

针对用户表user、部门表dept、角色表role建立一个用户信息查询视图user_info_view,查询用户编号、姓名、登录名称。
mysql> create or replace view user_info_view
    as
    select u.id,u.user_name,u.login_name
    from user u,dept d,role r
    where u.dept_id=d.id and u.role_id=r.id;
Query OK, 0 rows affected (0.01 sec)

mysql> select*from user_info_view;
+----+-----------+------------+
| id | user_name | login_name |
+----+-----------+------------+
|  2 | 小影      | xiaoying   |
|  3 | 大梅      | damei      |
|  4 | admin     | admin      |
+----+-----------+------------+
3 rows in set (0.02 sec)

其为简洁化,需要全面的微信私信我!

图书馆管理系统使用说明书 配置源程序 附加MYSQL数据库 将TM\02\ Database\db_librarySys文件夹拷贝到mysql\data文件夹下即可,如图1.1所示。 图1.1 拷贝MYSQL数据库 将程序发布到Tomcat下 (1)将“TM\02”文件夹拷贝到Tomcat安装路径下的webapps文件夹中。 (2)选择开始菜单中的“所有程序\Apache Tomcat 6.0\Monitor Tomcat”命令,这时在windows的系统托盘中会显示标识Tomcat服务器启动状态的图标,如果显示为 ,则说明Tomcat服务器没有启动,这时可以在该图标上单击鼠标右键在弹出的快捷菜单中选择“Start Service”菜单项启动Tomcat服务器,启动后将显示为 。 (3)打开IE浏览器,在地址栏中输入http://localhost:8080/,进入“Tomcat软件管理”页面。 注意:8080为安装Tomcat时设置的端口号。 (4)单击Tomcat Manager超链接,弹出“连接到 localhost”对话框。 (5)在用户名及密码处输入登录Tomcat的用户名密码,单击【确定】按钮。 (6)进入“Tomcat应用程序管理”页面,在此页面中单击“02”,进入本程序主页面,完成Tomcat配置。 导入所应用的包 在运行本程序时,需要将Struts 1.2MySQL数据库驱动包拷贝到Tomcat安装路径下的webapps文件夹中的02\WEB-INF\lib文件夹中。 使用说明 系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅归还,因此系统最核心的功能便是实现图书的借阅归还。此外,还需要提供图书的信息查询、读者图书借阅情况的查询等功能。项目实施后,能够提高图书馆图书借阅、归还流程,提高工作效率。整个项目需要在两个月的时间内交付用户使用。 操作注意事项 (1)本系统的用户名为:tsoft,密码为:111 (2)读者类型不同,可借图书的本数也有所区别。 操作流程 (1)用户登录图书馆管理系统后,可看到图书借阅排行榜,通过排行榜可以看出借阅图书的名称、图书类型、借阅次数等相关信息。 (2)单击“系统设置”/“图书馆信息”命令,对图书馆信息进行设置操作。 (3)单击“系统设置”/“管理员设置”命令,对管理员信息进行添加、权限设置、查询及删除操作。 (4)单击“系统设置”/“参数设置”命令,对办证费用及有效期限信息进行添加操作。 (5)单击“系统设置”/“书架设置”命令,对书架信息进行添加、修改及删除操作。 (6)单击“读者管理”/“读者类型管理”命令,对读者类型信息进行添加、修改及删除操作。 (7)单击“读者管理”/“读者档案管理”命令,对读者信息进行添加、修改及删除操作。 (8)单击“图书管理”/“图书类型设置”命令,对图书类型信息进行添加、修改及删除操作。 (9)单击“图书管理”/“图书档案管理”命令,对图书信息进行添加、修改及删除操作。 (10)单击“图书借还”/“图书借阅”命令,对图书借阅信息添加操作。 (11)单击“图书借还”/“图书续借”命令,对图书续借信息进行添加操作。 (12)单击“图书借还”/“图书归还”命令,对图书归还信息进行添加操作。 (13)单击“系统查询”/“图书档案查询”命令,对图书档案信息进行查询操作。 (14)单击“系统查询”/“图书借阅查询”命令,对借阅的图书信息进行查询操作。 (15)单击“系统查询”/“借阅到期提醒”命令,对借阅到期提醒信息进行查询操作。 (16)单击“更改口令”按钮,对当前的用户密码进行修改操作。 (17)单击“退出系统”按钮,退出当前操作系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木头科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值