ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:20.30KB ,
资源ID:29782830      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29782830.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库设计优秀作品范例.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库设计优秀作品范例.docx

1、数据库设计优秀作品范例数据库设计与实现实训报告完成人: 完成时刻:2012年12月21日项目名称:超市商品管理系统项目功能:1.入库表、出库表、供给商表、营业员表、销售表的录入和贮存;2.依照用销售表的要求出各个商品的销售额和所有商品的销售总额单;3.依照用入库表的要求出各个商品的进价额单;4.由供给商表、入库表生成商品所属供给商表;5.生成商品盈利表;6.生成商品表。数据库设计与制作:一、表结构:一、GYSB(供给商信息表)的创建。列名说明数据类型长度约束GYSBH供应商编号Char8主键NAME姓名Char20不允许为空SEX性别Char3检查(check)约束ADDRESS地址Char5

2、0不允许为空PHONE电话Varchar220不允许为空二、RKB(入库表) 的创建。列名说明数据类型长度约束SPBH商品编号Char8主键SPMC商品名称VarChar220不允许为空,外键GYSBH供应商编号Char8不允许为空,外键SPSL数量Number7不允许为空PRICE单价(元)Number7不允许为空LEIBIE类别VarChar220不允许为空GUIGE规格VarChar220不允许为空CFWZ存放位置VarChar250不允许为空 YT用途VarChar2100不允许为空RQ日期DATE默认为空3、CKB(出库表)的创建。列名说明数据类型长度约束SPBH商品编号Char8不

3、允许为空,外键NAME商品名称VarChar220主键SPSL数量Number7不允许为空PRICE单价(元)Number7不允许为空YYYH营业员号Char 20不允许为空,外键RQ日期DATE默认为空4、YEYB(营业员信息表)的创建。列名说明数据类型长度约束YYYH营业员号Char 20主键NAME营业员姓名VarChar220不允许为空PHONE电话Varchar220不允许为空五、SPXSB(商品销售表) 的创建。列名说明数据类型长度约束SPBH商品编号Char8主键NAME商品名称VarChar220不允许为空SPSL数量Number7不允许为空PRICE单价(元)Number7不

4、允许为空XSE销售额VarChar220允许为空RQ日期DATE默认为空二、SQL语句:注意:创建数据库语句 ,请写在这里一、创建GYSB(供给商信息表)create table GYSB(GYSBH char(8) primary key, NAME char(8) not null, SEX char(2) check(SEX in(男,女), ADDRESS char(50) not null, PHONE Varchar2(20) not null);注意:创建约束的语句写在这里-为GYSB表创建名为GYSB_squ(序号)序列。-create sequence GYSB_squinc

5、rement by 1start with 1nocyclenocache;-利用序列的SQL语句对表GYSB插入数据。-insert into GYSB(GYSBH,NAME,SEX,ADDRESS,PHONE)values,李林,男,陕西省商洛市丹循环工业经济区,001);insert into GYSB(GYSBH,NAME,SEX,ADDRESS,PHONE)values,李海,男,重庆市渝中区,001);insert into GYSB(GYSBH,NAME,SEX,ADDRESS,PHONE)values,张东林,男,河南省信阳市平桥区,001);insert into GYSB(

6、GYSBH,NAME,SEX,ADDRESS,PHONE)values,王明,男,河南省驻马店市永辉批发超市,001);insert into GYSB(GYSBH,NAME,SEX,ADDRESS,PHONE)values,王林林,女,河南省信阳市浉河区,01);insert into GYSB(GYSBH,NAME,SEX,ADDRESS,PHONE)values,赵权,男,河南省信阳市羊山区,074);-为GYSB表创建名为GYSB_view的视图。-create view GYSB_viewasselect * from GYSB;-为GYSB表的GYSBH,NAME字段创建索引。-c

7、reate index GYSBH_sqlon GYSB(GYSBH,NAME)tablespace userspctfree 10;-按照营业员编号(GYSBH_no)创建一个查询GYSB表,查询供给商的姓名(NAME)的进程。-create or replace procedure pro_GYSB(GYSBH_no char)as XNAME char(8); DPHONE Varchar2(20);begin select NAME,PHONE into XNAME,DPHONE from GYSB where GYSBH=GYSBH_no; (供给商的姓名是:|XNAME); (电话

8、号码是:|DPHONE);exception when no_data_found then (供给商的编号为找到!);end;-按照供给商姓名创建一个查询GYSB表,来查询供给商的地址的进程。-create or replace procedure proce_GYSB(NAME_na char)as DADDRESS char(50);begin select ADDRESS into DADDRESS from GYSB where NAME=NAME_na; (供给商的地址是:|DADDRESS);exception when no_data_found then (供给商的姓名为找到

9、!);end;-创建程序包,此程序包有两个进程。进程按照营业员编号打印供给商的姓名、电话号码、地址。编写挪用程序执行(利用GYSB表)。-create or replace package pack_GYSBis procedure pro_GYSB(GYSBH_no char); procedure proce_GYSB(NAME_na char);end pack_GYSB;create or replace package body pack_GYSBas procedure pro_GYSB(GYSBH_no char)is XNAME char(8); DPHONE Varchar2

