资源描述
Oracle物流信息管理系统方案
2021-2021学年第二学期《大型数据库技术》大作业课题名称:物流信息管理系统
班级: 14级软工云计算2班
学号:
姓名:
成绩:
2021年5月
一〕ORACLE11g的安装与配置〔20分〕
在自己的电脑上配置安装ORACLE 11g,并创建数据库。具体要求如下:
〔1〕安装版本为企业版
〔2〕在安装时,只安装Oralce服务器。在安装完成后再创建数据库。
安装数据库软件
〔3〕利用DBCA创建数据库,数据库名称为自己姓名的拼音首字母,如某同学的姓名为“张三〞,则数据库的名称则为zs。
在CMD 下面输入DBCA 就可以弹出创建数据库的对话框,是那种图示化的界面
创建数据库设置数据库名称:XP
设置所有用户密码为我的学号:1415925675
〔4〕数据库为共享数据库。
〔5〕创建数据库时选择示例模式。
数据库创建中
数据库创建完成
〔6〕数据库所有的用户使用相同的口令,口令为同学的学号。登录到system用户中
登录到scott用户中
〔二〕用户的创建与权限管理〔20分〕
〔1〕新建一个用户表空间MYTBS,要求大小为500M。MYTBS表空间下有两个数据文件MYTBS1.DBF和MyTBS2.DBF,文件分别放在E和F两个不同的磁盘分区。〔因为在虚拟机里安装的oracle11g所以两个文件都放在了C盘里〕
SQL connect system/1415925675
已连接。
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 1415925675 default tablespace MYTBS; 用户已创建。
SQL grant connect,resource to xp;
授权成功。
SQL alter user xp profile lock_count;
用户已更改。
SQL conn xp/1415925675;
已连接。
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分〕
物流管理系统
该系统目标就是为物流业提供方便快捷管理方式。主要制定:建立业务信息、货物信息、卖家信息、消费者信息;完成业务信息、货物信息、卖家信息、消费者信息;业务实体包括操作员、发货城市、发货站、费用、接洽时间、收货站、收货城市,一个收货人选择业务,收货人包括姓名、身份证号码、年龄、 、地址,一个收货人要网购一种货物,一个货物有标签、名称、体积、重量、包装类型。货物由发货人统一发送,发货人包括姓名、身份证号码、 、地址。
卖家信息〔ID号,,姓名,年龄, ,住址〕;
货物信息〔货物名,货号,体积,重量,包装类型〕;
消费者信息〔ID号,姓名,年龄, ,住址〕;
业务信息〔业务员号,接洽时间,发货站,发货城市,收货站,收货城市〕;
选择信息〔选择号,业务员号,消费者ID号,货物名,费用〕;
运输信息〔运输号,卖家ID号,货物名,发货时间〕
Seller〔ID号,姓名,年龄, ,住址〕;
SQL edit
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
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
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
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
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
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 /
表已创建。
添加卖家信息
1 insert into x_Seller(SeID,Sname,Age,Tell,Adr)
2* values('20212021','徐棚','22','152********','南阳理工学院')
由于上面好多表创建的同时设置的有主键,创建主键的时候会创建同名索引
SQL create index sy1 on x_Transport(Ftime);
SQL create view xb as select Tell,Adr from x_Seller where Sname='徐棚';
SQL edit
1 create view xb2(SeID,Sname,Gname)
2 as
4 from x_Seller,x_Transport
SQL edit
1 create view xb3(Ono,Fhcity,CID,Cost)
2 as
4 from x_Business,x_Select
SQL /
〔四〕PL/SQL编程〔20分〕
系统功能必需通过函数、存储过程、触发器或包实现。至少创建一个函数、一个触发器〔实现级联更新功能〕、2个过程。不能用程序制定语言实现。先描述功能,再写实现代码。
例如:用户登录验证,可以创建一个存储过程,输入参数是用户帐号、用户密码,输出参数是整型值。 -1表示登录失败,0表示没有此用户,1表示登录成功。
SQL create user xbp identified by 1415925675 account unlock;
创建一个陆的存储过程,推断登陆用户的权限,包括同学、教师、系统管理员。 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\XPexpdp xp/1415925675 directory=dump_dir dumpfile=tab.dmp tables=X_GOODS
C:\Users\XPimpdp xp/1415925675 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('2021-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('2021-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;专业资料
word完美格式
展开阅读全文