数据库课程设计物流运输管理.doc

上传人:叶*** 文档编号:35092310 上传时间:2022-08-20 格式:DOC 页数:27 大小:129.50KB
返回 下载 相关 举报
数据库课程设计物流运输管理.doc_第1页
第1页 / 共27页
数据库课程设计物流运输管理.doc_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《数据库课程设计物流运输管理.doc》由会员分享,可在线阅读,更多相关《数据库课程设计物流运输管理.doc(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库原理课程设计报告题目: 物流公司管理系统 学生姓名: 组员: 学 号: 班 级: 院系: 计算机科学及信息学院 专业年级: 计算机科学及技术2010 级 2013 年1月10 日一、 需求分析在经济日益发展今天,生活节奏越来越快,所以迎来了电子信息时代。于此同时,电子商务行业也如火如荼发展起来,Online shopping也越来越普及。这就又带动一个行业发展,物流。要适应时代发展,物流公司必须得有一套自己管理方案以便跟上时代快节奏。针对这个,我们便模拟开发一个物流公司管理系统。在该系统中,我们提供如下功能,用户登录该系统过后,便可以对信息进行操作。用户登录:该功能要求在数据库当中有管理

2、员用户名及密码存储。用户通过输入Gno与相应Gpwd,然后系统会及数据库中数据进行比较,若输入正确,则登陆成功。否则提示信息错误。对信息查询。实现对客户信息,员工信息,仓库信息,收货人信息,存储信息,配送信息,货单信息查询。这时候需要在数据库中存储相应表用以记录这些信息。及此同时还提供对以上信息查询,添加,修改以及删除功能。以上操作会同时影响数据库里面数据。业务流程图如下所示:以上查询以及增删改都有针对每类信息。客户信息增删改以及查询流程图如下所示:货物信息操作流程图如下所示:其他信息操作流程图与以上两种类似。(3)只有该系统管理员才可以对该系统信息进行查询以及增删改。另外实体内有外码必须满足

3、参照完整性。二、概念结构设计管理员表结构设计如下:该实体Gno是用户进行登陆时用户名,Gpwd是用户进行登录时登录密码。Gname用以标记管理员名字以及Gsex管理员性别。各实体以及它们之间联系如下图所示:以上E-R图中,各实体之间联系如上图所示,然后每个属性含义如下面逻辑结构中表所示。SHR表记录是收货人情况,其中SHno是收货人标号,用以唯一标示一个收货人,其中标记了收货人姓名,性别, 以及地址。CK记录是仓库情况,其中记录了该仓库以存储数量与仓库总容量。YG表存储是该物流公司员工信息,Yno是该表主码,其中记录了员工姓名,性别, 号码以及员工职务。KH记录是该物流公司客户。Kno是客户主

4、码,表中主要记录客户姓名,性别, 号码,地质以及该客户身份证号。HW记录是存在于该物流公司货物,Hno是货物主码。记录了货物名称,数量,类型以及重量。还有一个由客户提交由员工处理HD,Hno是他唯一标示。其中记录了此次货单名称以及应付金额。以上模型正确性已由powerdesigner验证,验证结果如下:二、 逻辑结构设计(1)模式设计: 在该系统中用到关系模式如下所示(其中主码加下划线表示,外码用斜体表示):GLY(Gno,Gname,Gsex,Gpwd);KH(Kno,Kname,Ksex,Ktel,Kadr,KID);YG(Yno,Yname,Ytel,Ysex,Yjob);HW(HWno

5、,Hname,Htype,Hnum,Hweight);SHR(SHno,SHname,SHsex,SHtel,SHadr);CK(Cno,Cname,Ccapity);HD(Hno,Hname,Cash,SHno,Kno,Yno,HWno);CC(CCno,CCtime,CCnum,CCoutdate,CCoutnum,Yno,Cno,HWno);Transport(Trano,Acptime,Sendtime,HWname,How,SHno,Yno,Cno);GLY表:(管理员) 属性名存储代码类型 长度备注管理员编号Gnochar10管理员编号,主码姓名Gnamechar20管理员姓名 性

6、别Gsexchar2管理员性别(男、女)密码Gpwdchar10管理员密码KH表:(客户) 属性名存储代码类型 长度备注客户编号Knochar10客户编号,主码姓名Knamechar20姓名 性别Ksexchar2性别(男、女) Ktelchar20 号码 地址Kadrchar 20客户地址身份证号KIDchar30客户身份证号YG表:(员工) 属性名存储代码类型 长度备注员工编号Ynochar10员工编号,主码姓名Ynamechar20姓名 性别Ysexchar2性别(男、女) Ytelchar20 号码 职务Yjobchar 10员工职务HW表:(货物) 属性名存储代码类型 长度备注货物编

7、号HWnochar10货物编号,主码名称HWnamechar20货物名称 类型HWdeptchar2货物类型数量HWnumchar20货物数量 重量HWweightchar 20货物重量SHR表:(收货人) 属性名存储代码类型 长度备注收货人编号SHnochar10收货人编号,主码姓名 SHnamechar20收货人姓名 性别SHsexchar2性别(男、女) GSHelchar20 号码 地址SHadrchar 20收货人地址CK表:(仓库) 属性名存储代码类型 长度备注仓库编号Cnochar10仓库编号,主码名称Cnamechar20仓库名称 容量Ccapitychar20仓库容量HD表:

8、(货单) 属性名存储代码类型 长度备注货单编号Hnochar10货单编号,主码名称Hnamechar20货单名称 运费总价Costchar10运费收货人编号SHnochar10外码 客户编号Knochar 10外码员工编号Ynochar10外码货物编号HWnochar10外码CC表:(存储) 属性名存储代码类型 长度备注存储编号Hnochar10存储编号,主码入库时间Hnamechar20入库时间 入库数量Costchar10入库数量出库时间SHnochar20出库使劲 出库数量Knochar 10出库数量员工编号Ynochar10外码货物编号HWnochar10外码仓库编号CnoChar10

9、外码Transport表:(配送) 属性名存储代码类型 长度备注配送编号Hnochar10配送编号,主码接货时间Acptimechar20接货时间 发货时间Sendtimechar20发货时间名称Tnamechar10名称 配送方式Howchar 10配送方式收货人编号SHnochar10外码员工编号Ynochar10外码仓库编号CnoChar10外码数据字典如下:1.数据项名:员工编号 数据项含义说明:公司员工编号别名:Yno数据类型:char长度:102.数据项名:员工姓名 数据项含义说明:公司员工姓名别名:Yname数据类型:char长度:10取值范围:0-103.数据项名:员工性别 数

10、据项含义说明:公司员工性别别名:Ysex数据类型:char长度:10取值范围:0-104.数据项名:员工职位 数据项含义说明:公司员工在公司所担任职务别名:Yjob数据类型:char长度:10取值范围:0-105.数据项名: 号码数据项含义说明:公司员工联系方式别名:Ytel数据类型:char长度:106.数据项名:管理员密码数据项含义说明:公司管理员登录密码别名:Gpwd数据类型:Varchar(12)长度:12取值范围:0-127.数据项名:管理员名字数据项含义说明:公司员工权限别名:Gname数据类型:Varchar10)长度:10取值范围:0-10;8. 数据项名:管理员编号数据项含义

