You are on page 1of 19

SQL> REM DROPTABLE SQL> DROP TABLE sungby; Table dropped. SQL> DROP TABLE Table dropped.

SQL> DROP TABLE song; Table dropped. SQL> DROP TABLE album; Table dropped. SQL> DROP TABLE studio; Table dropped. SQL> DROP TABLE musician; Table dropped. SQL> SQL> SQL> SQL> 2 3 4 5 6 artist;

REM CREATE TABLE create table musician ( musician_id number(10) constraint pk_musician_id primary key, name varchar2(20), hometown varchar2(10) );

Table created. SQL> desc musician; Name Null? ----------------------------------------- -------MUSICIAN_ID NOT NULL NAME HOMETOWN SQL> SQL> 2 3 4 5 6 7 Type ---------------------------NUMBER(10) VARCHAR2(20) VARCHAR2(10)

create table studio ( studio_name varchar2(20) constraint pk_studio_name primary key, address varchar2(150), homepage varchar2(30) constraint ck_page CHECK(homepage like 'http:\\%'), phone_no number(15) constraint ck_phone_no CHECK( length(phone_no)=10) );

Table created. SQL> desc studio; Name Null? ----------------------------------------- -------STUDIO_NAME NOT NULL ADDRESS Type ---------------------------VARCHAR2(20) VARCHAR2(150)

HOMEPAGE PHONE_NO

VARCHAR2(30) NUMBER(15)

SQL> SQL> create table album 2 ( 3 album_id number(10) constraint pk_album_id primary key, 4 album_name varchar2(20), 5 year_of_release number(5) constraint ck_year CHECK(year_of_release >1945), 6 no_of_tracks number(25) NOT NULL, 7 studio varchar2(20) constraint fk_studio REFERENCES studio(studio_name), 8 genre varchar2(15) constraint ck_album_genre CHECK(genre IN('CAR','DIV','MO V','POP')), 9 musician_id number(15) constraint fk_muscian_id REFERENCES musician(music ian_id) 10 ); Table created. SQL> desc album; Name ----------------------------------------ALBUM_ID ALBUM_NAME YEAR_OF_RELEASE NO_OF_TRACKS STUDIO GENRE MUSICIAN_ID Null? Type -------- ---------------------------NOT NULL NUMBER(10) VARCHAR2(20) NUMBER(5) NOT NULL NUMBER(25) VARCHAR2(20) VARCHAR2(15) NUMBER(15)

SQL> SQL> create table song 2 ( 3 album_id number(10) , 4 track_no number(10), 5 song_name varchar2(30), 6 genre varchar2(20) constraint ck_song_genre CHECK(genre IN ('PHI','DEV','LO V','REL','PAT')), 7 length number(20) ,constraint ck_length CHECK (genre not in ('PAT') or leng th>7), 8 constraint pk_song primary key(album_id,track_no), 9 constraint fk_toalbum_id foreign key(album_id) REFERENCES album(album_id) 10 ); Table created. SQL> desc song; Name ----------------------------------------ALBUM_ID TRACK_NO SONG_NAME GENRE LENGTH SQL> SQL> 2 3 4 Null? -------NOT NULL NOT NULL Type ---------------------------NUMBER(10) NUMBER(10) VARCHAR2(30) VARCHAR2(20) NUMBER(20)

create table artist ( artist_id number(10) constraint pk_artist_id primary key, artist_name varchar2(20) constraint unique_artist_name UNIQUE,

5 hometown varchar2(20), 6 homepage varchar2(20) constraint ck_homepage CHECK(homepage like 'http:\\%' ) 7 ); Table created. SQL> desc artist; Name Null? ----------------------------------------- -------ARTIST_ID NOT NULL ARTIST_NAME HOMETOWN HOMEPAGE Type ---------------------------NUMBER(10) VARCHAR2(20) VARCHAR2(20) VARCHAR2(20)

