汽车销售管理系统报告..doc_第1页
汽车销售管理系统报告..doc_第2页
汽车销售管理系统报告..doc_第3页
汽车销售管理系统报告..doc_第4页
汽车销售管理系统报告..doc_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一页2012 年数据库系统与技术课程设计设计说明书及课程设计心得体会课题:汽车销售管理系统学院:土木工程学院所在院系:交通运输专业班级:交运 C101小组成员:106873 冀星月106888 刘玉飞106897 姚叶飞097082 甄兴小组组长:冀星月指导老师:王小芳2012年 6月 18日交通运输C101 课程设计报告目录1 2 3 5 14 14 14需求分析简单地说就是分析用户的要求。需求分析是设计该轿车销售系统数据库的起点, 即该阶段的任务是通过详细调查该销售公司,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。调查的重点是数据和处理,通过调查、收集与分

2、析,获得用户对数据库的如下要求:信息要求(厂商、客户、用户、员工、出库、入库等信息) ,处理要求(对上述信息的查询、修改、添加和删除) ,安全性和完整性要求(需要用户名和密码才能进入系统,并且对于不同的用户有不同的操作权限)需求分析结果如下:- 1 -交通运输C101 课程设计报告汽车销售管理系统基础信息管理销售管理进货管理仓库管理厂客车车收车车库进仓商户型辆益辆辆存销库信信信销统采入车存明息息息售计购库辆统细计二、概要设计本阶段的主要任务是将需求分析得到的用户需求抽象为信息结构结构(即概念模型)设计概念结构通常有四类方法:自顶向下、自底向上、逐步扩张和混合策略。我在这里采用自底向上方法。概念

3、设计结果如下:- 2 -交通运输C101 课程设计报告(某公司轿车销售管理系统的基本ER图)三、数据库设计1E-R 图向关系模型转换由概念设计的E-R 图可得一般关系模型如下发货单(货单号, 细节号 , 产品号 , 客户号 , 数量 , 日期 , 金额 , 折扣)收款单(客户号,定单号, 收据号 , 收款金额 , 收款日期)定单(定单号,细节号,产品号 ,厂商号 ,数量,日期,金额)付款(厂商号, 定单号 , 发票号 , 支付金额 , 支付日期)员工 (员工号 ,姓名, 性别, 部门, 职务,电话)产品(产品号, 产品名 , 厂商号 , 单价 , 库存量)2 数据模型的优化数据库逻辑设计的结果

4、不是唯一的. 为进一步提高数据库应用系统的性能, 我们还应该根据应用需要适当的修改, 调整数据模型的结构,这就是数据模型的优化。(1) 数据依赖举例R 厂商 厂商号 - 厂商名 , 厂商号 - 地址 , 厂商号 - 电话 R 用户 用户 ID 用户名,用户 ID 用户类型, 用户 ID 权限,用户类型 权限 (2) 对数据依赖进行极小化处理,消除冗余联系举例上述关系中,发货单中存在冗余联系(具体是细节号、折扣等),因此我们可以增加一个发货细节单和折扣规则单。(3)按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖,传递函数依赖,多值依赖等,确定各关系分别属于第几范式举例上述关系

5、中,用户表存在非主属性传递依赖,因此用户表属于2NF。我们可以增加一个用户权限表来消除该表中非主属性传递依赖。3. 数据库设计最终结果如下:( car 表)- 3 -交通运输C101 课程设计报告( car 表)(car 表)1在关系模式存取方法选择之前,我们首先要对要运行的事务进行详细分析,获得选择物理数据库设计所需要的参数。同时,还要知道每个事务在各关系上运行的频率和性能要求。( 1) 对于数据库查询事务,我们需要得到如下信息:查询的关系、查询条件/ 连接条件涉及的属性、查询的投影属性A、查询发货厂商名、产品、发货数量(100)和日期事务、查询的关系:厂商、发货单表、产品表、查询条件所涉及

