[Oracle] 实验三 模式对象管理

作者: Topus | 来源:发表于2019-04-29 12:12 被阅读2次

一.实验目的

  1. 掌握表和索引的管理方法。
  2. 掌握其他模式对象的管理方法。

二.实验内容

数据库 orcl 用户名 sys 密码 oracle; 用户名 scott 密码 tiger

1.用scott登录数据库,创建class表和student表。Class表的字段包括班号cno,班名cname和人数num。Student表的字段包括学号sno,姓名sname,年龄sage和班号cno。字段类型和长度自定。
2.创建一个会话级别的临时表,结构与student表相同。
3.为student表的sage字段添加一个约束,保证该列值在0-100之间。
4.在class表的cname列上建立一个唯一性索引。
5.对class表进行表结构重组,将其移动到orcltbs1表空间。
6.创建一个student_range表(结构与student相同)。按学生年龄分3个区,低于20岁的放入part1区,存储在example表空间;20-30岁的放在part2区,放在orcltbs1表空间;其他数据放在part3区,放在users表空间。
7.创建一个序列,起始值1000,步长为2,最大值为10000,不可循环。

三.实验过程

0.png

1.用scott登录数据库,创建class表和student表。Class表的字段包括班号cno,班名cname和人数num。

Student表的字段包括学号sno,姓名sname,年龄sage和班号cno。字段类型和长度自定。
把sql语句存入C:\oracle\sql目录下
在命令行执行

SQL>@C:\oracle\sql\shiyan3-3.sql
CREATE TABLE class(

cno NUMBER(5) PRIMARY KEY,

cname VARCHAR(15),

num NUMBER(5)

)
CREATE TABLE student(

sno NUMBER(5) PRIMARY KEY,

sname VARCHAR(15),

sage NUMBER(5),

cno NUMBER(5) NOT NULL ,

CONSTRAINT fk_cno FOREIGN KEY(cno)  REFERENCES class(cno)
1.1.png 1.2.png 1.3.png

2.创建一个会话级别的临时表,结构与student表相同。

CREATE GLOBAL TEMPORARY TABLE student_temp(
    sno NUMBER(5) PRIMARY KEY,
    sname VARCHAR(15),
    sage NUMBER(5),
    cno NUMBER(5) NOT NULL 
)
ON COMMIT PRESERVE ROWS;
2.1.png 2.2.png

3.为student表的sage字段添加一个约束,保证该列值在0-100之间。

ALTER TABLE student ADD CONSTRAINT P_CK CHECK (sage BETWEEN 0 AND 100)
3.1.png

4.在class表的cname列上建立一个唯一性索引。

ALTER TABLE class ADD CONSTRAINT P_UK UNIQUE(cname)
4.1.png

5.对class表进行表结构重组,将其移动到orcltbs1表空间。

创建orcltbs1 表空间:

CREATE TABLESPACE orcltbs1 DATAFILE 
‘C:\oracle\product\10.2.0\oradata\orcl\orcltbs1.dbf’SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;
ALTER TABLE class MOVE TABLESPACE orcltbs1
5.1.png 5.2.png

6.创建一个student_range表(结构与student相同)。按学生年龄分3个区,低于20岁的放入part1区,存储在example表空间;20-30岁的放在part2区,放在orcltbs1表空间;其他数据放在part3区,放在users表空间。

创建example表空间:

CREATE TABLESPACE example DATAFILE 
‘C:\oracle\product\10.2.0\oradata\orcl\example.dbf’SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;
CREATE TABLE student_range(
sno NUMBER(5) PRIMARY KEY,
sname VARCHAR(15),
sage NUMBER(5),
cno NUMBER(5) NOT NULL )
PARTITION BY RANGE(sage)
(PARTITION part1 VALUES LESS THAN(20) tablespace example,
PARTITION part2 VALUES LESS THAN(31) tablespace orcltbs1,
PARTITION part3 VALUES LESS THAN(maxvalue) tablespace users
storage(initial 10m next 20m) );
6.1.png

7.创建一个序列,起始值1000,步长为2,最大值为10000,不可循环。

create sequence seq
maxvalue 10000
start with 1000
increment by 2
NOCYCLE;
7.1.png

四.实验总结

2.1.png

原因:临时表不能引用外键约束,删去即可

相关文章

  • [Oracle] 实验三 模式对象管理

    一.实验目的 掌握表和索引的管理方法。 掌握其他模式对象的管理方法。 二.实验内容 数据库 orcl 用户名 ...

  • [Oracle] 实验七  SQL语句编写

    一.实验目的 掌握Oracle中的数据查询与操作语句的编写 二.实验内容 根据scott模式下的emp和dept表...

  • [Oracle] 实验四 安全管理

    一.实验目的 掌握oracle数据库安全管理的基本方法 二.实验内容 数据库 orcl 用户名 sys 密码 ...

  • oracle创建对象为什么需要加表空间和schema

    权限管理 首先需要说一下oracle的权限管理,oracle权限分为系统权限和对象权限:系统权限:操作数据库系统的...

  • oracle总结

    Oracle1、对象关系型数据库管理系统 ORDBMS美国Oracle公司推出,在中国注册 “甲骨文” 开启服...

  • 【Oracle】Oracle 10g数据库——物理存储结构管理

    实验目的 1.熟悉Oracle数据库物理存储结构。 2.掌握Oracle数据库数据文件的管理。 3.掌握Oracl...

  • Oracle数据库对象

    数据库对象简介 Oracle 数据库对象又称模式对象。 数据库对象是逻辑结构的集合,最基本的数据库对象是表。 序列...

  • 实验室信息管理系统

    实验室管理的对象是与实验室有关的人、事、物、信息、经费等,因此实验室管理主要包括:实验室人力资源管理、质量管理、仪...

  • 00_Oracle入门

    Oracle 是一个对象关系型数据库管理系统(ORDBMS)。 Oracle 数据库的主要特点: 1、支持多用户、...

  • [Oracle] 实验一 Oracle管理工具

    一.实验目的 掌握SQL* Plus的使用方法。 二.实验内容 数据库 orcl 用户名 sys 密码 oracl...

网友评论

    本文标题:[Oracle] 实验三 模式对象管理

    本文链接:https://www.haomeiwen.com/subject/muqynqtx.html