SQL> SQL> create table sungby 2 ( 3 album_id number(10), 4 track_no number(9),constraint pk_track_no primary key(album_id,track_no,art ist_id), 5 artist_id number(10), 6 recording_date date, 7 constraint fk_artist_id foreign key(artist_id) REFERENCES artist(artist_id) , 8 constraint fk_tosong foreign key(album_id,track_no) references song(album _id,track_no) 9 ); Table created. SQL> desc sungby; Name ----------------------------------------ALBUM_ID TRACK_NO ARTIST_ID RECORDING_DATE SQL> SQL> SQL> ne SQL> SQL> SQL> REM CONSTRAINT:1 REM The genre for album can be categorized as CARfor carnatic,DIV for divi REM MOV for movies,POP for pop songs, INSERT INTO musician VALUES(1,'yuvan','chennai'); Null? -------NOT NULL NOT NULL NOT NULL Type ---------------------------NUMBER(10) NUMBER(9) NUMBER(10) DATE

1 row created. SQL> INSERT INTO studio VALUES('avm','vadapalani chennai','http:\\avmsbg.com',99 41539488); 1 row created. SQL> SQL> REM VALID SQL> SQL> INSERT INTO album VALUES(100,'yuva',2001,5,'avm','MOV',1); 1 row created.

SQL> INSERT INTO album VALUES(101,'suprabatham',1948,5,'avm','CAR',1); 1 row created. SQL> INSERT INTO album VALUES(102,'hindu',2000,5,'avm','DIV',1); 1 row created. SQL> INSERT INTO album VALUES(103,'akon',2005,5,'avm','POP',1); 1 row created. SQL> SQL> REM INVALID SQL> SQL> INSERT INTO album VALUES(50,'yuva',2001,5,'avm','JAZZ',1); INSERT INTO album VALUES(50,'yuva',2001,5,'avm','JAZZ',1) * ERROR at line 1: ORA-02290: check constraint (SYSTEM.CK_ALBUM_GENRE) violated SQL> SQL> SQL> SQL> SQL> SQL> SQL> SQL> REM CONSTRAINT:2 REM the genre for song can be PHI for philosophical,REL for relationalship REM LOV for duet,DEV for devotional,PAT for patriotic. REM VALID INSERT into song VALUES(100,1,'good bye','REL',10);

1 row created. SQL> INSERT into song VALUES(100,3,'oh my lov','LOV',10); 1 row created. SQL> INSERT into song VALUES(101,4,'rama purva','DEV',8); 1 row created. SQL> INSERT into song VALUES(101,2,'om namaha','PHI',8); 1 row created. SQL> INSERT into song VALUES(102,5,'janagana','PAT',10); 1 row created. SQL> SQL> REM INVALID SQL> SQL> INSERT into song VALUES(51,1,'good ','HIN',10); INSERT into song VALUES(51,1,'good ','HIN',10) * ERROR at line 1: ORA-02290: check constraint (SYSTEM.CK_SONG_GENRE) violated

SQL> SQL> REM CONSTRAINT 3 SQL> SQL> REM The artist ID, album ID, musician ID, and track number, studio name are used to SQL> REM retrieve tuple(s) individually from respective relations. SQL> SQL> INSERT into artist VALUES(200,'pooja','chennai','http:\\www.gmail.com'); 1 row created. SQL> INSERT into artist VALUES(205,'saran','chennai','http:\\www.gmail.com'); 1 row created. SQL> INSERT into sungby VALUES(100,1,200,'01-jan-2001'); 1 row created. SQL> INSERT into sungby VALUES(101,2,200,'01-jan-2001'); 1 row created. SQL> SQL> REM primary key check for artist_id SQL> SQL> REM VALID SQL> select * from artist where artist_id=200; ARTIST_ID ARTIST_NAME HOMETOWN HOMEPAGE ---------- -------------------- -------------------- -------------------200 pooja chennai http:\\www.gmail.com SQL> SQL> REM INVALID SQL> INSERT into artist VALUES(200,'pooja','chennai','http:\\www.gmail.com'); INSERT into artist VALUES(200,'pooja','chennai','http:\\www.gmail.com') * ERROR at line 1: ORA-00001: unique constraint (SYSTEM.PK_ARTIST_ID) violated SQL> SQL> REM primary key check for album_id SQL> SQL> REM VALID SQL> select * from album where album_id=100; STUDIO ALBUM_ID ALBUM_NAME GENRE MUSICIAN_ID YEAR_OF_RELEASE NO_OF_TRACKS ---------- -------------------- --------------- -----------avm 100 yuva MOV 1 2001 --------------5

