Oracle大作业.doc

上传人:豆**** 文档编号:23952194 上传时间:2022-07-02 格式:DOC 页数:64 大小:908KB
返回 下载 相关 举报
Oracle大作业.doc_第1页
第1页 / 共64页
Oracle大作业.doc_第2页
第2页 / 共64页
点击查看更多>>
资源描述

《Oracle大作业.doc》由会员分享,可在线阅读,更多相关《Oracle大作业.doc(64页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateOracle大作业Oracle大作业. 第四章 数据库设计五、数据表设计: E-R模型5.1数据库结构及说明物流管理系统数据表及视图设计:管理员登陆表:(login)列 名字符类型长 度备 注UserIDint4主键IDLoginNamechar20用户名UserNamechar20用户姓名PassWordtext16用户密码MemberIDint4Member表外码

2、privilegeint4用户权限对privilege中的值进行说明:系统管理员(1)、财务管理员(2)、业务管理员(3)用户资料表:(Member)列 名字符类型长 度备 注MemberIDint4主键IDMemberNamechar20用户姓名MemAddresschar50用户地址MemPhonechar12用户电话MemMomotext16用户备注建立管理员信息用户视图:(login_VIEW)列 名字符类型长 度备 注UserIDint4主键IDLoginNamechar20用户名UserNamechar20用户姓名privilegeint4用户权限MemAddresschar50用

3、户地址MemPhonechar12用户电话MemberIDint4MemberIDBusiness 业务明细总表编号字段名类型说明备注1Bus_IDint业务流水号(自动)主键2Bus_GoodIDint业务中货物的流水号外键3Bus_TakeUnitIDint托运人的流水号编号外健4Bus_RecverIDint收货人的流水号外键5Bus_FromStation Char(20)从哪个站发货6Bus_FromCityChar(20)从哪个城市发货7Bus_ToStationChar(20)发往哪个联网站8Bus_ToCityChar(20)发往哪个城市9Bus_AcceptTimeDatet

4、ime业务接洽时间10Bus_AcceptOptChar(20)业务接洽操作员11Bus_CastFloat业务所需费用12Bus_IsPaytext客户是否付款(现金/到付)13Bus_Fisishedtext业务是否完成默认未处理BusinessLog 业务操作日志表编号字段名类型说明备住1Log_IDint日志ID主键2Log_BusIDint业务流水号外键3Log_TimeDatetime日志产生时间4Log_Infotext日志信息5Log_OptIPtext业务操作IPCommonWrap常用包装表编号字段名类型说明备注1WrapIDint包装类型ID(自动产生)主键2WrapNa

5、meChar(20)包装类名称3WrapFeqint包装使用频率Entrust 托运人明细表编号字段名类型说明备注1TakeUnit_IDint托运业主ID(自动产生)主键2EntrustManIDChar(18)托运业主身份证号码3EntrustManChar(10)托运业主的姓名4EntrustUnitChar(50)托运业主的单位名称5EntrustUnitAddrtext业主地址6EntrustUnitPhoneChar(13)业主联系电话号码7EntrustUnitPhoneChar(7)业主邮政编码码Receiver收货人明细表编号字段名类型说明备注1Recv_IDint收货业主I

6、D(自动产生)主键2RecverManIDChar(18)收货业主身份证号码3RecverManChar(10)收货业主的姓名4RecverUnitChar(50)收货业主的单位名称5RecverUnitAddrtext收货业主地址6RecverUnitPhoneChar(13)收货业主联系电话号码7RecverUnitZoneChar(7)收货业主邮政编码码Good 货物信息明细表编号字段名类型说明备注1Good_IDint货物流水号自动产生)主键2Good_NameChar(50)货物名称3Good_WrapTypeChar(50)货物包装类型4Good_Volumefloat货物所占体积