10、(20);begin select NAME,PHONE into XNAME,DPHONE from GYSB where GYSBH=GYSBH_no; (供给商的姓名是:|XNAME); (电话号码是:|DPHONE);exception when no_data_found then (供给商的编号为找到!);end;procedure proce_GYSB(NAME_na char)is DADDRESS char(50);begin select ADDRESS into DADDRESS from GYSB where NAME=NAME_na; (供给商的地址是:|DADDRE

11、SS);exception when no_data_found then (供给商的姓名为找到!);end;end; -在GYSB表上成立触发器,在更新表之前触发。并显示供给商的编号、姓名。-create trigger biud_GYSBbefore insert or update or deleteon GYSBbegin select GYSBH,NAME from GYSB ; (供给商的编号是:|DADDRESS); (供给商的姓名是:|NAME);end;注意:若是有事务,请写在这里二、RKB(入库表) 的创建。create table RKB(SPBH char(8) pri

12、mary key, SPMC varchar2(20) not null, GYSBH char(8) not null, SPSL number(7) not null, PRICE number(7) not null, LEIBIE varchar2(20) not null, GUIGE varchar2(20) not null, CFWZ varchar2(50) not null, YT varchar2(100) not null, RQ date default null, constraint fk_3 foreign key(SPMC) references CKB(NA

13、ME), constraint fk_4 foreign key(GYSBH) references GYSB(GYSBH); tablespace users pctfree 10 pctused 100 initrans 1 maxtrans 255;注意:创建约束的语句请写在这里。-为RKB表创建名为syn_RK的public 同义词,然后用select语句查询。-create public synonym syn_RK for RKBselect * from RKBselect * from syn_RK-为RKB表创建名为RKB_squ(序号)序列。-create sequence

14、 RKB_squstart with 100001nocyclenocacheorder;-利用序列的SQL语句对表RKB插入数据。-insert into RKB(SPBH,SPMC,GYSBH,SPSL,PRICE,LEIBIE,GUIGE,CFWZ,YT)values,雪碧,3,1000,3,饮料,500ml,饮料区,饮用);insert into RKB(SPBH,SPMC,GYSBH,SPSL,PRICE,LEIBIE,GUIGE,CFWZ,YT)values,五香瓜子,5,200,4,零食,30kg,食物区,吃);insert into RKB(SPBH,SPMC,GYSBH,SP

15、SL,PRICE,LEIBIE,GUIGE,CFWZ,YT)values,绿豆糕,7,500,3,食物,15kg,食物区,吃);insert into RKB(SPBH,SPMC,GYSBH,SPSL,PRICE,LEIBIE,GUIGE,CFWZ,YT)values,北京方便面,9,500,5,食物,5kg,食物区,吃);-为RKB表创建名为RKB_view的视图。-create view RKB_viewasselect SPBH,SPMC,GYSBH,SPSL,PRICE,RQ from RKB;-为RKB表的SPBH,SPMC字段创建索引。-create index RKB_sqlon

16、 RKB(SPBH,SPMC)tablespace userspctfree 10storage(initial 128k next 128k minextents 1 maxextents 100 pctincrease 5);-按照商品编号(SPBH_no)创建一个查询RKB表,返回商品的商品名称,数量,单价(SPPNAME,SSPSL,SPRICE)的进程。-create or replace procedure pro_RKB(SPBH_no char)as SPPNAME varchar2(20); SSPSL number(7) ; SPRICE number(7);begin s

17、elect SPSL,PRICE,SPMC into SPPNAME,SSPSL,SPRICE from RKB where SPBH=SPBH_no; (商品名称:|SPPNAME); (数量:|SSPSL); (单价:|SPRICE);exception when no_data_found then (商品编号为找到!);end pro_RKB;beginpro_RKB(100002);end;-按照商品编号(SPBH_no)创建一个查询RKB表,返回供给商编号(GYSBH)的进程。-create or replace procedure proce_RKB(SPBH_no char)a

