1、销售额记录各门店的每日销售情形。门店编号,药品编号,销售数量,单价,日期。药品记录药品的差不多信息。编号,名称,条码。存货量记录药品在各门店的存货情形。药品编号,门店编号,存货量。供应商记录供应商的差不多信息。编号,名称,都市,地址,电话。供应记录各门店的进货情形。门店编号,药品编号,供应商编号,进货单价,进货数量,进货日期。数据字典:数据项类型长度取值范畴与其他数据项的逻辑关系职工编号字符型55Byte非空且能够唯独标识一个职工职工姓名60-6Byte非空职工性不22Byte职工年龄无符号整型11 Byte非空且不小于18职工职务100-10 Byte门店编号5 Byte非空且能够唯独标识一
2、个门店门店地址500-50 Byte门店邮编6 Byte门店电话150-15 Byte药品编号0-5 Byte非空且能够唯独标识一种药品药品名称200-20 Byte药品条码非空且唯独销售数量不小于0销售单价浮点型销售日期DATE型20 Byte供应商编号非空且能够唯独标识一个供应商供应商名称供应商都市供应商地址供应商电话进货单价非空且不小于0进货数量进货日期ER图关系模式按照ER图设计关系模式如下:将每个实体转化为一个关系模式,职工与门店的m:1的联系与m端的关系模式合并,门店与药品的m:n的销售联系和储存联系转化为单独的关系模式,门店、药品与供应商之间的m:n:p的联系转化为单独的关系模式
3、,得到所有的关系模式如下(下划线的属性为主码):职工(编号,姓名,性不,年龄,职务,所属门店编号)Employee ( Eno ,Ename , Esex ,Eage , Estate , SHno );门店(编号,地址,邮编,电话)药品(编号,名称,条码)Drug ( Dno , Dname , Dnum );供应商(编号,名称,都市,地址,电话)销售(门店编号,药品编号,数量,单价,日期)Sale ( SHno , Dno , SAamout , SAprice , SAdate );储存(门店编号,药品编号,存货量)Store ( SHno , Dno , STamout );供应(门店
4、编号,供应商编号,药品编号,单价,数量,日期)Supply ( SHno , SUno , Dno , Sprice , Samout ,Sdate)。规范化每个职工的编号是唯独的,承诺同名。该关系模式的函数依靠: 编号姓名,编号性不,编号年龄,编号职务,编号所属门店编号非主属性完全函数依靠于码,同时不存在非主属性对码的传递依靠,属3NF。每个门店的编号是唯独的。 编号地址,编号邮编,编号电话每种药品的编号是唯独的,条码也是唯独的。 编号名称,编号条码,条码名称,条码编号 编号名称,编号都市,编号地址,编号电话 (门店编号,药品编号,日期)数量,(门店编号,药品编号,日期)单价 (门店编号,药
5、品编号)存货量 (门店编号,供应商编号,药品编号,日期)单价,(门店编号,供应商编号,药品编号,日期)数量建表语句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 CH
6、AR(5) PRIMARY KEY,SHaddress VARCHAR(50) NOT NULL,SHpost CHAR(6),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),create ta
7、ble Sale( SHno CHAR(5), Dno CHAR(5), SAamout SMALLINT CHECK(SAamout=0), SAprice FLOAT(10) CHECK(SAprice SAdate DATE NOT NULL, PRIMARY KEY (SHno , Dno , SAdate) FOREIGN KEY (SHno) REFERENCES Shop(SHno), FOREIGN KEY (Dno) REFERENCES Drug(Dno)create table StoreSTamout SMALLINT CHECK(STamoutPRIMARY KEY
8、(SHno , Dno),FOREIGN KEY (SHno) REFERENCES Shop(SHno),FOREIGN KEY (Dno) REFERENCES Drug(Dno)create table Supply( SUno CHAR(5), Sprice FLOAT(5) NOT NULL CHECK(Sprice Samout SMALLINT NOT NULL CHECK(Samout Sdate DATE NOT NULL, PRIMARY KEY (SUno , Dno , Sdate), FOREIGN KEY (SUno) REFERENCES Supplier(SUn
9、o),)查询查询某家门店的职工情形,职工的详细信息。例如查询编号为“11111”的店的职工信息:select *from Employeewhere SHno=11111;查询某家门店的某药品存量?或某药品在哪个门店有货?有多少?例如查询编号为“11111”的门店的编号为“22222”的药品存量:select STamoutfrom Storewhere SHno=11111 and Dno=22222;例如查询编号为“22222”的药品在那个门店有货及存货量:select SHno , STamoutwhere Dno=22222 and STamout0; 提供销售情形。如某门店在某天销售
10、了哪些药品?销售额是多少?某月各门店日平均销售额是多少?例如查询编号为“11111”的门店在2010年11月1号销售了哪些药品(显示药品编号及名称),销售额是多少:select Sale.Dno , Dname , SAamout , SAprice , SAamout*SAprice as Totalfrom Sale , Drugwhere SHno=11111 and SAdate=2010-11-1 and Sale.Dno =Drug.Dno;能够查询某门店的某种药品来自于哪个供应商?来自于哪个都市?例如查询编号为“11111”的门店的编号为“22222”的药品来自于哪个供应商(显示
11、编号及名称),来自于哪个都市:select distinct SUno , SUname , SUcityfrom Supply , Supplier where SHno=11111 and Dno=22222 and Supply.SUno=Supplier.SUno;需要具有数据插入,删除以及更新功能。例如向Drug表中插入编号为22222、名称为板蓝根冲剂、条码为123456789SA的药品:insertinto Drugvalues (22222,板蓝根冲剂,123456789SA);例如删除编号为11111的供应商信息:deletefrom Supplierwhere SUno=11111;例如将编号为11111的门店中的编号为22222的药品存货量改为12update Storeset STamout=12
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1