Oracle442个应用场景-----------数据库逻辑对象管理 应用场景

应用场景128:创建临时表

创建一个保存临时选择商品信息的临时表temp_goods

CREATE GLOBAL TEMPORARY TABLE temp_goods

(GoodsId   NUMBER,

GoodsNum  NUMBER,

Price   NUMBER)

ON COMMIT DELETE ROWS;

创建一个临时表空间

CREATE TEMPORARY TABLESPACE tbs_t1

TEMPFILE ‘tbs_t1.f‘ SIZE 50m REUSE AUTOEXTEND ON

MAXSIZE UNLIMITED

EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64K;

在表空间tb_t1中创建temp_goods1;

CREATE GLOBAL TEMPORARY TABLE temp_goods1

(GoodsId   NUMBER,

GoodsNum  NUMBER,

Price   NUMBER)

ON COMMIT DELETE ROWS

TABLESPACE tbs_t1;

应用场景129:查看表信息的系统视图

COL TABLE_NAME FORMAT A10

COL COLUMN_NAME FORMAT A10

COL DATA_TYPE FORMAT A10

SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, LAST_ANALYZED

FROM DBA_TAB_COLUMNS

WHERE TABLE_NAME = ‘EMPLOYEES‘;

应用场景130:在Enterprise Manager中修改表

应用场景131使用DESC语句查看表结果

查看表employee结果的语句如下:

DESC SYSTEM.Employee

使用场景132:使用ALTER TABLE语句向表中添加列

ALTER TABLE SYSTEM.Departments ADD (Description VARCHAR2(1000));

应用场景133:使用ALTER TABLE语句修改列名

ALTER TABLE SYSTEM.Departments

RENAME COLUMN Description TO Descript;

应用场景134:使用ALTER TABLE语句删除队列

ALTER TABLE HRMAN.Departments

RENAME COLUMN Description TO Descript;

应用场景136:创建和验证主键约束

ALTER TABLE HRMAN.Departments ADD (Description varchar2(1000));

DESC HRMAN.Departments;

ALTER TABLE HRMAN.Departments

SET UNUSED (Description);

DESC HRMAN.Departments;

删除表中所有不可用列:

ALTER TABLE HRMAN.Departments

DROP UNUSED COLUMNS;

应用场景137:创建和验证非空约束

创建表user2并指定username列和userpwd列为非空约束

CREATE TABLE HRMAN.Users2

(UserId    NUMBER,

UserName       VARCHAR2(40) NOT NULL,

UserPwd        VARCHAR2(40) NOT NULL,

CONSTRAINT PK_USERID PRIMARY KEY(UserId)

);

将约束中的username列设置为 not null

ALTER TABLE HRMAN.Users MODIFY UserName NOT NULL;

使用下面的语句可以将列设置为空:

ALTER TABLE HRMAN.Users MODIFY UserName NULL;

向表user2中插入数据器username值为null:

INSERT INTO HRMAN.Users2 (UserId, UserPwd) VALUES(1,‘123456‘);

应用场景138:创建验证唯一约束

在uername上建立唯一约束:

CREATE TABLE Users3

(UserId  Number Primary Key,

UserName       Varchar2(40) NOT NULL UNIQUE,

UserPwd        Varchar2(40) NOT NULL

);

创建user4,其结构与表user完全相同:

CREATE TABLE HRMAN.Users4

(UserId    NUMBER PRIMARY KEY,

UserName       VRCHAR2(40),

UserPwd        VARCHAR2(40),

CONSTRAINT UK_USERNAME UNIQUE(UserName)

);

将表user的username列设置唯一约束:

ALTER TABLE HRMAN. Users

ADD CONSTRAINT UK_USERNAME1

UNIQUE(UserName);

使用insert向表user中插入两条记录使他们列值是重复的:username=test-》

INSERT INTO HRMAN.Users VALUES(100, ‘test‘, ‘test‘);

INSERT INTO HRMAN.Users VALUES(101, ‘test‘, ‘1234‘);

应用场景139:创建验证检查约束

在username列上定义检查约束:

CREATE TABLE HRMAN.Users5

(UserId    number PRIMARY KEY,

UserName       varchar2(40),

UserPwd        varchar2(40)

CONSTRAINT CK_USERPWD CHECK(LENGTH(UserPwd)>=6)

);

使用alter创建检查约束:

ALTER TABLE HRMAN. Users

ADD CONSTRAINT CK_USERPWD1 CHECK(LENGTH(UserPwd)>=6);

使用insert插入记录是userpwd的列值得长度小于6:

INSERT INTO HRMAN.Users VALUES(102, ‘user‘, ‘pwd‘);

应用场景140:创建和验证外键约束

