数据库图书管理系统课程设计.docx

上传人:b****5 文档编号:14592286 上传时间:2023-06-24 格式:DOCX 页数:30 大小:283.16KB
下载 相关 举报
数据库图书管理系统课程设计.docx_第1页
第1页 / 共30页
数据库图书管理系统课程设计.docx_第2页
第2页 / 共30页
数据库图书管理系统课程设计.docx_第3页
第3页 / 共30页
数据库图书管理系统课程设计.docx_第4页
第4页 / 共30页
数据库图书管理系统课程设计.docx_第5页
第5页 / 共30页
数据库图书管理系统课程设计.docx_第6页
第6页 / 共30页
数据库图书管理系统课程设计.docx_第7页
第7页 / 共30页
数据库图书管理系统课程设计.docx_第8页
第8页 / 共30页
数据库图书管理系统课程设计.docx_第9页
第9页 / 共30页
数据库图书管理系统课程设计.docx_第10页
第10页 / 共30页
数据库图书管理系统课程设计.docx_第11页
第11页 / 共30页
数据库图书管理系统课程设计.docx_第12页
第12页 / 共30页
数据库图书管理系统课程设计.docx_第13页
第13页 / 共30页
数据库图书管理系统课程设计.docx_第14页
第14页 / 共30页
数据库图书管理系统课程设计.docx_第15页
第15页 / 共30页
数据库图书管理系统课程设计.docx_第16页
第16页 / 共30页
数据库图书管理系统课程设计.docx_第17页
第17页 / 共30页
数据库图书管理系统课程设计.docx_第18页
第18页 / 共30页
数据库图书管理系统课程设计.docx_第19页
第19页 / 共30页
数据库图书管理系统课程设计.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库图书管理系统课程设计.docx

《数据库图书管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《数据库图书管理系统课程设计.docx(30页珍藏版)》请在冰点文库上搜索。

数据库图书管理系统课程设计.docx

数据库图书管理系统课程设计

数据库图书管理系统课程设计

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

 

课程设计

 

课程设计名称:

数据库应用课程设计

专业班级:

学生姓名:

学号:

指导教师:

课程设计时间:

2011。

12.20—2010.12.24

 

计算机应用技术专业课程设计任务书

学生姓名

专业班级

学号

题目

图书管理系统

课题性质

A.工程设计

课题来源

D.自拟课题

指导教师

同组姓名

主要内容

图书管理系统开发:

互联网的不断发展使得网上售书越来越受现代人的欢迎,但好多的读者还是喜欢去书店浏览图书,借阅购买自己喜爱的书籍,但不能更方便、有效、快捷地实现店主、营业员、读者各自的功能,及相互之间的联系。

针对这一问题,我们开发了图书(销售)管理系统,该系统主要有四大模块:

前台管理模块,图书管理模块,用户管理模块和订单管理模块,各模块提供了数据的查询、插入、删除等功能,从而满足了用户的需求。

任务要求

综合运用所学的数据库基本知识,并能通过查阅相关文献材料,独立完成该课题的设计开发工作。

要求根据本课题设计出合理的数据结构,并实现前台管理模块,图书管理模块,用户管理模块和订单管理模块等功能模块。

前台开发工具采用VB.net开发工具;后台数据库选用SQLServer。

参考文献

1郑玲利,数据库原理与应用案例教程。

北京:

清华大学出版社,2008

2宣小平,但正刚,张文毅,数据库系统开发实例导航。

北京:

人民邮电出版社

3龚沛曾,袁科萍,杨志强。

数据库技术与应用【M】北京:

高等教育出版社,2008

4施伯乐,丁宝康,汪伟.数据库系统教程【M】北京:

高鞥教育出版社,2003

审查意见

指导教师签字:

教研室主任签字:

2010年11月16日

说明:

本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页

 

填表说明

1.“课题性质"一栏:

A.工程设计;

