




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大型数据库实践报告课题:超市商品管理系统学院(系): 软件学院专业: 软件工程学生: 王帅指导老师: 宋薇完成日期2019年05月 书目第一章绪论 31.1开发背景 31.2开发意义 4其次章系统分析 42.1系统的需求分析 42.2系统开发设计思想 42.3系统开发步骤 52.4系统的主要技术 52.4.1数据库相关技术介绍 52.5系统的运行环境和开发平台 52.5.1硬件设备及操作系统 52.5.2系统开发工具 62.5.3开发工具简介 6第三章系统设计 63.1系统流程 63.2系统功能模块的划分 73.2.1用户模块 73.2.3产品管理 73.2.4供应商管理 73.2.5入库管理 83.2.6出货管理 83.2.8库存查看 83.2.9系统管理 83.2.10系统监控 83.3数据库设计 83.3.1数据库需求分析 83.3.2数据库的逻辑设计 93.2.4用户设计 103.2.5数据库表的设计 143.2.6数据表修改 183.2.7视图函数的运用 213.2.8数据备份与管理 223.3.9数据库表结构 263.3.10表实现相关代码 29第四章系统实现 304.1运行截图 304.1.1登陆界面 304.1.2首页展示 314.1.3添加商品信息 314.1.4查找商品功能 324.1.5修改商品功能 324.1.6删除商品功能 324.1.7查看销售信息 334.1.8修改密码 334.1.9查看用户信息 334.1.10用户购买界面 344.1.11用户退货界面 344.2代码实现 344.2.1myecplise连接数据库 344.2.2其余代码展示 36第五章总结 36参考文献 36致谢: 37第一章绪论1.1开发背景 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻相识,它已进入人类社会的各个领域并发挥着越来越重要的作用。计算机的独创应用,被视为人类的第三次重大的科学技术革命,是一次飞跃。过去的革命最高成就就是“用机器制造机器”,是手的延长,而计算机的出现却能做到“用机器限制机器”,是脑的延长。计算机是提高生产效率的主要工具及途径。随着我国改革开放和经济的快速发展,超市行业也快速壮大,竞争也越来越激烈。超市商品库在运营过程中会面临大量商品信息的录入,查找,删除,编辑修改等,而人工记录的方法效率低而且错误多,严峻影响了商品库的正常管理工作,而这样的状况再不变更,必定要被社会抛弃,在激烈的竞争中走向死亡。因此须要对商品的入库信息,出库信息等进行管理,刚好了解各个环节中信息的变更,有利于管理效率的提高。本系统就是针对超市库存管理的缺陷,结合了当前超市的发展状况,旨在提高工作人员的工作效率,使其适应现状发展的须要。在这基础上本系统还考虑到将来对系统的要求而添加了一些敏捷可更新的功能。作为计算机应用的一部分,运用计算机对超市库存信息进行管理,拥有着手工管理所无法比拟的优点:1.可以有效地管理各种商品,削减出入库手续,提高运营速度,提高经济效益;2.大大节约了人力,削减财务支出;3.系统设计全面,操作方式也简单驾驭,且不简单出错,为超市仓库的正常正确营运供应保障。1.2开发意义超市商品管理系统能确保物畅其流,促使企业经营活动旺盛兴盛。不论什么企业,都要储备一些物资。以生产为主的企业,不储备肯定的物资,不能维持其连续生产;服务性行业,也要备置某些需用的设备和服务用具;就连一般的事业单位,也要备有某些办公用品等。因此,各行各业都存在不同程度的库存管理业务。其次章系统分析2.1系统的需求分析依据各大中小企业关于超市商品工作流程及实际的需求和特色,本系统在数据库方面需满意以下几个要求:供应对商品信息维护的功能供应对数据库的维护功能供应对不同用户登录的管理功能供应对数据库表的维护功能供应对商品查询和相关数据分析功能2.2系统开发设计思想系统采纳模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参及开发的技术维护人员补充、维护;系统应具备数据库维护功能,刚好依据用户需求进行数据的添加、删除、修改、备份等操作。2.3系统开发步骤超市商品管理系统的建立及应用可以划分成总体规划、系统开发和系统运行三个阶段,其中系统开发阶段还可进一步分为系统分析、系统设计和系统实施等工作环节。上述各个阶段排列成一个严格的线性开发序列,在每个工作阶段均产生完整的技术文档作为下一阶段工作的指导和依据,每一阶段都应对文档进行评审,确信该阶段工作已完成并达到要求后才能进入下一阶段,同时在以后的工作中不能轻易变更前面经过评审的成果。上述开发方式的主要优点是便于开发工作的组织和管理,并且可大大降低在线学习系统开发的困难性。国内外很多系统开发的实例都证明这是一种行之有效的开发方式。由于时间的缘由在本次设计开发中,本文档只介绍数据库方面的设计及维护等功能,对于前台等页面设计将在后续开发中进行实现。2.4系统的主要技术2.4.1数据库相关技术介绍在数据库方面的设计将严格遵照数据库开发步骤,在此运用了大型数据库设计的相关性学问,包括对存储过程,函数,触发器等的运用,还有对数据库全方面的设计,及平安措施等的设计。其次还涉及表分区,用户管理及权限安排,表空间及数据文件,数据库的导入及导出等,还有视图、索引、序列的建立及运用。2.5系统的运行环境和开发平台2.5.1硬件设备及操作系统服务器:本地机器华硕电脑,有网络接口,内存12g,硬盘在1T。数据库软件oracle11g。操作系统:windows10企业版客户端:本地机器华硕电脑,有网络接口,内存12g,硬盘在1T。数据库软件oracle11g。网络:服务器和客户端应有网络连通。配置TCP/IP协议。2.5.2系统开发工具电脑配置:华硕品牌机CPU:i5-7200U内存:DDR312G硬盘:1T操作系统:win10开发环境:oracle11g,myecplise2019CI 界面工具:PL/SQL数据库:oracle2.5.3开发工具简介(1)oracle11g概述Oracle是一个关系型数据库管理系统,Oracle11g有400多项功能,经过了1500多个小时的测试,开发工作量达到了3.6万人/月,相当于1000名员工连续研发3年。Oracle11g供应了高性能、伸展性、可用性和平安性,并能更便利地在低成本服务器和存储设备组成的网格上运行,相对过往版本而言,Oracle11g具有了及众不同的特性,数据库重演,安排管理,自动诊断学问库,事务打包服务,自动内存优化等等。第三章系统设计3.1系统流程及本系统相关的角色包括:本系统的用户包括四种:一是最高管理员;二是数据管理人员,该类用户可以进行数据表的创建及修改,数据的修改和删除;三是业务组织人员,该类用户可以进行视图的创建,以及函数、存储过程和触发器等对象的创建和管理;第四种是数据访问人员,该类用户人数比较多,但是只能进行特定的数据表或者视图的查询操作。3.2系统功能模块的划分软件所实现的功能强弱是衡量一个软件的最根本的标准。经过对系统的需求分析和实际应用需求,确定了本子系统的功能模块如图3.2所示:图3.2系统功能模块图3.2.1用户模块用户包括为用户安排账号,修改密码,用户平安退出功能。此模块只能由系统管理员统一配置,用户不能自行注册,用户密码要进行加密处理。3.2.3产品管理对须要入库的产品进行增删改查操作。供应商管理 对供应商进行增删改查操作3.2.5入库管理 先由最高管理人员对数据管理人员进行授权,然后该类用户对商品信息进行入库操作,即对商品信息表进行修改,或增加数据,或删除数据,可以建立表或删除表。3.2.6出货管理 此操作由数据管理人员进行操作,包括对商品信息进行出库操作,即对商品出库信息表进行修改,或增加数据,或删除数据,可以建立表或删除表。3.2.8库存查看可以查看产品的库存状况,库存数量。3.2.9系统管理 进行用户角色权限安排,使不同的角色拥有不同的权限从而有效的运用系统进行工作。3.2.10系统监控 记录登陆用户的登陆时间、推出时间及在系统内进行的全部操作。3.3数据库设计3.3.1数据库需求分析数据库的设计在一个系统中的作用非常重要,数据库建立的是否完善干脆影响到你系统的实现。数据库的设计既要满意用户的需求又要尽最大可能的降低数据的冗余,尽可能降低数据间的依靠,将他们分别。在各种信息的供应,保存,更新和查询,这就要求数据库结构能充分满意各种信息的输出和输入,收集基本数据,数据结构,以及数据处理的流程,组成一份详尽的数据字典,为后面的详细设计打下基础.3.3.2数据库的逻辑设计逻辑结构设计的原则如下:(1) 尽可能的削减数据冗余和重复。(2) 结构设计及操作设计相结合。(3) 数据结构具有相对的稳定性。其实数据库还有要求如下:为了便利数据文件的扩展和迁移,本项目实施要求运用独立的数据文件,请给出详细的实施方案和关键代码。其中,数据文件放在服务器的E盘,文件名称为“自己的姓名.dbf”,文件初始大小为50M,本地化管理,自动扩展。完整代码如下(运用system账户进行创建表空间和数据文件)Create
tablespace
bigshuai
datafile
‘E:\oracle\王帅.dbf’
Size50M
reuse
Extent
management
local
autoallocate;
3.2.4用户设计本系统的用户包括四种:一是最高管理员;二是数据管理人员,该类用户可以进行数据表的创建及修改,数据的修改和删除;三是业务组织人员,该类用户可以进行视图的创建,以及函数、存储过程和触发器等对象的创建和管理;第四种是数据访问人员,该类用户人数比较多,但是只能进行特定的数据表或者视图的查询操作。请运用最高管理员执行以下操作:实现问题(1)中的数据库设计;给出区分其他三种用户的实施方案和关键代码;问题1,已经在上一小题实现,在此不在列出。问题2的实施方案如下: 最高管理员在此运用system用户,创建一个用户登录表userLogin,表中有四个属性,分别是用户编号Loginid,登陆名LoginName,密码pwdd,权限值authority,权限值可取0,1,2(0代表数据管理员标识,1代表业务组织人员标识,2代表数据访问人员标识)。并编写存储过程对用户登陆数据库时进行身份推断,并返回相应的权限值。其次并规定,登陆时候要推断用户名是否存在,不存在返回-2;推断密码是否正确,假如密码不正确返回-1;用户名和权限值作为主键,并创建序列作为登陆id.创建用户登录表:create
table
userLogin(
Loginid
number(3)
not
null
,--登陆编号
Loginname
varchar2(10)
not
null
,--登陆姓名
pwd
varchar2(16)
not
null,--登陆密码
authority
number(1)
check
(authority
in(0,1,2)),--权限值
primary
key
(Loginname,authority)
2.创建序列:Create
sequence
seq_loginid
Minvalue
1
Maxvalue
999
Start
with
1
Increment
by
1
Nocycle;
3.插入数据:insert
into
userLogin
values(seq_loginid.nextval,’aaa’,’123456’,0);
insert
into
userLogin
values(seq_loginid.nextval,’bbb’,’123456’,1);
insert
into
userLogin
values(seq_loginid.nextval,’ccc’,’123456’,2);
4.登陆存储过程的实现:create
or
replace
procedure
userLoginCheck--
对登陆用户的审查
(uname
varchar2,passwd
varchar2,authority
out
number)
As
v_count
number;
begin
select
count(*)
into
v_count
from
userLogin
where
Loginname=uname;
if
v_count=0
then
authority:=-2;
--
-2
用户名不存在
else
select
count(*)
into
v_count
from
userLogin
where
Loginname=uname
and
pwd=passwd;
if
v_count=0
then
authority:=-1;--
-1密码不正确
else
select
authority
into
authority
from
userLogin
where
Loginname=uname
and
pwd=passwd;
end
if;
end
if;
end;
5.调用存储过程,对登陆功能进行验证:declare
v_authority
number;
begin
userLoginCheck('aaa','123456',v_authority);
dbms_output.put_line(v_authority);
end;
3)创建一个数据管理人员账户,账户名为“自己的姓名”,密码为自己的学号。并且设置密码生命周期为30天,允许输入错误的密码不得超过5次,超过5次密码锁1天:Create
user
王帅identified
by
1515925661--
创建账户
Default
tablespace
bigshuai;
--并额外设置默认表空间为bigshuai
Create
profile
password_life_time
Password_life_time
30
Password_grace_time
3;--另加密码宽限时间三天
Create
profile
lock_account
limit
Failed_login_attempts
5--
错误密码不行超过三次
Password_lock_time
1;
3.2.5数据库表的设计以上述账户连入数据库,运用适当的吩咐显示当前用户身份信息,请给出截图。运用该账户执行一下操作:1)创建表“商品信息”,该表至少包含一个商品编号列,一个商品名称列,商品类型列,一个单价列;将商品编号列和商品名称列设置为联合主键。2)创建表“零售信息”,该表至少包含一个销售编号列,一个商品编号列,一个商品名称列,一个销售数量列和一个销售金额列。将销售编号和商品编号设置为联合主键(一次销售的全部商品对应一个销售编号),商品编号和商品名称为外键。在其他列上设置非空约束。 3)“零售信息”表中的数据默认依据编号和销售时间进行排序,并且依据销售时间一个季度划分一个分区。同时,数据分布要求符合问题(1)中的方案。详细实现方案如下:打算:在运用该用户连接数据库前应对该用户进行授予相应的权限,运用system账户进行授予连接数据库权限session,表的相关权限createanytable等,授权方式也可对用户授予已经存在的某些角色的权限例如connect,resource权限等,为了严格依据试验要求,故运用如下吩咐:grant
create
session
to
王帅;
grant
create
table,drop
any
table,alter
any
table
to
王帅;
grant
unlimited
tablespace
to
王帅;
当前用户的一些信息:查看当前的登陆的用户名:Select
*
from
dual;(show
user;)
查看当前用户的一些信息:Select
*
from
user_users;
查看当前用户拥有的角色和权限:Select*
from
user_role_privs;
Select
*
from
sessions_privs;
1.创建商品信息表:
Create
table
product
(
proid
number(10)
unique,--商品编号列
Proname
varchar2(20)
unique,--商品名
Protype
varchar2(20)
,--类型
Proprice
number(10),--价格
Primary
key
(proid,proname));
2.创建零售信息表,并且依据销售时间一个季度划分一个分区,运用bigshuai表空间:(在验收发觉:表的分区应当全面考虑,分区的时间最好是依据月份和日期,这样就可以把整个数据表进行整体分区,而不是单单的一年)Create
table
productOut(
--销售信息表
Outid
number(10)
not
null,--销售编号
Outnum
number(10)not
null,--销售数量
Outmoney
number(10)not
null,--销售金额
Outdate
date
not
null,--销售日期
Primary
key(outid,proid),--联合渐渐
Proid
number(10)
references
product
(proid),--外键
Proname
varchar2(20)
references
product
(proname)
Partition
by
range(outdate)--依据销售时间每个季节划分一个表分区,共四个分区
Partition
par_01
values
less
than(to_date('2019-04-01','yyyy-mm-dd'))
tablespace
bigshuai,
Partition
par_02
values
less
than(to_date('2019-07-01','yyyy-mm-dd'))
tablespace
bigshuai,
Partition
par_03
values
less
than(to_date('2019-10-01','yyyy-mm-dd'))
tablespace
bigshuai,
Partition
par_04
values
less
than(to_date('2018-01-01','yyyy-mm-dd'))
tablespace
bigshuai
3.像两个表中录入数据,并将表中数据依据编号和销售时间进行排序:录入数据:--商品信息表
insert
into
product
values(1,'三星手机','电子类',1000);
insert
into
product
values(2,'苹果','水果类',3);
insert
into
product
values(3,'篮球','体育类',70);
insert
into
product
values(4,'泡面','食品类',70);
insert
into
product
values(5,'裙子','服装类',70);
销售信息表
insert
into
productout
values(1,5,350,to_date('2019-02-05','yyyy-mm-dd'),3,'篮球');
insert
into
productout
values(2,3,210,to_date('2019-04-05','yyyy-mm-dd'),5,'裙子');
insert
into
productout
values(2,2,140,to_date('2019-04-14','yyyy-mm-dd'),4,'泡面');
insert
into
productout
values(3,2,2000,to_date('2019-05-14','yyyy-mm-dd'),1,'三星手机');
insert
into
productout
values(3,5,350,to_date('2019-05-14','yyyy-mm-dd'),5,'裙子');
insert
into
productout
values(3,5,350,to_date('2019-06-14','yyyy-mm-dd'),3,'篮球');
insert
into
productout
values(1,1,1000,to_date('2019-02-14','yyyy-mm-dd'),1,'三星手机');
3对表中数据录入完成后,数据默认是依据销售编号进行升序,销售时间升序排列。再次假如表中数据没有依据.对于零售信息没有依据编号和销售时间进行排序,下面介绍两种方法可以实现数据的排序;a在建立一张新表,吩咐如下:Create
table
productout2
as
select
*
from
productout
order
by
outid
asc,outdate
asc;
b.运用视图的方式进行表中的数据进行排序,视图可以保证原有数据的依次不被打乱。(此方法虽好,但无创建视图的权限,吩咐不行执行)Create
or
replace
view
producteout_view
as
Select
outid,
outdate,outmoney
from
productout
order
by
outid
,outdate;
数据表修改本系统在投入运用之后发觉,由于“零售信息”表中没有存储商品单价,每次计算商品销售金额都要进行连接查询操作,效率太低,请对数据库做如下修改:为“零售信息”表添加商品单价列;执行吩咐如下:Alter
table
productout
add
(outprice
number(10));
编写一个存储过程,将“商品信息”表中的商品单价写入“零售信息”表的单价列;在本题中由(3)可知,给予王帅用户业务组织人员的权限。运用最高管理员system授权语句如下所示:grant
create
view,create
any
procedure,create
any
trigger
to
黄国峰;
将商品信息表数据写入零售信息表中方法有多种可以运用循环,游标等,在不考虑执行效率的前提下,为了便利在此我运用merge吩咐如下:Create
or
replace
procedure
write_outprice
as
begin--merge可以对一个表同时执行inserts和updates操作,在此仅执行update
merge
into
productout
op
using
product
p
on
(id
=
id)运用merge
吩咐
when
matched
then
update
set
op.outprice
=
price;
end;
以下为执行该存储过程后,零售信息表中的单价信息已经胜利更改:由于修改表和数据的权限及创建存储过程的权限不属于同一个用户,给我们的操作带来了麻烦,请将业务组织人员(角色或用户)的权限并入数据管理人员,然后再执行上述两步操作;最终,删除业务组织人员(角色或用户)。实施方案如下:在(2)中已经完成对用户授予业务组织人员的权限,从userLogin表中删除业务组织人员,由于王帅用户没有删除用户权限,在此运用最高管理员system身份进行删除,吩咐如下:delete
from
userlogin
where
authority=1;
补充说明:因为我没有实体化业务组织人员,假如已经创建了该用户,或者创建了改角色,可以运用如下吩咐进行删除:Drop
user
usernamne;--删除用户
Drop
role
rolename;--删除角色
视图函数的运用由于“零售信息”表中只存储了每种商品的销售金额,没有存储销售总额,每次显示销售总额还要进行一次计算。而将销售总额加进表中的话,重复信息又太多。请执行如下操作解决该问题:创建一个视图,该视图中只保存销售编号和销售总额。创建一个函数,实现输入销售编号显示该次销售的总额。实施方案如下:(1).Create
view
productout_info_view(
outid,outmoney)
As
select
outid,sum(outmoney)
from
productout
group
by
outid;
(2).创建函数:Create
or
replace
function
get_out_sum(product_outid
productout.outid%type)--此处不行用number(10)替换
return
productout.outid%type
is
outsum
productout.outid%type;
Begin
Select
sum(outmoney)
into
outsum
from
productout
where
outid=product_outid;--留意where语句,此处不能用group
by
Return
outsum;
End;
调用函数进行测试:declare--调用函数,计算销售编号为2的销售总金额
m_outsum
number(10);
begin
m_outsum:=get_out_sum('2');
dbms_output.put_line('编号为2的总金额是:'||m_outsum);
end;
数据备份及管理系统运行了一段时间之后,随着数据量增多,服务器负载变大,查询效率变低。超市确定将历史数据备份,新数据写入新表,请执行以下操作:将2019年以前的数据导出到F盘BAK文件夹;将2019年以后的零售信息存入新的表“2019年销售状况”;请给出数据转存的方案和关键代码。执行了上述操作之后发觉,现有的超市前台系统仍旧将数据写入旧的“零售信息”表,请运用触发器实现“2019年销售状况”表中数据的同步更新。实施方案如下:(1).在此题中我只进行逻辑备份即备份超市数据表,对于备份即导出其他模式中的表,或者导出全部数据库和导出模式都须要dba或者exp_full_database角色权限。导出18年以前的数据表(因为在录入数据时只录入了17年的数据信息)。a).首先运用SYS用户(必需sys用户)创建书目对象WANGSHUAI,并将该书目的运用权限给予王帅用户,然后要在F盘建立BAK文件夹吩咐如下:CREATE
DIRECTORY
WANGSHUAI
AS
'F:\BAK';
GRANT
READ,WRITE
ON
DIRECTORY
WANGSHUAI
TO
王帅;
b).运用如下吩咐导出数据文件:>expdp
王帅/1515925661
directory=WANGSHUAI
DUMPFILE=WS.DMP
TABLES=PRODUCTOUT,PRODUCT
QUERY=\"WHERE
OUTDATE
<to_date('20180101','yyyy-mm-dd')\"
(2).a.首先创建新表,表名为’2019年销售状况’,以后信息的录入插入新表即可,创建新表并带有2019年之后的销售状况代码如下:create
table
"2019年销售状况"
as
select
*
from
productout
where
outdate
>to_date('2019-01-01','yyyy-mm-dd');
(3).运用触发器更新表字段,触发器实现如下,录入数据并检验触发器:在此应当留意到问题是:题目中确指出是2019年后数据,所以在触发器执行前应进行推断。加上6,7,8行后代码。(此处bug在验收后发觉)--插入数据变更触发器
Create
or
replace
trigger
trg_insert_out
after
insert
on
productout
For
each
row
Begin
–-ifoutdate>to_date(‘2019-12-31’,’yyyy-mm-dd’)–then
Insert
into
"2019年销售状况"(outid,outnum,outmoney,outdate,proid,proname,outprice)
Values(:new.outid,:new.outnum,:new.outmoney,:new.outdate,:id,:name,:new.outprice);
--Endif;
End;
插入数据:另外并设有两表同步更新触发器,在这就不在进行运行截图了。--数据更新触发器
Create
or
replace
trigger
trg_update_out
after
update
on
productout
For
each
row
Begin
Update
"2019年销售状况"
set
outid=:new.outid,outmoney=:new.outmoney,outdate=:new.outdate,outprice=:new.outprice
where
proid=:id
and
outid=:new.outid;
End;
3.3.9数据库表结构数据库表中其余相关表的设计结构如下所示:字段类型长度主键是否空说明IdVarchar236YN管理员编号userNameVarchar210NN用户名PasswordVarchar2100NN密码RealnameVarchar250NY真实姓名StatusNumber6NY状态BrowserVachar220NY阅读器SignatureBlobNY标记附件UserkeyVarchar2200NY秘钥码DepartidVarchar232NY所属部门表1管理员信息表(T_S_BASE_USER)表2供应商表(T_B_SUPPLIER)字段类型长度主键是否空说明IdVarchar236YN供应商编号SupplierNameVarchar220NY供应商名称SupplierAddrVarchar226NY供应商地址SupplierTelVarchar215NY供应商电话SupplierEmailVarchar220NY供应商EmailSupplierNumVarchar220NY企业注册号ContactPersonVarchar210NY联系人PersonTelVarchar215NY联系人电话表3货品表(T_B_GOODS)字段类型长度主键是否空说明IdVarchar236YN货品编号GoodsNameVarchar216NY货品名称GoodsTypeVarchar22NY货品类型CostPricenumber10NY成本价RemarkVarchar2100NY备注表4库存表(T_B_STOCK)字段类型长度主键是否空说明IdVarchar236YN库存编号GoodsIdVarchar236NY货品编号TotalCountVarchar210NY数量表5入库单表(T_B_PURCHASE)字段类型长度主键是否空说明IdVarchar236YN入库编号GoodsIdVarchar236NY货品编号GoodsNameVarchar220NY货品名称GoodsNumberVarchar220NY货品批号GoodsCountVarchar210NY数量Pricenumber10NY单价StatusChar1NY状态SupplierIdVarchar236NY供应商编号SupplierNameVarchar220NY供应商名称ContactPersonVarchar210NY联系人PersonTelVarchar215NY联系人电话RemarkVarchar2100NY备注表6出库单表(T_B_SHIP)字段类型长度主键是否空说明IdVarchar236YN出库编号GoodsIdVarchar236NY货品编号GoodsNameVarchar220NY货品名称GoodsCountVarchar210NY数量StatusChar21NY状态BranchIdVarchar236NY分部编号BranchNameVarchar220NY分部名称ShipDatedate10NY出库日期RemarkVarchar2100NY备注表7角色表(T_S_ROLE)字段类型长度主键是否空说明IdVarchar236YN角色编号RolecodeVarchar210NY角色码RolenameVarchar2100NY角色名称表8用户角色表(T_S_ROLE_USER)字段类型长度主键是否空说明IdVarchar236YN用户角色编号RoleidVarchar236NY角色编号useridVarchar236NY用户编号表9用户功能表(T_S_ROLE_FUNCTION)字段类型长度主键是否空说明IdVarchar236YN用户功能编号operationVarcahr2100NY操作roleidVarchar236NY角色编号3.3.10表实现相关代码在此只显示部分代码CREATE
TABLE
t_b_goods
(--货品表
id
varchar(36)
NOT
NULL,
goodsname
varchar(16)
DEFAULT
NULL
,--
'货品名称',
goodstype
varchar(2)
DEFAULT
NULL
--
'货品类型',
ostprice
double
DEFAULT
'0'
--
'成本价',
remark
varchar(100)
DEFAULT
null
--
'备注',
PRIMARY
KEY
(id)
CREATE
TABLE
t_b_purchase
(--入库单表
id
varchar(36)
NOT
NULL,
goodsid
varchar(36)
DEFAULT
NULL
--
'货品编号',
goodsnumber
varchar(20)
DEFAULT
NULL
--
'货品批号',
goodscount
varchar(10)
DEFAULT
NULL
--
'数量',
price
double
DEFAULT
'0'
--
'单价',
status
varchar(1)
DEFAULT
NULL
--
'状态',
suppliername
varchar(20)
DEFAULT
NULL
--
'供应商名称',
contactperson
varchar(10)
DEFAULT
NULL
--
'联系人',
persontel
varchar(15)
DEFAULT
NULL
--
'联系人电话',
supplierid
varchar(36)
DEFAULT
NULL
--
'供应商编号',
goodsname
varchar(20)
DEFAULT
NULL
--
'货品名称',
remark
varchar(100)
DEFAULT
NULL
--
'备注',
PRIMARY
KEY
(id)
CREATE
TABLE
t_b_ship(--出库单表
id
varchar(36)
NOT
NULL,
goodsid
varchar(36)
DEFAULT
NULL
--
'货品编号',
goodsname
varchar(20)
DEFAULT
NULL
--
'货品名称',
goodscount
varchar(10)
DEFAULT
NULL
--
'数量',
status
varchar(1)
DEFAULT
NULL
--
'状态',
branchid
varchar(36)
DEFAULT
NULL
--
'发送分部',
branchadd
varchar(20)
DEFAULT
NULL
--
'分部地址',
shipdate
datetime
DEFAULT
NULL
--
'出库日期',
remark
varchar(100)
DEFAULT
NULL
--
'备注',
PRIMARY
KEY
(id)
)
;
--其余代码的实现请见附件,在此就不在粘出第四章系统实现4.1运行截图登陆界面用户登陆界面有两种用户身份,一个是用户数据管理人员,一个是购买商品的用户,第一次运用本商品购物系统的用户,可进行用户信息进行注册。首页展示添加商品信息添加胜利截图查找商品功能依据商品编号进行查找修改商品功能修改oracle图书的数量为10本删除商品功能删除oracle图书功能,在相应的商品信息后,点击删除即可查看销售信息修改密码查看用户信息用户购买界面用户退货界面4.2代码实现myecplise连接数据库package
com.dw.util;
import
java.io.IOException;
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.SQLException;
import
java.util.Properties;
public
class
DbConn
{
*
数据库连接类
*
bigshaui
private
static
String
username=null;
private
static
String
password=null;
private
static
String
driver=null;
private
static
String
url=null;
static{
Properties
ps=new
Properties();
try
{
ps.load(DbConn.class.getResourceAsStream("/perties"));
driver=ps.getProperty("driver");
url=ps.getProperty("url");
username=ps.getProperty("username");
password=ps.getProperty("password");
}
catch
(IOException
e)
{
//
TODO
Auto-generated
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司股权分配及管理办法
- 建筑工程项目报告
- 垃圾焚烧发电前景如何
- 电动车公共充电桩使用方法
- 基于语音控制的智能家居
- 安全防护和文明施工措施
- 工程项目预算及费用统计表
- 新能源车辆推广与应用战略研究报告
- 银行业务流程优化与风控管理方案
- 社区服务体系建设规划手册
- 中国古代文学史-史记讲义
- 尿动力学检查操作指南2023版
- 化学核心素养的课堂教学-基于核心素养的高中化学教学 课件
- GA/T 2000.19-2014公安信息代码第19部分:现役军人和人民武装警察申领居民身份证申请号
- DB31T 1137-2019 畜禽粪便生态还田技术规范
- 张居正改革-完整精讲版课件
- excel-操作技巧培训课件
- 腹膜透析的原理和应用讲课课件
- 中北大学火炮概论终极版
- 2022年CAD快捷键-CAD常用快捷键命令大全
- 流感病人的护理ppt课件
评论
0/150
提交评论