SQL> SQL> REM INVALID SQL> INSERT INTO album VALUES(100,'yuva',2001,5,'avm','MOV',1);

INSERT INTO album VALUES(100,'yuva',2001,5,'avm','MOV',1) * ERROR at line 1: ORA-00001: unique constraint (SYSTEM.PK_ALBUM_ID) violated SQL> SQL> REM primary key check for musician_id SQL> SQL> REM VALID SQL> select * from musician where musician_id=1; MUSICIAN_ID NAME HOMETOWN ----------- -------------------- ---------1 yuvan chennai SQL> SQL> REM INVALID SQL> INSERT INTO musician VALUES(1,'yuvan','chennai'); INSERT INTO musician VALUES(1,'yuvan','chennai') * ERROR at line 1: ORA-00001: unique constraint (SYSTEM.PK_MUSICIAN_ID) violated SQL> SQL> REM track number SQL> SQL> REM VALID SQL> select * from sungby where album_id=101; ALBUM_ID TRACK_NO ARTIST_ID RECORDING ---------- ---------- ---------- --------101 2 200 01-JAN-01 SQL> select * from song where album_id=101; ALBUM_ID TRACK_NO SONG_NAME GENRE ---------- ---------- ------------------------------ -------------------LENGTH ---------101 4 rama purva DEV 8 101 8 2 om namaha PHI

SQL> SQL> REM INVALID SQL> INSERT into sungby VALUES(100,1,200,'01-jan-2001'); INSERT into sungby VALUES(100,1,200,'01-jan-2001') * ERROR at line 1: ORA-00001: unique constraint (SYSTEM.PK_TRACK_NO) violated SQL> INSERT into song VALUES(101,4,'rama purva','DEV',8); INSERT into song VALUES(101,4,'rama purva','DEV',8) *

ERROR at line 1: ORA-00001: unique constraint (SYSTEM.PK_SONG) violated SQL> SQL> REM primary key check for studio_name SQL> SQL> REM VALID SQL> INSERT INTO studio VALUES('vagini','vadapalani chennai','http:\\avmsbg.com' ,9941539485); 1 row created. SQL> SQL> REM INVALID SQL> INSERT INTO studio VALUES('avm','vadapalani chennai','http:\\avmsbg.com',99 41539488); INSERT INTO studio VALUES('avm','vadapalani chennai','http:\\avmsbg.com',9941539 488) * ERROR at line 1: ORA-00001: unique constraint (SYSTEM.PK_STUDIO_NAME) violated SQL> SQL> REM CONSTRAINT 4 SQL> SQL> REM Ensure that the artist, musician, song, sungby and studio can not be re moved SQL> REM without deleting the album details. SQL> SQL> INSERT into sungby VALUES(102,5,200,'01-jan-2001'); 1 row created. SQL> SQL> REM VALID SQL> select * from artist where artist_id=200; ARTIST_ID ARTIST_NAME HOMETOWN HOMEPAGE ---------- -------------------- -------------------- -------------------200 pooja chennai http:\\www.gmail.com SQL> REM INVALID SQL> delete from artist where artist_id=200; delete from artist where artist_id=200 * ERROR at line 1: ORA-02292: integrity constraint (SYSTEM.FK_ARTIST_ID) violated - child record found SQL> REM VALID SQL> select * from musician where musician_id=1; MUSICIAN_ID NAME HOMETOWN ----------- -------------------- ---------1 yuvan chennai SQL> REM INVALID

SQL> delete from musician where musician_id=1; delete from musician where musician_id=1 * ERROR at line 1: ORA-02292: integrity constraint (SYSTEM.FK_MUSCIAN_ID) violated - child record found SQL> REM VALID SQL> select * from album where album_id=100; ALBUM_ID ALBUM_NAME YEAR_OF_RELEASE NO_OF_TRACKS ---------- -------------------- --------------- -----------STUDIO GENRE MUSICIAN_ID -------------------- --------------- ----------100 yuva 2001 5 avm MOV 1 SQL> REM INVALID SQL> delete from album where album_id=100; delete from album where album_id=100 * ERROR at line 1: ORA-02292: integrity constraint (SYSTEM.FK_TOALBUM_ID) violated - child record found SQL> REM VALID SQL> select * from song where album_id=101; ALBUM_ID TRACK_NO SONG_NAME GENRE ---------- ---------- ------------------------------ -------------------LENGTH ---------101 4 rama purva DEV 8 101 8 2 om namaha PHI

