超市管理系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、医药超市管理系统

需求分析

根据用户对该系统需求的描述,系统包括以下几个子系统:

1.职工管理

要求能够查询某家门店的职工情况,职工的详细信息;能够添加、删除及更新。

2.门店管理

要求能够提供销售情况。如某门店在某天销售了哪些药品,销售额是多少,某月各门店日平均销售额是多少;能够添加、删除及更新。

3.药品管理

要求能够查询某家门店的某药品存量,或某药品在哪个门店有货,有多少;

能够添加、删除及更新。

4.供应商管理

要求能够查询某门店的某种药品来自于哪个供应商,来自于哪个城市;

能够添加、删除及更新。

关系模式

根据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)

相关文档
最新文档