ORACLE上机实验 多种方式创建表
luyued 发布于 2011-06-20 17:33 浏览 N 次
掌握创建表的不同方式,理解数据在不同需求下采取的存储方式。
实验内容:
以SYSTEM用户登录目标数据库
1、创建分区表C21????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
按学分(分3及以下,4,5及以上)做范围分区,分别存储在TEST,USERS,EXAMPLE三个表空间中。
2、创建分区表C22????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
按课程类别(01<必修课>,02<选修课>)做列表分区,分别存储在TEST,USERS两个表空间中。
3、创建分区表C23????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
按课程名称做哈希分区,分别存储在TEST,USERS,EXAMPLE三个表空间中。
4、创建索引组织的表C24????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
课号做主键,存储在TEST表空间中,其中溢出部分存储在tb2_2k表空间中。
5、创建簇CLU_s2????(????为学号后四位),共享字段为课号,存储在tb2_2k表空间中,
然后建立表C25????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
建立选课表SC2????(????为学号后四位),表结构为学号(8位字符),课号(8位字符),成绩(3位数值)。将这两个表加入簇。
6、创建表C26????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型),简介(clob类型>
存储在TEST表空间中,其中简介字段的值以段名S2LOB存储在tb2_16k表空间中。
7、创建全局临时表C27????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
记录在事务结束后自动删除。
8、创建全局临时表C28????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
记录在会话结束后自动删除。
9、执行语句:
drop table part2_mes;
create table part2_mes (tname varchar2(40),mes1 varchar2(100),mes2 clob);
insert into part2_mes
select table_name,partition_name ||'('||tablespace_name||')',to_lob(high_value)
from user_tab_partitions where table_name like 'C2%';
commit;
实验过程:
1
创建分区表C21????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
按学分(分3及以下,4,5及以上)做范围分区,分别存储在TEST,USERS,EXAMPLE三个表空间中。
执行脚本 c21.sql
SQL>start 目录/c21.sql
脚本:
create table c217027(Courses_ID char(8),
Courses_Name varchar2(100),
Courses_Kind char(2),
Courses_Credits number(1))
partition by range(Courses_Credits)(
partition t_range_p1 values less than(3) tablespace TEST,
partition t_range_p2 values less than(5) tablespace USERS,
partition t_range_p3 values less than(maxvalue) tablespace EXAMPLE
);
2、创建分区表C22????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
按课程类别(01<必修课>,02<选修课>)做列表分区,分别存储在TEST,USERS两个表空间中。
执行脚本 c22.sql
create table c227027(Courses_ID char(8),
Courses_Name varchar2(100),
Courses_Kind char(2),
Courses_Credits number(1))
partition by list(Courses_Kind)(
partition t_list_p1 values (01) tablespace TEST,
partition t_list_p2 values (02) tablespace USERS
);
3、创建分区表C23????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
按课程名称做哈希分区,分别存储在TEST,USERS,EXAMPLE三个表空间中。
执行脚本 c23.sql
create table c237027(Courses_ID char(8),
Courses_Name varchar2(100),
Courses_Kind char(2),
Courses_Credits number(1))
partition by hash(Courses_Name)(
partition t_hash_p1 tablespace TEST,
partition t_hash_p2 tablespace USERS,
partition t_hase_p3 tablespace EXAMPLE
);
4、创建索引组织的表C24????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
课号做主键,存储在TEST表空间中,其中溢出部分存储在tb2_2k表空间中。
执行脚本 c24.sql
create table c247027(Courses_ID char(8),
Courses_Name varchar2(100),
Courses_Kind char(2),
Courses_Credits number(1),
constraint pk_id primary key(Courses_ID))
organization index tablespace TEST
pctthreshold 20
overflow tablespace tb2_2k;
5、创建簇CLU_s2????(????为学号后四位),共享字段为课号,存储在tb2_2k表空间中,
然后建立表C25????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
建立选课表SC2????(????为学号后四位),表结构为学号(8位字符),课号(8位字符),成绩(3位数值)。将这两个表加入簇。
执行脚本 c25.sql ,CLU_s27027.sql,SC27027.sql
CLU_s27027.sql:
create cluster CLU_s27027
(Courses_ID char(8))
tablespace tb2_2k;
c25.sql :
create table c257027(Courses_ID char(8),
Courses_Name varchar2(100),
Courses_Kind char(2),
Courses_Credits number(1))
cluster CLU_s27027(Courses_ID)
;
SC27027.sql:
create table SC27027
(
Student_ID char(8),
Courses_ID char(8),
Score number(3)
)
cluster CLU_s27027(Courses_ID)
;
6、创建表C26????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型),简介(clob类型>
存储在TEST表空间中,其中简介字段的值以段名S2LOB存储在tb2_16k表空间中。
执行脚本 c26.sql
create table c267027(Courses_ID char(8),
Courses_Name varchar2(100),
Courses_Kind char(2),
Courses_Credits number(1),
Courses_Introduction clob)
tablespace TEST lob(Courses_Introduction) store as S2LOB (tablespace tb2_16k)
;
7、创建全局临时表C27????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
记录在事务结束后自动删除。
执行脚本 c27.sql
create global temporary table c277027(Courses_ID char(8),
Courses_Name varchar2(100),
Courses_Kind char(2),
Courses_Credits number(1))
on commit delete rows
;
8、创建全局临时表C28????(????为学号后四位),
表结构为课号(8位字符),课程名称(100位可变长度字符),课程类别(2位字符型),学分(1位数值型)
记录在会话结束后自动删除。
执行脚本 c28.sql
create global temporary table c287027(Courses_ID char(8),
Courses_Name varchar2(100),
Courses_Kind char(2),
Courses_Credits number(1))
on commit preserve rows
;
- 07-01· 禁教唐诗算术能还幼儿快
- 07-01· 2011年06月17日
- 07-01· 唐诗宋词英译:李商隐 筹
- 07-01· 仿评《唐诗1000首》第186首
- 07-01· 没事干的时候背背唐诗吧
- 07-01· [转载]唐诗中“斜”字该读
- 07-01· 湖南醴陵瓷业转型升级
- 07-01· 奇瑞风云2两厢黑色|2010款
- 07-01· 摩根士丹利华鑫摩根士丹
- 07-01· 摩根士丹利华鑫近期优选
- 07-01· 中金投行部大摩出售中金
- 07-01· 摩根士丹利招聘6月2日【实
- 07-01· 营养防病圣典
- 07-01· 《博伽梵歌原意》之第十
- 07-01· [不错]斑斓圣典---减肥中常
- 07-01· 武乐圣典《太极武当》:武
- 07-01· 铁血英雄-现阶段战功牌兑
- 07-01· 2011年06月10日【原创】南歌
- 07-01· 【淘宝网信息】- 2010年的
- 07-01· 深圳品牌女装有哪些?