还剩28页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
中北大学课程设计任务书2014-2015学年第二学期 学院软件学院专业软件工程学生班级学生姓名学号设计题目汽车销售信息管理系统数据库设计起迄日期6月8日~6月19日设计地点软件学院机房指导教师 下达任务书日期:2015年6月8日课程设计任务书1.设计目的按照关系型数据库的基本原理,根据数据库设计方法,综合运用所学的知识,设计开发一个小型的数据库-汽车销售信息管理系统数据库熟练掌握相关数据库的分析、设计、实现过程,以及在此数据库基础之上对存储过程及触发器的设计及实现方法2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等)设计内容主要功能
1.轿车信息管理
2.员工信息管理
3.客户信息管理
4.轿车销售信息管理
5.按条件查询要求
1、项目背景及需求分析;
2、E-R图设计(局部与全局ER图);
3、数据库表设计(包含ER图中的所有实体与联系所对应的关系表),如需要,还可以添加一些关键业务功能所需的视图、触发器、存储过程设计等;
4、给出各SQL脚本程序的测试结果3.设计工作任务及工作量的要求〔包括课程设计计算说明书论文、图纸、实物样品等〕根据设计内容和要求进行需求分析,分析出系统的主要功能和设计重点根据需求分析的内容在小组中合理划分模块数据库实现正确,相关存储过程及触发器设计合理、正确,能实现预期功能提交软件阶段文档齐全,思路正确按格式要求,每人根据自己的工作写出课程设计说明书课程设计任务书4.主要参考文献王珊、萨师煊.数据库系统概论(第五版).北京高等教育出版社.
2014.
9.闪四清.SQLServer2008基础教程.北京清华大学出版社.
2010.
8.潘永惠.数据库系统设计与项目实践基于SQLServer
2008.北京科学出版社.
2011.
4.刘金岭,冯万利,周泓.数据库系统及应用实验与课程设计指导SQLServer2008/21世纪高等学校计算机教育实用规划教材.北京清华大学出版社.
2013.
10.5.设计成果形式及要求课程设计说明书 数据库、存储过程、触发器6.工作计划及进度2015年
6.8-
6.10需求分析
6.10-
6.14概念结构和逻辑结构设计
6.14-
6.18数据库实现
6.17-
6.18撰写课程设计说明书
6.19验收答辩、成绩考核中北大学数据库课程设计说明书 学院、系软件学院专业软件工程学生班级学生姓名学号设计题目轿车销售管理系统起迄日期:2015年6月8日-2015年6月19日指导教师: 2015年6月19日
一、需求分析
1.项目背景管理信息系统在现代社会已深入到各行各业,由于计算机技术的迅速发展和普及,管理信息系统事实上已成为计算机管理信息系统轿车信息管理系统是基于商品信息数据库,遵照商场实际管理流程,对商场商品的进、销、存的全过程进行全面管理的计算机应用系统它将人工智能的理论引入商场,其目标是将商场人工操作的商品信息管理工作,转为有计算机网络系统自动操作完成该系统实现了对整个商场商品信息资源的合理共享与分配,并进行科学有效的管理,在这个基础上谋求提高商品的信息管理效率在整个课程设计过程中,本设计具体完成了对“基本资料”、“售后服务管理”、“销售管理”、“库存管理”和“系统管理”这5个功能模块的实现所以本设计主要是对这5个模块的设计,以实用、标准、可靠、强扩展性的原则为出发点,能够为商品的进销存提供最简便、最科学、最优化的系统设计和服务本系统结合实际的轿车销售服务管理制度
2.需求分析
1.可行性分析可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否解决能够解决也就是说可行性研究的目的不是解决问题,而是确定问题是否值得去解决,研究在当前的具体条件下,开发新系统是否具备必要资源和其他条件一般来说,应从经济可行性,技术可行性,运行可行性,法律可行性,和开发方案可行性等方面的研究可行性
1.1经济可行性汽车销售管理系统的编写只需要一台PC机即可,目前PC机的配置均能满足汽车销售管理系统的编写和使用要求而销售信息报表的打印则只需要增加一台打印机即可因此,这是一般供词可以承担的
1.2技术可行性作为软件工程的学生,经过一学期的学习对于数据库有了独立动手的操作能力,而对一个简单的汽车销售管理系统来说,以我们目前的技术水平是完全可以胜任的
1.3使用可用性该系统只是一个小型的汽车销售管理系统,使用起来简单方便,另外,现在的许多汽车销售公司都配有专门的计算机人才,只需要对该系统的使用者进行简单的培训即可投入使用
2.系统功能
1.轿车信息管理
2.员工信息管理
3.客户信息管理
4.轿车销售信息管理
5.按条件查询
3.设计重点经过实际的需求分析,确定需要包含以下数据库信息【轿车库存信息】轿车编号(标识列),轿车型号,轿车名称,颜色,库存量,生产厂家,出厂日期,出厂价格,备注;【员工信息】员工编号,姓名,性别,年龄,籍贯,联系电话,地址,身份证号,岗位【客户信息】客户编号,客户姓名,客户等级,联系电话,地址,业务记录【售后管理】序号(标识列),客户编号,保养人编号,车辆牌照,保养日期,业务记录
4.总体设计流程图
二、小组成员分工编号211314010640杨皓概要设计,触发器编号221314010722郭星东需求分析存储过程
三、概要设计1全局E-R图粗略的(详细的)
三、逻辑结构设计1)根据ER图的描述转化为关系模型的员工信息表(员工编号,员工姓名,年龄,籍贯,学历,职位,工资);供应商信息表(供应商编号,供应商名,供应商地址,供应商电话);轿车信息表(轿车编号,型号,颜色,供应商名,出厂日期,出售价格,进价,仓库号,入库时间,是否预定);仓库信息表(仓库号,仓库容量,仓库地址,仓库管理员姓名,已存车辆);客户信息表(客户编号,客户姓名,员工姓名,联系电话,地址,工作单位,业务状态);订单信息表(订单号,客户号,订货日期,交货日期,交货地址,轿车型号,轿车颜色,负责人编号,已付金额,还欠金额);2)数据字典员工信息表字段名类型长度是否可以为空是否作为主键员工编号char8NPrimarykey员工姓名char10N年龄intN性别char4籍贯char20Y学历char8Y职位char10N工资intN供应商信息表字段名类型长度是否可以为空是否作为主键供应商编号char8NPrimarykey供应商名char12N供应商地址char20N供应商电话intN轿车信息表字段名类型长度是否可以为空是否作为主键轿车编号char8NPrimarykey型号char20NPrimarykey颜色char8N供应商名char12N出厂日期IntN出售价格intN仓库号char10NFK轿车型号varchar20N成本价格IntN是否预定IntN仓库信息表字段名类型长度是否可以为空是否作为主键仓库号char10NPrimarykey仓库容量int10N仓库地址char10N仓库管理员姓名char20N已存车辆数char10N客户信息表字段名类型长度是否可以为空是否作为主键客户编号char8NPrimarykey客户姓名char10N员工姓名char10N联系电话intN地址char20N工作单位char20N业务状态char8N订单信息表字段名类型长度是否可以为空是否作为主键订单号char8NPrimarykey客户号char8NFK订货日期int10N交货日期int10N交货地址char10N轿车编号IntNFK员工编号IntNFK已付金额IntN轿车型号Varchar20N颜色Char8N……………………….
四、详细设计1)建表代码CREATETABLE员工信息表员工编号CHAR8PRIMARYKEY员工姓名CHAR10NOTNULL年龄INTNOTNULL性别CHAR4NOTNULL籍贯CHAR20NOTNULL学历CHAR8NOTNULL职位CHAR10NOTNULL工资INTNOTNULLCREATETABLE供应商信息表供应商编号CHAR8PRIMARYKEY供应商名CHAR12NOTNULL供应商地址CHAR20NOTNULL供应商电话INTNOTNULLCREATETABLE轿车信息表轿车编号CHAR8PRIMARYKEY轿车型号CHAR20颜色CHAR8NOTNULL供应商名CHAR12NOTNULL出厂日期intNOTNULL出售价格INTNOTNULL仓库号CHAR10FOREIGNKEYREFERENCES仓库信息表仓库号CREATETABLE仓库信息表仓库号CHAR10PRIMARYKEY仓库容量INTNOTNULL仓库地址CHAR20NOTNULL仓库管理员姓名CHAR8NOTNULL轿车型号CHAR8FOREIGNKEYREFERENCES轿车信息表轿车型号CREATETABLE客户信息表客户编号CHAR8PRIMARYKEY客户姓名CHAR10NOTNULL员工姓名CHAR10NOTNULL联系电话INTNOTNULL地址CHAR20NOTNULL工作单位CHAR20NOTNULL业务状态CHAR8NOTNULLCREATETABLE订单信息表订单号CHAR8PRIMARYKEY客户号CHAR8FOREIGNKEYREFERENCES客户信息表客户号订货日期intNOTNULL交货日期intNOTNULL交货地址CHAR20NOTNULL轿车型号CHAR8FOREIGNKEYREFERENCES轿车信息表轿车型号颜色CHAR8NOTNULL2)录入数据代码insertinto员工信息表VALUES严峻21女四川本科经理5000insertinto员工信息表VALUES李玲23男云南大专职员2000insertinto员工信息表VALUES宋瑞26男山东本科组长3500insertinto员工信息表VALUES杨凯29女四川高中职员2000insertinto员工信息表VALUES李杰25男四川本科职员1500insertinto员工信息表VALUES黄陵24女北京大专职员1800insertinto员工信息表VALUES徐英22女山西高中职员1980insertinto员工信息表VALUES文俊26女陕西本科职员1900insertinto员工信息表VALUES秦旭23女四川大专职员2000insertinto员工信息表VALUES杨曦24女北京高中职员1980insertinto供应商信息表VALUES一汽长春1345566233insertinto供应商信息表VALUES广本广州1345566233insertinto供应商信息表VALUES大众长春1345566233insertinto供应商信息表VALUES丰田日本13455662338insertinto供应商信息表VALUES福特英国1345566233insertinto仓库信息表VALUES78东区号10insertinto仓库信息表VALUES88东区号10insertinto仓库信息表VALUES100东区号10insertinto轿车信息表VALUES110红色一汽2011020398000780001201202030insertinto轿车信息表VALUES111蓝色广本2011020398000780002201202030insertinto轿车信息表VALUES112银色丰田2011020398000780001201202030insertinto轿车信息表VALUES113白色福特2011020398000780002201202030insertinto轿车信息表VALUES114红色大众2011020398000780003201202030insertinto客户信息表VALUES刘梅12109952西一段西华订货insertinto客户信息表VALUES宋云152109952东大街数计购车insertinto客户信息表VALUES张玉102109952东二段图书馆订车insertinto客户信息表VALUES李华102109952东三段后勤购车insertinto客户信息表VALUES宋婷52109952东四段人文订车insertinto客户信息表VALUES严苛62109952西二段数计订车insertinto客户信息表VALUES何玲52109952西三段教务处购车insertinto客户信息表VALUES宋辉62109952西四段体育购车insertinto客户信息表VALUES李询52109952北一段土木订车insertinto客户信息表VALUES李询52109952北一段土木订车insertinto客户信息表VALUES严玉52109952北二段机械订车insertinto订单信息表客户号订货日期交货日期交货地址轿车编号颜色轿车型号员工编号已付金额VALUES112015090620150907东大街1110红色150000insertinto订单信息表客户号订货日期交货日期交货地址轿车编号颜色轿车型号员工编号已付金额VALUES122015090620150907东一段2111蓝色1550000insertinto订单信息表客户号订货日期交货日期交货地址轿车编号颜色轿车型号员工编号已付金额VALUES132015090620150907西大街3112银色1050000insertinto订单信息表客户号订货日期交货日期交货地址轿车编号颜色轿车型号员工编号已付金额VALUES142015090620150907古月街4113白色1050000insertinto订单信息表客户号订货日期交货日期交货地址轿车编号颜色轿车型号员工编号已付金额VALUES152015090620150907东二段5114红色
5500005.存储过程USE[汽车销售管理系统]GO/******Object:StoredProcedure[dbo].[addcar]ScriptDate:06/19/201500:27:46******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOcreateproc[dbo].[addcar]@轿车型号char20@颜色char8@供应商名char12@出厂日期int@出售价格int@成本价格int@仓库号int@入库时间intasbegininsertinto轿车信息表轿车型号颜色供应商名出厂日期出售价格成本价格仓库号入库时间values@轿车型号@颜色@供应商名@出厂日期@出售价格@成本价格@仓库号@入库时间endGOUSE[汽车销售管理系统]GO/******Object:StoredProcedure[dbo].[addclient]ScriptDate:06/19/201500:28:29******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEproc[dbo].[addclient]@客户姓名char10@员工编号int@联系电话int@地址char20@工作单位char20@业务状态char8asdeclare@员工职位char10ifexistsselect@员工职位from员工信息表where员工编号=@员工编号if@员工职位=经理or@员工职位=销售员or@员工职位=职员begininsertinto客户信息表values@客户姓名@员工编号@联系电话@地址@工作单位@业务状态endelsebeginROLLBACKTRANSACTION;print该员工不具备该权限endelsebeginROLLBACKTRANSACTION;print该员工不存在endGOUSE[汽车销售管理系统]GO/******Object:StoredProcedure[dbo].[addhouse]ScriptDate:06/19/201500:28:38******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEproc[dbo].[addhouse]@仓库容量int@仓库地址char20@仓库管理员编号int@已存车辆intasbegininsertinto仓库信息表仓库容量仓库地址仓库管理员编号已存车辆values@仓库容量@仓库地址@仓库管理员编号@已存车辆endGOUSE[汽车销售管理系统]GO/******Object:StoredProcedure[dbo].[addident]ScriptDate:06/19/201500:28:48******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEproc[dbo].[addident]@客户号int@订货日期int@交货日期int@交货地址char20@轿车编号int@员工编号int@已付金额intasbegindeclare@颜色char8@轿车型号varchar20;select@颜色=颜色@轿车型号=轿车型号from轿车信息表where轿车编号=@轿车编号;insertinto订单信息表客户号订货日期交货日期交货地址轿车编号颜色轿车型号员工编号已付金额values@客户号@订货日期@交货日期@交货地址@轿车编号@颜色@轿车型号@员工编号@已付金额endGOUSE[汽车销售管理系统]GO/******Object:StoredProcedure[dbo].[addstaff]ScriptDate:06/19/201500:29:00******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOcreateproc[dbo].[addstaff]@员工姓名char10@年龄int@性别char4@籍贯char20@学历char8@职位char10@工资intasbegininsertinto员工信息表values@员工姓名@年龄@性别@籍贯@学历@职位@工资endGOUSE[汽车销售管理系统]GO/******Object:StoredProcedure[dbo].[addstock]ScriptDate:06/19/201500:29:08******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEproc[dbo].[addstock]@轿车型号varchar50@颜色char8@供应商编号int@进货日期int@员工编号int@进价int@定价int@数量intasdeclare@供应商名char12@仓库容量int@已用容量int@仓库编号int=1;select@供应商名=供应商名from供应商信息表where供应商编号=@供应商编号;ifexistsselect@供应商名beginselect@仓库容量=SUM仓库容量@已用容量=SUM已存车辆from仓库信息表;if@数量=@仓库容量-@已用容量beginwhile@数量0beginifexistsselect*from仓库信息表where仓库号=@仓库编号beginselect@仓库容量=仓库容量@已用容量=已存车辆from仓库信息表where仓库号=@仓库编号;update仓库信息表set已存车辆=已存车辆+1where仓库号=@仓库编号;insertinto轿车信息表轿车型号颜色供应商名出厂日期出售价格成本价格仓库号入库时间是否预定values@轿车型号@颜色@供应商名@进货日期@定价@进价@仓库编号@进货日期0set@数量=@数量-1;endendendELSEbeginprint仓库容量不足!endendelseprint供应商未记录在案!GOUSE[汽车销售管理系统]GO/******Object:StoredProcedure[dbo].[addsupplier]ScriptDate:06/19/201500:29:15******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOcreateproc[dbo].[addsupplier]@供应商名char10@供应商地址char20@供应商电话intasbegininsertinto供应商信息表values@供应商名@供应商地址@供应商电话endGOUSE[汽车销售管理系统]GO/******Object:StoredProcedure[dbo].[checkcar]ScriptDate:06/19/201500:29:24******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEproc[dbo].[checkcar]asselect轿车编号轿车型号颜色出售价格出厂日期入库时间from轿车信息表where是否预定=0GOUSE[汽车销售管理系统]GO/******Object:StoredProcedure[dbo].[checkstaff]ScriptDate:06/19/201500:29:34******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOcreateproc[dbo].[checkstaff]asselect*from员工信息表GO
5、触发器的设计USE[汽车销售管理系统]GO/******Object:Trigger[dbo].[t_addstock]ScriptDate:06/19/201501:12:40******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEtrigger[dbo].[t_addstock]on[dbo].[订单信息表]afterinsertasdeclare@轿车编号int;select@轿车编号=ltrim轿车编号frominserted;beginupdate轿车信息表set是否预定=1where轿车编号=@轿车编号endGOUSE[汽车销售管理系统]GO/******Object:Trigger[dbo].[carinsert]ScriptDate:06/19/201501:12:55******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEtrigger[dbo].[carinsert]on[dbo].[轿车信息表]afterinsertasdeclare@仓库号int;select@仓库号=ltrim仓库号frominserted;beginupdate仓库信息表set已存车辆=已存车辆+1where仓库号=@仓库号endGOUSE[汽车销售管理系统]GO/******Object:Trigger[dbo].[upclient]ScriptDate:06/19/201501:13:06******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEtrigger[dbo].[upclient]on[dbo].[客户信息表]afterupdateinsertasdeclare@业务状态varchar8@客户编号int@轿车编号int@仓库号int;select@业务状态=ltrim业务状态frominserted;select@业务状态=ltrim客户编号frominserted;if@业务状态=购车beginselect@轿车编号=轿车编号from订单信息表where客户号=@客户编号;select@仓库号=仓库号from轿车信息表where轿车编号=@轿车编号;deletefrom轿车信息表where轿车编号=@轿车编号;update仓库信息表set已存车辆=已存车辆+1where仓库号=@仓库号;endGO
6、触发器截图进行轿车信息表的插入,会使仓库信息表的已存车辆数值发生变动通过轿车信息表的触发器,修改仓库信息表的内容生成订单,会触发订单信息表的触发器,修改轿车信息表和仓库信息表的内容
1.修改轿车信息表的内容,是否预定的属性由0变为
12.仓库信息表中会对应的减少仓库已有车辆的数值
7.存储过程截图
1.存储过程概述
2.部分存储过程截图12批量插入及触发器作用在仓库信息表3实现对与不同权限的限定和一定程度的容错实现了两个视图
8、心得体会经过两周的忙碌,终于将这个数据库实训完成从一开始的茫然无知,到现在写出23页的实训说明书,感觉自己学到了很多新的知识我和我的队友在开始之初就开始查阅资料,学习了部分T-SQL语言和语法结构,这位我们后来能快速完成存储过程和触发器的开发打下了坚实的基础!由于实训期间各种考试一个接着一个,实际真的在这方面下的功夫并不是很多!因此在整个数据库系统中,只是将自己学习到的各种语句进行了一番尝试,但是并未全部部署,很多表之间的联系还是很不完善的!这里给我留下深刻印象的就是关于对于需求分析和概要设计的时候,由于敷衍了事,最终在实现物理结构的时候发现很多不合理的地方,以至对于表的建设一直是返工,返工,在返工!很辛苦,但是也很无奈以后我会自己重视这个问题的,不再做无用功!汽车销售信息管理系统客户信息管理模块员工信息管理模块销售信息管理模块轿车信息管理模块修改汽车信息删除汽车信息添加汽车信息添加员工信息删除员工信息修改员工信息删除销售信息修改销售信息添加销售信息删除客户信息添加客户信息修改客户信息。