SQL> REM INVALID SQL> delete from song where album_id=101; delete from song where album_id=101 * ERROR at line 1: ORA-02292: integrity constraint (SYSTEM.FK_TOSONG) violated - child record found SQL> REM VALID SQL> select * from sungby where album_id=101; ALBUM_ID TRACK_NO ARTIST_ID RECORDING ---------- ---------- ---------- --------101 2 200 01-JAN-01 SQL> REM VALID SQL> select * from studio where studio_name='avm';

STUDIO_NAME -------------------ADDRESS -------------------------------------------------------------------------------HOMEPAGE PHONE_NO ------------------------------ ---------avm vadapalani chennai http:\\avmsbg.com 9941539488 SQL> REM INVALID SQL> delete from studio where studio_name='avm'; delete from studio where studio_name='avm' * ERROR at line 1: ORA-02292: integrity constraint (SYSTEM.FK_STUDIO) violated - child record found SQL> SQL> REM CONSTRAINT 5 SQL> REM A song may be sung by more than one artist. The same artist may sing fo r more than SQL> REM one track in the same album. Similarly an artist can sing for different album(s). SQL> SQL> INSERT into artist VALUES(202,'karthik','chennai','http:\\www.yahoo.com'); 1 row created. SQL> INSERT into artist VALUES(203,'anitha','chennai','http:\\www.yahoo.com'); 1 row created. SQL> INSERT into song VALUES(101,3,'swaha','DEV',8); 1 row created. SQL> SQL> REM VALID SQL> REM A song may be sung by more than one artist SQL> SQL> INSERT into sungby VALUES(101,4,203,'06-jul-1948'); 1 row created. SQL> INSERT into sungby VALUES(101,4,202,'06-jul-1948'); 1 row created. SQL> SQL> REM The same artist may sing for more than one track in the same album SQL> SQL> INSERT into sungby VALUES(101,3,202,'06-jan-1948'); 1 row created. SQL> INSERT into sungby VALUES(101,2,202,'06-jan-1948');

1 row created. SQL> SQL> REM an artist can sing for different album(s) SQL> SQL> INSERT into song VALUES(100,2,'love you','LOV',10); 1 row created. SQL> INSERT into song VALUES(100,4,'go away','REL',10); 1 row created. SQL> SQL> INSERT into sungby VALUES(100,4,200,'6-jan-2000'); 1 row created. SQL> INSERT into sungby VALUES(101,4,200,'6-jan-2000'); 1 row created. SQL> SQL> REM INVALID SQL> INSERT into sungby VALUES(100,4,200,'6-jan-2000'); INSERT into sungby VALUES(100,4,200,'6-jan-2000') * ERROR at line 1: ORA-00001: unique constraint (SYSTEM.PK_TRACK_NO) violated SQL> SQL> SQL> SQL> SQL> SQL> SQL> SQL>

REM CONSTRAINT 6 REM It was learnt that the artists do not have the same name. REM VALID INSERT into artist VALUES(201,'mahati','chennai','http:\\www.gmail.com');

1 row created. SQL> SQL> REM INVALID SQL> INSERT into artist VALUES(52,'mahati','chennai','http:\\www.gmail.com'); INSERT into artist VALUES(52,'mahati','chennai','http:\\www.gmail.com') * ERROR at line 1: ORA-00001: unique constraint (SYSTEM.UNIQUE_ARTIST_NAME) violated SQL> SQL> SQL> SQL> SQL> SQL> SQL>

REM CONSTRAINT 7 REM The number of tracks in an album must always be recorded. REM VALID INSERT into album VALUES(104,'gaga',2006,7,'avm','POP',1);

