当前位置:文档之家› 管理信息系统课程设计-数据库管理系统

管理信息系统课程设计-数据库管理系统

辽宁工业大学管理信息系统设计课程设计报告(论文)题目:数据库系统基础课程设计仓库管理系统院(系):软件学院专业班级:软件工程113班学号: 111301060学生姓名:安凯辰指导教师:王彦华教师职称:讲师起止时间: 2012.5.28--2012.6.8课程设计(论文)任务及评语目录第一章系统分析 (1)1. 1 系统需求 (1)1. 2 系统设计原则 (1)1. 3 系统可行性分析 (1)1.4 数据字典 (1)1. 5 系统流程图 (2)1.6 业务流程图 (3)1.7 实体与实体间E-R模型(CDM图) (3)1.8 PDM图 (4)第二章系统设计 (5)2. 1 概念设计 (5)2. 2 逻辑设计 (5)第三章系统实施 (7)3.1 数据库表格设计代码 (7)3.2 存储过程及触发器设计代码 (11)3.3 与数据库连接代码 (15)3.4 出库单明细代码 (15)3.5 借条信息查询代码 (16)第四章系统总结 (18)参考文献 (19)第一章系统分析1. 1 系统需求软件环境:用户端:windows vispaSP1,windowsXP服务器端:windows2000及以上操作系统编程语言:sql数据库:sql2005硬件环境:有高性能的电子计算机、大容量的存贮装置,个人电脑(终端)以及联结起来的网线等,组成信息资源共享的计算机网络1. 2 系统设计原则1) 系统运行安全可靠,稳定性好;2) 系统的可管理性和可维护性好;3) 系统输入界面友好,操作简便易行,尽量减少用户的输入工作量;4)允许多种数据输入方式,能实现多种查询,允许进行模糊查询;5)数据具有规范性,整体性,方便数据之间的比较分析。

1. 3 系统可行性分析技术可行性:系统要求在windows2000以上环境运行,后台数据库采用SQL,使用SQL编程,采用ADO方式连接数据库,程序将部分需要经常调用的数据存入内存,可提高程序运行速度.经济可行性:在经济上,用此系统加强了信息管理效率,为管理人员提供了较高的效率,可节省人力资源的开支。

管理的可行性:在工作上,信息量非常大,开发了此系统,可极大提高人员的工作的效率。

方便库存的储存和修改,及以后随时查询信息,是一个比较人性化的管理系统。

