1、车队管理系统论文数据库系统课程设计文档车队管理系统学院:信息工程学院班级:计科093学号:09* 09*姓名:* *日期:2011-07-151需求分析一方面,随着科学技术的不断发展,计算机作为知识经济时代的产物,已经日趋成熟,被不断应用于社会各行各业之中。新世纪,在我国科技水平高速发展的支持下,计算机作为今天最重要的现代化工具已经深入各个领域,并成为现代社会信息时代的支柱,为中国的现代化发展做出了突出贡献,起到了不可替代的作用。另一方面,随着社会经济的不断发展,车队运营业务也越来越大,事务越来越繁杂,正常运营中总是面对大量的员工信息、车辆信息、订单信息等产生的一系列入库信息,单纯的人工管理和
2、文件管理的低效性弊端日益显露,迫切需要一种高效的管理模式来支持车队的运营。在这样的背景下,用计算机开发一个系统软件对车队进行高效智能管理取代原有的纯手工文件管理是大势所趋,也是迫切需求。2概念模型设计2.1E-R图(在powerdesigner中画图)2.2CDM图3逻辑模型设计3.1CDM转化为PDM(在powerdesigner中画图)3.2关系图3.3物理设计本系统总共设计10个表:Car:字段名字段类型说明CarIDint主键CarNumvarchar车牌号Setsint座位数Statuint当前状态是否可出车CarOut:字段名字段类型说明CarIDint引用Car表CarIDOrd
3、erListIDint引用OrderList表OrderListIDCarOutCostmoney出车费用CarOutDatedatetime出车日期Statusint状态CustomerList:字段名字段类型说明CustomerIDint主键、自动递增CustomerNamevarchar客户姓名CustomerCallvarchar客户电话Department:字段名字段类型说明DepartmentIDint主键DepartmentNamevarchar部门名称IncomeExpand_List:字段名字段类型说明IEIDint主键Statusint收支状态,0:支出、1:收入Count
4、smoney金额Typeint类型,1:订单收入、2:维修出车支出IEDatedatetime对应日期UserList:字段名字段类型说明Uidvarchar系统用户名Upwdvarchar登录密码OrderList:字段名字段类型说明OrderListIDint主键、自动递增CustomerIDint引用CustomerList表CustomerIDOrderDatedatetime订单日期Numint订车数量IsWorkint是否完成,0:未完成, 1:正在进行,2:完成Costmoney订单收入金额Repair:字段名字段类型说明WorkerIDint由Worker表WorkerID继承
5、CarIDint引用Car表CarIDRepairCostmoney维修费用RepairDatedatetime维修日期RepairIDint主键、自动递增Salary:字段名字段类型说明BaseSalarymoney基本工资Rewardmoney奖金Forfeitmoney违规罚金Monthsdatetime月份IsAccountint是否结算,1:已结算,0:未结算Salarymoney最终工资SalaryIDint主键、自动递增WorkerIDint引用Worker表WorkerIDWorker:字段名字段类型说明WorkerIDint主键、自动递增DepatrmentIDint引用De
6、partment表DepartmentIDWorkerNamevarchar员工姓名WorkerAgeint员工年龄WorkerSexchar性别WorkCallvarchar员工联系方式两个视图:CarOutRecord_View:create view OrderListView asselect CustomerList.CustomerName, CustomerList.CustomerCall, OrderList.OrderListID, OrderList.CustomerID OrderList_CustomerID, OrderList.OrderDate, OrderLi
7、st.num, OrderList.IsWork, OrderList.Costfrom CustomerList, OrderListWorkSalary_ist_View:create view SalaryView asselect Worker.WorkerName, Worker.WorkCall, Salary.BaseSalary, Salary.Reward, Salary.Forfeit, Salary.Months, Salary.IsAccount, Salary.Salary, Salary.SalaryID, Salary.WorkerID Salary_Worker
8、IDfrom Worker, Salary一个存储过程:计算所有工资:CREATE procedure Salary_AAsupdate Salary set Salary=BaseSalary+Reward-Forfeit where IsAccount=0GO另外新建一个作业,月末定时调用存储过程,自动计算员工最终工资。一月一次。命令:exec Salary_A4系统详细设计本系统的目录结构分为前台和后台两个, 系统管理员通过C#平台登录,登陆后通过C#各功能模块实现对后台数据库中数据的各种增删改查操作,另外还有对数据库的备份和恢复操作。后台数据库:系统管理员admin登陆后,可以对后台数
9、据库操作,包括车辆管理,员工管理,订单管理,各种费用管理。前台界面:各种Form界面。各界面相互联系,实现对后台数据库中数据的管理。共设计了20个Form前台界面。4.1部分前台界面设计新增订单出车记录收支统计备份数据库还原数据库4.2部分代码更新数据 SqlConnection sqlConn = linkDB.DataConnection(); string sqlCommStr = update Salary set IsAccount=1 where WorkerID= ID; SqlCommand sqlComm = new SqlCommand(sqlCommStr, sqlCon
10、n); sqlComm.Parameters.Add(ID, SqlDbType.VarChar, 8).Value =this.tex_WorkerID.Text; try sqlConn.Open(); sqlComm.ExecuteNonQuery(); catch (Exception ex) MessageBox.Show(ex.Message); finally sqlConn.Close(); 插入数据string SQLStr = insert into IncomeExpand_List(Status,Type,counts,IEData) values(1,0; if (t
11、his.tB_Salary.Text.Trim() != & this.now.Text.Trim() != ) SQLStr += , + this.tB_Salary.Text.Trim() + , + this.now.Text.Trim() + ); linkDB.AddDataBase(SQLStr); else MessageBox.Show(还没有选择员工!); 删除数据 if (e.Button.ToolTipText = 删除记录) if (MessageBox.Show(确实要删除这条记录吗?, 询问, MessageBoxButtons.YesNo) = DialogRe
12、sult.Yes) try if (cmAmend.Count 0) cmAmend.RemoveAt(cmAmend.Position); else MessageBox.Show(没有可以删除的数据, 提示, MessageBoxButtons.OK, MessageBoxIcon.Error); catch (Exception express) MessageBox.Show(express.ToString(), 提示, MessageBoxButtons.OK, MessageBoxIcon.Error); return; 查询数据 string strRowFilter = ;
13、if (this.tB_CarNum.Text.Trim() != ) strRowFilter += CarNum like % + this.tB_CarNum.Text + % and ; if (this.tB_CarID.Text.Trim() != ) strRowFilter += CarID = + this.tB_CarID.Text + and ; if (this.tB_Sets.Text.Trim() != ) strRowFilter += Sets = + this.tB_Sets.Text + and ; if (strRowFilter != ) strRowF
14、ilter = strRowFilter.Substring(0, strRowFilter.Length - 5); tempTable.DefaultView.RowFilter = strRowFilter; else MessageBox.Show(输入不能为空!, 提示, MessageBoxButtons.OK);备份数据SqlConnection sqlConn = linkDB.DataConnection(); string SqlStr = Backup Database CarSystemManage to Disk= +tb_folder.Text+tb_name.Te
15、xt+ .bakwith Name=+tb_name.Text+,Description=+rtn_descp.Text+; SqlCommand sqlComm = new SqlCommand(SqlStr, sqlConn); try sqlConn.Open(); sqlComm.ExecuteNonQuery(); MessageBox.Show(已备份完成!); catch (Exception ex) MessageBox.Show(ex.Message); finally sqlConn.Close(); 还原数据SqlConnection sqlConn = linkDB.D
16、ataConnection(); string SqlStr = Restore Database CarSystemManage from Disk= + tb_disk.Text + with file=1,replace; SqlCommand sqlComm = new SqlCommand(SqlStr, sqlConn); try sqlConn.Open(); sqlComm.ExecuteNonQuery(); MessageBox.Show(已恢复完成!); catch (Exception ex) MessageBox.Show(恢复失败!+ex.Message); fin
17、ally sqlConn.Close(); 参考文献1 邱李华.SQL Server 2000数据库应用教程.北京;人民邮电出版社,2007.72 王珊 萨师煊.数据库系统概论.北京:高等教育出版社,2006.53 王东明 葛武滇.Visual C#.NET程序设计与应用开发.北京:清华大学出版 社,2008.54 Shawn Wildermuth.ADO.NET应用程序开发.北京:清华大学出版社,2010.35 刘庆国 聂远铭.ASP.NE企业级开发案例精解.北京:人民邮电出版社,2006.26 项宇峰.ASP+SQL Server典型网站建设案例.北京:清华大学出版社,2006.17 王晟.Visual C#.NET数据库开发经典案例解析.北京:清华大学出版社, 2005.28 龙马工作室.ASP+SQL Server组建动态网站实例精讲.北京:人民邮电出版 社,2005.8
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2