1 row created. SQL> SQL> REM INVALID SQL> INSERT into album VALUES(53,'gaga',2006,NULL,'avm','POP',1); INSERT into album VALUES(53,'gaga',2006,NULL,'avm','POP',1) * ERROR at line 1: ORA-01400: cannot insert NULL into ("SYSTEM"."ALBUM"."NO_OF_TRACKS") SQL> SQL> SQL> SQL> SQL> SQL> SQL>

REM CONSTRAINT 8 REM The length of each song must be greater than 7 for PAT songs. REM VALID INSERT into song VALUES(104,6,'nerarum','PAT',8);

1 row created. SQL> SQL> REM INVALID SQL> INSERT into song VALUES(54,6,'nerarum','PAT',6); INSERT into song VALUES(54,6,'nerarum','PAT',6) * ERROR at line 1: ORA-02290: check constraint (SYSTEM.CK_LENGTH) violated SQL> SQL> SQL> SQL> SQL> SQL> SQL>

REM CONSTRAINT 9 REM The year of release of an album can not be earlier than 1945. REM VALID INSERT into album VALUES(105,'britney',2006,5,'avm','POP',1);

1 row created. SQL> SQL> REM INVALID SQL> INSERT into album VALUES(54,'britney',1922,5,'avm','POP',1); INSERT into album VALUES(54,'britney',1922,5,'avm','POP',1) * ERROR at line 1: ORA-02290: check constraint (SYSTEM.CK_YEAR) violated SQL> SQL> REM CONSTRAINT 10 SQL> REM The phone number is of ten digits exactly. SQL> SQL> REM VALID SQL> INSERT into studio VALUES('prasath','chennai','http:\\www.vagini.com',9962 586959); 1 row created. SQL>

SQL> REM INVALID SQL> INSERT into studio VALUES('varsha','chennai','http:\\www.vagini.com',99625 869555); INSERT into studio VALUES('varsha','chennai','http:\\www.vagini.com',9962586955 5) * ERROR at line 1: ORA-02290: check constraint (SYSTEM.CK_PHONE_NO) violated SQL> INSERT into studio VALUES('varsh','chennai','http:\\www.vagini.com',996258 69554); INSERT into studio VALUES('varsh','chennai','http:\\www.vagini.com',99625869554 ) * ERROR at line 1: ORA-02290: check constraint (SYSTEM.CK_PHONE_NO) violated SQL> SQL> REM CONSTRAINT 11 SQL> REM The homepage starts with http:// SQL> SQL> REM VALID SQL> INSERT into studio VALUES('sathyam','chennai','http:\\www.sathyam.com',996 2586956); 1 row created. SQL> SQL> REM INVALID SQL> INSERT into studio VALUES('ags','chennai','www.ags.com',9962586956); INSERT into studio VALUES('ags','chennai','www.ags.com',9962586956) * ERROR at line 1: ORA-02290: check constraint (SYSTEM.CK_PAGE) violated SQL> SQL> REM CONSTRAINT 12 SQL> REM It is necessary to represent the gender of SQL> SQL> DESC artist; Name Null? ----------------------------------------- -------ARTIST_ID NOT NULL ARTIST_NAME HOMETOWN HOMEPAGE SQL> SQL> ALTER table artist add gender varchar(10); Table altered. SQL> SQL> DESC artist; Name Null? Type ----------------------------------------- -------- ---------------------------ARTIST_ID NOT NULL NUMBER(10)

an artist in the table. Type ---------------------------NUMBER(10) VARCHAR2(20) VARCHAR2(20) VARCHAR2(20)

ARTIST_NAME HOMETOWN HOMEPAGE GENDER SQL> REM CONSTRAINT 13 SQL> SQL> REM The first few words of the lyrics me do not SQL> REM accommodate some of the words (in SQL> SQL> DESC song; Name ----------------------------------------ALBUM_ID TRACK_NO SONG_NAME GENRE LENGTH

VARCHAR2(20) VARCHAR2(20) VARCHAR2(20) VARCHAR2(10)

constitute the song name. The song na lyrics). Null? -------NOT NULL NOT NULL Type ---------------------------NUMBER(10) NUMBER(10) VARCHAR2(30) VARCHAR2(20) NUMBER(20)

