0% found this document useful (0 votes)
6 views

DBMS expr 3

The document outlines a schema for a Movie Database, including tables for actors, directors, movies, movie casts, and ratings. It provides SQL queries to retrieve specific information such as movie titles directed by Hitchcock, actors in multiple movies, and updates ratings for Spielberg's movies. Additionally, it includes sample SQL commands for creating tables, inserting values, and executing the queries with their expected outputs.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

DBMS expr 3

The document outlines a schema for a Movie Database, including tables for actors, directors, movies, movie casts, and ratings. It provides SQL queries to retrieve specific information such as movie titles directed by Hitchcock, actors in multiple movies, and updates ratings for Spielberg's movies. Additionally, it includes sample SQL commands for creating tables, inserting values, and executing the queries with their expected outputs.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

EXPERIMENT - 3

Consider the schema for Movie Database:


ACTOR (Act_id, Act_Name, Act_Gender)
DIRECTOR (Dir_id, Dir_Name, Dir_Phone)
MOVIES (Mov_id, Mov_Title, Mov_Year, Mov_Lang, Dir_id)
MOVIE_CAST(Act_id, Mov_id, Role)
RATING (Mov_id, Rev_Stars)

Write SQL queries to


1. List the titles of all movies directed by „Hitchcock‟.
2. Find the movie names where one or more actors acted in two or more movies.
3. List all actors who acted in a movie before 2000 and also in a movie after 2015 (use JOIN
operation).
4. Find the title of movies and number of stars for each movie that has at least one rating and
find the highest number of stars that movie received. Sort the result by movie title.
5. Update rating of all movies directed by „Steven Spielberg‟ to 5.

21 | P a g e Department of CSE, VTU, Belagavi


CREATE TABLE
CREATE TABLE ACTOR
( ACT_ID INT,ACT_NAME VARCHAR (20), ACT_GENDER CHAR (1),
PRIMARY KEY (ACT_ID));
CREATE TABLE DIRECTOR ( DIR_ID INT, DIR_NAME VARCHAR (20),
DIR_PHONE BIGINT, PRIMARY KEY (DIR_ID));
CREATE TABLE MOVIES ( MOV_ID INT, MOV_TITLE VARCHAR (20),
MOV_YEAR INT, MOV_LANG VARCHAR (12), DIR_ID INT, PRIMARY KEY
(MOV_ID),
FOREIGN KEY (DIR_ID) REFERENCES DIRECTOR (DIR_ID)); CREATE TABLE
MOVIE_CAST ( ACT_ID INT,
MOV_ID INT, ROLE VARCHAR (10), PRIMARY KEY (ACT_ID, MOV_ID), FOREIGN
KEY (ACT_ID)
REFERENCES ACTOR (ACT_ID), FOREIGN KEY (MOV_ID) REFERENCES MOVIES
(MOV_ID));

22 | P a g e Department of CSE, VTU, Belagavi


CREATE TABLE RATING ( MOV_ID INT, REV_STARS INTEGER, PRIMARY KEY
(MOV_ID),
FOREIGN KEY (MOV_ID) REFERENCES MOVIES (MOV_ID));

DESC COMMAND
DESC ACTOR;
DESC DIRECTOR;
DESC MOVIES;
DESC MOVIE_CAST;
DESC RATING;

INSERT VALUES INTO TABLES