为表departments的dep_id列和表employee的dep_id列创建外键约束fk_emp_depid:、

ALTER TABLE HRMAN.Employees

ADD CONSTRAINT FK_EMP_DEPID

FOREIGN KEY(Dep_id) REFERENCES HRMAN.Departments(Dep_id);

向表中插入一条记录:

INSERT INTO HRMAN.Employees (Emp_id, Emp_name, Dep_id)

VALUES (1, ‘Johney‘, 3);

应用场景141:设置DEFAULT列的属性

创建表users6,设置userpwd的默认值为:11111:

CREATE TABLE HRMAN.Users6

(UserId         Number Primary Key,

UserName          Varchar2(40) NOT NULL UNIQUE,

UserPwd           Varchar2(40) DEFAULT(‘111111‘)

);

向表中插入一条记录:

INSERT INTO HRMAN.Users6 (UserId, UserName) VALUES(1, ‘user‘);

应用场景142:删除表

DROP TABLE HRMAN.USERS;

应用场景143:在Enterprise Manager中查看和管理视图

应用场景144:在Enterprise Manager中创建视图

SELECT e.Emp_Id, e.Emp_Name, d.Dep_Name

FROM HRMAN.Employees e, HRMAN.Departments d

WHERE e.Dep_Id=d.Dep_Id

应用场景145:使用create view

创建视图v_emp1

CREATE VIEW HRMAN.V_EMP

AS

SELECT e.Emp_Id, e.Emp_Name, d.Dep_Name

FROM HRMAN.Employees e, HRMAN.Departments d

WHERE e.Dep_Id=d.Dep_Id;

查看用户hrman的视图以及其定义的文本信息:

SELECT VIEW_NAME, TEXT FROM DBA_VIEWS

WHERE OWNER=‘HRMAN‘;

应用场景146:修改视图

修改视图hrman.v_emp1:

CREATE OR REPLACE VIEW HRMAN.V_EMP

AS

SELECT e.Emp_Id, e.Emp_Name, e.Sex, e.Wage, d.Dep_Name

FROM HRMAN.Employees e, HRMAN.Departments d

WHERE e.Dep_Id=d.Dep_Id;

应用场景147:删除视图

DROP view HR.v_emp1;

应用场景148:在Enterprise Manager中的索引管理页面

应用场景149:在Enterprise Manager中创建索引

应用场景150:

使用表空间users保存索引:

CREATE INDEX HRMAN.IX_EMPNAME ON HRMAN.EMPLOYEES(EMP_NAME)

TABLESPACE Users;

为表HRMAN。Enmployees的列IDCard创建唯一索引:

CREATE INDEX HRMAN. UQ_IDCARD ON HRMAN.EMPLOYEES(IDCARD)

TABLESPACE Users;

查看hrman所拥有的视图及其定义文本信息:

SELECT INDEX_NAME, TABLE_NAME FROM DBA_INDEXES

WHERE OWNER=‘HRMAN‘;

应用场景151:修改索引

ALTER INDEX HRMAN.IX_EMPNAME UNUSABLE;

ALTER INDEX HRMAN.IX_EMPNAME REBUILD;

ALTER INDEX HRMAN.IX_EMPNAME RENAME TO IX_EMPNAME_1;

应用场景152:删除索引

DROP INDEX HRMAN.IX_EMPNAME_1;

应用场景153:在Enterprise Manager中查看和管理实体化视图

应用场景154:在Enterprise Manager中创建视图

应用场景155:使用CREATE MATERIALIZED VIEW 语句创建实体化视图

创建实体化mv_emp1:

CREATE MATERIALIZED VIEW HRMAN.MV_EMP1

REFRESH FORCE

ON DEMAND

AS

SELECT e.Emp_Id, e.Emp_Name, d.Dep_Name

FROM HRMAN.Employees e, HRMAN.Departments d

WHERE e.Dep_Id=d.Dep_Id;

应用场景156:修改视图

将刷新类型设置为CONPLETE:

ALTER MATERIALIZED VIEW HRMAN.MV_EMP

REFRESH COMPLETE

ON DEMAND;

应用场景157:删除实体化视图

DROP MATERIALIZED VIEW HRMAN.MV_EMP;

应用场景158:创建簇

CREATE CLUSTER HRMAN.HrCluster (dep_id NUMBER)

PCTUSED 80

PCTFREE 5

SIZE 500

TABLESPACE users

STORAGE (INITIAL 200K

NEXT 300K

MINEXTENTS 2

MAXEXTENTS UNLIMITED

PCTINCREASE 33);

应用场景159:创建簇表

在簇HRMAN.HrCluster中创建DeptInfo:

CREATE TABLE HRMAN.DeptInfo

(

Dep_id   NUMBER  PRIMARY KEY,

Dep_name      VARCHAR2(100) NOT NULL

)