SQL> SQL> ALTER table song modify song_name varchar(40); Table altered. SQL> SQL> DESC song; Name ----------------------------------------ALBUM_ID TRACK_NO SONG_NAME GENRE LENGTH SQL> SQL> SQL> SQL> 2

Null? -------NOT NULL NOT NULL

Type ---------------------------NUMBER(10) NUMBER(10) VARCHAR2(40) VARCHAR2(20) NUMBER(20)

REM CONSTRAINT 14 REM The phone number of each studio should be different. ALTER table studio MODIFY phone_no number(15) constraint phone_no_unique unique;

Table altered. SQL> SQL> REM VALID SQL> select * from studio; STUDIO_NAME -------------------ADDRESS -------------------------------------------------------------------------------HOMEPAGE PHONE_NO ------------------------------ ---------avm vadapalani chennai http:\\avmsbg.com 9941539488 vagini vadapalani chennai http:\\avmsbg.com

9941539485

STUDIO_NAME -------------------ADDRESS -------------------------------------------------------------------------------HOMEPAGE PHONE_NO ------------------------------ ---------prasath chennai http:\\www.vagini.com sathyam chennai STUDIO_NAME -------------------ADDRESS -------------------------------------------------------------------------------HOMEPAGE PHONE_NO ------------------------------ ---------http:\\www.sathyam.com 9962586956 SQL> SQL> REM INVALID SQL> INSERT into studio VALUES('shanthi','chennai','http:\\www.shanthi.com',996 2586956); INSERT into studio VALUES('shanthi','chennai','http:\\www.shanthi.com',99625869 56) * ERROR at line 1: ORA-00001: unique constraint (SYSTEM.PHONE_NO_UNIQUE) violated SQL> REM CONSTRAINT 15 SQL> REM An artist who sing a song for a particular recorded SQL> REM without the record_date. SQL> SQL> DESC sungby; Name Null? ----------------------------------------- -------ALBUM_ID NOT NULL TRACK_NO NOT NULL ARTIST_ID NOT NULL RECORDING_DATE

9962586959

track of an album can not be

Type ---------------------------NUMBER(10) NUMBER(9) NUMBER(10) DATE

SQL> ALTER table sungby modify recording_date date NOT NULL; Table altered. SQL> DESC sungby; Name ----------------------------------------ALBUM_ID TRACK_NO ARTIST_ID RECORDING_DATE Null? -------NOT NULL NOT NULL NOT NULL NOT NULL Type ---------------------------NUMBER(10) NUMBER(9) NUMBER(10) DATE

SQL> SQL> SQL> SQL> 2

REM CONSTRAINT 16 REM It was decided to include the genre NAT for nature songs. ALTER TABLE song DROP CONSTRAINT ck_song_genre;

Table altered. SQL> ALTER table song MODIFY genre varchar2(10) CONSTRAINT alter_song_genre 2 CHECK ( genre in ( 'NAT','PHI','REL','LOV','DEV','PAT') ); Table altered. SQL> SQL> REM VALID SQL> INSERT into song VALUES(103,3,'lonely','NAT',10); 1 row created. SQL> SQL> REM INVALID SQL> INSERT into song VALUES(103,4,'lonely','WEST',10); INSERT into song VALUES(103,4,'lonely','WEST',10) * ERROR at line 1: ORA-02290: check constraint (SYSTEM.ALTER_SONG_GENRE) violated SQL> SQL> REM CONSTRAINT 17 SQL> REM It was found that homepage for the artist is not necessary. SQL> SQL> DESC artist; Name Null? Type ----------------------------------------- -------- ---------------------------ARTIST_ID NOT NULL NUMBER(10) ARTIST_NAME VARCHAR2(20) HOMETOWN VARCHAR2(20) HOMEPAGE VARCHAR2(20) GENDER VARCHAR2(10) SQL> SQL> ALTER table artist drop column homepage; Table altered. SQL> SQL> DESC artist; Name Null? ----------------------------------------- -------ARTIST_ID NOT NULL ARTIST_NAME HOMETOWN GENDER

Type ---------------------------NUMBER(10) VARCHAR2(20) VARCHAR2(20) VARCHAR2(10)

