Site icon IT Tutorial

Constraints ( Primary Key, Foreign Key , Unique Key, Not Null and Check ) in Oracle SQL | Oracle SQL Tutorials -30

Hi,

I will explain Constraints ( Primary Key, Foreign Key , Unique Key, Not Null and Check ) in Oracle SQL in this post of Oracle SQL Tutorial series.

Read the previous post of this tutorial series before this.

https://ittutorial.org/alter-table-and-alter-table-add-or-drop-column-in-oracle-sql-oracle-sql-tutorials-29/

 

 

 

 

CONSTRAINTS

Constraints are the rules that are used to restrict the values in a database

 

There are six types of integrity constraints in the Oracle database as follows.

  1. Primary Key
  2. Foreign Key
  3. Unique Key
  4. Index
  5. Check
  6. NOT Null

 

 

PRIMARY KEY CONSTRAINT

 

You can define primary key as follows.

CREATE TABLE HR.WORKERS
(
    EMPLOYEE_ID    NUMBER (6) CONSTRAINT E_PK PRIMARY KEY,
    FIRST_NAME     VARCHAR2 (20 BYTE),
    LAST_NAME      VARCHAR2 (25 BYTE),
    HIRE_DATE      DATE,
    JOB_ID         VARCHAR2 (10 BYTE),
    SALARY         NUMBER (8, 2)
)

 

Primary key combines NOT NULL constraint and a unique constraint in a single declaration.

 

 

 

FOREIGN KEY CONSTRAINT

 

CREATE TABLE HR.WORKERS
(
    EMPLOYEE_ID    NUMBER (6) CONSTRAINT E_PK PRIMARY KEY,
    FIRST_NAME     VARCHAR2 (20 BYTE),
    LAST_NAME      VARCHAR2 (25 BYTE),
    HIRE_DATE      DATE,
    JOB_ID         VARCHAR2 (10 BYTE),
    SALARY         NUMBER (8, 2),
    DEPARTMENT_ID  NUMBER (4),
    CONSTRAINT D_FK
    FOREIGN KEY (DEPARTMENT_ID)
    REFERENCES HR.DEPARTMENTS(department_id)
);

 

 

 

 

INSERT INTO hr.workers (employee_id, department_id)
     VALUES (1, 123);

 

 

 

 

NOT NULL CONSTRAINT

You can define it as follows.

CREATE TABLE HR.WORKERS
(
    EMPLOYEE_ID   NUMBER (6),
    FIRST_NAME    VARCHAR2 (20 BYTE) NOT NULL,
    LAST_NAME     VARCHAR2 (25 BYTE),
    HIRE_DATE     DATE,
    JOB_ID        VARCHAR2 (10 BYTE),
    SALARY        NUMBER (8, 2)
);

 

INSERT INTO hr.workers (first_name)
     VALUES ('');

 

 

UNIQUE CONSTRAINT

CREATE TABLE HR.WORKERS
(
    EMPLOYEE_ID   NUMBER (6) UNIQUE,
    FIRST_NAME    VARCHAR2 (20 BYTE),
    LAST_NAME     VARCHAR2 (25 BYTE),
    HIRE_DATE     DATE,
    JOB_ID        VARCHAR2 (10 BYTE),
    SALARY        NUMBER (8, 2)
)

 

INSERT INTO hr.workers (employee_id)
     VALUES (1);

 

 

 

 

CHECK CONSTRAINT

CREATE TABLE HR.WORKERS
(
    EMPLOYEE_ID    NUMBER (6) CONSTRAINT E_PK PRIMARY KEY,
    FIRST_NAME     VARCHAR2 (20 BYTE),
    LAST_NAME      VARCHAR2 (25 BYTE),
    HIRE_DATE      DATE,
    JOB_ID         VARCHAR2 (10 BYTE),
    SALARY         NUMBER (8, 2) CONSTRAINT S_MIN CHECK (SALARY > 3000)
);

 

INSERT INTO hr.workers (employee_id, salary)
     VALUES (1, 2500);

 

 

 

 

Dou want to learn Oracle SQL Tutorial for Beginners, then read the following articles.

Oracle SQL Tutorials For Beginners – Learn Oracle SQL from scratch with Oracle SQL Online Course

Exit mobile version