zoukankan      html  css  js  c++  java
  • 1005.oracle表中的约束

    ① 主键 primary key(字段值域内的取值 唯一非空)
    ② 非空 not null
    ③ 默认 default    
    ④ 检查 check
    ⑤ 唯一 unique  唯一性约束,录入数据时要查表,所以Oracle会自动建立默认索引(因为要查表来比较唯一性),避免大表。
    ⑥ 外键 foreign key
     
    alter table emp add constraint pk_emp primary key(empno);
     
    1. 主键(primary key,一个字段或多个字段,不能含为空即为NOT NULL,主键是唯一的,把表的对象区别开)

    住键(primary key)用来唯一的标示一行
    可以是一个字段,也可以是多个字段,一般是一个字段
    主键不能允许有nu11,否则无法标示一行
    OLTP系统的表才有主键,OLAP系统的表一般没有主键
    OLTP 联机交易系统(ATM取款,淘宝,京东)insert,/update.../select
    OLAP联机分析系统(大数据系统)把OLTP系统的数据抽取到OLAP里面去生成表的时候生成主键:

    drop table test;
    create table test(id number primary key,name varchar2(200));
    desc test;
    select dbms_metadata.get_ddl('TABLE','TEST','SCOTT')from dual;
    insert into test values(1,'oracle');
    insert into test values(1,'oracle');

    添加主键:
      定义主键:创建表时,直接在列的后面跟primary key
      追加主键:alter table emp add constraint pk_emp primary key(empno);
     
     
    2. 必填项 not null

    drop table test;
    create table test(id number primary key,name varchar2(200)not null,address varchar2(200));
    insert into test values(1,'oracle',null);
    insert into test(id,address)values(2,'北京');

    为啥有not nul1选项呢?
    网上注册信息,比填项,不填写就不允许注册。
    这种就是在表里面的 not null

    3. 默认插入 default
    default 默认值
    drop table test;
    create table test(id number,name varchar2(200)default 'oracle');
    insert into test(id)values(1);
    select*from test;
    insert into test values(1,'db2');
     
    4. 外键
    外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。
    被引用的表称为父表,而带有外键的表称为子表。子表中的外键通常会引用父表中的主键。
    使用CREATE TABLE语句创建外键的语法是:
    CREATE TABLE table_name
    (
      column1 datatype null/not null,
      column2 datatype null/not null,
      ...
     
      CONSTRAINT fk_column
        FOREIGN KEY (column1, column2, ... column_n)
        REFERENCES parent_table (column1, column2, ... column_n)
    );
    示例:
    CREATE TABLE supplier
    ( supplier_id numeric(10) not null,
      supplier_name varchar2(50) not null,
      contact_name varchar2(50),
      CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
    );
     
    CREATE TABLE products
    ( product_id numeric(10) not null,
      supplier_id numeric(10) not null,
      CONSTRAINT fk_supplier
        FOREIGN KEY (supplier_id)
        REFERENCES supplier(supplier_id)
    );
     
    在这个例子中,我们在supplier表上创建了一个名为supplier_pk的主键。 它只包含一个字段 - supplier_id字段。 然后,在products表上创建了一个名为fk_supplier的外键,该表根据supplier_id字段引用supplier表。
     
  • 相关阅读:
    南阳33(蛇形填数)规律题;
    南阳241(字母统计)
    南阳57(6174问题)
    android图形基础知识
    Linux中yum手动安装、手动建立仓库文件夹关联实现关联包自动安装、yum相关命令使用
    debug连线指令
    Qt之信号连接,你Out了吗?
    hdu-4607-Park Visit
    MySQL 分区表 partition线上修改分区字段,后续进一步学习partition (1)
    如何用正则将多个空格看成一个空格结合spllit()方法将文本数据入库
  • 原文地址:https://www.cnblogs.com/bufuzhou/p/14257277.html
Copyright © 2011-2022 走看看