11、说明:公司管理员用于登陆用户名别名: Gno数据类型:char长度:109. 数据项名:性别 数据项含义说明:管理员性别 别名: Gsex数据类型:char长度:210.数据项名:客户编号 数据项含义说明:公司客户编号别名:Kno数据类型:char长度:1011.数据项名:客户姓名 数据项含义说明:公司客户姓名别名:Kname数据类型:char长度:10取值范围:0-1012.数据项名:客户性别 数据项含义说明:公司客户性别别名:Ksex数据类型:char长度:10取值范围:0-1013.数据项名: 号码数据项含义说明:公司客户联系方式别名:Ktel数据类型:char长度:1014.数据项名:

12、 地址数据项含义说明: 公司客户地址别名: Kadr数据类型:char长度: 1015. 数据项名:身份证号 数据项含义说明: 客户身份证号别名: KID数据类型:char 长度:2016.数据项名:货物编号数据项含义说明:货物标号 别名: HWno数据类型: char长度:1017. 数据项名:名称 数据项含义说明:货物名称 别名: HWname数据类型: char长度:1018. 数据项名: 类型数据项含义说明:货物类型 别名: Htype数据类型: char长度:1019. 数据项名: 数量数据项含义说明: 该货物目前还有数量别名: HWnum数据类型:char 长度:1020. 数据项

13、名:重量 数据项含义说明: 该货物单件重量别名: Hweight数据类型: int长度:821.数据项名:收货人编号 数据项含义说明:收货人编号别名:SHno数据类型:char长度:1022.数据项名:收货人姓名 数据项含义说明:收货人姓名别名:SHname数据类型:char长度:10取值范围:0-1023.数据项名:性别 数据项含义说明:收货人性别别名:SHsex数据类型:char长度:10取值范围:0-1024.数据项名: 号码数据项含义说明:收货人联系方式别名:SHtel数据类型:char长度:1025.数据项名: 地址数据项含义说明: 收货人地址别名: SHadr数据类型:char长度

