资源描述
超市管理系统范文
13
2020年4月19日
文档仅供参考,不当之处,请联系改正。
一、医药超市管理系统
需求分析
根据用户对该系统需求的描述,系统包括以下几个子系统:
1. 职工管理
要求能够查询某家门店的职工情况,职工的详细信息;能够添加、删除及更新。
2. 门店管理
要求能够提供销售情况。如某门店在某天销售了哪些药品,销售额是多少,某月各门店日平均销售额是多少;能够添加、删除及更新。
3. 药品管理
要求能够查询某家门店的某药品存量,或某药品在哪个门店有货,有多少;
能够添加、删除及更新。
4. 供应商管理
要求能够查询某门店的某种药品来自于哪个供应商,来自于哪个城市;
能够添加、删除及更新。
数据字典:
数据项
类型
长度
取值范围
与其它数据项的逻辑关系
职工编号
字符型
5
5Byte
非空且能够唯一标识一个职工
职工姓名
字符型
6
0-6Byte
非空
职工性别
字符型
2
2Byte
非空
职工年龄
无符号整型
1
1 Byte
非空且不小于18
职工职务
字符型
10
0-10 Byte
非空
门店编号
字符型
5
5 Byte
非空且能够唯一标识一个门店
门店地址
字符型
50
0-50 Byte
非空
门店邮编
字符型
6
6 Byte
门店电话
字符型
15
0-15 Byte
非空
药品编号
字符型
5
0-5 Byte
非空且能够唯一标识一种药品
药品名称
字符型
20
0-20 Byte
非空
药品条码
字符型
20
0-20 Byte
非空且唯一
销售数量
无符号整型
5
0-5 Byte
不小于0
销售单价
浮点型
10
0-10 Byte
不小于0
销售日期
DATE型
20
20 Byte
非空
存货量
无符号整型
5
0-5 Byte
不小于0
供应商编号
字符型
5
5 Byte
非空且能够唯一标识一个供应商
供应商名称
字符型
20
0-20 Byte
非空
供应商城市
字符型
20
0-20 Byte
供应商地址
字符型
20
0-20 Byte
供应商电话
字符型
20
0-20 Byte
进货单价
浮点型
10
0-10 Byte
非空且不小于0
进货数量
无符号整型
5
0-5 Byte
非空且不小于0
进货日期
DATE型
20
20 Byte
非空
编号
姓名
性别
年龄
职务
职工
编号
m
工作
地址
1
邮编
日期
电话
门店
m
单价
数量
日期
m
数量
m
供应
单价
销售
储存
存货量
p
n
n
n
药品
编号
名称
供应商
编号
名称
电话
地址
城市
条码
关系模式
根据ER图设计关系模式如下:
将每个实体转化为一个关系模式,职工与门店的m:1的联系与m端的关系模式合并,门店与药品的m:n的销售联系和储存联系转化为单独的关系模式,门店、药品与供应商之间的m:n:p的联系转化为单独的关系模式,得到所有的关系模式如下(下划线的属性为主码):
职工(编号,姓名,性别,年龄,职务,所属门店编号)
Employee ( Eno ,Ename , Esex ,Eage , Estate , SHno );
门店(编号,地址,邮编,电话)
Shop ( SHno , SHaddress , SHpost , SHtel );
药品(编号,名称,条码)
Drug ( Dno , Dname , Dnum );
供应商(编号,名称,城市,地址,电话)
Supplier ( SUno , SUname , SUcity , SUaddress , SUtel );
销售(门店编号,药品编号,数量,单价,日期)
Sale ( SHno , Dno , SAamout , SAprice , SAdate );
储存(门店编号,药品编号,存货量)
Store ( SHno , Dno , STamout );
供应(门店编号,供应商编号,药品编号,单价,数量,日期)
Supply ( SHno , SUno , Dno , Sprice , Samout ,Sdate)。
一、 规范化
1. 职工(编号,姓名,性别,年龄,职务,所属门店编号)
每个职工的编号是唯一的,允许同名。
该关系模式的函数依赖:{ 编号→姓名,编号→性别,编号→年龄,编号→职务,编号→所属门店编号}
非主属性完全函数依赖于码,而且不存在非主属性对码的传递依赖,属3NF。
2. 门店(编号,地址,邮编,电话)
每个门店的编号是唯一的。
该关系模式的函数依赖:{ 编号→地址,编号→邮编,编号→电话}
非主属性完全函数依赖于码,而且不存在非主属性对码的传递依赖,属3NF。
3. 药品(编号,名称,条码)
每种药品的编号是唯一的,条码也是唯一的。
该关系模式的函数依赖:{ 编号→名称,编号→条码,条码→名称,条码→编号}
非主属性完全函数依赖于码,而且不存在非主属性对码的传递依赖,属3NF。
4. 供应商(编号,名称,城市,地址,电话)
该关系模式的函数依赖:{ 编号→名称,编号→城市,编号→地址,编号→电话}
非主属性完全函数依赖于码,而且不存在非主属性对码的传递依赖,属3NF。
5. 销售(门店编号,药品编号,数量,单价,日期)
该关系模式的函数依赖:{ (门店编号,药品编号,日期)→数量,(门店编号,药品编号,日期)→单价}
非主属性完全函数依赖于码,而且不存在非主属性对码的传递依赖,属3NF。
6. 储存(门店编号,药品编号,存货量)
该关系模式的函数依赖:{ (门店编号,药品编号)→存货量}
非主属性完全函数依赖于码,而且不存在非主属性对码的传递依赖,属3NF。
7. 供应(门店编号,供应商编号,药品编号,单价,数量,日期)
该关系模式的函数依赖:{ (门店编号,供应商编号,药品编号,日期)→单价,(门店编号,供应商编号,药品编号,日期)→数量}
非主属性完全函数依赖于码,而且不存在非主属性对码的传递依赖,属3NF。
建表语句
create table Employee
( Eno CHAR(5) PRIMARY KEY,
Ename VARCHAR(6) NOT NULL,
Esex CHAR(2) NOT NULL,
Eage SMALLINT(1) CHECK(Eage>=18),
Estate VARCHAR(10) NOT NULL,
SHno CHAR(5) NOT NULL,
FOREIGN KEY(SHno) REFERENCES Shop(SHno)
);
create table Shop
( SHno CHAR(5) PRIMARY KEY,
SHaddress VARCHAR(50) NOT NULL,
SHpost CHAR(6),
SHtel VARCHAR(15) NOT NULL
);
create table Drug
( Dno CHAR(5) PRIMARY KEY,
Dname VARCHAR(20) NOT NULL,
Dnum VARCHAR(20) NOT NULL UNIQUE
);
create table Supplier
( SUno CHAR(5) PRIMARY KEY,
SUname VARCHAR(20) NOT NULL,
SUcity VARCHAR(20),
SUaddress VARCHAR(20),
SUtel VARCHAR(20)
);
create table Sale
( SHno CHAR(5),
Dno CHAR(5),
SAamout SMALLINT CHECK(SAamout>=0),
SAprice FLOAT(10) CHECK(SAprice>=0),
SAdate DATE NOT NULL,
PRIMARY KEY (SHno , Dno , SAdate)
FOREIGN KEY (SHno) REFERENCES Shop(SHno),
FOREIGN KEY (Dno) REFERENCES Drug(Dno)
);
create table Store
( SHno CHAR(5),
Dno CHAR(5),
STamout SMALLINT CHECK(STamout>=0),
PRIMARY KEY (SHno , Dno),
FOREIGN KEY (SHno) REFERENCES Shop(SHno),
FOREIGN KEY (Dno) REFERENCES Drug(Dno)
);
create table Supply
( SUno CHAR(5),
Dno CHAR(5),
Sprice FLOAT(5) NOT NULL CHECK(Sprice>=0),
Samout SMALLINT NOT NULL CHECK(Samout>=0),
Sdate DATE NOT NULL,
PRIMARY KEY (SUno , Dno , Sdate),
FOREIGN KEY (SUno) REFERENCES Supplier(SUno),
FOREIGN KEY (Dno) REFERENCES Drug(Dno)
)
查询
1. 查询某家门店的职工情况,职工的详细信息。
例如查询编号为“11111”的店的职工信息:
select * from Employee where SHno=’11111’;
2. 查询某家门店的某药品存量?或某药品在哪个门店有货?有多少?
例如查询编号为“11111”的门店的编号为“22222”的药品存量:
select STamout from Store
where SHno=’11111’ and Dno=’22222’;
例如查询编号为“22222”的药品在那个门店有货及存货量:
select SHno , STamout from Store
where Dno=’22222’ and STamout>0;
3. 提供销售情况。如某门店在某天销售了哪些药品?销售额是多少?某月各门店日平均销售额是多少?
例如查询编号为“11111”的门店在 11月1号销售了哪些药品(显示药品编号及名称),销售额是多少:
select Sale.Dno , Dname , SAamout , SAprice , SAamout*SAprice as Total
from Sale , Drug
where SHno=’11111’ and SAdate= -11-1 and Sale.Dno =Drug.Dno;
4. 能够查询某门店的某种药品来自于哪个供应商?来自于哪个城市?
例如查询编号为“11111”的门店的编号为“22222”的药品来自于哪个供应商(显示编号及名称),来自于哪个城市:
select distinct SUno , SUname , SUcity from Supply , Supplier
where SHno=’11111’ and Dno=’22222’ and Supply.SUno=Supplier.SUno;
5. 需要具有数据插入,删除以及更新功能。
例如向Drug表中插入编号为22222、名称为板蓝根冲剂、条码为SA的药品:
Insert into Drug values (‘22222’,’板蓝根冲剂’,’SA’);
例如删除编号为11111的供应商信息:
Delete from Supplier where SUno=’11111’;
例如将编号为11111的门店中的编号为22222的药品存货量改为12
update Store set STamout=12 where SHno=’11111’ and Dno=’22222’;
结合自己的实际简单介绍一下数据库和多媒体的未来发展情况
数据,应用需求和计算机相关的技术是推动数据库发展的3个动力或因素。 1.信息特性和来源的变化。数据库领域已经从获取,组织,存取,分析和恢复结构化数据扩展到文本,时间,空间,声音,图像图形,视频等多媒体数据,HTML,XML等非结构化和半结构化数据,还有程序数据,流数据和队列数据等等。数据类型的多样化,处理这些数据的方法复杂化以及数据量越来越巨大是现代数据库面临的巨大挑战。在DBMS系统中可能会增加对复杂数据的存储和处理功能,还可能会将新的数据结构移植到传统的框架上。 2.应用领域的变化。应用领域变化中,INTERNET是最主要的驱动力,在INTERNET应用环境下所有应用已从企业内部扩展为跨企业间的应用,这需要DBMS对信息安全和信息集成提供更有力的保障和支持。另一个重要领域是科学研究。这些研究产生大量的复杂数据,这要求更新的数据库产品的支持。另外,还会对数据分析器产生的数据进行管理,需要存储有序的数据和对它们查询(如时间序列,图像分析,网络计算和地理信息)。 3.相关技术的发展。相关技术的发展会推动数据库研究发展的方向。不但有一些新信息管理的挑战,还有数据模型,存取方法,查询算法,查询语言及用户操作界面的变化使得我们对传统的数据库踩踩管理和查询算法重新加以评价。另外,处理器高速缓存暴曾且增加了层次,这使得DBMS能充分利用高缓。这样一个全新的信息管理框架将会形成。4.当前若干研究热点。一些新的信息包括:信息集成,移动数据管理,网络数据管理,传感器数据技术,DBMS自适应管理等。这样使得数据库系统的最终目标是“没有可调部分”,即所有的调整均由DBMS自动完成。它能够依据缺省规则,也能够依据用户的需求制定规则。因此,建立能够清楚的描述用户行为和工作 负载的更为完善的模型,是这一领域发展的先决条件,除了不用手工调整,DBMS还需要能够发现系统组件内部及组件间的故障,辨别数据冲突,侦查应用失败,而且做出相应的处理。
展开阅读全文