1.4 数据字典根据用户需求,该系统应该实现以下功能:产品入库管理,可以填写入库单,确认产品入库;产品出库管理,可以填写出库单,确认出库;借出管理,凭借条借出,然后能够还库;初始库存设置,设置库存的初始值,库存的上下警戒限;可以进行盘库,反映每月、年的库存情况;可以查询产品入库情况、出库情况、当前库存情况,可以按出库单、入库单,产品、时间进行查询;1. 5 系统流程图1.6 业务流程图1.7 实体与实体间E-R模型(CDM图)1.8 PDM图第二章系统设计2. 1 概念设计实体与实体间E-R模型(CDM图):2. 2 逻辑设计PDM图:第三章系统实施3.1 数据库表格设计代码create table仓库(仓库编号varchar(30)not null, 仓库名称varchar(50)not null, 仓库地点varchar(50)not null, constraint PK_仓库primary key nonclustered(仓库编号))gocreate table借条信息(借条编号varchar(30)not null, 商品编号varchar(30)not null, 仓库编号varchar(30)not null, 借出人varchar(20)not null,借出时间datetime not null, 借出数量int not null constraint CKC_借出数量_借条信息check(借出数量>= 1), 还库时间datetime null,借用经办人varchar(20)not null, constraint PK_借条信息primary key nonclustered(借条编号) )gocreate index Relationship_7_FK on借条信息(商品编号ASC)gocreate index Relationship_8_FK on借条信息(仓库编号ASC)go入库编号varchar(30)not null, 入库时间datetime not null, 入库经办人varchar(50)not null, 备注text null,constraint PK_入库单primary key nonclustered(入库编号) )gocreate table入库明细(入库编号varchar(30)not null, 入库明细行号varchar(30)not null, 商品编号varchar(30)not null,仓库编号varchar(30)not null,入库单价money not null,入库数量int not nullconstraint CKC_入库数量_入库明细check(入库数量>= 1), 供应商名varchar(40)not null,constraint PK_入库明细primary key nonclustered(入库编号,入库明细行号) )gocreate index Relationship_1_FK on入库明细(入库编号ASC)gocreate index Relationship_2_FK on入库明细(商品编号ASC)gocreate index Relationship_3_FK on入库明细(仓库编号ASC)gocreate table出库单(出库编号varchar(30)not null,出库时间datetime not null,出库经办人varchar(20)not null,备注text null,constraint PK_出库单primary key nonclustered(出库编号))gocreate table出库明细(出库编号varchar(30)not null,出库明细行号varchar(30)not null,仓库编号varchar(30)not null,商品编号varchar(30)not null,出库单价money not null,出库数量int not nullconstraint CKC_出库数量_出库明细check(出库数量>= 1), 客户名称varchar(40)not null,constraint PK_出库明细primary key nonclustered(出库编号,出库明细行号) )gocreate index Relationship_5_FK on出库明细(商品编号ASC)gocreate index Relationship_4_FK on出库明细(出库编号ASC)gocreate index Relationship_9_FK on出库明细(仓库编号ASC)gocreate table商品信息(商品编号varchar(30)not null,商品名称varchar(50)not null,商品类别varchar(20)not null,商品规格varchar(20)null,计量单位varchar(20)not null,constraint PK_商品信息primary key nonclustered(商品编号))gocreate table库存(仓库编号varchar(30)not null,商品编号varchar(30)not null,库存数量int not null,库存下限int not null,库存上限int not null,constraint PK_库存primary key(仓库编号,商品编号))gocreate index库存_FK on库存(仓库编号ASC)gocreate index库存_FK on库存(商品编号ASC)goalter table借条信息add constraint FK_借条信息_RELATIONS_商品信息foreign key(商品编号) references商品信息(商品编号)goalter table借条信息add constraint FK_借条信息_RELATIONS_仓库foreign key(仓库编号) references仓库(仓库编号)goalter table入库明细add constraint FK_入库明细_RELATIONS_入库单foreign key(入库编号) references入库单(入库编号)goalter table入库明细add constraint FK_入库明细_RELATIONS_商品信息foreign key(商品编号) references商品信息(商品编号)goalter table入库明细add constraint FK_入库明细_RELATIONS_仓库foreign key(仓库编号) references仓库(仓库编号)goalter table出库明细add constraint FK_出库明细_RELATIONS_出库单foreign key(出库编号) references出库单(出库编号)goalter table出库明细add constraint FK_出库明细_RELATIONS_商品信息foreign key(商品编号) references商品信息(商品编号)goalter table出库明细add constraint FK_出库明细_RELATIONS_仓库foreign key(仓库编号) references仓库(仓库编号)goalter table库存add constraint FK_库存_库存_仓库foreign key(仓库编号)references仓库(仓库编号)goalter table库存add constraint FK_库存_库存_商品信息foreign key(商品编号) references商品信息(商品编号)go3.2 存储过程及触发器设计代码create trigger入库明细_triggeron入库明细for insertasdeclare @a varchar(30),@b varchar(30)declare @d int,@e intselect @a=商品编号from insertedselect @b=仓库编号from insertedselect @d=入库数量from insertedselect @e=@d +(select库存数量from库存where商品编号=@a and仓库编号=@b) if @e >(select库存上限from库存where商品编号=@a and仓库编号=@b) beginraiserror('超过库存上限,不能入库!',0,1)rollbackendelsebeginupdate库存set库存数量=库存数量+@dwhere商品编号=@a and仓库编号=@bendgocreate trigger出库明细_triggeron出库明细for insertasdeclare @a varchar(30),@b varchar(30)declare @d int,@e intselect @a=商品编号from insertedselect @b=仓库编号from insertedselect @d=出库数量from insertedselect @e=(select库存数量from库存where商品编号=@a and仓库编号=@b)-@d if @e <(select库存下限from库存where商品编号=@a and仓库编号=@b) beginraiserror('低于库存下限,不能出库!',0,2)rollbackendelsebeginupdate库存set库存数量=库存数量-@dwhere商品编号=@a and仓库编号=@bendgocreate trigger借条_triggeron借条信息for insertasdeclare @a varchar(30),@b varchar(30)declare @d int,@e intselect @a=商品编号from insertedselect @b=仓库编号from insertedselect @d=借出数量from insertedselect @e=(select库存数量from库存where商品编号=@a and仓库编号=@b)-@d if @e <(select库存下限from库存where商品编号=@a and仓库编号=@b) beginraiserror('低于库存下限,不能借出!',0,2)rollbackendelsebeginupdate库存set库存数量=库存数量-@dwhere商品编号=@a and仓库编号=@bendgocreate trigger还库_triggeron借条信息for deleteasdeclare @a varchar(30),@b varchar(30)declare @d int,@e intselect @a=商品编号from deletedselect @b=仓库编号from deletedselect @d=借出数量from deletedselect @e=@d +(select库存数量from库存where商品编号=@a and仓库编号=@b) update库存set库存数量=库存数量+@dwhere商品编号=@a and仓库编号=@bgocreate proc库存_proc(@a varchar(30),@b varchar(30))asselect*from库存where仓库编号=@a and商品编号=@bVB设计部分界面及代码:登陆界面:辽宁工业大学课程设计说明书(论文)主界面:入库单:辽宁工业大学课程设计说明书(论文)入库明细单:入库单按时间查询:3.3 与数据库连接代码Imports System.DataImports System.Data.SqlClientClass LoginPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickIf (TextBox1.Text = "admin"And TextBox2.Text = "admin") ThenDim sqlconn As New SqlClient.SqlConnection()'windows 集成模式sqlconn.ConnectionString = "Data Source = (local); Initial Catalog=仓库管理系统; Integrated Security=True; "'捕获异常Try'打开连接sqlconn.Open()MessageBox.Show("连接成功!欢迎进入系统!")Sysmain.Show()Me.Hide()Catch ex As SqlClient.SqlException '处理异常MessageBox.Show(ex.Message)Finallysqlconn.Close()End TryElseMessageBox.Show("用户名或密码错误!")End IfEnd Sub3.4 出库单明细代码Imports System.DataImports System.Data.SqlClientPublic Class出库单明细'创建连接对象Dim sqlconn As New SqlConnection()Private Sub出库单明细_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load'设置ConnectionString属性()sqlconn.ConnectionString = "Data Source = (local); Initial Catalog=仓库管理系统; Integrated Security=True; "End SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim sqlStr1 As StringDim sqlcomm1, sqlcomm2 As New SqlCommand()Dim Id, sId, cId, rId, ana, sp, num As StringId = TextBox1.TextsId = TextBox2.TextcId = TextBox3.TextrId = TextBox5.Textana = TextBox6.Textsp = TextBox4.Textnum = TextBox7.TextsqlStr1 = "insert into 出库明细 values('" + rId + "','" + Id + "','" + cId + "','" + sId + "'," + sp + "," + num + ",'" + ana + "')"MessageBox.Show(sqlStr1)sqlcomm1.Connection = sqlconnmandText = sqlStr1sqlconn.Open() '打开连接sqlcomm1.ExecuteNonQuery()MessageBox.Show("操作成功")sqlconn.Close() '关闭连接End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickClose()End SubEnd Class3.5 借条信息查询代码Imports System.DataImports System.Data.SqlClientPublic Class借条信息查询'创建连接对象Dim sqlconn As New SqlConnection()Private Sub借条信息查询_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load'设置ConnectionString属性()sqlconn.ConnectionString = "Data Source = (local); Initial Catalog=仓库管理系统; Integrated Security=True; "End SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim sqlcomm As New SqlCommand()Dim sqldr As SqlDataReaderDim jId, sId, smc, cId, jcr, orDate, jsl, jbr As StringjId = TextBox1.Textsqlcomm.Connection = sqlconnmandText = "select 借条编号,借条信息.商品编号,商品名称,仓库编号,借出人,借出时间,借出数量,借用经办人from 借条信息join 商品信息on 借条信息.商品编号=商品信息.商品编号where 借条编号='" + jId + "'"sqlconn.Open() '打开连接sqldr = sqlcomm.ExecuteReader()'读sqldr中的信息While (sqldr.Read())jId = sqldr.GetValue(0)sId = sqldr.GetValue(1)smc = sqldr.GetValue(2)cId = sqldr.GetValue(3)jcr = sqldr.GetValue(4)orDate = sqldr.GetValue(5)jsl = sqldr.GetValue(6)jbr = sqldr.GetValue(7)Dim item1 As New ListViewItem(jId)item1.SubItems.Add(sId)item1.SubItems.Add(smc)item1.SubItems.Add(cId)item1.SubItems.Add(jcr)item1.SubItems.Add(orDate)item1.SubItems.Add(jsl)item1.SubItems.Add(jbr)ListView1.Items.Add(item1)End Whilesqldr.Close()sqlconn.Close() '关闭连接End SubEnd Class第四章系统总结⑴过实验过程可清晰的体会到概念模型的设计既是重点也是难点。

相关主题