CLUSTER HRMAN.HrCluster(Dep_id);

在HRMAN.HrCluster中创建表EmpInfo:

CREATE TABLE HRMAN.EmpInfo

(

Emp_id   NUMBER  PRIMARY KEY,

Emp_name     VARCHAR2(50) NOT NULL,

Sex        VARCHAR2(2),

Title        VARCHAR2(50),

Wage   NUMBER(8, 2),

IdCard   VARCHAR2(20),

Dep_id   NUMBER

)

CLUSTER HRMAN.HrCluster(Dep_id);

应用场景160:使用DBA_CLUSTERS视图查看簇的信息

查看HRMAN中的簇表列信息:

COL CLUSTER_NAME FORMAT A20

COL OWNER FORMAT A20

COL TABLESPACE_NAME FORMAT A20

SELECT CLUSTER_NAME, OWNER, TABLESPACE_NAME, CLUSTER_TYPE FROM DBA_CLUSTERS;

应用场景161:使用DBA_CLU_COLUMNS视图查看簇表的列信息

COL OWNER FORMAT A10

COL CLUSTER_NAME FORMAT A15

COL CLU_COLUMN_NAME FORMAT A10

COL TABLE_NAME FORMAT A10

COL TAB_COLUMN_NAME FORMAT A15

SELECT * FROM DBA_CLU_COLUMNS

WHERE OWNER=‘HRMAN‘;

应用场景162:创建簇索引

在村HRMAN.HrCluster上创建簇索引:

CREATE INDEX HRMAN.IX_EMP_DEPT

ON CLUSTER HRMAN.HrCluster

TABLESPACE  users

STORAGE (INITIAL 50K

NEXT 50K

MINEXTENTS 2

MAXEXTENTS 10

PCTINCREASE 33);

应用场景163:修改簇

ALTER CLUSTER HRMAN.HrCluster

PCTUSED 60

PCTFREE 30;

应用场景164:删除簇

DROP CLUSTER HRMAN.HrCluster

INCLUDING TABLES

CASCADE CONSTRAINTS;

应用场景165:创建散列簇

在HRMAN方案上创建散列簇HashCluster:

CREATE TABLE HRMAN.Area

(

AreaId      NUMBER(5, 0)  PRIMARY KEY,

AreaName     VARCHAR2(200),

UpperId  NUMBER(5, 0)

)

CLUSTER HRMAN.HashCluster(AreaId);

在散列簇上创建表area用于保存地域信息

CREATE CLUSTER STCluster (Id NUMBER)

SIZE 512 SINGLE TABLE HASHKEYS 500;

应用场景166:控制散列簇的空间使用

应用场景167:估算散列簇所需要的空间大小

应用场景168:修改和删除散列簇

应用场景169:使用DBA_CLUSTER_HASH_EXPRESSIONS视图查看散列函数

SELECT * FROM DBA_CLUSTER_HASH_EXPRESSIONS;

应用场景170:创建序列

CREATE SEQUENCE HRMAN.EMP_S

MINVALUE 1

NOMAXVALUE

START WITH 1

INCREMENT BY 1

NOCYCLE

CACHE 20;

应用场景171:修改序列

ALTER SEQUENCE HRMAN.EMP_S

MAXVALUE 10000;

应用场景172:删除序列

DROP SEQUENCE HRMAN.EMP_S;

应用场景173:序列的使用

CREATE SEQUENCE HRMAN.USER_S

MINVALUE 1

NOMAXVALUE

START WITH 1

INCREMENT BY 1

NOCYCLE

CACHE 20;

INSERT INTO HRMAN.USERS VALUES(HRMAN.USER_S.NEXTVAL, ‘admin‘, ‘pass‘);

应用场景174:创建同义词

CREATE PUBLIC SYNONYM HrEmployees FOR HRMAN.Employees;

应用场景175:使用系统视图DBA_SYNONYMS查看同义词的信息

COL OWNER FORMAT A10

COL SYNONYM_NAME FORMAT A10

COL TABLE_OWNER FORMAT A10

COL TABLE_NAME FORMAT A10

COL DB_LINK FORMAT A10

SELECT * FROM DBA_SYNONYMS

WHERE TABLE_NAME=‘EMPLOYEES‘;

应用场景176:在DML语句中使用同义词

COL EMP_NAME FORMAT A20

COL TITLE FORMAT A10

SELECT Emp_name, Title, Wage FROM HrEmployees;

应用场景177:删除同义词

DROP PUBLIC SYNONYM HrEmployees;

版权声明:欢迎转载,希望在你转载的同时,添加原文地址,谢谢配合

时间: 2024-11-03 21:12:32

