oracle创建表时要注意哪些约束、如下

oracle建表以及插入数据时要注意哪些规范或者说约束。比如表名不能超过30位什么的,越多越详细越好。

oracle建表约束主要有以下几大类:
NN:NOT NULL 非空约束
UK:UNIQUE KEY 唯一约束
PK:PRIMARY KEY 主键约束
FK:FOREIGN KEY 外键约束
CK:CHECK 条件约束

一张表必须要有一个字段为主键,这段不能为空,并且值唯一,oracle中一般将该字段定义为数值类型,用序列为该字段插入值;其他字段的约束要根据业务需求来定。

给表中的字段添加约束可以在创建表时添加,也可以在修改时添加。
创建表必须给出表名、字段名、字段类型,约束条件不是必须的。
例如:创建如下表时
CREATE TABLE tb_constraint_1
(
empno NUMBER PRIMARY KEY, --主键约束
ename VARCHAR2(20) NOT NULL, --非空约束
email VARCHAR2(60) UNIQUE, --唯一约束
sal NUMBER(5) CHECK(sal>1500), --核查约束
deptno NUMBER(4) REFERENCES tb_dept(deptno) --外键约束
);

修改已创建表中某个字段的约束:
alter table tb_constraint_1 add constraint yueshumingzi unique(ename );--修改姓名字段值必须唯一

创建表的外键约束时,外键字段的类型必须和关联表的主键的类型一致。

表名和字段名的长度oracle默认约定为长度不能大于30个字符

创建好的表,字段可以修改,以下是修改 添加表 删除表字段 格式:
alter table 表名 add 新列列名 列数据类型 [default 0 not null] (添加列默认值为0)
alter table 表名 drop 列名 (删除列)
alter table 表名 alter column 列名 新添加的数据类型 (修改列)
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-01-15
比如主键一般要唯一,字段可以进行NOT NULL,unique,CHECK等约束,字段的类型及长度等,根据预算长度要合理,以免空间不足或者资源浪费;插入数据的时候肯定就是要字段类型对应咯追问

表名为什么要30位以下啊,好像字段也不能超过30位。

追答

oracle本身对长度进行的限制,最长不能超过30

第2个回答  2014-01-15
主键唯一不为空
不同字段类型对应的最大长度
表关联的话,本表外键的类型和长度要和以次外键为主键的外表的主键类型长度一致
相似回答