ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:169.90KB ,
资源ID:29238235      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29238235.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库系统原理书店信息管理系统.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库系统原理书店信息管理系统.docx

1、数据库系统原理书店信息管理系统Access课程设计题 目 书店信息管理系统一. 题目二. 功能三. 设计四. 数据库的实现五. 数据模式六. 系统实施七. 参考文献八. 设计感想某书店信息管理系统一题目:某书店信息管理系统二功能:1通过用户登陆及身份验证确定用户对数据的操作权限。以系统管理员身份登陆时享有对所有数据查阅及进行任意操作的权限,以普通用户登陆时只享有查阅数据的权限,且数据内容的开放程度由管理员设定。2对管理员,会员,普通职员及图书资料档案的管理。3对书店经营期间的所有支出,收入已及盈亏情况进行记录。4对书店经营期间各个方面的监控及实时处理。包括供书商提供图书的价格是否合理,管理员及

2、职员工作态度是否认真和是否出差错,顾客对书店经营的意见,哪些书销售情况好,哪些差,购买图书的数量种类,书店设施的磨损以及是否需要维修或者更换添加。三设计:1.用户要求1 会员档案 数据包括:会员证号、姓名、性别、出生日期、身份证号、单位、通讯地址、邮政编码、联系电话、办证日期、会员期限、照片、职业等。2 图书档案 数据包括:书号、书名、作者、出版单位、出版日期、版次、单价、内容提要、分类号、索书号、藏书册数、每册图书馆藏注册号、所在书库、入库日期等。3 检索系统 能根据书号、书名、作者、出版单位、内容提要关键字、分类号、索书号、每册图书馆藏注册号等进行查询。4 进书系统 输入书号后,能根据借书

3、号判断该书进货时间,书库中是否还有该书可卖,是否需要再进货。5、卖书系统对一定时间段卖出去的书做出各种统计。2总体功能框图: 3. 数据流:3.1档案管理子系统数据流图 3.2财务管理子系统数据流图3.3经营管理子系统数据流图说明:1.收银员享有修改会员数据,销售记录数据,创建会员数据的操作权限。 2供货商包括图书供应商,家具供应商等书店可能涉及到的物品的供应 商,不限及某一种和某一个供货商。 3.采购,财务,主管部门由书店规模决定,可能仅仅是一个人,也可能是有组织有一定成员的独立部门。4. 业务范围:1采购和出售各种图书,从中赢利,根据顾客需要调整购买图书的种类和数量。2办理会员顾客,会员购

4、书实行折扣,根据会员累计消费情况举行会员优惠活动,吸引顾客办理会员和会员消费。四. 数据库的实现1.1建立数据库ST-COURSE2各表的建立,如2.3物理结构的设计。3录入数据2. 数据表的创建和设计 使用 Access 数据库管理系统建立应用系统,首先需要创建一个数据库。然后在该数据库中添加 所需的表、查询、窗体、报表、宏等对象。 3. 数据库的创建 首先,使用向导设计“书店管理系统”数据库,然后才进行表的设计。具体步骤如下: (1)启动Microsoft Access 2003 ,出现“Microsoft Access ”数据库设计界面。 (2 )单击工具栏上的新建按钮,在Access

5、2003 窗体的右边出现“新建文件”任务窗格。 (3 )在该任务窗格中选择项,系统弹出“模板”对话,单击“常用”选项卡,然后选择其中的模板。 (4 )单击“确定”按钮,这时出现要选择数据库的保存路径的对话框。在“文件名”右边的文本框里输入文件名为“书店管理系统”。 (5 )单击“创建”按钮,就进入数据库窗口。 至此,就创建了“书店管理系统”数据库。4.E-R图五. 数据模式现将其中几个表的关系数据模式给出: 1.书籍信息(书籍编号,书名,作者,进货价格,进货数量,供书商编号,剩余数量)2.供书商(供书商编号,名称,地址,联系电话)3.会员(会员编号,姓名,性别,联系方式,会员有效期,累计消费,

6、享有优惠)4.数据库创建表六.系统实施基于Mocrosoft Visual Studio 的MFC平台,将数据库及MFC连接并进行相应的处理的代码如下:(1)头文件的基本设置#include #include #include #include #include #include #include #define COURSE_NO1 5/注意定义的大小应为数据库中定义的长度加一,CString的结束字符也算在内#define LEN 10/变量的长度,一般属性列的长度定义都为#define CODE_LEN 6/密码的长度BOOL FindBookDlg:OnInitDialog()/初始化

