细心系统与数据库技术课程设计.docx

上传人:b****3 文档编号:10750174 上传时间:2023-05-27 格式:DOCX 页数:17 大小:412.57KB
下载 相关 举报
细心系统与数据库技术课程设计.docx_第1页
第1页 / 共17页
细心系统与数据库技术课程设计.docx_第2页
第2页 / 共17页
细心系统与数据库技术课程设计.docx_第3页
第3页 / 共17页
细心系统与数据库技术课程设计.docx_第4页
第4页 / 共17页
细心系统与数据库技术课程设计.docx_第5页
第5页 / 共17页
细心系统与数据库技术课程设计.docx_第6页
第6页 / 共17页
细心系统与数据库技术课程设计.docx_第7页
第7页 / 共17页
细心系统与数据库技术课程设计.docx_第8页
第8页 / 共17页
细心系统与数据库技术课程设计.docx_第9页
第9页 / 共17页
细心系统与数据库技术课程设计.docx_第10页
第10页 / 共17页
细心系统与数据库技术课程设计.docx_第11页
第11页 / 共17页
细心系统与数据库技术课程设计.docx_第12页
第12页 / 共17页
细心系统与数据库技术课程设计.docx_第13页
第13页 / 共17页
细心系统与数据库技术课程设计.docx_第14页
第14页 / 共17页
细心系统与数据库技术课程设计.docx_第15页
第15页 / 共17页
细心系统与数据库技术课程设计.docx_第16页
第16页 / 共17页
细心系统与数据库技术课程设计.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

细心系统与数据库技术课程设计.docx

《细心系统与数据库技术课程设计.docx》由会员分享,可在线阅读,更多相关《细心系统与数据库技术课程设计.docx(17页珍藏版)》请在冰点文库上搜索。

细心系统与数据库技术课程设计.docx

细心系统与数据库技术课程设计

上海应用技术学院

课程设计

2010~2011学年第二学期

设计题目:

图书信息管理

院系:

化学与环境工程学院

专业:

制药工程

班级:

09107201

姓名:

林韦康0910720125

设计时间:

2011-05-24∽2011-06-06

指导教师:

王栋

随着网上书店规模的不断扩大,图书数量也相应增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书管理上的混乱以及人力、物力过多浪费,从而影响运作和控制管理,因此,必须制定一套合理、有效,规范和实用的网上图书管理系统,对图书资料进行集中统一的管理。

另一方面,IT产业和Internet的飞速发展使得计算机应用渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。

提高网上图书管理工作效率,做到信息的规范管理,科学统计和快速查询,让网上书店更好地为学校、社会服务。

一、系统目标

本系统支持网上图书的信息维护、图书信息汇总、图书折扣管理3个方面的功能,并且具有信息管理、事物处理、和决策支持的系统特点。

二、需求分析

1.业务需求

设计网上书店信息系统中的客户信息管理模块,要求有客户和店员两个方面的功能。

客户类的用户:

能图书查询、浏览(包括浏览本书信息和相关图书列表)、查看个人客户信息。

店员类的用户:

能维护图书基本信息、包括增、删、改等;图书折扣管理;图书信息汇总。

2.数据处理要求

系统涉及的数据源有图书数据、客户数据、客户购买数据,产生图书信息表、客户信息表、订单、客户分析表等各项表单。

结合业务处理需求,系统数据流图如图所示。

三、数据库设计

1.图书信息管理功能结构图如图:

2.E-R图:

 

3.数据字典:

1)Customer客户表:

存储客户基本信息。

字段名称

字段说明

类型定义

属性限定

索引

关系(外键)

CustomerCode

客户号

Char(8)

PrimaryKey

主索引

Name

客户姓名

Varchar(16)

NotNull

Sex

性别

Char

(2)

NotNull

"男"或"女"

Job

职业

Char(12)

NotNull

Birthday

生日

Datetime

Hometown

所在省区

Varchar(40)

Email

Email

Varchar(40)

Telephone

联系电话

Varchar(40)

VIPClass

用户等级

Char

(1)

“A”~”D”

LoyaltyClass

忠诚度

Char

(1)

“A”~”D”

2)Book图书表:

存储图书基本情况。

字段名称

字段说明

类型定义

属性限定

索引

关系(外键)

BookCode

书号

Char(8)

PrimaryKey

主索引

BookName

书名

Varchar(60)

NotNull

Author

作者

Char(20)

NotNull

Publisher

出版社

Varchar(50)

NotNull

PublishTime

出版时间

DateTime

NotNull

BookSort

图书类别

Char(8)

Content

内容简介

Varchar(1000)

Price

价格

Numeric(4,1)

NotNull

Discount

折扣

Numeric(2,1)

NotNullDefault1

图书类别BookSort取值:

人文、科学、经管、其他

3)Order订单表:

存储订单的基本情况