B.工程技术研究;

C.软件工程(如CAI课题等);

D.文献型综述;

E.其它。

2.“课题来源”一栏:

A.自然科学基金与部、省、市级以上科研课题;

B.企、事业单位委托课题;

C.校、院(系、部)级基金课题;

D.自拟课题。

 

国际学院学院课程设计成绩评价表

课程名称:

数据库应用课程设计

设计题目:

图书管理系统

专业:

班级:

姓名:

学号:

序号

评审项目

分数

满分标准说明

1

内容

思路清晰;语言表达准确,概念清楚,论点正确;实验方法科学,分析归纳合理;结论严谨,设计有应用价值。

任务饱满,做了大量的工作。

2

创新

内容新颖,题目能反映新技术,对前人工作有改进或突破,或有独特见解

3

完整性、实用性

整体构思合理,理论依据充分,设计完整,实用性强

4

数据准确、可靠

数据准确,公式推导正确

5

规范性

设计格式、绘图、图纸、实验数据、标准的运用等符合有关标准和规定

6

纪律性

能很好的遵守各项纪律,设计过程认真;

7

答辩

准备工作充分,回答问题有理论依据,基本概念清楚.主要问题回答简明准确。

在规定的时间内作完报告。

总分

 

指导教师2010年11月28日

 

1、需求分析

1.1课题背景

图书管理系统开发:

互联网的不断发展使得网上售书越来越受现代人的欢迎,但好多的读者还是喜欢去书店浏览图书,借阅购买自己喜爱的书籍,但不能更方便、有效、快捷地实现店主、营业员、读者各自的功能,及相互之间的联系.针对这一问题,我们开发了图书(销售)管理系统,该系统主要有四大模块:

前台管理模块,图书管理模块,用户管理模块和订单管理模块,各模块提供了数据的查询、插入、删除等功能,从而满足了用户的需求。

1。

2需完成的功能

●用户信息:

包括用户名和用户密码;在该模块中针对不同的用户设置了权限管理,并且对用户信息有查询、删除、修改的功能.

●有关图书信息的输入,包括图书编号、图书名称、作者、出版社、出版日期、价格;在该模块中可以分别按图书编号、图书名称实现数据的查询、录入、删除功能.

●图书类别信息:

包括类别编号、类别名称;在该模块中可以按类别编号实现数据的插入、查询、删除功能。

●图书销售信息:

包括图书编号、类别编号、价格、出售日期;在该模块中可以通过图书编号和类别编号实现数据的插入、查询、删除功能,

1.3运行环境

(1)操作系统:

MicrosoftWindows2000/Windowsxp

(2)数据库:

SQLServer数据库

(3)编程环境:

VisualStudio2008

2.概要设计

2.1系统功能分析

图书管理系统分为四大模块:

一.前台管理:

在该模块中再次细分,可划分为一下几个模块:

用户注册登录,用户信息修改,图书搜索,图书详细信息查询,购物车,用户付款,用户帮助和联系管理员。

网络用户进入该网站时,可以浏览图书主页面、查看页面提供的图书信息、搜索图书等.若网络用户需要购买、收藏图书时,他需要登录到系统(若未注册账号,他需要先进行注册再登录系统).系统用户分为管理员和一般用户。

系统用户根据自己的注册邮箱和密码登录系统.登录到系统后,管理员可以对图书信息进行查看,添加、删除、修改等,同时可以查看所有一般用户的基本信息及图书订单信息;而一般用户只能查看图书信息、搜索图书、购买图书、收藏图书,同时可以对自己的信息进行修改、完善等。

除此之外,一般用户还可以付款,查看帮助,联系管理员。

二.订单管理:

管理员可以对订单进行管理,判断用户是否确认购买购物车的图书,确认是否付款,是否发货,是否对该信息归档.

三.用户管理:

管理员可以查询用户信息,并可以删除用户信息。

四.图书管理:

