实验七 SQL和数据库管理综合练习和答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL和数据管理综合练习
1.创建一个表空间mytablespace,以存放下述所创建的所有用
户、表、索引、视图、序列等
2.创建一个用户myuser置于mytablespace表空间中。授予其创
建会话、创建表、创建视图、创建序列、创建同义词、对表空间无限使用的系统权限,可以查看、更新、删除、插入dept和emp表的对象权限。
3.创建一个概要文件来限制会话总的连接时间为100分钟,用
户登录次数不得超过3次。
4.以myuser身份连接数据库
5. 创建student表、course表、grade表,也放于mytablespace
表空间中
其具体描述如下:
student表
约束
主键
不为空
不为空,取值在18~30
之间
course表
约束
主键
不为空
不为空,取值2,3,4,5,6之
间
score表
约束
主键,单独sno,cno为外键
不为空,取值0~100之间
,1)
6.分别向3个表中插入3行数据:数据如下
('s001' ,'mike' ,20 )
('s002' ,'jerry' ,19 )
('s003' ,'tom' ,20 )
('c001' ,'oracle' ,4 )
('c002' ,'java' ,4 )
('c003' ,'c++' ,6 )
('s001' ,'c001' ,80 )
('s001' ,'c002' ,90 )
('s002' ,'c001' ,85 )
如果出现错误修改或删除其中存在的记录
7.为course表的cname列上加唯一值索引,也放于mytablespace
表空间中
8.为scott.emp和scott.dept表创建同义词semp和sdept
9.创建emp、dept表的备份empbak、deptbak
10.创建视图view1以查询所有学生的选课情况
创建视图view2以查询所有学生所学课程情况和成绩情况
创建视图view3以求取每个学生的平均成绩
创建视图view4以求取没有学生选择的课程信息
通过SELECT * FROM view1来查看结果
11.再以myuser身份打开一个sqlplus,其提示符设置为USER2>
在USER>提示符下锁定student表,向student表中插入一条数据。
然后在USER2>下向student表中插入一样的数据,观察并发事务处理现象
12.备份整个myuser方案
13.删除myuser用户及其所有内容
14.恢复myuser方案
答案
SQL> conn system/sys@orcl
已连接。
SQL> create tablespace yxm39tablespace
2 datafile'h:\yxm39tablespace.dbm'
3 size 100M reuse;
表空间已创建。
SQL> create user yxm39user identified by yxm39
2 default tablespace yxm39tablespace;
用户已创建。
SQL> grant create session,create view, create table,create any index, 2 create synonym,unlimited tablespace to yxm39user;
授权成功。
SQL> grant insert,delete,update,select on scott.dept to yxm39user;
授权成功。
SQL> grant insert,delete,update,select on scott.emp to yxm39user; 授权成功。
SQL> create profile yxm39profile limit
2 connect_time 100
3 failed_login_attempts 3;
配置文件已创建
SQL> conn yxm39user/yxm39@orcl
已连接。
SQL> create table student
2 (
3 sno varchar2(10) ,
4 sname varchar2(10) not null,sage number(2) not null,
5 constraint stu_sno_pk primary key(sno),
6 constraint stu_sage_ck check(sage between 18 and 30)
7 )
8 tablespace yxm39tablespace;
表已创建。
SQL> create table course
2 (
3 cno varchar2(10),
4 cname varchar2(10) not null,
5 credit number(2) not null,
6 constraint course_cno_pk primary key(cno),
7 constraint course_credit_ck check(credit in('2','3','4','5','6'))
8 )
9 tablespace yxm39tablespace;
表已创建。
SQL> create table score
2 (
3 sno varchar2(10) references student(sno),
4 cno varchar2(10) references course(cno),
5 grade number(3,1) not null check(grade between 0 and 100),
6 primary key(sno,cno)
7 )