1、第第12章章 SQL Server 2005与与 Visual C+综合实例综合实例12.1 仓库管理系统简介仓库管理系统简介12.2 数据库设计数据库设计12.3 系统设计系统设计12.4 系统初试系统初试第第12章章 SQL Server 2005与与 Visual C+综合实例综合实例教学重点:教学重点:(1)使用)使用SQL Server 2005建立数据库和建立数据库和数据表。数据表。(2)基本)基本Visual C+操作。操作。(3)Visual C+与与SQL Server 2005的综的综合操作。合操作。12.1 仓库管理系统简介仓库管理系统简介12.1.1 功能需求功能需求1
2、2.1.2 系统模块系统模块12.1.1 功能需求功能需求在建立数据库之前,要进行需求分析。一个实际应用中的管理系统,因为用户不一定具有较好的计算机基础,在系统的操作界面和安全性方面,设计者要进行必要的考虑。1)用户可容易地在界面输入数据,只在后台进行复杂的数据处理。2)系统应该有登录界面,用户通过账号和密码进入系统,从而根据用户所拥有的权限提供对应的数据和操作。3)系统能够对数据库中的数据进行相关的更新操作,也能导入/导出数据库文件。4)当管理出现错误时,能在数据库中查到相关的责任人。5)具有良好的安全性、可扩展性和可维护性。12.1.2 系统模块系统模块仓库管理系统涉及的人有仓库管理员、供
3、应商、客户、进货员和出货员等;涉及的货物有仓库中的物资;操作比较多,有入仓操作、出仓操作、存放物资操作和统计操作等等。仓库管理系统可分为以下几个模块:(1)用户登录模块。(2)用户管理模块。(3)员工管理模块。12.1.2 系统模块系统模块(4)供应商管理模块。(5)客户管理模块。(6)进仓管理模块。(7)出仓管理模块。(8)物资管理模块。(9)日志管理模块。(10)数据导入/导出模块。12.2 数据库设计数据库设计12.2.1 数据库的创建数据库的创建12.2.2 数据库表的创建数据库表的创建12.2.3 表数据的添加表数据的添加12.2.1 数据库的创建数据库的创建使用SQL Server
4、 Management Studio创建数据库。12.2.2 数据库表的创建数据库表的创建数据库的大部分数据都存放在数据表中,而数据之间的关系也通过表来体现,数据库表的结构和创建是数据库设计关键的一步。通过上面的需求分析,已经知道在这个数据库中所要建的表比较多。12.2.2 数据库表的创建数据库表的创建1.供应商表供应商表供应商是物资的来源,为了得到优质快捷的物资,就应该打理好与供应商的关系和联系,同时若物资出现问题时间,也要了解是不是供应商出现问题。供应商表应该有下列的属性字段:供应商号、供应商名称、地址、联系人、联系电话、传真、电子邮箱、开户银行、银行账号以及执行银行。12.2.2 数据库
5、表的创建数据库表的创建2.客户表客户表商业的主要目的就是吸引客户,这也是商业成败的关键。不论大小客户或者是潜在的客户,都应该搞好与其的关系,并详细记录已了解的资料。在客户表中应该有下列的属性字段:客户号、客户名、客户地址、联系人、联系电话、传真、电子邮箱和开户银行等相关资料。表的创建可参照供应商表的创建过程,客户表界面。12.2.2 数据库表的创建数据库表的创建3.员工表员工表虽然在如今的电脑化操作下,仓库员工的责任和任务已经少了许多,但是还是仓库管理的重要部分,无论是物资的安置和进出仓都必须通知到相关的责任人,采购员、管理员和售货员等不同部门的员工都有不同的任务和价值。在员工表中应该包含下列
6、的属性字段:员工号、员工名、性别、年龄、部门、职位、进入公司时间、联系电话、电子邮箱,若有需要还可加入备注。12.2.2 数据库表的创建数据库表的创建4.物资表物资表上面三个表都是关于人员的管理,物资管理属于仓库管理系统中物品方面最重要的一个方面。仓库管理系统所有的工作都是围绕物资来展开的,而物资的数据处理也最繁琐。物资种类多、数量大,而且同一类的物资存在供应商、进货时间和价格的不同。所以为了防止单个表的操作过于复杂,就把一部分功能放在别的表中执行。物资表只包含下列的属性字段:物品编号、名称、数量和相关的描述。12.2.2 数据库表的创建数据库表的创建5.日志表日志表为了防止意外事件发生时,无
7、法从系统中获得详细的资料,设置一个日志表以进行日志管理。日志表包含下列的属性字段:日志号、用户ID、时间和具体操作。6.物资安置表物资安置表当物资存放在仓库中时,为了检索和管理方便,必须记录物资的存放位置,物资安置表就是用来记录物资安置的相关信息。物资安置表包含下列的属性字段:安置记录号、物资号和具体的安置地点。12.2.2 数据库表的创建数据库表的创建7.用户密码表用户密码表系统不设游客权限,每个用户都必须用ID和密码登录系统,所以对于用户的账号密码管理也是必须的,用户密码表就是用来存储相关的资料。用户密码表包含下列属性字段:用户ID、用户密码和用户权限。8.进仓记录表进仓记录表当有物资进仓
8、时,就会用到进仓记录表,记录和跟踪相关的情况,以方便以后的查询。进仓记录表包含下列的属性字段:年进仓记录号、进仓物资号、数量、进仓时间、金额、进货员号和管理员号,若有需要还可注明备注。12.2.2 数据库表的创建数据库表的创建9.出仓记录表出仓记录表与进仓记录表类似,出仓记录表是在有物资出仓时调用的表。12.2.3 表数据的添加表数据的添加打开SQL Server Management Studio,选择服务器,右击要添加数据的表,选择“打开表”命令,即可在其中依次添加数据。12.3 系统设计系统设计12.3.1 建立建立ODBC数据源数据源12.3.2 用用Visual C+创建工程创建工程
9、12.3.3 模块生成模块生成12.3.4 派生类生成派生类生成12.3.1 建立建立ODBC数据源数据源ODBC(Open Database Connectivity,开放式数据库互连)是微软和许多公司提出的一个数据库开发标准,用以协调各个DBMS,减少开发的难度。在Visual C+中使用ODBC会使数据库操作变得简单,可以抛开具体数据库繁琐而复杂的API,而直接使用编程语言提供的ODBC连接的函数。在Visual C+中,主要使用两个类:CDatabase和CRecordset,前者用于数据库连接,后者用于记录从数据库中读取的数据。12.3.1 建立建立ODBC数据源数据源依次选择“开始
10、”/“控制面板”/“管理工具”/“数据源”,弹出ODBC数据源管理器对话框,单击“添加”按钮,然后按照向导的提示一步步往下设置。12.3.2 用用Visual C+创建工程创建工程从“开始”“所有程序”中打开“Microsoft Visual C+6.0”,进入Visual C+的界面。12.3.2 用用Visual C+创建工程创建工程选择“File”/“New”命令,然后按照向导的提示一步步往下设置。NoImage12.3.3 模块生成模块生成1.登录模登录模块块登 录 模 块是系统运行时用户最先见到的界面,要以简洁方便为主。NoImage12.3.3 模块生成模块生成2.主窗口模块主窗口
11、模块用户从登录模块进入系统后就进入主窗口模块,系统会根据用户的权限提供响应的操作。NoImage12.3.3 模块生成模块生成3.物资查询模块物资查询模块在需求分析中并没提起这个查询模块,但是因为大部分的操作都需要查询数据库中的内容,为了简化和方便操作,可设置一个查询对话框,在需要时调用。NoImage12.3.3 模块生成模块生成4.插入物资信息插入物资信息模块模块插入物资信息模块用于系统和数据库的更新操作。NoImage12.3.3 模块生成模块生成5.数据库备份数据库备份/还原模块还原模块NoImage12.3.4 派生类生成派生类生成派生类是与数据库的某张表相对应,建立了派生类之后,程
12、序才能通过这个派生类的对象进行读取数据操作。打开ClassWizard,单击“Add Class”按钮,从显示的菜单中选择NEW选项,弹出新建类界面。这里可输入需要建的新类的名字。这里是CWorkerset,在Base Class中选择“CRecordset”,作为创建的派生类的基类。12.3.4 派生类生成派生类生成NoImage12.3.4 派生类生成派生类生成其他的派生类的对应关系如下:CLoginset:用户密码表。CProviderset:供应商表。Cclientset:客户表。CMaterialset:物资表。CPlacerecordset:物资安置表。CInrecordset:进
13、仓表。COutrecordset:出仓表。CLogset:日志表。12.4 系统初试系统初试(1)输入用户名和密码,登录仓库管理系统。(2)简单地输入了3项物资作为演示。(3)单击“插入资料”按钮,可输入物资、数量和备注。(4)单击“完成”按钮,返回物资对话框。小结小结实际应用中的仓库管理系统要处理的数据和操作都比较复杂,构建这类复杂的系统除了要设计好系统结构和使用程序进行数据库开发之外,数据库的结构组成设计也是很重要的一个部分。数据库的易读性、数据库表的关联协同性以及数据库的安全性,在系统开发中都是一个重点和难点,希望读者认真学习前面的章节,再通过本章的实际练习,对数据库知识以及SQL Server 2005加深了解并熟悉操作。