14、: 1026. 数据项名: 编号数据项含义说明: 仓库编号别名: Cno数据类型:char 长度:1027. 数据项名: 名称数据项含义说明: 仓库名称别名: Cname数据类型: char长度:1028. 数据项名:容量数据项含义说明: 仓库容量别名:Ccapity 数据类型: int长度:1629. 数据项名: 货单编号数据项含义说明: 货单编号别名: Hno数据类型:char 长度:1030. 数据项名: 名称数据项含义说明: 货单名称别名: Hname数据类型: char长度:1031. 数据项名:数量数据项含义说明:货单上货物数量别名: Hnum数据类型: int 32. 数据项名:

15、 运费总价数据项含义说明: 运费价格别名: Cash数据类型: int 33. 数据项名: 存储编号数据项含义说明: 存储编号别名: CCno数据类型:char 长度:1034. 数据项名: 入库时间 数据项含义说明: 存入仓库时间别名: CCtime数据类型:data 35. 数据项名: 出库时间 数据项含义说明: 取出仓库时间别名: CCouttime数据类型:data 36. 数据项名: 入库数量数据项含义说明: 存入仓库数量别名: CCnum数据类型:int37. 数据项名: 出库数量数据项含义说明: 取出数量别名: CCoutnum数据类型:int38. 数据项名: 配送编号 数据项

16、含义说明:此次配送编号 别名: Trano数据类型:char长度:1039. 数据项名:名称数据项含义说明:配送名称别名:Traname数据类型:char长度:1040:数据项名: 接收时间数据项含义说明: 接收货物时间别名: Acptime数据类型: date41. 数据项名:发送时间数据项含义说明: 发送货物时间别名: Sendtime数据类型: date42. 数据项名: 配送方式数据项含义说明: 以什么样方式配送别名: How数据类型:char长度:10(2)子模式设计: 针对于查询模块来说,本应建立索引然后可以快速查询,但是由于此次系统查询模块是分为几个模块来进行查询,分为客户,员工

17、,货单,货物,收货人这些分开进行查询,所以查询数据量不是很大,所以为建立任何索引。但是也并不拖慢查询速度。(3)画出系统功能模块图,并对各功能模块进行简单介绍。 登录进入该系统过后,可以选择相应功能。主界面如下:点击系统管理实现两个功能,一个是退出该系统,另一个是重新登录。选择不同选项会有不同功能,具体选择如图所示:进入相应功能模块后,如果是该系统主要功能,都会弹出相应窗体,在该窗体上,可以对相应信息进行查询,添加,修改以及删除。如查询客户信息窗体如下:三、 数据库物理设计由概念模型导出来物理模型如下图所示: 由于表中数据不多,所以并未建立索引。以后如果是数据量过大时候可以建立索引。五、数据库

18、设计实现及运行(1)数据库创建T-SQL语句:数据库建立语句:(2)数据表创建(可同时在创建时定义相关约束)T-SQL语句:管理员表建立语句:客户表建立语句:员工表额建立语句:货物表建立语句:收货人表建立语句:仓库表建立语句:货单表建立语句:存储表建立语句:配送表建立语句:4.功能模块。 1.登录模块: 该模块主要实现对该系统用户权限管理,只有有资格进入该系统管理员才有资格对该系统进行管理。2.主界面模块:该模块主要用于在用户进入系统过后,提供给用户该系统自身功能选择。用户选择相应功能过后系统便会进入相应模块,该模块及数据库没有连接。3.由于我们默认允许进入该系统所有用户具有全部权限,可以对所

