收藏 分销(赏)

Oracle物流信息管理系统样本.doc

上传人:丰**** 文档编号:3634177 上传时间:2024-07-11 格式:DOC 页数:38 大小:1.69MB 下载积分:12 金币
下载 相关 举报
Oracle物流信息管理系统样本.doc_第1页
第1页 / 共38页
Oracle物流信息管理系统样本.doc_第2页
第2页 / 共38页


点击查看更多>>
资源描述
资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。 - 第二学期《大型数据库技术》大作业 课题名称: 物流信息管理系统 班 级: 14级软工云计算2班 学 号: 姓 名: 成 绩: 5月 一) ORACLE11g的安装与配置( 20分) 在自己的电脑上配置安装ORACLE 11g, 并创立数据库。具体要求如下: (1) 安装版本为企业版 (2) 在安装时, 只安装Oralce服务器。在安装完成后再创立数据库。 安装数据库软件 (3) 利用DBCA创立数据库, 数据库名称为自己姓名的拼音首字母, 如某学生的姓名为”张三”, 则数据库的名称则为zs。 在CMD 下面输入DBCA 就能够弹出创立数据库的对话框,是那种图示化的界面 创立数据库 设置数据库名称: XP 设置所有用户密码为我的学号: (4) 数据库为共享数据库。 (5) 创立数据库时选择示例模式。 数据库创立中 数据库创立完成 (6) 数据库所有的用户使用相同的口令, 口令为学生的学号。 登录到system用户中 登录到scott用户中 ( 二) 用户的创立与权限管理( 20分) ( 1) 新建一个用户表空间MYTBS, 要求大小为500M。MYTBS表空间下有两个数据文件MYTBS1.DBF和MyTBS2.DBF, 文件分别放在E和F两个不同的磁盘分区。( 因为在虚拟机里安装的oracle11g因此两个文件都放在了C盘里) SQL> connect system/ 已连接。 SQL> create tablespace mytbs datafile 'c:\mytbsl.dbf' size 30m,'c:\mytbs2.dbf' s ize 20m; 表空间已创立。 (2) 创立用户配置文件userprofile, 要求密码的生存周期为30天, 允许输入错误的密码不得超过5次, 超过5次密码锁2天。( 用语句查看该配置文件中的资源配置结果, dba_profiles数据字典表, 截图语句及查询结果) SQL> create profile lock_count limit password_life_time 30 failed_login_attempts 5 password_lock_time 2; 配置文件已创立 SQL> select * from dba_profiles where profile='LOCK_COUNT'; (3) 新建一个用户, 用户名称为学生姓名的首字母, 密码为学生的学号。如学生姓名为”张三”, 则用户名称则为zs。为新帐号设置默认表空间为MYTBS。系统所有对象必须建立在该帐号下, 所有对象必须存储在MYTBS表空间中。用户的配置文件为userprofile; ( 用语句查看新建的用户默认表空间, dba_users数据字典表, 截图语句及查询结果) SQL> create user xp identified by default tablespace MYTBS; 用户已创立。 SQL> grant connect,resource to xp; 授权成功。 SQL> alter user xp profile lock_count; 用户已更改。 SQL> conn xp/; 已连接。 SQL> show user; USER 为 "XP" SQL> select username,account_status,lock_date,expiry_date from dba_users a where a.username='XP'; USERNAME ACCOUNT_STATUS LOCK_DATE ------------------------------ -------------------------------- -------------- EXPIRY_DATE -------------- XP OPEN 27-6月 -16 (4) 为用户赋予登录Oracle的权限; 为用户赋予创立任何表、 创立任何索引的权限; 将DBA的角色给新建用户; 查看对应的用户获得的权限和角色( 用数据字典表user_sys_privs,user_tab_privs,user_role_等, , 截图语句及查询结果) SQL> grant connect,resource to xp; 授权成功。 SQL> select username,default_tablespace from user_users; SQL> select * from user_sys_privs; SQL> select * from user_tab_privs; SQL> select * from user_role_privs; ( 5) 用新建的帐号登录。并执行show user命令, 显示当前登录用户。 完成以上命令, 并写入文档中。 ( 三) Oracle对象的创立与管理( 20分) 物流管理系统 1.需求分析 该系统目标就是为物流业提供方便快捷管理方式。主要设计: 建立业务信息、 货物信息、 卖家信息、 消费者信息; 完成业务信息、 货物信息、 卖家信息、 消费者信息; 业务实体包括操作员、 发货城市、 发货站、 费用、 接洽时间、 收货站、 收货城市, 一个收货人选择业务, 收货人包括姓名、 身份证号码、 年龄、 电话、 地址, 一个收货人要网购一种货物, 一个货物有标签、 名称、 体积、 重量、 包装类型。货物由发货人统一发送, 发货人包括姓名、 身份证号码、 电话、 地址。 2. 数据库设计 卖家信息( ID号, , 姓名, 年龄, 电话, 住址) ;   货物信息( 货物名, 货号, 体积, 重量, 包装类型) ;   消费者信息( ID号, 姓名, 年龄, 电话, 住址) ;   业务信息( 业务员号, 接洽时间, 发货站, 发货城市, 收货站, 收货城市) ;   选择信息( 选择号, 业务员号, 消费者ID号, 货物名, 费用) ;   运输信息( 运输号, 卖家ID号, 货物名, 发货时间) Seller( ID号, 姓名, 年龄, 电话, 住址) ;   SQL> edit 已写入 file afiedt.buf 1 create table x_Seller( 2 SeID char(20) primary key, 3 Sname char(10)not null, 4 Age char(10), 5 Tell char(20) not null, 6 Adr char(20)not null 7* ) 8 SQL> / 表已创立。 Goods( 货物名, 货号, 体积, 重量, 包装类型) ; SQL> edit 已写入 file afiedt.buf 1 create table x_Goods( 2 Gname char(10) primary key, 3 Gno char(10) not null, 4 Volume char(10), 5 Weight char(10), 6 Pack char(10) 7* ) SQL> / 表已创立。 Consume( ID号, 姓名, 年龄, 电话, 住址) ;   SQL> edit 已写入 file afiedt.buf 1 create table x_Consume( 2 CID char(20) primary key, 3 Cname char(10)not null, 4 Age char(10), 5 Tell char(20) not null, 6 Adr char(20) 7* ) SQL> / 表已创立。 Business( 业务员号, 接洽时间, 发货站, 发货城市, 收货站, 收货城市) ;   SQL> edit 已写入 file afiedt.buf 1 create table x_Business( 2 Ono char(4) primary key, 3 Jtime char(10) not null, 4 Fhz char(10) not null, 5 Fhcity char(10) not null, 6 Shz char(10) not null, 7 Shcity char(10) not null 8* ) 9 ; 表已创立。 Select( 选择号, 业务员号, 消费者ID号, 货物名, 费用) ;   SQL> edit 已写入 file afiedt.buf 1 create table x_Select( 2 Xno char(10), 3 Ono char(4), 4 CID char(20), 5 Gname char(10), 6 Cost char(10), 7 primary key (Xno,Ono,CID,Gname), 8 foreign key (Ono)references x_Business(Ono), 9 foreign key (CID)references x_Consume(CID), 10 foreign key (Gname)references x_Goods(Gname) 11* ) SQL> / 表已创立。 Transport( 运输号, 卖家ID号, 货物名, 发货时间) SQL> edit 已写入 file afiedt.buf 1 create table x_Transport( 2 Yno char(10), 3 SeID char(20), 4 Gname char(10), 5 Ftime char(10) not null, 6 primary key(Yno,SeID,Gname), 7 foreign key (SeID)references x_Seller(SeID), 8 foreign key (Gname)references x_Goods(Gname) 9* ) SQL> / 表已创立。 3.添加数据信息 添加卖家信息 已写入 file afiedt.buf 1 insert into x_Seller(SeID,Sname,Age,Tell,Adr) 2* values(' ','徐棚','22','','南阳理工学院') 添加消费者信息 insert into x_Consume values(' ','许仙','21','','东南山') insert into x_Goods values('、 ','1415925','2','3kg','精装') insert into x_Business values('110',' 525','圆通站1','郑州','圆通站2','南京') insert into x_Select values('0','110',' ','枇杷果','500$') insert into x_Transport values(' 618',' ','枇杷果',' 520') 4.建立索引 由于上面好多表创立的同时设置的有主键, 创立主键的时候会创立同名索引 SQL> create index sy1 on x_Transport(Ftime); 5. 视图创立 SQL> create view xb as select Tell,Adr from x_Seller where Sname='徐棚'; SQL> edit 已写入 file afiedt.buf 1 create view xb2(SeID,Sname,Gname) 2 as 3 select x_Seller.SeID,x_Seller.Sname,x_Transport.Gname 4 from x_Seller,x_Transport 5* where x_Seller.SeID=x_Transport.SeID SQL> edit 已写入 file afiedt.buf 1 create view xb3(Ono,Fhcity,CID,Cost) 2 as 3 select x_Business.Ono,x_Business.Fhcity,x_Select.CID,x_Select.Cost 4 from x_Business,x_Select 5* where x_Business.Ono=x_Select.Ono SQL> / ( 四) PL/SQL编程( 20分) 系统功能必须经过函数、 存储过程、 触发器或包实现。至少创立一个函数、 一个触发器( 实现级联更新功能) 、 2个过程。不能用程序设计语言实现。先描述功能, 再写实现代码。 例如: 用户登录验证, 能够创立一个存储过程, 输入参数是用户帐号、 用户密码, 输出参数是整型值。 -1表示登录失败, 0表示没有此用户, 1表示登录成功。 SQL> create user xbp identified by account unlock; grant create session,create table,create view,create any procedure,create role,create sequence to xbp; 连接xbp用户, 然后建立四张表( 关于学生管理系统的表) create table studentInfo ( stuID char(10) primary key, stuName char(20) not null, sex char(8)not null, spec char(20)not null, class char(20)not null, brithday char(20)not null, address char(20)not null ) SQL> insert into studentInfo values( 1,'路人甲','女','软件学院','云计算2班','1994- 5-25','南阳'); 建立courses表 create table Courses ( courID char(10) primary key, courName char(15) not null, creditHour number(2,0) not null, creditScore number(3,1)not null ); insert into courses values(1201,'数据库一班',26,2.0); insert into courses values(1202,'软件设计一班',32,2.5); insert into courses values(1203,'数据库二班',26,2.0); insert into courses values(1204,'软件设计二班',32,3.0); insert into courses values(1205,'数据库计三班',26,2.0); 建立scores  create table scores ( stuID char(10), stuName char(20) not null, class char(20) not null, courID char(10), usualScore number(3,1) not null, testScore number(3,1) not null, constraint scores_stuID foreign key(stuID) references studentInfo(stuID), constraint scores_courseID foreign key(courID) references courses(courID) ) insert into scores values( 01,'李力','软件设计一班',1202,90.0,95.0); insert into scores values( 02,'王雪','软件设计二班',1204,95.0,96.0); insert into scores values( 03,'李冰','数据库一班',1201,80.0,90.0); insert into scores values( 04,'张丽','数据库二班',1203,85.0,90.0); insert into scores values( 05,'赵水','数据库计三班',1205,60.0,95.0); 建立users表 insert into users values('student',14159256,'学生'); insert into users values('admin',14159256,'管理员'); insert into users values('teacher',14159256,'教师'); 创立一个陆的存储过程, 判断登陆用户的权限, 包括学生、 教师、 系统管理员。 create or replace procedure login( p_name in users.userName%type, p_password in users.password%type) As v_password users.password%type; /*判别输入的密码是否正确*/ v_usertype users.usertype%type; /*判别该用户的管理等级*/ begin select password,usertype into v_password,v_usertype from users where userName=p_name; /*核对用户是否存在*/ begin if v_password=p_password then /*验证密码*/ begin if v_usertype='学生' then dbms_output.put_line('学生'||p_name||'登陆成功'); elsif v_usertype='教师' then dbms_output.put_line('教师'||p_name||'登陆成功'); elsif v_usertype='系统管理员' then dbms_output.put_line('系统管理员'||p_name||'登陆成功'); end if; end; else dbms_output.put_line('密码输入错误, 该用户登录失败'); end if; end; exception when no_data_found then dbms_output.put_line('该用户不存在!'); end login; SQL> set serveroutput on SQL> declare 2 begin 3 login('student','14159256'); 4 end; 5 / 学生student登陆成功 PL/SQL 过程已成功完成。 ( 五) Oracle备份与导出( 20分) 利用备份和还原的有关知识。设置数据库的备份方案。设计数据库备份和恢复的方法, 并写出相关的命令和操作。 (1) 设置归档模式。 查看当前文档归档模式 SQL> select log_mode from v$database; SQL> shutdown immediate; SQL> startup mount; (2) 归档当前日志。 (3) 数据库完全备份及实现。 数据库查询文件datafile的所在目录 SQL> select name from v$datafile; 关闭数据库, 能够直接拷贝数据库所有文件 shutdown immediate; (4) 数据库完全恢复及实现。 recover datafile  (5) 利用数据泵实现逻辑导出与导入。 SQL> create directory dump_dir as 'c:\dump'; SQL> grant write,read on directory dump_dir to xp; SQL> select table_name from user_tables; C:\Users\XP>expdp xp/ directory=dump_dir dumpfile=tab.dmp tables=X_GOODS C:\Users\XP>impdp xp/ directory=dump_dir dumpfile=tab.dmp tablespaces=X_GOODS (6) 举例说明闪回技术使用( 闪回查询、 闪回表、 闪回删除等) 。 在xp里新建一个emp表 SQL> create table emp(id int,name char(20) ); SQL> conn / as sysdba 已连接。 SQL> grant execute on dbms_flashback to xp; 授权成功。 闪回查询: 1、 alter database flashback on; SQL> set time on; 17:54:46 SQL> select * from emp as of timestamp to_timestamp(' -5-30 17:52:26 ','YYYY-MM-DD HH24:MI:SS'); ID NAME ---------- -------------------- 1 aaaaa 闪回表: 17:58:49 SQL> delete from emp; 已删除 1 行。 17:59:24 SQL> alter table emp enable row movement; 表已更改。 18:00:03 SQL> flashback table emp to timestamp to_timestamp(' -5-30 17:58:49' ,'yyyy-mm--ddhh24:mi:ss'); 闪回完成。 闪回删除: 18:02:30 SQL> drop table emp; 表已删除。 18:04:13 SQL> flashback table emp to before drop;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 行业资料 > 物流/供应链

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服