Friday, August 2, 2019

What is the difference between primary key and forigen key


PRIMARY KEY

This is used to avoid duplicates and nulls. This will work as combination of unique and not null.
Primary key always attached to the parent table.
We can add this constraint in all three levels.

Example:
      COLUMN LEVEL

     


SQL>CREATE TABLE student
(
   no      NUMBER (2) PRIMARY KEY,
   name    VARCHAR (10),
   marks   NUMBER (3)
);

SQL>CREATE TABLE student
(
   no      NUMBER (2) CONSTRAINT pk PRIMARY KEY,
   name    VARCHAR (10),
   marks   NUMBER (3)
); un UNIQUE(no);
   
      TABLE LEVEL


SQL>CREATE TABLE student
(
   no      NUMBER (2),
   name    VARCHAR (10),
   marks   NUMBER (3),
   PRIMARY KEY (no)
);

SQL>CREATE TABLE student
(
   no      NUMBER (2),
   name    VARCHAR (10),
   marks   NUMBER (3),
   CONSTRAINT pk PRIMARY KEY (no)
);
   
      ALTER LEVEL
   

SQL> ALTER TABLE student ADD PRIMARY KEY(no);

SQL> ALTER TABLE student ADD CONSTRAINT pk PRIMARY KEY(no);

FOREIGN KEY

This is used to reference the parent table primary key column which allows duplicates.
Foreign key always attached to the child table.
We can add this constraint in table and alter levels only.


Example:
      TABLE LEVEL   


 SQL>CREATE TABLE emp
(
   empno    NUMBER (2),
   ename    VARCHAR (10),
   deptno   NUMBER (2),
   PRIMARY KEY (empno),
   FOREIGN KEY (deptno) REFERENCES dept (deptno)
);

SQL>CREATE TABLE emp
(
   empno    NUMBER (2),
   ename    VARCHAR (10),
   deptno   NUMBER (2),
   CONSTRAINT pk PRIMARY KEY (empno),
   CONSTRAINT fk FOREIGN KEY (deptno) REFERENCES dept (deptno)
);

      ALTER LEVEL
 

SQL> ALTER TABLE emp ADD FOREIGN KEY(deptno) REFERENCES dept(deptno);

SQL> ALTER TABLE emp ADD CONSTRAINT fk FOREIGN KEY(deptno) REFERENCES dept(deptno);

Once the primary key and foreign key relationship has been created then you can not remove any parent record if the dependent childs exists.

No comments:

Post a Comment

AME (Approval Management Engine)

AME (Approval Management Engine) : AME Stands for Oracle Approval Management Engine. AME is a self service web application that enables...