[Oracle] 實驗三 模式對象管理

一.實驗目的

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

二.實驗內容

數(shù)據(jù)庫 orcl 用戶名 sys 密碼 oracle; 用戶名 scott 密碼 tiger

1.用scott登錄數(shù)據(jù)庫,創(chuàng)建class表和student表。Class表的字段包括班號cno,班名cname和人數(shù)num。Student表的字段包括學號sno,姓名sname,年齡sage和班號cno。字段類型和長度自定。
2.創(chuàng)建一個會話級別的臨時表,結構與student表相同。
3.為student表的sage字段添加一個約束,保證該列值在0-100之間。
4.在class表的cname列上建立一個唯一性索引。
5.對class表進行表結構重組,將其移動到orcltbs1表空間。
6.創(chuàng)建一個student_range表(結構與student相同)。按學生年齡分3個區(qū),低于20歲的放入part1區(qū),存儲在example表空間;20-30歲的放在part2區(qū),放在orcltbs1表空間;其他數(shù)據(jù)放在part3區(qū),放在users表空間。
7.創(chuàng)建一個序列,起始值1000,步長為2,最大值為10000,不可循環(huán)。

三.實驗過程

0.png

1.用scott登錄數(shù)據(jù)庫,創(chuàng)建class表和student表。Class表的字段包括班號cno,班名cname和人數(shù)num。

Student表的字段包括學號sno,姓名sname,年齡sage和班號cno。字段類型和長度自定。
把sql語句存入C:\oracle\sql目錄下
在命令行執(zhí)行

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.創(chuàng)建一個會話級別的臨時表,結構與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表空間。

創(chuàng)建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.創(chuàng)建一個student_range表(結構與student相同)。按學生年齡分3個區(qū),低于20歲的放入part1區(qū),存儲在example表空間;20-30歲的放在part2區(qū),放在orcltbs1表空間;其他數(shù)據(jù)放在part3區(qū),放在users表空間。

創(chuàng)建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.創(chuàng)建一個序列,起始值1000,步長為2,最大值為10000,不可循環(huán)。

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

四.實驗總結

2.1.png

原因:臨時表不能引用外鍵約束,刪去即可

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • ORACLE自學教程 --create tabletestone ( id number, --序號usernam...
    落葉寂聊閱讀 1,241評論 0 0
  • 一。數(shù)據(jù)庫基本概念:數(shù)據(jù)、數(shù)據(jù)庫。數(shù)據(jù)模型/DBMS(數(shù)據(jù)庫管理系統(tǒng))/DBS(數(shù)據(jù)庫系統(tǒng))二。數(shù)據(jù)庫內部組成二維...
    S_s_s_a53f閱讀 568評論 0 0
  • 1).創(chuàng)建數(shù)據(jù)庫 create database學生選課數(shù)據(jù)庫 2).創(chuàng)建四張表 Create table Stu...
    blvftigd閱讀 1,683評論 0 0
  • 如果你還在北國 我想,你會在那個日暮西垂的黃昏看到我 在村口的石子路旁 我采下一朵紫色的酒花, 貪婪而又不舍的吮吸...
    呵呵阿斌閱讀 330評論 0 0
  • 不知不覺今年是我第二十七個年頭,漸漸發(fā)現(xiàn)回鄉(xiāng)過年過節(jié)被關心得最多的還是成家的事情,帶人回了沒呀?要不給你介紹那誰誰...
    無塵書香閱讀 831評論 2 4

友情鏈接更多精彩內容