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