管理员可以对图书进行添加、删除、修改;管理员还可以对图书进行分类。

2.2系统功能模块

通过系统功能层次图可以直观地理解系统的功能,并且有助于实现模块与模块以及各模块内的密切联系。

系统功能层次图如下:

 

2.3数据库设计

2.3。

1概念模型设计

概念数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型,所以使用E-R图来建立数据模型,直观地反映了各实体的属性及实体间相互联系.所以开发者必须收集一些基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典。

根据这些基本信息设计出功能齐全、使用方便的系统。

系统所处理的E-R图如下:

2。

3.2数据库逻辑设计

逻辑结构设计阶段的主要任务是把概念结构设计好的E—R图转换为与DBMS产品所支持的数据模型相符合的逻辑,即将实体型、实体的属性和实体型之间的联系转换为关系模式,为此建立了六个数据表:

(1)图书信息表:

包括的数据项有:

图书ID、书名、作者、出版社、图书简介、出版日期、图书类别号、定价、封面、销售量和库存量;其中图书ID是主属性

(2)用户信息表:

包括的数据项有:

邮箱、密码、昵称、性别、身份标号、头像、兴趣、居住地、自我介绍和管理员标示;其中邮箱是主属性。

(3)用户身份表:

包括的数据项有:

身份标号和身份名;其中身份标号是主属性。

(4)图书类别表:

包括的数据项有:

图书类别号和图书类别名;其中图书类别号是主属性。

(5)订单表:

包括的数据项有:

邮箱、图书ID和订货数量;其中邮箱和图书ID是主属性。

(6)收藏表:

包括的数据项有:

邮箱和图书ID;二者都是主属性。

1.。

图书类别表

列名

数据类型

长度

说明

图书类别号

Smallint

主键

类别名

Varchar

10

唯一约束,不为空

2。

图书信息表

列名

数据类型

长度

说明

图书ID

Varchar

8

主键

书名

Varchar

20

作者

Varchar

10

出版社

Varchar

20

图书简介

Ntext

出版日期

Datetime

图书类别号

Smallint

外键,参考图书类别表

定价

Float

封面

Varchar

50

具有唯一约束

销售量

Int

默认为0,用来找出热销书

浏览次数

Int

默认为0,用来找出重点关注书

库存量

Int

大于等于0

折扣价

Float

大于等于0

折扣

Float

大于0小于等于1

上架时间

Datetime

用来区别新书

问题:

封面如何设为唯一约束

3.用户登录表

列名

数据类型

长度

说明

邮箱

Varchar

30

主键

密码

Varchar

15

密码丢失验证码

Varchar

10

默认为0000

管理员标识

Bit

默认为0,表示一般用户;1表示管理员

4.用户信息表

列名

数据类型

长度

说明

邮箱

Varchar

30

主键

昵称

Varchar

10

性别

Bit

默认为0,表示男;1表示女

用户级别号

Smallint

外键,参考用户身份表,默认为1

头像

Varchar

50

兴趣

Ntext

居住地

Varchar

100

自我介绍

Ntext

账户余额

Float

默认为0

消费金额

Float

默认为0

3。

用户身份表

列名

数据类型

长度

说明

用户级别号

Smallint

主键

级别名

Varchar

10

唯一约束

5。

订单表

列名

数据类型

长度

说明

邮箱

Varchar

30

外键,参考用户登录表

图书ID

Varchar

8

外键,参考图书信息表

价钱

Float

不为空,默认为0

订货数量

Smallint

大于等于0

订购日期

Datetime

包含在主键中,避免不能多次购买统一ID的书

是否处理

Bit

默认为0

*备注:

邮箱、图书ID、订购日期为主键

6。

收藏表

列名

数据类型

长度

说明

邮箱

Varchar

30

外键,参考用户信息表

图书ID

Varchar

8

外键,参考图书信息表

*备注:

邮箱和图书ID为主键