7、5Good_Weightfloat货物重量6Good_OperatorChar(20)货物录入操作员7Good_Quantityint货物数量(件数8Good_SignalChar(10)货物的标签9Good_ArriveChar(10)货物是否到站默认在途中Login 登陆信息表编号字段名类型说明备注1UserIDint操作员ID(自动产生)主键2LoginNameChar(20)操作员登陆名3UserNameChar(20)操作员名称4PassWordChar(16)操作员登陆的密码5MemberIDfloat操作员的详细信表ID外键6privilegeint操作员的权限1为最高级Logi

8、nLog 登陆日志表编号字段名类型说明备住1Log_IDint日志ID主键2LogUserChar(20)登陆用户3Log_TimeDatetime日志产生时间4Log_Infotext日志信息5Log_IPChar(10)登陆IPBusinessView视图编号字段名类型说明备住1RecverManIDr.RecverManID收货身份证主键2RecverManr.RecverMan收货人姓名3RecverUnitAddrr.RecverUnitAddr收货人的地址4RecverUnitPhoner.RecverUnitPhone收货人的电话5EntrustManIDe.EntrustMan

9、ID发货人身份证6EntrustMane.EntrustMan发货人的姓名7EntrustUnitPhonee.EntrustUnitPhon发货人的电话8EntrustUnitAde.EntrustUnitAddr发货人的地址9Good_Nameg.Good_Name货物的名称10Good_Signalg.Good_Signal货物的标签11Bus_IDb.Bus_ID业务的流水号12Bus_GoodIDb.Bus_GoodID货物的ID13Bus_RecverIDb.Bus_RecverID发货人的ID14Bus_FromStationb.Bus_FromStation发货站15Bus_A

10、cceptTimeb.Bus_AcceptTime业务的时间16Bus_FromCityb.Bus_FromCity发货的城市17Bus_ToStationb.Bus_ToStation目的站18Bus_ToCityb.Bus_ToCity目的城市19Bus_AcceptOptb.Bus_AcceptOpt业务操作员20Bus_Castb.Bus_Cast业务的费用21Bus_IsPayb.Bus_IsPay付款的方式22Bus_Fisishedb.Bus_Fisished业务处理状态23Good_Arriveg.Good_Arrive货物是否到站24Bus_TakeUnitIDb.Bus_T

11、akeUnitID发货人的ID备注:r :dbo.Receiver, g: dbo.Good, b:dbo.BusinessOracle数据库应用系统的设计与实现1、数据库的创建12、表设计13、ER图14、数据库关系图15、逻辑结构的实现16、存储过程17、建表18、建立外键约束19、创建序列110、创建触发器11、 数据库的创建2、 表设计用户类型表:编号(主键)、类型名列名字符类型长度约束说明utIDVarchar220主键用户类型编号utNameVarchar220非空用户类型用户表:编号(主键)、用户名、密码、用户类型编号(外键)、邮箱列名字符类型长度约束说明userIDVarcha

12、r220主键用户编号userNameVarchar220唯一用户名userPasswordVarchar220用户密码utIDVarchar220外键用户类型编号emailVarchar2100唯一邮箱书籍类型表:编号(主键)、类型名列名字符类型长度约束说明typeIDVarchar220主键类型编号typeNameVarchar220类型名书籍信息表:编号(主键)、名称、价格、库存、图片地址、描述、类型编号(外键)、作者列名字符类型长度约束说明bookIDVarchar220主键书籍编号bookNumberInt书籍库存bookTitleVarchar2250非空书籍名称bookPriceN

13、umber(10,2)价格bokDescVarchar24000书籍描述typeIDVarchar220外键-1书籍类型编号authorVarchar220作者bookStatVarchar220书籍状态购物信息表:用户编号(外键)、商品编号(外键)、商品数量列名字符类型长度约束说明bookNumberint商品数量bookIDVarchar220外键-3书籍编号userIDVarchar220外键-2用户编号订单状态表:编号(主键)、状态名列名字符类型长度约束说明osIDVarchar220主键订单状态编号osNameVarchar220订单状态名收货信息表:编号(主键)、用户编号(外键)、

14、联系电话、收货人、收货地址列名字符类型长度约束说明deliverIDVarchar220主键收货信息编号deliverNameVarchar240收货人姓名deliverPhoneVarchar240联系电话deliverAddressVarchar2500收货地址deliverPostcodeVarchar220收货邮编userIDVarchar220外键-9用户编号identityCardVarchar260收货人身份证号订单表:编号(主键)、下单时间、收货信息编号(外键)、用户编号(外键)、订单状态编号(外键)、订单总价、订单结束时间列名字符类型长度约束说明orderIDVarchar2

15、20主键订单编号createDateDate下单时间orderTotalNumber(10,2)订单总价格endDateDate订单结束时间deliverIDVarchar220外键-7收货信息编号osIDVarchar220外键-8订单状态编号订单商品信息表:商品编号(外键)、订单编号(外键)、商品数量列名字符类型长度约束说明bookNumberint商品数量bookIDVarchar220外键-3商品编号userIDVarchar220外键-2用户编号3、 ER图4、 数据库关系图5、 逻辑结构的实现6、 创建存储过程-存放过程 /*删除不报错过程*/CREATE OR REPLACE P

16、ROCEDURE ifExistDel(sqls varchar2)ASBEGINexecute immediate sqls;exceptionwhen others then dbms_output.put_line(SQLERRM); END ifExistDel; BEGIN -如果表存在则删除 ifExistDel(drop table tb_booksinfo cascade constraints ); ifExistDel(drop table tb_book_type cascade constraints ); ifExistDel(drop table tb_delive

17、rinfo cascade constraints); ifExistDel(drop table tb_order_main cascade constraints); ifExistDel(drop table tb_order_detail cascade constraints); ifExistDel(drop table tb_order_state cascade constraints); ifExistDel(drop table tb_user_main cascade constraints); ifExistDel(drop table tb_user_type cas

18、cade constraints); ifExistDel(drop table tb_shoppinginfo cascade constraints); -如果序列存在则删除 ifExistDel(drop sequence booksinfo_seq); ifExistDel(drop sequence order_main_seq); ifExistDel(drop sequence deliverinfo_seq); ifExistDel(drop sequence user_main_seq); ifExistDel(drop sequence book_type_seq); if

19、ExistDel(drop sequence order_state_seq); END;7、 建表/*书籍信息表*/create table tb_booksinfo(bookID varchar2(20) primary key,bookNumber int, -书籍库存bookTitle varchar2(250) not null, -书籍名称bookPrice number(10,2), -书籍价格bookPicture varchar2(250), -书籍图片地址bookDesc varchar2(4000), -书籍描述typeID varchar2(20), -书籍类型(外键-

20、1)author varchar2(20), -书籍作者bookStat varchar2(20) -书籍状态(下架,上架) ); /*书籍类型表*/create table tb_book_type(typeID varchar2(20) primary key,typeName varchar2(20) ); /*订单表*/create table tb_order_main(orderID varchar2(20) primary key,createDate date, -订单建立时间orderTotal Number(10,2), -订单总价格endDate date, -订单结束时

21、间deliverID varchar2(20), -收货信息编号(外键-7)osID varchar2(20) -订单状态编号(外键-8));/*收货信息表*/ create table tb_deliverinfo(deliverID varchar2(20) primary key, -收货信息编号deliverName varchar2(40), -收货人姓名deliverPhone varchar2(40), -联系电话deliverAddress varchar2(500), -收货地址deliverPostcode varchar2(20), -收货邮编userID varchar

22、2(20), -用户编号(外键-9)identityCard varchar2(60) -收货人身份证号);/*订单书籍信息表*/create table tb_order_detail(orderID varchar2(20), -订单编号(外键-5)bookNumber int, -书籍购买数量bookID varchar2(20) -书籍编号 (外键-6));/*订单状态表*/create table tb_order_state(osID varchar2(20) primary key,osName varchar2(20) -订单状态(审核中,已发货,已签收,未签收,取消));/*

23、用户表*/create table tb_user_main(userID varchar2(20) primary key,userName varchar2(20) unique,userPassword varchar2(20),utID varchar2(20), -用户类型编号(外键-4)email varchar2(100) unique);/*用户类型表*/create table tb_user_type( utID varchar2(20) primary key,utName varchar2(20) not null);/*购物信息表*/create table tb_s

24、hoppinginfo(bookNumber int,bookID varchar2(20), -商品编号(外键-3)userID varchar2(20) -用户编号(外键-2));8、 建立外键约束/*书籍-书籍类型-1*/alter table tb_booksinfo add constraint f_book_type foreign key(typeID) references tb_book_type(typeID);/*购物信息-用户-2*/alter table tb_shoppinginfo add constraint f_shoppinginfo_user foreig

25、n key(userID) references tb_user_main(userID);/*购物信息-书籍-3*/ alter table tb_shoppinginfo add constraint f_shoppinginfo_book foreign key(bookID) references tb_booksinfo(bookID);/*用户-用户类型-4*/alter table tb_user_main add constraint f_user_userType foreign key(utID) references tb_user_type(utID);/*订单书籍-订

26、单-5*/alter table tb_order_detail add constraint f_detail_order foreign key(orderID) references tb_order_main(orderID);/*订单书籍-书籍-6*/alter table tb_order_detail add constraint f_detail_booksinfo foreign key(bookID) references tb_booksinfo(bookID);/*订单-收货信息-7*/alter table tb_order_main add constraint f

27、_order_deliver foreign key(deliverID) references tb_deliverinfo(deliverID);/*订单-订单状态-8*/alter table tb_order_main add constraint f_order_state foreign key(osID) references tb_order_state(osID);/*收货信息-用户-9*/alter table tb_deliverinfo add constraint f_deliver_state foreign key(userID) references tb_us

28、er_main(userID);9、 创建序列/*书籍信息表序列*/create sequence booksinfo_seq start with 1 increment by 1 maxvalue 200000 minvalue 1 nocycle;/*订单表序列*/create sequence order_main_seq start with 1 increment by 1 maxvalue 200000 minvalue 1 nocycle;/*订单状态序列*/ create sequence order_state_seq start with 1 increment by 1

29、 maxvalue 200 minvalue 1 nocycle;/*收货信息表序列*/create sequence deliverinfo_seq start with 1 increment by 1 maxvalue 200000 minvalue 1 nocycle; /*用户表序列 */create sequence user_main_seq start with 1 increment by 1 maxvalue 2000 minvalue 1 nocycle; /*书籍类型表序列*/ create sequence book_type_seq start with 1 inc

30、rement by 1 maxvalue 200000 minvalue 1 nocycle; 10、 创建触发器创建触发器 CREATE OR REPLACE TRIGGER test_trigger AFTER DELETE OR INSERT OR UPDATE ON test DECLARE v_type test_log.l_type%TYPE; BEGIN IF INSERTING THEN -INSERT触发 v_type := INSERT; DBMS_OUTPUT.PUT_LINE(记录已经成功插入,并已记录到日志); ELSIF UPDATING THEN -UPDATE触

31、发 v_type := UPDATE; DBMS_OUTPUT.PUT_LINE(记录已经成功更新,并已记录到日志); ELSIF DELETING THEN v_type := DELETE; DBMS_OUTPUT.PUT_LINE(记录已经成功删除,并已记录到日志); END IF; INSERT INTO test_log VALUES(user,v_type, TO_CHAR(sysdate,yyyy-mm-dd hh24:mi:ss); END; / -下面我们来分别执行DML语句 INSERT INTO test VALUES(101,zhao,22,M); UPDATE test SET t_age = 30 WHERE t_id = 101; DELETE test WHERE t_id = 101; -然后查看效果 SELECT * FROM test; SELECT * FROM test_log; -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