数据库工程作业
要求:
1. 完成一个小型的数据库信息管理系统(或部分功能),并填写工程作业报告;程序和报告请
在规定时间之内上传。
2. 开发模式(B/S 或 C/S)、开发高级语言任选,后台数据库使用大型数据库管理系统(SQL
Server、Oracle 等),不要使用桌面数据库。
3. 报告中所列举的四种操作,每种操作举一个例子即可。
4. 作业成绩按照报告中的标准评分,程序只实现报告中涉及的部分即可。
工程作业报告
1. 项目信息(10 分)
学号
1611365
姓名 曾依玲
专业 计算机科学与技术
项目名称
基于 C/S 结构的图书馆管理系统
必备环境
SQLserver 后台数据库、Eclipse 前端、Navicat 数据库管理、Apache 服务器环境
系统主要功能
简介(4 分)
该系统保存了图书信息、学生信息以及相应的借阅信息。在该系统内,可以进行查
询操作(图书具体信息、学生借阅信息等),也可以进行插入操作(学生新借阅一
本图书、图书馆进货等),还可以进行删除操作(图书损坏丢弃等),还有更新操作
(学生还书、图书更换摆放书柜等)
系统主要页面
截图(6 分)
截 3-4 个页面即可
2. 系统配置(10 分)
说明
(2 分)请说明系统配置情况(后台数据库,高级语言);
(8 分)请使用连接串连接高级语言和数据库,并分析字符串的各个部分。
配置
步骤
2 分
DB
MS
高
级
语
言
SQL server 2017
SQL Server Management Studio 17
Java
Jdk1.8.0_144
Jre1.8.0_171
Jdbc:mssql-jdbc-6.4.0.jre7
连接串
分析
(6 分)
序
号
1
2
3
4
5
名称
功能说明
取值
divername
SQL 数据库引擎
com.microsoft.sqlserver.jdbc.SQLSe
rverDriver
dbURL
Name
Pwd
数据源,访问数据库的 URL
路径
jdbc:sqlserver://localhost:1433;Da
tabaseName=Library
数据库用户名
数据库登录密码
zyl
19980129yhdfh
连接串
代码(截
屏)
(2
分)
备注
3. 数据库设计(14 分)
说明 (10 分)按照数据表的创建顺序,依次给出所涉及数据表的信息,其中参照字段以“(字
段 1,字段 2,……,字段 n)”的形式给出,被参照字段以“表名(字段 1,字段 2,……,
字段 n)”的形式给出;
(4 分)一般 DBMS 都可以为数据库生成关系图,请将该图片截屏并粘贴到表格中。
创建顺
数据表名称
主键
参照属性
被参照表及属性
数据表
(10)
序
1
2
3
5
6
7
(截屏)
关系图
(4)
Category
id
Boxroom
roomId
Department
departId
Book
bookId
category
Category(id)
room
Boxroom(roomId)
Student
Lend
stuId
stu
book
depart
stu
book
Department(departId)
Student(stuId)
Book(bookId)
备注
4. 含有事务应用的删除操作(13 分)
(1 分)简要说明该操作所要完成的功能;
(2 分)该操作会涉及的表(必须含有两张或两张以上的关系表,同时以“表名”的形式给出)
(1 分)表连接涉及字段描述(描述方式为“表 1.属性=表 2.属性”)
(1 分)删除条件涉及的字段描述(以“表名.属性=?”形式给出)
(4 分)实现该操作的关键代码(高级语言、SQL),截图即可;(其中如果删除语句中不包含
任何形式的事务应用将扣除 3 分)
(4 分)如何执行该操作,按所述方法能够正常演示程序则给分。
通过输入想要删除的书柜 ID,删除相应的书柜
但是由于 Book 中 room 参照了 Boxroom 中的 id,所以有约束。
若没有该书柜,不进行操作。
若该书柜里放置的书,直接删除。
若该书柜里有删除的书,找到另一个书柜,将相应的图书全部放置到另一个书柜中。
若没有其他书柜,则将相应的图书 room 置为 null
Boxroom(roomId, addr)
Book(bookId, bookN, writer, category, ifLend, room)
说
明
功
能
描
述
(
1
分
)
涉
及
的
表
(
2
分
Book. Room = Boxroom .roomId
字段
Boxroom.roomId!=ID
Boxroom.roomID==ID
Book.room!=ID
Boxroom.roomId==ID
Book.room==ID
规则
输入的 ID 没有对应的 turple,不进行操作
存在该书柜,且书柜里没有图书摆放,直接删除
存在该书柜,且有图书存放,若有其他书柜存在,则将图
书放其他书柜,若没有,则将图书的 room 置为 null
(截屏)
View 层调用:(接受前端的参数,并进行 Dao 层函数调用)
)
表
连
接
涉
及
字
段
(
1
分
)
删
除
条
件
字
段
描
述
(
1
分
)
代
码
(
4
分
)
Dao 层:
程
序
演
示
(
4
分
)