本科生课程设计
课程名称 课程编号 学号 学生姓名 所在专业 所在班级 指导教师 成绩 教师签字
评语:
大型数据库课程设计
S1620034
200811622107
***
信息管理与信息系统
1081 ***
课程设计时间:2010年12月20日--2010年12月24日
1、读书笔记………………………………………………………………………………1 2、系统功能需求分析……………………………………………………………………2
2.1库存管理………………………………………………………………………………2 2.2进货管理………………………………………………………………………………2 2.3售货管理………………………………………………………………………………2 2.4供应商管理……………………………………………………………………………2 2.5收银台管理……………………………………………………………………………3
3、数据库的设计与实现…………………………………………………………………3
3.1概念结构设计…………………………………………………………………………3 3.2逻辑结构设计…………………………………………………………………………4
4、开发方案的选择与比较………………………………………………………………5 5、主要模块实现技术……………………………………………………………………6
5.1库存模块………………………………………………………………………………6 5.2进货模块………………………………………………………………………………6 5.3售货模块………………………………………………………………………………6 5.4供应商模块……………………………………………………………………………7 5.5收银台模块……………………………………………………………………………7
6、主要源程序简要说明…………………………………………………………………7
6.1数据库操作代码………………………………………………………………………7 6.2售货模块代码…………………………………………………………………………7
7、用户功能界面展现…………………………………………………………………17
7.1主界面………………………………………………………………………………17 7.2库存页面……………………………………………………………………………17 7.3进货页面……………………………………………………………………………18 7.4售货页面……………………………………………………………………………18 7.5供应商页面…………………………………………………………………………19
8、总结……………………………………………………………………………………20
1
一、 读书笔记 《触发器》
触发器是一种特殊类型的存储过程,不由用户直接调用,当使用一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或 DELETE。触发器可以查询其它表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。例如,可以控制是否允许基于顾客的当前帐户状态插入定单。
触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。
使用触发器的具有如下优点 : 触发器是自动的:它们在对表的数据作了任何修改(比如手工输入或者应用程序采取的操作)之后立即被激活。
触发器可以通过数据库中的相关表进行层叠更改。例如,可以在 titles 表的 title_id 列上写入一个删除触发器,以使其它表中的各匹配行采取删除操作。该触发器用 title_id 列作为唯一键,在 titleauthor、sales 及 roysched 表中对各匹配行进行定位。 触发器可以强制限制,这些限制比用 CHECK 约束所定义的更复杂。与 CHECK 约束不同的是,触发器可以引用其它表中的列。
触发器通常可以完成一定的业务规则,用于SQL SERVER 约束,默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能的限制。 由于触发器的优点和作用,所以触发器可以广泛运用于各个领域,像我们的课题,小型自选商场管理系统,当我们销售了产品之后,这时候触发器就会被激活,对库存进行更新操作,库存量减少销售的数量。不仅如此,触发器也可以实现类似外键的功能。例如学籍管理,当用户(教师)删除某门课程,也会激活触发器,对选修了该门课程的学生进行删除。
最后再说一句,所谓“好钢用在刀刃上”,触发器在一些特殊的应用情况下,会极大地简化我们的开发工作量,并提升处理效率,但是它并使万能的,也不是适用于各种应用环境,所以我们使用的时候,一定要慎重,更要权衡利弊。
2
二、 系统功能需求分析
2.1库存管理
对商品的库存管理是十分重要的,它关系着进货和售货这两个功能,所以在设计中必须要显示库存的详细信息,并且加入库存到达最低库存的时候,要提醒用户注意。
2.2进货管理
对于进货管理,不仅要能够输入退货。因为有可能会出现错误,或者有些商品要退回厂家。并且我们在每个月都要对进货进行盘查,以清点货物的具体情况。
2.3售货管理
售货管理,不仅要能够进行输入商品的各种信息,还有能够精确计算出总额,以及收到整数的钱找零的多少。并且要能够提供让用户退货的功能。
2.4供应商管理
如果拥有供应商的详细信息,那么进货过程中将会好办很多。因为供应商的负责人,地址等等的信息可能会发生变动,那么我们就不能让这些信息一成不变。所以需要拥有修改和删除供应商信息的功能。如果需要某个供应商的信息是要能够查询得到。
2.5收银台程序
可以查询某一次成交的商品的具体信息,以了解是否出现了错误,以及它的具体时间。这样就可以作为一次交商品的依据。
3
三、数据库的设计与实现
3.1概念结构设计:
买入 进货 售货 卖出
供应商编号 商品单价 商品编号 最低库存 商品名称 库存 商品产地 商品规格 商品数量 库存 供应商
进货编号 商品单价 商品编号 进货日期 进货 商品数量
售货编号 商品编号 商品单价 存根号 商品规格 售货 商品数量 4