INSERT INTO ACTOR VALUES (301,'ANUSHKA','F'); INSERT INTO ACTOR VALUES
(302,'PRABHAS','M'); INSERT INTO ACTOR VALUES (303,'PUNITH','M'); INSERT
INTO ACTOR VALUES (304,'JERMY','M');
INSERT INTO DIRECTOR VALUES (60,'RAJAMOULI', 8751611001); INSERT INTO
DIRECTOR VALUES (61,'HITCHCOCK', 7766138911); INSERT INTO DIRECTOR
VALUES (62,'FARAN', 9986776531); INSERT INTO DIRECTOR VALUES (63,'STEVEN
SPIELBERG', 8989776530);
INSERT INTO MOVIES VALUES (1001,'BAHUBALI-2', 2017, 'TELUGU', 60); INSERT
INTO MOVIES VALUES (1002,'BAHUBALI-1', 2015, 'TELUGU', 60); INSERT INTO
MOVIES VALUES (1003,'AKASH', 2008, 'KANNADA', 61); INSERT INTO MOVIES
VALUES (1004,'WAR HORSE', 2011, 'ENGLISH', 63);
INSERT INTO MOVIE_CAST VALUES (301, 1002, 'HEROINE'); INSERT INTO
MOVIE_CAST VALUES (301, 1001, 'HEROINE'); INSERT INTO MOVIE_CAST
VALUES (303, 1003, 'HERO'); INSERT INTO MOVIE_CAST VALUES (303, 1002,
'GUEST'); INSERT INTO MOVIE_CAST VALUES (304, 1004, 'HERO');
INSERT INTO RATING VALUES (1001, 4); INSERT INTO RATING VALUES (1002, 2);
INSERT INTO RATING VALUES (1003, 5); INSERT INTO RATING VALUES (1004, 4);

QUERIES:
1. List the titles of all movies directed by „Hitchcock‟ SELECT MOV_TITLE FROM
MOVIES WHERE DIR_ID IN(SELECT DIR_ID FROM DIRECTOR WHERE DIR_NAME
= 'HITCHCOCK');
2. Find the movie names where one or more actors acted in two or more movies. SELECT
distinct MOV_TITLE FROM MOVIES M, MOVIE_CAST MV WHERE

23 | P a g e Department of CSE, VTU, Belagavi


M.MOV_ID=MV.MOV_ID AND ACT_ID IN(SELECT ACT_ID FROM MOVIE_CAST
GROUP BY ACT_ID HAVING COUNT(ACT_ID) > 1);
3. List all actors who acted in a movie before 2000 and also in a movie after 2015 (use JOIN
operation) SELECT ACT_NAME, MOV_TITLE, MOV_YEAR FROM ACTOR A JOIN
MOVIE_CAST C ON A.ACT_ID=C.ACT_ID JOIN MOVIES M ON
C.MOV_ID=M.MOV_ID WHERE M.MOV_YEAR NOT BETWEEN 2000 AND 2015;
4. Find the title of movies and number of stars for each movie that has at least one rating and
find the highest number of stars that movie received. Sort the result by movie title. SELECT
MOV_TITLE, COUNT(REV_STARS) FROM MOVIES INNER JOIN RATING USING
(MOV_ID) GROUP BY MOV_TITLE HAVING MAX(REV_STARS)>0 ORDER BY
MOV_TITLE;
5. Update rating of all movies directed by „Steven Spielberg‟ to 5.
UPDATE RATING SET REV_STARS=5 WHERE MOV_ID IN(SELECT MOV_ID FROM
MOVIES WHERE DIR_ID IN(SELECT DIR_ID FROM DIRECTOR WHERE DIR_NAME
= 'STEVEN SPIELBERG')); SELECT * FROM RATING;

OUTPUT

Q1.
SELECT MOV_TITLE FROM MOVIES WHERE DIR_ID IN(SELECT DIR_ID
FROMDIRECTOR WHERE DIR_NAME = 'HITCHCOCK');

MOV_TITLE
AKASH

Q2.
SELECT distinct MOV_TITLE FROM MOVIES M, MOVIE_CAST MV WHERE
M.MOV_ID=MV.MOV_ID AND ACT_ID IN(SELECT ACT_ID FROM MOVIE_CAST
GROUP BY ACT_ID HAVING COUNT(ACT_ID) > 1);

MOV_TITLE
BAHUBALI-2
BAHUBALI-1
AKASH

24 | P a g e Department of CSE, VTU, Belagavi


Q3.
SELECT ACT_NAME, MOV_TITLE, MOV_YEAR FROM ACTOR A JOIN
MOVIE_CAST CON A.ACT_ID=C.ACT_ID JOIN MOVIES M ON
C.MOV_ID=M.MOV_ID WHERE M.MOV_YEAR NOT BETWEEN 2000 AND 2015;

ACT_NAME MOV_TITLE MOV_YEAR


ANUSHKA BAHUBALI-2 2017

Q4.
SELECT MOV_TITLE, COUNT(REV_STARS) FROM MOVIES INNER JOIN RATING
USING (MOV_ID) GROUP BY MOV_TITLE HAVING MAX(REV_STARS)>0 ORDER
BY MOV_TITLE;

MOV_TITLE COUNT(REV_STARS)
AKASH 1
BAHUBALI-1 1
BAHUBALI-2 1

WAR HORSE 1

Q5.
UPDATE RATING SET REV_STARS=5 WHERE MOV_ID IN(SELECT MOV_ID FROM
MOVIES WHERE DIR_ID IN(SELECT DIR_ID FROM DIRECTOR WHERE DIR_NAME
= 'STEVEN SPIELBERG'));SELECT * FROM RATING;

MOV_ID REV_STARS
1001 4
1002 2
1003 5
1004 5

25 | P a g e Department of CSE, VTU, Belagavi

You might also like