You are on page 1of 5

NOTE : First insert data into table then add constraints. 1.

CREATE TABLE EMPLOYEE : [Without using constraint name];


SQL> create table employee 2 (FName VARCHAR(15) NOT NULL, 3 MName CHAR(5),LName VARCHAR(15) NOT NULL, 4 SSN CHAR(9),BDate DATE,Address VARCHAR(30),Sex CHAR(3), 5 salary NUMBER(7),SuperSSN CHAR(9),DepNo NUMBER(5), 6 PRIMARY KEY(SSN), 7 CHECK(Sex in('M','F','m','f')), 8 FOREIGN KEY(SuperSSN) REFERENCES employee(SSN) on delete set NULL 9 ); Table created.

SEE STRUCTURE OF TABLE EMPLOYEE :


SQL> desc employee; Name Null? Type ------------VARCHAR2(15) CHAR(5) NOT NULL NOT NULL VARCHAR2(15) CHAR(9) DATE VARCHAR2(30) CHAR(3) NUMBER(7) CHAR(9) NUMBER(5)

----------------------------------- -------FNAME MNAME LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DEPNO NOT NULL

2.CREATE TABLE DEPARTMENT :


SQL> create table department 2 ( DName VARCHAR(15) NOT NULL,DepNo NUMBER(5),MgrSSN CHAR(9),MgStDate DATE, 3 PRIMARY KEY(depNo), 4 FOREIGN KEY(MGRSSN) REFERENCES employee(SSN) on delete set NULL 5 ); Table created.

SEE STRUCTURE OF TABLE DEPARTMENT :


SQL> desc department; Name Null? Type ---------------------------VARCHAR2(15) NUMBER(5) CHAR(9) DATE

------------------------------------ -------DNAME DEPNO MGRSSN MGSTDATE NOT NULL NOT NULL

SET CONSTTRAINT_NAME AND CONSTRAINT_TYPE FOR EMPLOYEE :

SQL> alter table employee modify(FName VARCHAR(15) constraint FName_NN NOT NULL);

Table altered.

. SQL> alter table employee modify(LName VARCHAR(15) constraint LName_NN NOT NULL);
Table altered.

.SQL> alter table employee add constraint SSN_PK PRIMARY KEY(SSN);


Table altered.

.SQL> alter table employee add constraint Sex_ch check(Sex in('M','F','m','f'));

Table altered.

.SQL> alter table employee add constraint Spr_SSN_FK FOREIGN KEY(SuperSSN) REFERENCES employee(SSN) on
delete set NULL; Table altered.

TO SEE STRUCTURE OF EMPLOYEE:


SQL> desc employee; Name -----------------------------FNAME MNAME LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DEPNO NOT NULL NOT NULL Null? -------NOT NULL Type ---------------------VARCHAR2(15) CHAR(5) VARCHAR2(15) CHAR(9) DATE VARCHAR2(30) CHAR(3) NUMBER(7) CHAR(9) NUMBER(5)

TO SEE STRUCTURE OF CONSTRAINT-NAME , CONSTRAINT-TYPE OF EMPLOYEE:


SQL> select constraint_name,constraint_type from user_constraints where table_name='EMPLOYEE'; CONSTRAINT_NAME -----------------------------FNAME_NN LNAME_NN SSN_PK SEX_CH C -----C C P C

SPR_SSN_FK DEPNO_FK

R R

SET CONSTTRAINTS_NAME AND CONSTRAINT_TYPE FOR DEPARTMENT :

SQL> alter table department modify(DName VARCHAR(15) constraint LName_NN NOT NULL);

Table altered.

.SQL> alter table department add constraint DepNO_PK PRIMARY KEY(DepNo);


Table altered.

Make CONNECTION Department To Employee[CHILD Table TO PARENT Table] : NOTE:


FIRST A Primary key must exist in Employee table then make any column of department(CHILD TABLE) table as foreign key and give reference to that primary Key of Employee table(PARENT TABLE).

.SQL> alter table department add constraint Mgr_SSN_FK FOREIGN KEY(MgrSSN) REFERENCES employee(SSN) on
delete set NULL; Table altered.

Make CONNECTION Employee To Department[PARENT Table To CHILD TABLE]: NOTE:


FIRST A Primary key must exist in DEPARTMENT(CHILD TABLE) table then make any column of EMPLOYEE table as foreign key and give reference to that primary Key of EMPLOYEE table(PARENT TABLE).

.SQL> alter table employee add constraint DepNo_FK FOREIGN KEY(DepNo) REFERENCES department(DepNo) ON
DELETE CASCADE; Table altered.

TO SEE STRUCTURE OF Department:


SQL> desc department; Name Null? Type ----------------------

-------------------------------- --------------

DNAME DEPNO MGRSSN MGSTDATE

NOT NULL NOT NULL

VARCHAR2(15) NUMBER(5) CHAR(9) DATE

TO SEE STRUCTURE OF CONSTRAINT-NAME , CONSTRAINT-TYPE OF DEPARTMENT :


SQL> select constraint_name,constraint_type from user_constraints where table_name='DEPARTMENT'; CONSTRAINT_NAME -----------------------------DNAME_NN DEPNO_PK MGR_SSN_FK C -----C P R

You might also like