字段名称

字段说明

类型定义

属性限定

索引

关系(外键)

OrderCode

订单号

Char(8)

PrimaryKey

主索引

CustomerCode

客户号

Char(8)

NotNull

Customer:

CustomerCode

PayType

支付方式

Varchar

(1)

NotNull

SendType

发货方式

Varchar

(1)

NotNull

Address

发货地址

Varchar(200)

NotNull

OrderTime

订货时间

DateTime

NotNull

DefaultGetDate()

OrderStatus

订单状态

Char

(1)

“P”、“F”、“C”

Default“P”

订单状态OrderStatus取值:

“P”为处理中,“F”为完成,“C”为取消。

支付方式PayType取值:

“C”为货到现金支付;“I”为信用卡支付。

发货方式SendType取值:

“F”为快递;“P”为邮局邮寄。

4)OrderDetail订单详细情况表:

存储订单的详细情况。

字段名称

字段说明

类型定义

属性限定

索引

关系(外键)

OrderCode

订单号

Char(8)

PrimaryKey

主索引

Order:

OrderCode

BookCode

书号

Char(8)

PrimaryKey

主索引

Book:

BookCode

Amount

数量

Int

Default0

>=0

4.关系模式:

客户(客户号,姓名,性别,职业,生日,所在省区,联系电话,Email,客户等级,忠诚度)

图书(书号,书名,作者,出版社,出版时间,类别,内容简介,价格,折扣)

订单(订单号,客户号,支付方式,发货方式,发货地址,订货时间)

订单详细资料(订单号,书号,数量)

5.数据库表:

 

6.数据库关系图:

4、系统开发设计

1.系统技术方案

系统前台开发工具:

面向客户的B/S应用程序和面向店员和店长的C/S应用程序都采用VisualStudio.NET2003开发环境,使用VB.NET语言开发。

后台数据库:

采用MicrosoftSQLServer2000企业版。

2.主界面

主界面显示“顾客”和“店员”两个选择按钮,用户根据自己的身份选择“确定”进入系统或选择“取消”退出系统。

3.基本操作

①如果选择“店员”,那么会得到一个新的界面如下:

此时输入帐号和密码,就可进行“增加新书”、“删除图书”、“撤销更新”和“确认更新”的操作。

效果如下:

 

 

②如果选择“顾客”,那么得到如下一个新的界面:

输入帐号和密码,选择查看“个人信息”或者“图书信息”。

比如选择了“个人信息”,在界面上可以看到自己的“客户号”、“姓名”、“性别”、“职业”、“生日”、“所在省区”、“Email”、“用户等级”和“忠诚度”等个人信息。

效果如图:

 

如果选择查看“图书信息”,可以输入想要查看的图书全名或者图书关键字,可以得出包括“书号”、“书名”、“作者”、“出版社”、“出版时间”、“图书类型”、“内容简介”、“价格”和“折扣”等图书信息。

效果如下:

6、课程设计总结

我们的课程设计是网上书店系统中的“图书信息管理”模块,通过此次实践,我们更熟练地掌握了用数据库解决现实生活中问题的技能,更多地了解了数据库的应用和对数据库的备份与恢复、性能分析与改进等等。

虽然总体设计还算合理,但本操作系统还存在下列问题:

○数据安全性有待增强。

○还可以设置级联使得系统更加完善。

○可以增加顾客修改个人信息的功能,如“所属省区”等可能随时间有所变动的项目。

○数据库中没有专门的表保存顾客的帐号和密码,笨操作系统所设置的密码单一简单。

总之,这次课程设计,使得我们熟悉了VisualStudio.NET2003开发环境以及VB.NET和SQL语句的使用,也在一定程度上提高了我们动手动脑能力。

 

7、参考文献

【1】夏冰冰.数据库管理及应用.国防工业出版社,2006.

【2】闪四清.SQLServer实用简明教程.清华大学出版社,2005.

【3】施伯乐,丁宝康,汪卫.数据库系统教程.3版.高等教育出版社,2007.

【4】孙皓.SQL入门、进阶与实用教程.人民邮电出版社

8、程序清单

登录系统代码:

后台管理代码:

ImportsSystem.Data.SqlClient

PublicClass后台管理

InheritsSystem.Windows.Forms.Form

PublicmybindAsBindingManagerBase

PrivateSub后台管理_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

EndSub

PrivateSubButton6_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton6.Click

mybind.Position=0

EndSub

PrivateSubButton7_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton7.Click

mybind.Position=mybind.Position-1

EndSub

PrivateSubButton8_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton8.Click

mybind.Position=mybind.Position+1

EndSub

PrivateSubButton9_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton9.Click

mybind.Position=mybind.Count-1

EndSub

PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click

mybind.RemoveAt(mybind.Position)

EndSub

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

mybind.AddNew()

EndSub

PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click

mybind.CancelCurrentEdit()

EndSub

PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.Click

mybind.EndCurrentEdit()

Me.SqlDataAdapter1.Update(Me.DataSet11.T_Book)

EndSub

PrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton5.Click

End

EndSub

PrivateSubDataGrid1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesDataGrid1.Click

mybind.Position=DataGrid1.CurrentRowIndex

mybind.Position=Me.DataGrid1.CurrentRowIndex

EndSub

PrivateSubButton10_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton10.Click

StaticinterrAsInteger

DimsuAsString

DimspAsString

su=UCase$(Trim$(TextBox10.Text))

sp=Trim$(TextBox11.Text)

Ifsu="ADMIN"Andsp="123456"Then

Me.SqlDataAdapter1.Fill(Me.DataSet11.T_Book)

mybind=Me.BindingContext(Me.DataSet11,"T_book")'指定绑定对象的数据源

Me.DataGrid1.DataSource=Me.DataSet11.T_Book

Else

MsgBox("帐号不存在或者密码错误,请重新输入!

")

EndIf

EndSub

EndClass

查询系统代码:

ImportsSystem.Data.SqlClient

PublicClass查询系统

InheritsSystem.Windows.Forms.Form

PublicmybindAsBindingManagerBase

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

DimcnAsNewSqlConnection("InitialCatalog=bookmanage;DataSource=(Local);"_

&"IntegratedSecurity=SSPI;")

DimsqlAsString="Select*FromT_BookWhereBooknamelike'%"&TextBox1.Text&"%'"

DimadAsSqlDataAdapter=NewSqlDataAdapter(sql,cn)

DimdsAsNewDataSet

ad.Fill(ds,"Book")

DataGrid1.DataSource=ds.Tables("Book")

EndSub

PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click

mybind.Position=0

DataGrid1.CurrentRowIndex=mybind.Position

EndSub

PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click

mybind.Position=mybind.Position-1

DataGrid1.CurrentRowIndex=mybind.Position

EndSub

PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.Click

mybind.Position=mybind.Position+1

DataGrid1.CurrentRowIndex=mybind.Position

EndSub

PrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton5.Click

mybind.Position=mybind.Count-1

DataGrid1.CurrentRowIndex=mybind.Position

EndSub

PrivateSubDataGrid1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesDataGrid1.Click

mybind.Position=DataGrid1.CurrentRowIndex

EndSub

PrivateSubButton6_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton6.Click

StaticinterrAsInteger

DimsuAsString

DimspAsString

su=UCase$(Trim$(TextBox1.Text))

sp=Trim$(TextBox2.Text)

IfLen(TextBox18.Text)<>8Then

MsgBox("用户名不存在,请重新输入!

")

EndIf

IfTextBox21.Text<>"000000"Then

MsgBox("密码错误,请重新输入!

")

Else

DimcnAsNewSqlConnection("InitialCatalog=bookmanage;DataSource=(Local);"_

&"IntegratedSecurity=SSPI;")

DimsqlAsString="Select*FromT_Book"

DimadAsSqlDataAdapter=NewSqlDataAdapter(sql,cn)

DimdsAsNewDataSet

ad.Fill(ds,"Book")

DataGrid1.DataSource=ds.Tables("Book")

Me.SqlDataAdapter1.Fill(Me.DataSet11.T_Book)

mybind=Me.BindingContext(Me.DataSet11,"T_book")

Dimexecutereader()AsSystem.data.sqlclient.SqlDataReader

DimmyconnAsNewSqlConnection("InitialCatalog=BookManage;DataSource=(Local);"_

&"IntegratedSecurity=SSPI;")

Dimsql2AsString="Select*FromT_customerWherecustomerCode='"&TextBox18.Text&"'"

DimmycmdAsSqlCommand=NewSqlCommand(sql2,myconn)

DimmyreadAsSqlDataReader

myconn.Open()

myread=mycmd.ExecuteReader'产生myread对象空间

myread.Read()'

TextBox11.Text=myread.Item(0)

TextBox12.Text=myread.Item

(1)

TextBox13.Text=myread.Item

(2)

TextBox14.Text=myread.Item(3)

TextBox15.Text=myread.Item(4)

TextBox16.Text=myread.Item(5)

TextBox17.Text=myread.Item(6)

TextBox19.Text=myread.Item(7)

TextBox20.Text=myread.Item(8)

myread.Close()

myconn.Close()

EndIf

EndSub

PrivateSubButton7_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton7.Click

End

EndSub

PrivateSub查询系统_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load

SqlDataAdapter1.Fill(DataSet11.T_Book)

mybind=BindingContext(DataSet11,"T_Book")

DataGrid1.DataSource=DataSet11.T_Book

EndSub

EndClass

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

当前位置:首页 > 自然科学 > 物理

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

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