数据库课程设计报告.docx
- 文档编号:28371389
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:22
- 大小:398.08KB
数据库课程设计报告.docx
《数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告.docx(22页珍藏版)》请在冰豆网上搜索。
数据库课程设计报告
《数据库原理》课程设计
课程设计目的:
1、熟悉大型数据库管理系统的结构与组成;
2、熟悉数据库应用系统的设计方法和开发过程;
3、掌握一种大型数据库管理系统(ORACLE、DB2、SYBASE或SQLSERVER)的应用技术和开发工具的使用;
4、熟悉数据库设计工具的使用;
5、熟悉数据库安全的相关知识和技术;
6、熟悉数据库系统的管理和维护;
7、培养团队合作精神,要求4~6位同学组成一个开发小组,每位同学承担不同角色。
课程设计要求:
1、在课程设计指导老师的指导下,选定一个数据库应用系统的题目,完成数据库的设计,并给出数据库设计各个阶段的详细设计报告:
2、写出系统的主要功能和使用说明;
3、提交运行的系统;
4、写出收获和体会,包括已解决和尚未解决的问题,进一步完善的设想和建议;
目录
1、系统需求分析
2、系统功能设计(包含系统功能结构图)
3、概念结构设计(包含数据流图、ER图)
4、逻辑结构设计(包含最终的关系模式,表结构)
5、物理结构设计与实现(包含实施的SQL语句,界面截图,代码)
6、心得体会
7、参考文献
图书管理系统
1.系统需求分析
分析说明:
系统用WEB形式实现图书管理,SQL作为数据库,本图书管理系统共分以下6个模块:
登录注册模块:
普通用户登录
普通用户注册
管理员的登录
用户信息管理模块:
修改用户资料
删除用户资料
添加用户证件
删除用户证件
查看用户资料
图书信息管理模块:
(包括搜索图书信息)
添加图书信息
添加图书系列
修改图书信息
删除图书信息
查看图书信息
借阅信息管理模块:
(包括查看个人历史借阅信息。
)
借书登记
还书登记
信息统计分析模块:
(包括统计借书与还书情况,超期罚款。
)
统计借书情况
统计还书情况
统计续借情况
图书续借管理模块:
(包括图书续借时间、续借次数等。
)
续借登记
对于管理员来说,管理员要为用户添加、删除证件信息,可以更改和查看用户个人信息,删除用户;管理员要添加图书信息,可以修改和删除、查看图书信息;管理员还要进行借书、还书、续借的登记,以及信息统计。
对于用户来说,用户可以注册,登录个人页面,查看个人信息和证件信息,用户可以按书名查找图书信息,可以依据自己的证件号查看借书、还书、续借信息。
2.系统功能设计(包含系统功能结构图)
一、系统功能分析与设计
搜索图书
查看自己资料
读者登陆
修改自己资料
查看历史借书情况
添加图书信息
用户注册
修改图书信息
图书信息管理
删除图书信息
查看所有书的信息
归还图书登记
借阅图书登记
管理员登陆
借阅信息管理
查看是否超期
查看借书与还书记录
删除读者信息
读者信息管理
查阅读者信息
统计还书情况
信息统计分析
统计借书情况
3.概念结构设计(包含数据流图、ER图)
E-R
ID
帐号
密码
密码
电话
用户姓名
用户ID
图
管理
居住地址
读者
管理员
n
m
m
m
借出日期
属于
应还日期
续借次数
办证时间
续借ID
编号
1
续借时间
ID
ID
续借
借阅
管理
还书
工作单位
借阅证件
状态
归还日期
罚款金额
归还月份
借书月份
类型编号
q
n
t
p
n
1
类型ID
n
1
图书类别
管理
图书
类型
库存量
价格
书ID
书名
出版日期
是否在架
出版社名称
作者名
数据流程图
借出细节
续借
续借时间归还记录
修改
用户信息
超时罚款
查询细节
更新细节
归还细节
续借次数
核对用户信息
登录
查看借书信息
用户
核对借阅书本量
登记信息
查看资料
用户当前状况
注册
用户当前借阅信息
检查
管理
用户资料
核对成功
核对失败
核对信息成功
登录
用户借阅信息
拒借
搜索
用户信息登记
核对信息
图书信息
管理员
借阅
借阅数据
借阅信息
4.逻辑结构设计(包含最终的关系模式,表结构)
登陆注册模块:
表users表注释:
用户信息表
字段
类型
Null
默认
注释
是否主键
约束条件
userid
int(10)
否
用户ID
是
唯一
username
varchar(10)
否
用户姓名
否
唯一
password
varchar(10)
否
用户密码
否
phone
varchar(20)
是
用户电话
否
只能是数字
address
varchar(50)
是
居住地址
否
其中,userid为自动计数值,每增加一个新用户,则userid自加1存入新的记录中。
username为唯一值,不能存在两个相同的用户名。
图书信息管理模块:
表BookInfo表注释:
图书信息表
字段
类型
Null
默认
注释
是否主键
约束条件
bookid
int(10)
否
书ID
是
唯一
bookname
varchar(20)
否
书名
否
pubname
varchar(20)
是
出版社名
否
bookauthor
varchar(10)
是
作者
否
PubDate
datetime
是
出版日期
否
Price
float(8)
是
价格
否
>=0
ISBack
varchar(10)
是
在架
是否在架
否
countnu
Int(10)
否
库存量
否
>=0
其中,bookid为自动计数值并且是唯一标识,每增加一个新书,则bookid自加1存入新的记录中。
无论书名是否相同,每本书都是自己的bookid。
表BoolType表注释:
图书类型表
字段
类型
Null
默认
注释
是否主键
约束条件
typeid
int(10)
否
类型ID
是
只能是数字,唯一
typename
varchar(20)
否
类型
否
book
varchar(20)
否
图书名称
否
图书库存管理模块:
表xujie注释:
图书续借表
字段
类型
Null
默认
注释
是否主键
约束条件
xjid
int(10)
否
续借ID
是
bookid
int(10)
否
书ID
否
唯一
bookname
varchar(20)
否
书名
否
time
datetime
否
getdate()
续借时间
否
times
int(4)
否
续借次数
否
借阅信息管理模块:
表LendInfo表注释:
借书信息表
字段
类型
Null
默认
注释
是否主键
约束条件
lendid
int(10)
否
借书ID
是
bookid
int(10)
否
书ID
否
唯一
bookname
varchar(20)
否
书名
否
lenddate
datetime
是
getdate()
借出日期
否
returndate
datetime
是
getdate()+30
应还日期
否
jiushutongji
varchar
(2)
是
getdate()
借书月份
否
其中,lendid为自动计数值,每借出一本书,则lendid自加1存入新的记录中。
借出书的同时自动写入当前时间和应还书时间。
Jiushutongji只取得当前时间的月份,以此来统计借书数量。
表Returninfo表注释:
还书信息表
字段
类型
Null
默认
注释
是否主键
约束条件
lendid
int(4)
否
还书ID
是
bookid
int(10)
否
书ID
否
唯一
bookname
varchar(20)
否
书名
否
lendtime
datetime
否
借书时间
否
returntime
datetime
否
getdate()
归还日期
否
huanshutongji
varchar
(2)
是
getdate()
还书月份
否
fa
varchar(10)
否
罚款金额
否
>=0
还书时returntime自动写入当前时间,huanshutongji只取得当前时间的月份,以此来统计月还书数量
信息统计分析模块:
表manage表注释:
管理员信息表
字段
类型
Null
默认
注释
是否主键
约束条件
manageid
int(10)
否
管理员ID
是
唯一
managname
varcher(10)
否
帐户
否
唯一
password
varchar(10)
否
密码
否
用户信息管理模块:
表cards注释:
借阅证件表
字段
类型
Null
默认
注释
是否主键
约束条件
cardid
int(10)
否
证件ID
是
唯一
username
varchar(20)
否
用户名
否
workplace
varchar(20)
否
工作单位
否
createdate
datetime
否
办证时间
否
typeid
varchar(20)
否
借阅证件类型编号
否
status
varchar(20)
否
借阅者状态
否
5.物理结构设计与实现(包含实施的SQL语句,界面截图,代码)
负责还书、图书信息模块
SQL语句、代码:
1.建立基本表
图书信息表:
createtableBookInfo
(
bookidintUNIQUEnotnull,
booknamevarchar(20)notnull,
pubnamevarchar(30),
bookauthorvarchar(10),
PubDatedatetime,
Pricefloat(8)check(Price>=0),
ISBackvarchar(10),
countnuintnotnull,
PRIMARYKEY(bookid),
);
图书类型表:
createtableBookType
(
typeidintUNIQUEnotnull,
typenamevarchar(20)notnull,
bookvarchar(20)notnull,
primarykey(typeid));
还书表:
createtableReturninfo
(
lendidintnotnull,
bookidintnotnull,
booknamevarchar(20)notnull,
lendtimedatetime,
returntimedatetime,
huanshutongjivarchar
(2),
favarchar(10)check(fa>=0),
PRIMARYKEY(lendid),
Foreignkey(bookid)referencesBookInfo(bookid),
);
借阅证件表
createtablecards
(cardidintuniquenotnull,
Usernamevarchar(20)notnull,
workplacevarchar(20)notnull,
createdatedatetimenotnull,
typeidvarchar(20)notnull,
statusvarchar(20)notnull);
2.建立视图
createviewhuanshutongji
as
selectusers.username,returninfo.returntime,bookinfo.bookname,returninfo.lendid,returninfo.huanshutongji
frombookinfo,returninfo,users
wherereturninfo.bookid=bookinfo.bookid
createviewuserbookas
selectBookInfo.bookid,username,lendinfo.lendid,lendinfo.lendtime,returninfo.returntime,bookinfo.bookname
fromReturninfo,LendInfo,BookInfo,users
wherelendinfo.lendid=returninfo.lendidandlendinfo.bookid=bookinfo.bookid
3.建立触发器
当returninfo表的bookid有插入时,bookinfo表中的bookid等于returninfo表所插入的bookid的时候它所在的行的ISBack属性列会改成”在架”。
此功能由触发器实现,其代码如下:
CREATETRIGGERreturnbookONdbo.returninfo
FORINSERT,UPDATE
AS
declare@avarchar(20)
select@a=bookidfrominserted
updatebookinfo
setisback='在架'
wherebookid=@a
截图:
网站主页
管理员管理页面
管理员必须要先登陆才能进行操作
管理员添加图书信息
管理员修改图书信息
管理员删除图书信息
书被借出
还书登记页面
用户查找图书
6.心得体会
这次课程设计我们组做的课题是图书借阅管理系统,整个网站的风格设计简单清新。
网站分为面向用户和面向管理员两部分,用户方面实现的主要功能有登录、注册、查询,用session实现记忆用户的登录;管理员方面实现的主要功能是登录、添加、修改、删除、查询信息。
通过这次课程设计,我熟练的掌握了Dreamweaver的使用,灵活的运用了各种服务器行为,与SQLServer2005紧密的结合在一起,很好的实现了数据信息的插入、修改、删除等操作。
与此同时,现在我通过这次制作前台的锻炼,更好的掌握了数据库的知识,进一步熟悉了数据库的编程语言,我更明白了对表的规划和理解我们在做后台一个非常重要的步骤。
7.参考文献
[1]MichaelJ.Hernandez.《数据库设计凡人入门》,电子工业出版社,2005年
[2]萨师煊,王珊.数据库系统概论(第四版).北京:
高等教育出版社,2008年。
[3]丁桂芝,动态网页制作实例教程,天津大学出版社,2008年
[4邵丽萍ASP动态网页设计北京:
中国铁道出版社,2006年。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)