Oracle 10G 数据库系统学习笔记《表空间的管理》《表的管理》2008-
09-27 18:23创建表空间
SQL> conn / as sysdba
SQL> CREATE TABLESPACE ts1
DATAFILE '/u01/app/oracle/product/10.2.0/oradata/orcl/ts1.dbf'
SIZE 10M;
修改test用户的默认表空间为ts1
SQL> ALTER USER test DEFAULT TABLESPACE ts1;
授予test用户使用表空间的权限
SQL> GRANT UNLIMITED TABLESPACE, DBA TO test;
SQL> conn test/test1234
创建表时使用默认表空间
SQL> CREATE TABLE t(a char(10), b number);
创建表时指定表空间
SQL> CREATE TABLE t2(a char(10), b number) TABLESPACE USERS;
.
SQL> CREATE TABLE table1(a varchar2(10) not null, b char(10));
为表添加主键
SQL> ALTER TABLE table1 ADD CONSTRAINT pk_table1 PRIMARY KEY(a);
主键保证了实体完整性,外键保证了参照完整性。
SQL> CREATE TABLE table2(c char(10), sex varchar2(10), a
varchar2(10));
为表添加外键
SQL> ALTER TABLE table2 ADD CONSTRAINT fk_table2 FOREIGN KEY(a)
REFERENCES table1(a);
为性别字段添加约束条件
SQL> ALTER TABLE table2 ADD CONSTRAINT ck_table2_sex CHECK(sex='
男' OR sex='女');
.
SQL> DESC dba_constraints
SQL> DESC all_constraints
SQL> DESC user_constraints
查看表的约束
SQL> SELECT constraint_name, constraint_type FROM
user_constraints
WHERE table_name='TABLE2';
创建索引
SQL> CREATE INDEX my_table2_idx ON table2(c);
位图索引(用于数据量大但字段唯一值少的表)
SQL> CREATE bitmap INDEX bit_table2 ON table2(sex);
唯一索引
SQL> CREATE UNIQUE INDEX uniq_idx ON table2(c);