6、的属性:厂商、发货数量、产品号III 、连接条件所涉及的属性:厂商、产品号IV 、查询的投影属性:厂商名、产品名、发货数量、发货日期( 2) 对于数据更新事务,我们需要得到如下信息:被更新的关系、每个关系上的更新操作条件涉及的属性、修改操作要改变的属性值B、对发货事务、被更新的关系:发货表- 4 -交通运输C101 课程设计报告、每个关系上的更新操作条件所涉及的属性:无III 、需要改的属性值:货单号、产品号、发货数量2. 关系模式存取方法选择(即建立哪些存储路径)C、对 car 建立索引对厂商表上的厂商、发货表的产品号、产品表的产品号等建立索引,因为他们经常在查询条件和连接条件中出现D 、

7、car 确定数据的存放位置为提高系统性能,我们根据应用情况将数据的易变部分和稳定部分、经常存取部分和存取频率较低部分分开存放。即我们把表和索引放在不同的磁盘上。E、对 car 确定系统配置使用数据库的用户数(我们只要设置比较少的用户数);同时打开的数据库对象数(用户同时操作对象不超过3 个);内存分配参数(运行exe 文件需要5M内存);缓冲区分配参数(略) ;数据库的大小(预留500M数据存储空间)等。F、对 car 物理结构的评价数据库物理设计过程中需要对时间效率、空间效率、 维护代价和各种用户要求进行权衡,其结果产生多种方案。经过我们的细致评价,得出上述系统配置作为car 的数据库物理结

8、构。四、安全性设计数据的载入和应用程序的调试(1)由于该系统尚未投入使用,我们仅象征性地载入少量数据(生产商表导入实验数据)【应用程序的调试】数据库应用程序的设计应该与数据库设计同时进行,鉴于VB 简单易用,我们选择 VB作为应用程序的设计语言。因此在组织数据入库的同时还要调试应用程序。(VB下的界面)- 5 -交通运输C101 课程设计报告( VB下的系统主界面)进入此页面可进行关于汽车的基础信息的查询,如汽车型号,进价,厂商等。需要加入控件:- 6 -交通运输C101 课程设计报告- 7 -交通运输C101 课程设计报告学生信息管理界面注:进入此页面可以进行汽车信息的添加和删除等需要。-

9、8 -交通运输C101 课程设计报告注:进入此页面可以销售车辆- 9 -交通运输C101 课程设计报告注:进入此页面可以进行进货管理-10-交通运输C101 课程设计报告【数据库的试运行】在原有系统的数据有一小部分已输入数据库后, 我们就可以开始对数据库系统进行联合调试, 即数据库的试运行。这一阶段要实际运行数据库应用程序, 执行对数据库的各种操作, 测试应用程序的功能是否满足设计要求。添加代码如下 :Private Sub Command1_Click()On Error GoTo ErrorHandleIf Text1 = ThenMsgBox 请输入 Car_id !, vbInform

10、ationElseDim sql As Stringsql= insertintocar values(& Text1 & ,& Text2 & , & Text3 & , & Text4 & , & Text5 & )-11-交通运输C101 课程设计报告MsgBox (sql)cnn.Execute (sql)Adodc1.RefreshText1 = End IfExit SubErrorHandle:MsgBox 车辆信息输入有误,请检查 Car_id 是否重复! End Sub删除代码如下:Private Sub Command2_Click()Adodc1.Recordset.De