Oracle442个应用场景-----------数据库逻辑对象管理 应用场景的相关文章

Oracle442个应用场景----------数据库逻辑对象管理

-----------------数据库逻辑对象管理-------------------- ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型.数字类型.日期类型.LOB类型.LONG RAW& RAW类型.ROWID & UROWID类型. 在讲叙字符串类型前,先要讲一下编码.字符串类型的数据可依编码方式分成数据库字符集(CHAR/VARCHAR2/CLOB/LONG)和国际字符集(NCHAR/NVARCHAR2/NCLOB)两

oracle基本语句(第七章、数据库逻辑对象管理)

索引.实体化视图.簇.散列簇.序列.同义词 1.创建表 CREATE TABLE <表名>(<列名1> <数据类型>,--); CREATE GLOBAL TEMPORARY TABLE <表名>(<列名1> <数据类型>,--) ON COMMIT DELETE ROWS TABLESPACE <临时表空间名>;--创建事务级临时表,事务提交后删除临时表中数据 CREATE GLOBAL TEMPORARY TABLE

7数据库逻辑对象管理

创建普通表:(在方案HR中)SYS AS [email protected]>CREATE TABLE HR.GMY(  2  EMP_ID NUMBER,  3  EMP_NAME VARCHAR2(50) NOT NULL,  4  SEX VARCHAR2(2),  5  TITLE VARCHAR2(50),  6  WAGE NUMBER(8,2),  7  IDCARD VARCHAR2(20),  8  DEP_ID NUMBER  9  ); 创建临时表(默认保存在默认临时表空间

数据库逻辑对象管理_同义词

相当于alias(别名),比如把user1.table1在user2中建一个同义词table1 create synonym table1 for user1.table1; 这样当你在user2中查select * from table1时就相当于查select * from user1.table1; 优点自己总结吧. 例如:在oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必须得有权限,但是如果是别人将权限授予了我们,我们也是能对数据库进行操作的,

7数据库逻辑对象管理_序列

序列: 是oacle提供的用于产生一系列唯一数字的数据库对象. l  自动提供唯一的数值 l  共享对象 l  主要用于提供主键值 l  将序列值装入内存可以提高访问效率 创建序列: 1.  要有创建序列的权限 create sequence 或 create any sequence 2.  创建序列的语法 CREATE SEQUENCE sequence  //创建序列名称 [INCREMENT BY n]  //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1 [START

数据库逻辑对象管理_簇

1.簇概念: 是一组表,如果应用程序中的SQL 语句经常联结两个或多个表,可以把这些表以簇方式进行创建以改善性能.簇中的表存储在相同的数据块中,并且各个表中的相同的列值只存储一个. 簇(Cluster)就是将一组有机联系的表在物理上存放在一起并且相同的关键列的值只存储一份,用于提高处理效率的一项技术 2 限制: l 簇中的每个表必须有一列与簇中指定的列的 大小和类型匹配: l 簇码中可用列的最大数目是16,即一个簇最多有16列作为簇码: l 列的最大长度为239字节: l LONG 和LONG

Exchange 对象管理

Exchange 收件人对象-最终用户-教育支持:培训,文档用户标准用户邮箱:标准的AD用户+内部邮箱地址+内部邮箱数据库组织正式员工邮件用户:标准的AD用户+外部邮箱地址+外部邮箱数据库驻场工程师邮件联系人:标准的AD联系人用户+外部邮箱地址+外部邮箱数据库供应商特殊邮箱:标准的用户邮箱,用于特殊操作会议室邮箱(资源邮箱):将组织内部的会议室定义为邮箱,使用Outlook会议召开时,预定会议室操作共享邮箱:组织内部的部门定义的邮箱,该部门内部的所有&指定对象都可以看到该邮箱的邮件,以该邮箱的地

Oracle442个应用场景----------数据库实例

应用场景1-7为Oracle的安装过程,此处不过多的讲解,网上的材料很多,也许会在后期中补上. 应用场景8 查看所有数据文件的位置: SELECT NAME FROM V$DATAFILE; List命令: LIST SAVE命令: SAVE D:\ORACLESQL.SQL; 应用场景9-16为数据库的卸载和配置过程 -----------------数据库实例------------------ 实例(instance):一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计

Toad for Oracle针对于Oracle数据库的可视化管理工具使用

Toad for Oracle安装包下载地址:http://pan.baidu.com/s/1mgBOLZU 在Oracle应用程序的开发过程中,访问数据库对象和编写SQL程序是一件乏味且耗费时间的工作,对数据库进行日常管理也是需要很多SQL脚本才能完成的.Quest Software为此提供了高效的Oracle应用开发工具-Toad(Tools of Oracle Application Developers).在Toad的新版本中,还加入了DBA(Database Administrator