2.3.3数据库表结构图

三详细设计

3。

1。

主要网页介绍

母版页:

MasterPage1.master用户未登录时母版页

MasterPage2。

master用户登录后母版页

功能:

(1):

提供图书关键字搜索功能.

(2):

提供图书分类,个人中心等链接

Master1.master用户未登录时注册页面的母版页

Master2.master个人中心、用户信息修改页面的母版页

Master3。

master用户登录后注册页面的母版页

Home。

aspx主页enroll.aspx用户注册页

login。

aspx用户登录页search_book.aspx查询书籍页

book_classify.aspx图书分类页bookmessage.aspx图书详细信息页

SelfCenter。

aspx个人中心页alter_user.aspx用户修改个人信息页

shopcar。

aspx购物车页admin_login.aspx管理员登录后台管理页

管理页面admin_default。

aspx,可用iFrame引用以下页面:

bookmanager.aspx图书管理页addbook.aspx添加图书页

UserSearch。

aspx查询用户信息页AddMoney。

aspx用户充值页

deluser。

aspx删除用户页order_manager.aspx订单管理页

top.ascx用户控件,被个人中心页面等引用

Validator.aspx验证码页面,用来随机生成验证码,在用户注册页面调用

3.2系统功能概述

前台功能概述

(1):

一般用户进入Home.aspx后能够查询本站所有的图书及其详细信息。

(2):

当用户需要购买图书时可以暂时将需要购买的图书放入购物车,在离开本站时登录账户(无账户时需先注册)既可一起结账购买。

(3):

当用户提交订单,收藏书籍或者登录个人中心时系统提示需要登录,如果没有账号则需要注册。

后台管理系统

管理员通过点击主页下方的管理入口进入管理员登录页面,输入用户名(admin)和密码(admin)之后登陆到后台管理页面,如下图:

管理员可以在后台管理系统中进行添加、删除、修改图书信息,查询、删除用户,给用户充值,管理订单等操作,从而实现图书销售管理。

3.3主要实现代码

(1)图书搜索、分类查询功能代码

查询页面后台代码:

protectedvoidEnglish_Click(objectsender,EventArgse)