11、leteEnd Sub退出代码如下:Private Sub Command3_Click()Unload MeEnd Sub-12-请输入出货名这里)列举轿车入库图示:交通运输C101 课程设计报告(汽车信息查询)代码:Private Sub Command4_Click()Dim temp1temp1 = 0Dim sql As Stringsql = If Text6.Text = Then轿车信息管理:查看轿车信息、轿车入库、轿车出库MsgBox (Exit Sub型号:大众 CC 品牌:大众价格: 300000End If测试结果:汽车信息查询完成行If Text6.Text Then

12、经测试,查看轿车信息、轿车出库正确运If temp1 = 0 Thensql = sql + where Elsesql = sql + and End Ifsql = sql + Car_id= + Text6.Text + temp1 = temp1 + 1End Ifsql=selectCar_id,Car_name,Factory_name,Car_price,Car_numfrom car + sqlMsgBox (sql)Adodc2.RecordSource = sqlAdodc2.RefreshEnd Sub-13-交通运输C101 课程设计报告代码如下:Private Sub

13、 Command5_Click()Dim temp1temp1 = 0Dim sql As String轿车信息管理:查看汽车销售情况sql = 这里列举轿车入库图示:型号:大众 CC 品牌:大众If Text6.Text = Then销售: 1MsgBox (测试结果:查看销售情况请输入出货名 )行Exit Sub经测试,查看汽车销售数量、轿车出库正确运End IfIf Text7.Text = ThenMsgBox (请输入出货量 )Exit SubEnd Ifsql = update car set Car_num=Car_num- & Text7.Text & where car_id

14、= & Text6.Text & -14-交通运输C101 课程设计报告MsgBox (sql)cnn.Execute (sql)Adodc2.RefreshEnd Sub代码如下:Private Sub Command6_Click() Dim temp1temp1 = 0Dim sql As Stringsql = If Text9.Text = ThenMsgBox (请输入进货名 )Exit SubEnd If轿车信息管理:查看汽车进货情况这里列举轿车入库图示:型号:大众CC品牌:大众进货: 20测试结果:查看汽车进货数量经测试,查看汽车进货情况、得知库存数量-15-交通运输C101

15、课程设计报告If Text11.Text = ThenMsgBox (请输入进货量 )Exit SubEnd Ifsql = update car set Car_num=Car_num+ & Text11.Text& where car_id= & Text9.Text & MsgBox (sql)cnn.Execute (sql)Adodc3.RefreshEnd Sub【注】其他功能在数据库试运行阶段均运行正确【数据库的运行和维护】经数据库的试运行结束后,该汽车销售系统数据库开发工作就基本完成,即可投入正式运行。 但是由于应用环境在不断变化, 数据库运行过程中物理存储也会不断变化, 对数

16、据库设计进行评价、 调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。( 1) 数据库的转储和恢复:SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf 和日志文件ldf 的方式。我们用后者方法,首先要先将该数据库从运行的数据服务器中断开,然后复制文件至其他磁盘保存。数据库恢复时, 除了要重载数据库外, 还要重新运行日志文件。 建立日志文件有两种基本方法,即用第几次备份来标识和完全用时间来标识。直接开始服务管理器-16-交通运输C101 课程设计报告打开企业管理器直接完成即可( 2)数据库的安

17、全性、完整性控制:该轿车销售管理系统,用户必须使用一个登录账号,才能连接到sqlserver中,并且用户也分两类:管理员和普通用户,并且这两类登陆用户的权限也有不同。 如果登录者不属于这两类中的一类, 则进不了数据库。 这一措施将有利于保护数据库以防止不合法的使用所造成的数据泄漏、 更改或破坏。这里我们建立用户试图,使得某些用户只能访问部分数据。-17-交通运输C101 课程设计报告举例:查看用户名和用户类型,但无密码显示(建立用户表和权限表的视图)数据库完整性是指数据的正确性、有效性和相容性。主要是完整性约束条件:实体完整性、 参照完整性和用户自定义完整性。本轿车销售管理系统就这三类完整性保

18、证了数据库的完整性。诸如该系统有:实体完整性:每个关系的主码都不允许空参照完整性:( 3)并发控制如果没有锁定且多个用户同时访问一个数据库, 则当他们的事务同时使用相同的数据时可能会发生问题。并发问题包括:丢失修改、读脏数据、不可重复读。默认解决方案: SET TRANSACTION ISOLATION LEVEL 语法 : SET TRANSACTION ISOLATION LEVEL READ COMMITTED/指定在读取数据时控制共享锁以避免脏读| READ UNCOMMITTED/执行脏读或0 级隔离锁定| REPEATABLE READ/ 锁定查询中使用的所有数据以防止其他用户更新数据| SERIALIZABLE / 在数据集上放置一个范围锁,以防止其他用户在事务完成之 前更新数据集 -18-交通运输C101 课程设计报告五、小结在本课程设计之前, 我只接触过 vb,也见过 vc,但是没有专门去学它,但我是一个好奇心很强的人,由于 VB做界面比较简单,况且就一周时间要做完数据库设计和前台软件,却是很难。与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自己有了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论