19、有数据进行操作,所以未建立视图保护。4.模块功能简介及其核心代码。 1.存储信息管理模块:用户通过该界面可以实现对存储信息查询,存储信息添加,存储信息修改以及存储信息删除。同时对存储信息查询时候信息会通过datagridview显示给用户。核心代码如下:Tdatabase database=new Tdatabase(server=localhost;database=Transport;uid=sa;pwd=123); private void button1_Click(object sender, EventArgs e) DataTable dt = database.f_查询(sel

20、ect * from CC); dataGridView1.DataSource = dt; private void button4_Click(object sender, EventArgs e) int i = database.f_更新(insert into CC(CCno,CCtime,CCnum,CCoutdate,CCoutnum,Yno,Cno,HWno) values( + textBox1.Text + , + textBox2.Text + , + textBox3.Text + , + textBox4.Text + , + textBox5.Text + , +

21、textBox6.Text + , + textBox7.Text + , + textBox8.Text + ); if(i0) MessageBox.Show(数据添加成功!); private void button6_Click(object sender, EventArgs e) int i = database.f_更新(update CC set CCtime= + textBox10.Text.Trim() + ,CCnum= + textBox11.Text.Trim() + ,CCoutdate= + textBox12.Text.Trim() + ,CCoutnum=

22、+ textBox13.Text.Trim() + ,Yno= + textBox14.Text.Trim() + ,Cno= + textBox15.Text.Trim() + ,HWno= + textBox16.Text.Trim() + where CCno= + textBox9.Text.Trim() + ); if(i0) MessageBox.Show(数据修改成功!); private void button8_Click(object sender, EventArgs e) int i = database.f_更新(delete from CC where CCno=+

23、textBox17.Text.Trim ()+); if (i 0) MessageBox.Show(删除成功!);2.货单信息管理模块: 用户通过该界面可以实现对货单信息查询,货单信息添加,货单信息修改以及货单信息删除。同时对货单信息查询时候信息会通过datagridview显示给用户。其中查询时候并不是通过单表查询,在此次查询中,我们提供给用户主要有货单号,客户名,货物名,员工名,收货人名给用户。核心代码如下:Tdatabase database = new Tdatabase(server=localhost;database=Transport;uid=sa;pwd=123); pri

24、vate void button1_Click(object sender, EventArgs e) DataTable dt = database.f_查询(select Hno,Kname,Yname,HWname ,SHname from HD,KH,YG,HW,SHR where HD.Yno=YG.Yno and HD.Kno=KH.Kno and HD.HWno=HW.HWno and HD.SHno=SHR.SHno); dataGridView1.DataSource = dt; private void button4_Click(object sender, EventA

25、rgs e) int i = database.f_更新(insert into HD(Hno,Hname,Cash,SHno,Kno,Yno,HWno) values( + textBox1.Text + , + textBox2.Text + , + textBox3.Text + , + textBox4.Text + , + textBox5.Text + , + textBox6.Text + , + textBox7.Text + ); if(i0) MessageBox.Show(数据添加成功!); private void button6_Click(object sender

26、, EventArgs e) int i = database.f_更新(update HD set Hname= + textBox9.Text.Trim() + ,Cash= + textBox10.Text.Trim() + ,SHno= + textBox11.Text.Trim() + ,Kno= + textBox12.Text.Trim() + ,Yno= + textBox13.Text.Trim() + ,HWno= + textBox14.Text.Trim() + where Hno= + textBox8.Text.Trim() + ); if(i0) MessageB

27、ox.Show(数据修改成功!);注:(其余功能由同班樊涛同学完成【上一条】【下一条】代码private void btn_up_Click(object sender, EventArgs e) if (this.dataGridView1.CurrentCell.RowIndex 0) this.dataGridView1.CurrentCell = this.dataGridView1this.dataGridView1.CurrentCell.ColumnIndex, this.dataGridView1.CurrentCell.RowIndex - 1; private void b

28、tn_down_Click(object sender, EventArgs e) if (this.dataGridView1.CurrentCell.RowIndex this.dataGridView1.RowCount - 1) this.dataGridView1.CurrentCell = this.dataGridView1this.dataGridView1.CurrentCell.ColumnIndex, this.dataGridView1.CurrentCell.RowIndex + 1; ,以及Tdatabase类代码如下:class Tdatabase private

29、 SqlConnection con; public Tdatabase(string str_连接字符串) con = new SqlConnection(str_连接字符串); public DataTable f_查询(string sql) con.Open(); SqlDataAdapter sda = new SqlDataAdapter(sql, con); DataTable dt = new DataTable(); sda.Fill(dt); con.Close(); return dt; public int f_统计数据(string sql) con.Open();

30、SqlCommand com = new SqlCommand(sql, con); int t = (int)com.ExecuteScalar(); con.Close(); return t; public int f_更新(string sql) con.Open(); SqlCommand com = new SqlCommand(sql, con); int t = com.ExecuteNonQuery(); con.Close(); return t;六、课程设计心得通过这次课程设计,主要由我负责后台部分,后台部分因为该系统模型事先与同伴有所商量,所以并不十分复杂。但是在pow

31、erdesigner里面画E-R图时候,由于首次使用该软件,所以遇见困难并不少。在概念模型建立过程中,有一个较深体会就是此次打破以往构建数据库传统,这次先构建概念模型,然后再到处物理模型。那么构造物理模型能否直接导出我们所期待物理模型这就与我们对实体及实体之间联系类型有关了。而且概念模型也必须通过验证,才能导出物理模型。这让我在学习一新软件同时又让我对数据库构建更加规范化了。其次,这次对命名方式这个东西也有较深体会。因为我们组员之间是事先有过协商,对表中字段该怎样命名,所以后台搭建好过后,负责前台同伴在进行工作时候减少了不少工作量。总来说,这次课程设计让我学会不少,虽说在该系统中还存在不足,但是我们也努力做到了最好。第 27 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