Session["BookClassify”]=English.Text;//用来记录图书类别名

Response。

Redirect(”book_classify.aspx”);

……………………………………………………………………….。

protectedvoidSearch_btn_Click(objectsender,EventArgse)

{//根据下拉列表来选择查询图书条件

if(Seach_tb。

Text==”"){Lb_Search.Visible=true;return;}

elseLb_Search.Visible=false;

Session[”Search”]=Seach_tb.Text;

if(DDL_Search。

SelectedIndex==0)

{

Session["BookClassify”]=Seach_tb。

Text;

Session[”flag”]=”图书类别”;//标示查询条件

}

elseif(DDL_Search.SelectedIndex==1)Session[”flag”]=”作者”;

elseSession[”flag"]=”书名”;

Response。

Redirect("search_book.aspx");

}

查询结果页面后台代码:

protectedvoidPage_Load(objectsender,EventArgse)

this。

Page.Title=”搜索结果”;

if(!

IsPostBack){Datalistband();}

privatevoidDatalistband()

stringselectstr;

if(Session[”flag"]==null)return;

if(Session["flag”]=="图书类别”)//用来选择selectstr的内容,以便按查询条件读取数据库

selectstr="selectBookImage,BookName,Price,DiscountMoneyfromBookInfo,BookCatalogwhereBookInfo。

CatalogNum=BookCatalog.CatalogNumandCatalogName=’”+Session["BookClassify”]。

ToString()+”'";

elseif(Session[”flag”]==”作者")

selectstr="selectBookImage,BookName,Price,DiscountMoneyfromBookInfowhereAuthor=’”+Session["Search”]。

ToString()+”'";

else

selectstr=”selectBookImage,BookName,Price,DiscountMoneyfromBookInfowhereBookName='”+Session["Search”]。

ToString()+”'”;

stringsqlconnstr=ConfigurationManager。

ConnectionStrings["ConnectionString"].ConnectionString;

DataSetds=newDataSet();

using(SqlConnectionsqlconn=newSqlConnection(sqlconnstr))

SqlDataAdaptersqld=newSqlDataAdapter(selectstr,sqlconn);

sqld.Fill(ds,”tabbook”);

}

……………………………………………………………………………………………….

this。

DataList1。

DataSource=pds;

this.DataList1.DataBind();//数据邦定

(2)用户登录页面代码:

protectedvoidloginButton_Click(objectsender,ImageClickEventArgse)

if(TB_Mail.Text==””)Lb_Message。

Text="请输入您的Email地址”;

elseif(TB_Password。

Text=="”)Lb_Message.Text=”请输入您的登录密码。

”;

else

stringsqlconnstr=ConfigurationManager。

ConnectionStrings[”ConnectionString"]。

ConnectionString;

SqlConnectionsqlconn=newSqlConnection(sqlconnstr);

SqlCommandsqlcomm=newSqlCommand();

sqlcomm.Connection=sqlconn;

sqlconn.Open();

sqlcomm.CommandText="selectMailBox,PassWordfromLoginwhere(ManagerFlag=0)”;

SqlDataReadersqldatareader=sqlcomm。

ExecuteReader();

while(sqldatareader.Read())

if(TB_Mail。

Text==sqldatareader.GetString(0)&&TB_Password。

Text==sqldatareader。

GetString

(1))

{

Session[”UserName”]=TB_Mail.Text;//Session["UserName"];//标示用户是否登录,从而切换母板if(Session["UserName”]!

=null)

{

Session["masterpage”]="MasterPage2.master”;

if(Session["IsLogin”]==”true”)Response。

Redirect("shopcar.aspx”);

elseResponse.Redirect(”Home.aspx”);

Lb_Message.Text="账号或密码错误,请重新输入”;

(3)用户注册页面代码

protectedvoidBt_Sumbit_Click(objectsender,EventArgse)

if(Request.Cookies["yzmcode"]==null)return;

if(String。

Compare(Request.Cookies[”yzmcode”].Value,Txt_Validation。

Text,true)!

=0)

{//判断注册码是否输入正确

Lb_Validate.Text=”验证码错误,请输入正确的验证码.”;return;

elseif(!

Cb_clause。

Checked)Lb_Message.Visible=true;

else

{insert();

if(Lb_error。

Visible){MultiView1.ActiveViewIndex=0;return;}//判断邮箱是否注册过

MultiView1.ActiveViewIndex=1;

Lb_Mail。

Text=Txt_Mail.Text;

Session[”UserName”]=Txt_Mail。

Text;

Session["masterpage"]="MasterPage2.master”;

Session["master"]="~/Master/Master3.master";

protectedvoidinsert()//插入用户的注册数据到数据库

stringsqlconnstr=ConfigurationManager.ConnectionStrings["ConnectionString"]。

ConnectionString;

SqlConnectionsqlconn=newSqlConnection(sqlconnstr);

SqlCommandsqlcommand=newSqlCommand();

sqlcommand。

Connection=sqlconn;

sqlcommand.CommandText="insertintoLogin(MailBox,PassWord)values(@MailBox,@PassWord)";

sqlcommand。

Parameters。

AddWithValue(”@MailBox",Txt_Mail。

Text);

sqlcommand。

Parameters。

AddWithValue(”@PassWord”,Txt_Password.Text);

try{sqlconn.Open();sqlcommand.ExecuteNonQuery();Lb_error.Visible=false;}

catch(Exceptionex){Lb_error。

Visible=true;//邮箱注册过让Lb_error显示}

finally{sqlcommand=null;sqlconn.Close();sqlconn=null;}

(4)个人中心代码

prot

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2