Oracle约束

永远要相信美好的事情即将发生

oracle学习

约束

  • 约束其实就是一个规则
    为了使数据库数据能够符合商业逻辑或者企业规则,需要采用约束,触发器,甚至可以直接使用代码逻辑来进行甄别判断,得到一个正常的值。

  • 在实际开发中,我们一般选择直接在 SQL 语句中使用约束,最直观最快最便捷。

  • 主要是用于保证数据安全和数据完整性
    数据安全:指的是存储的内容(数值)应该是正确的状态。如果数据不完整了,或者不正确了,那么就丧失了数据的完整性

  • 创建的两种方式:
    (1)在创建表的时候,直接指定。(建议:基本的约束)
    (2)建表后再去创建,通过修改动作。(建议:外键约束)

创建表,添加约束

    create table tb_user (     
     id int primary key,  
     name varchar(50) not null,
     age int check (age > 0 and age < 65),
     sex char(4) check (sex = '男' or sex = '女'),
     phone varchar(20) unique,
     address varchar(50) default '广州天河'
      );
  • 约束的种类
    (1)检查约束:check 特殊的检查约束:not null 不为空
    (2)唯一约束:unique
    (3)主键约束:primary key
    (4)外键约束:foreign key 一般用于多张表之间的关联
    (5)默认值:default
    主键:primary key
    作用:用来唯一区别确定的一行数据。不能重复的。
    注意:
    (1)从功能上来看,相当于你同时用了非空和唯一两个约束。
    (2)一个表中,只允许一个主键。
    (3)主键可以是单字段的,也可以是多字段的。
    (4)当我们创建了主键之后,Oracle 默认会为主键创建对应的索引。
    (5)现在数据库建模,建议一张表一定要有主键,并且主键应该和业务数据无关。

在Oracle中我们需要使用序列的方式来实现自动增长,自动增长是 mysql 中才能设置的。

你可能感兴趣的:(Oracle约束)