SQL> REM CONSTRAINT 18 SQL> REM Due to typo-error, there may be a possibility of false information. Hen ce while SQL> REM deleting the information pertained to a song, make sure that all the co rresponding

SQL> REM details are also deleted. SQL> SQL> INSERT into song VALUES(104,7,'beautiful','LOV',7); 1 row created. SQL> SQL> DESC sungby Name ----------------------------------------ALBUM_ID TRACK_NO ARTIST_ID RECORDING_DATE SQL> ALTER TABLE sungby 2 DROP CONSTRAINT fk_tosong; Table altered. SQL> SQL> 2 3 4 5 ALTER TABLE sungby ADD CONSTRAINT modify_fk_sungby foreign key(album_id,track_no) references song(album_id,track_no) ON DELETE CASCADE;

Null? -------NOT NULL NOT NULL NOT NULL NOT NULL

Type ---------------------------NUMBER(10) NUMBER(9) NUMBER(10) DATE

Table altered. SQL> SQL> ALTER TABLE sungby 2 DROP CONSTRAINT fk_artist_id; Table altered. SQL> SQL> ALTER TABLE sungby 2 ADD CONSTRAINT modify_fk_artist_id foreign key(artist_id) REFERENCES artist (artist_id) 3 ON DELETE CASCADE; Table altered. SQL> SQL> select * from song; ALBUM_ID TRACK_NO SONG_NAME GENRE ---------- ---------- ---------------------------------------- ---------LENGTH ---------100 1 good bye REL 10 100 10 101 8 3 oh my lov 4 rama purva LOV DEV

ALBUM_ID TRACK_NO SONG_NAME GENRE ---------- ---------- ---------------------------------------- ---------LENGTH ---------101 2 om namaha PHI 8 102 10 101 8 5 janagana 3 swaha PAT DEV

ALBUM_ID TRACK_NO SONG_NAME GENRE ---------- ---------- ---------------------------------------- ---------LENGTH ---------100 2 love you LOV 10 100 10 104 8 4 go away 6 nerarum REL PAT

ALBUM_ID TRACK_NO SONG_NAME GENRE ---------- ---------- ---------------------------------------- ---------LENGTH ---------103 3 lonely NAT 10 104 7 11 rows selected. SQL> select * from sungby; ALBUM_ID TRACK_NO ARTIST_ID RECORDING ---------- ---------- ---------- --------100 1 200 01-JAN-01 101 2 200 01-JAN-01 102 5 200 01-JAN-01 101 4 203 06-JUL-48 101 4 202 06-JUL-48 101 3 202 06-JAN-48 101 2 202 06-JAN-48 100 4 200 06-JAN-00 101 4 200 06-JAN-00 9 rows selected. SQL> SQL> delete from song where album_id=104; 7 beautiful LOV

2 rows deleted. SQL> SQL> select * from song; ALBUM_ID TRACK_NO SONG_NAME GENRE ---------- ---------- ---------------------------------------- ---------LENGTH ---------100 1 good bye REL 10 100 10 101 8 3 oh my lov 4 rama purva LOV DEV

ALBUM_ID TRACK_NO SONG_NAME GENRE ---------- ---------- ---------------------------------------- ---------LENGTH ---------101 2 om namaha PHI 8 102 10 101 8 5 janagana 3 swaha PAT DEV

ALBUM_ID TRACK_NO SONG_NAME GENRE ---------- ---------- ---------------------------------------- ---------LENGTH ---------100 2 love you LOV 10 100 10 103 10 9 rows selected. SQL> select * from sungby; ALBUM_ID TRACK_NO ARTIST_ID RECORDING ---------- ---------- ---------- --------100 1 200 01-JAN-01 101 2 200 01-JAN-01 102 5 200 01-JAN-01 101 4 203 06-JUL-48 101 4 202 06-JUL-48 101 3 202 06-JAN-48 101 2 202 06-JAN-48 4 go away 3 lonely REL NAT

100 101 9 rows selected.

4 4

200 06-JAN-00 200 06-JAN-00

SQL> SQL> delete from song where album_id=103; 1 row deleted. SQL> spool off

You might also like