Search

COMPOSITE KEYS



A composite key can be defined on a combination of columns.
We can define composite keys on entity integrity and referential integrity constraints.
Composite key can be defined in table and alter levels only.

Ex:
      UNIQUE (TABLE LEVEL)
     
      SQL> create table student12(no number(2) , name varchar(10), marks number(3),
             unique(no,name));
      SQL> create table student12(no number(2) , name varchar(10), marks number(3),
             constraint un unique(no,name));
           
      UNIQUE (ALTER LEVEL)

      SQL> alter table student12 add unique(no,name);
      SQL> alter table student12 add constraint un unique(no,name);

     PRIMARY KEY (TABLE LEVEL)

      SQL> create table student12(no number(2) , name varchar(10), marks number(3),
             primary key(no,name));
      SQL> create table student12(no number(2) , name varchar(10), marks number(3),
             constraint pk primary key(no,name));

      PRIMARY KEY (ALTER LEVEL)

      SQL> alter table student12 add primary key(no,anme);
      SQL> alter table student12 add constraint pk primary key(no,name);

      FOREIGN KEY (TABLE LEVEL)

     SQL> create table emp(empno number(2), ename varchar(10), deptno number(2),
             dname varchar(10), primary key(empno), foreign key(deptno,dname) references
             dept(deptno,dname));
      SQL> create table emp(empno number(2), ename varchar(10), deptno number(2),
             dname varchar(10), constraint pk primary key(empno), constraint fk foreign
             key(deptno,dname) references dept(deptno,dname));

      FOREIGN KEY (ALTER LEVEL)
    
      SQL> alter table emp add foreign key(deptno,dname) references dept(deptno,dname);
                SQL> alter table emp add constraint fk foreign key(deptno,dname) references
                     dept(deptno,dname);