7、列表框的函数 CDialog:OnInitDialog(); /初始化列表框 m_list.SetTextColor(RGB (0, 0, 0); m_list.SetBkColor(RGB(255,255,255); m_list.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT); m_list.InsertColumn(0,_T(书号),LVCFMT_CENTER,100); m_list.InsertColumn(1,_T(书名),LVCFMT_CENTER,100); m_list.InsertColumn(2,_T(作者)

8、,LVCFMT_CENTER,100); m_list.InsertColumn(3,_T(价格),LVCFMT_CENTER,100); m_list.InsertColumn(4,_T(所属类型),LVCFMT_CENTER,100); return TRUE; BEGIN_MESSAGE_MAP(FindBookDlg, CDialog) ON_BN_CLICKED(IDC_BUTTON1, &FindBookDlg:OnBnClickedButton1)END_MESSAGE_MAP()/ FindBookDlg message handlers(2)查询信息按钮的消息响应函数(以查询

9、书籍信息为例)。void FindBookDlg:OnBnClickedButton1() / TODO: Add your control notification handler code here UpdateData(true); /初始化环境 ret=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&serverhenv); ret=SQLSetEnvAttr(serverhenv,SQL_ATTR_ODBC_VERSION,(void *)SQL_OV_ODBC3,0); /建立连接 ret=SQLAllocHandle(SQL_HAND

10、LE_DBC,serverhenv,&serverhdbc); ret=SQLConnect(serverhdbc,(SQLCHAR*)BookInfo,SQL_NTS,(SQLCHAR*)sa,SQL_NTS,(SQLCHAR*),SQL_NTS); if(!SQL_SUCCEEDED(ret) return ; /初始化语句句柄 ret=SQLAllocHandle(SQL_HANDLE_STMT,serverhdbc,&serverhstmt); /执行语句 CHAR SQL256; if(m_BookNo!= & m_BookName!=) ret=SQLExecDirect(serv

11、erhstmt,(SQLCHAR*)SELECT * FROM BookInfo WHERE BookNo=m_BookNo AND BookName=m_BookName,SQL_NTS); if(!(ret=SQL_SUCCESS|ret=SQL_SUCCESS_WITH_INFO) AfxMessageBox(_T(你输入的书号和书名不匹配,请重新出入!书号和书名可以任输一个!); FindBookDlg dlg; dlg.DoModal(); else if(m_BookNo!=) sprintf(SQL,SELECT * FROM BookInfo WHERE BookNo=%s,m

12、_BookNo); ret=SQLExecDirect(serverhstmt,(SQLCHAR*)SQL,SQL_NTS); else if(m_BookName!=) sprintf(SQL,SELECT * FROM BookInfo WHERE BookNo=%s,m_BookName); ret=SQLExecDirect(serverhstmt,(SQLCHAR*)SQL,SQL_NTS); else if(m_BookNo= & m_BookName=) ret=SQLExecDirect(serverhstmt,(SQLCHAR*)SELECT * FROM BookInfo,

13、SQL_NTS); m_list.DeleteAllItems(); if(ret=SQL_SUCCESS | ret=SQL_SUCCESS_WITH_INFO) ret=SQLBindCol(serverhstmt,1,SQL_C_CHAR,BookNo,LEN,&cbBookNo); ret=SQLBindCol(serverhstmt,2,SQL_C_CHAR,BookName,LEN,&cbBookName); ret=SQLBindCol(serverhstmt,3,SQL_C_CHAR,BookAuthor,LEN,&cbBookAuthor); ret=SQLBindCol(s

14、erverhstmt,4,SQL_C_FLOAT,&BookPrice,0/*sizeof(FLOAT)*/,&cbBookPrice); ret=SQLBindCol(serverhstmt,5,SQL_C_CHAR,BookType,LEN,&cbBookType); while( (ret = SQLFetch(serverhstmt) != SQL_NO_DATA_FOUND) CString temp; temp.Format(%f,BookPrice);/将double 型转换为字符型 if(ret=SQL_ERROR) AfxMessageBox(_T(ERROR!); retu

15、rn; int row=m_list.InsertItem(0,(LPCTSTR)BookNo); m_list.SetItemText(row,1,(LPCTSTR)BookName); m_list.SetItemText(row,2,(LPCTSTR)BookAuthor); m_list.SetItemText(row,3,(LPCTSTR)temp); m_list.SetItemText(row,4,(LPCTSTR)BookType); SQLFreeHandle(SQL_HANDLE_STMT,serverhstmt); UpdateData(false);(3)消费模块(以书

16、店进货为例)这里只给出查询信息按钮的消息响应函数void NewBookDlg:OnBnClickedOk() / TODO: Add your control notification handler code here UpdateData(true); /初始化环境 ret=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&serverhenv); ret=SQLSetEnvAttr(serverhenv,SQL_ATTR_ODBC_VERSION,(void *)SQL_OV_ODBC3,0); /建立连接 ret=SQLAllocHandl

17、e(SQL_HANDLE_DBC,serverhenv,&serverhdbc); ret=SQLConnect(serverhdbc,(SQLCHAR*)BookInfo,SQL_NTS,(SQLCHAR*)sa,SQL_NTS,(SQLCHAR*),SQL_NTS); if(!SQL_SUCCEEDED(ret) return ; /初始化语句句柄 ret=SQLAllocHandle(SQL_HANDLE_STMT,serverhdbc,&serverhstmt); /执行语句 ret=SQLPrepare(serverhstmt,(SQLCHAR*)INSERT INTO BookIn

18、fo(BookNo,BookName,BookAuthor,BookPrice,BookType) VALUES(?,?,?,?,?),SQL_NTS); if(ret=SQL_SUCCESS|ret=SQL_SUCCESS_WITH_INFO) lstrcpy(char *)BookNo,m_BookNo); lstrcpy(char *)BookName,m_BookName); lstrcpy(char *)BookAuthor,m_BookAuthor); BookPrice=m_BookPrice; lstrcpy(char *)BookType,m_BookType); ret=S

19、QLBindParameter(serverhstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,LEN,0,BookNo,0,&cbBookNo); ret=SQLBindParameter(serverhstmt,2,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,LEN,0,BookName,0,&cbBookName); ret=SQLBindParameter(serverhstmt,3,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,LEN,0,BookAuthor,0,&cbBookAuthor);

20、 ret=SQLBindParameter(serverhstmt,4,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,sizeof(FLOAT),0,&BookPrice,0,&cbBookPrice); ret=SQLBindParameter(serverhstmt,5,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,LEN,0,BookType,0,&cbBookType); /处理结果集并执行预编译后的语句 ret=SQLExecute(serverhstmt); OnOK();七.参考文献1 数据库系统原理李建中 主编 电子工业出版社

21、2 数据库系统概论 杨开英 主编 武汉理工大学出版社3 数据库原理及应用 张冬青 主编 中国轻工业出版社4 数据库应用 张晓华 主编 重庆大学出版社八.设计感想 刚开始设计这个数据信息管理系统时候对他的定位是一个小型的书店管理系统,其规模也就是个人开设的书店,软件开发完后使用者是店主,同时店主也是收银员,管理职员和办理会员。店主即系统管理员。但后来思考的深入,考虑细节的过多,不知不觉中偏离了这个定位,后面将会说明设计功能机构框图时参考了同学的模式,将功能模块化,感觉这样功能结构直观,清晰,且实现的时候比较有层次会宜于实现,但到后来发现,其实模块及模块完全独立实现是不可能的,很多功能的实现是重叠

22、的,例如管理档案和经营管理,经营管理中要根据雇员工作情况进行人事变动,以及图书的购进等,都需要对档案进行修改,而很多经营方案也需要根据档案提出,以及财务管理肯定及经营管理之间相互作用,总之所有功能是一个相互联系的整体,不可能是象框图那样独立的单元,但最后仍旧以模块化的框图表示了其功能,因为如果考虑到联系进行框图绘制出来的结果很复杂,在实现的时候使人思维混乱。反而不如简单清晰的表现。关于数据流,因为考虑到系统不大,本想画一个整体的包括所有数据流向的图,但在绘制过程中从经营者的现实角度出发,发现许多需要处理的信息,如顾客意见,职员工作表现,会员的种种权利等等,对所有信息的处理都依靠一个店主在表现时

23、候很不明了,于是不自觉的多出了采购,主管,财务等部门,使真个设计前后有点不协调,但其实这三个部门可以是一个人,即店主;尽管我已经尽最大努力使所有信息的流向和处理过程画进了第三个数据流图中,但很多信息,如职员工作表现反映给主管,主管做决定调整人事及工资,反映给财务和人事部门,财务发放工资,人事招聘解雇员工等等,由于能力有限,无法组织一个条理清晰,线条不交叉的图形,所以不得不删除了。对业务范围个人理解是经营范围,虽然感觉不大准确,但若做其他理解则其和功能的描述有重复,所以就按自己想法写了。设计过程中关于书店的业务流程等都是自己根据想象 凭空捏造的,现实情况将会比想象复杂的多,仅仅依靠当前的设计是不可能完成现实要求的,有时间将会对书店进行实际调查,进一步完善这份设计。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1