18、s SGYSBH char(8);begin select GYSBH into SGYSBH from RKB where SPBH=SPBH_no; (供给商编号:|SGYSBH);exception when no_data_found then (商品编号为找到!);end proce_RKB;beginproce_RKB(100002);end;-编写函数以同意商品的商品编号来计算各类商品的金额。-create or replace function fun_RKB(SPBH_no char)return numberas i Char:=100001; x number(7); y

19、 number(7); RKB_sum number:=0;begin select SPSL,PRICE into x,y from RKB where SPBH=SPBH_no; for i in 100001.100004 loop RKB_sum:=x*y; end loop; return RKB_sum;exception when no_data_found then (商品编号为找到!);end fun_RKB;-创建程序包,此程序包有两个进程和一个函数。进程按照商品编号打印商品名称,数量,单价、供给商编号。函数按照商品编号返回各类商品的金额。编写挪用程序执行(利用RKB表)。

20、create or replace package pack_RKBis procedure pro_SPXSB(SPBH_no char); function fun_SPXSB(SPBH_no char)return number;end;create or replace package body pack_RKBas procedure pro_RKB(SPBH_no char)is SPPNAME varchar2(20); SSPSL number(7) ; SPRICE number(7);begin select SPSL,PRICE,SPMC into SPPNAME,SSP

21、SL,SPRICE from RKB where SPBH=SPBH_no; (商品名称:|SPPNAME); (数量:|SSPSL); (单价:|SPRICE);exception when no_data_found then (商品编号为找到!);end pro_RKB;procedure proce_RKB(SPBH_no char)is SGYSBH char(8);begin select GYSBH into SGYSBH from RKB where SPBH=SPBH_no; (供给商编号:|SGYSBH);exception when no_data_found then

22、(商品编号为找到!);end proce_RKB;function fun_RKB(SPBH_no char)return numberis i Char:=100001; x number(7); y number(7); RKB_sum number:=0;begin select SPSL,PRICE into x,y from RKB where SPBH=SPBH_no; for i in 100001.100004 loop RKB_sum:=x*y; end loop; return RKB_sum;exception when no_data_found then (商品编号为

23、找到!);end fun_RKB;end pack_RKB; -在RKB表上成立触发器,在更新表之前触发。不允许该商品编号是“100000”。-create trigger biud_RKBbefore insert or update or deleteon RKBbegin if(to_char(SPBH)!=100000)then raise_application_error(-20600,商品编号不能是“100000”); end if;end;注意:若是有事务,请写在这里。3、CKB(出库表)的创建。create table CKB(SPBH char(8) not null, N

24、AME varchar2(20) primary key, SPSL number(7) not null, PRICE number(7) not null, YYYH char(20) not null, RQ date default null, constraint fk_1 foreign key(YYYH) references YEYB(YYYH), constraint fk_2 foreign key(SPBH) references SPXSB(SPBH); tablespace users pctfree 10 pctused 100 initrans 1 maxtran

25、s 255;注意:创建约束语句,请写在这里。-为CKB表创建名为CKB_squ(序号)序列。-create sequence CKB_squstart with 100001nocyclenocacheorder;-利用序列的SQL语句对表CKB插入数据。-insert into CKB(SPBH,NAME,SPSL,PRICE,YYYH)values,雪碧,1000,3,1001);insert into CKB(SPBH,NAME,SPSL,PRICE,YYYH)values,五香瓜子,200,4,1002);insert into CKB(SPBH,NAME,SPSL,PRICE,YYY

26、H)values,绿豆糕,500,3,1004);insert into CKB(SPBH,NAME,SPSL,PRICE,YYYH)values,北京方便面,500,5,1005);-为CKB表创建名为CKB_view的视图。-create view CKB_viewasselect * from CKB;-为CKB表的SPMC字段创建索引。-create index CKBqlon CKB(NAME)tablespace userspctfree 10storage(initial 128k next 128k minextents 1 maxextents 100 pctincrease 5);-按照商品编号(SPBH_no)创建一个查询CKB表,返回商品的商品名称(SPNAME)的进程。-create or replace procedure pro_CKB(SPBH_no char)as SPNAME varchar2(20);begin select NAME into SPNAME from CKB where SPBH=SPBH_no; (商品名称:|SPNAME);exception when no_data_found then (商品编号为找到!);end pro_CKB;beginpro_CKB(100002);end;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1