Description
Question 1
Create a database ’Hollywood’ and create the below tables with the constraints listed below:
Movie(mID int, title text, year int, director text ); Reviewer(rID int, name text);
Rating(rID int, mID int, stars int, ratingDate date);
Enforce the following constraints on the above database:
- Movie and Reviewer should have primary key constraints on the respective id columns. (5)
- Place auto increment on the ’mID’ and ’rID’ columns in the Movie and Reviewer tables. (5)
- Rating table columns ’rID’ and ’mID’ should refer to the respective columns in the parent tables
i.e. Movie and Reviewer. (5)
- The default value of the ’ratingDate’ column in the Rating table should be the current date. (5)
- The ’year’ column in the Movie table should not be greater than 2016. (5)
Question 2
Execute the following script first and then work on questions given below.
DROP DATABASE IF EXISTS cind110A2Script1;
CREATE SCHEMA cind110A2Script1;
USE cind110A2Script1;
CREATE TABLE hiking ( trail CHAR (50),
area CHAR (50), distance FLOAT, est time FLOAT);
SHOW TABLES;
SHOW COLUMNS FROM hiking;
INSERT INTO hiking VALUES
( ‘Cedar Creek Falls’, ‘Upper San Diego’,4.5,2.5);
INSERT INTO hiking(trail, area) VALUES
( ‘East Mesa Loop’, ‘Cuyamaca Mountains’);
SELECT ∗ FROM hiking;
SET SQL SAFE UPDATES = 0;
UPDATE hiking
SET distance = 10.5, est time = 5.5 WHERE trail = ‘East Mesa Loop’;
USE cind110A2Script1;
DELETE FROM hiking WHERE trail = ‘Cedar Creek Falls’;
SELECT ∗ FROM hiking;
- Write the SQL statements to insert the following values into the hiking table: (3)
|
- Write the SQL statements to update the entry for the ’Oak Canyon’ trail. Set the area to ’Mission Trails Regional Park’ and the estimated time (est time) to 2 hours. Your table should then look like the following: (5)
|
- Write the SQL statement to delete trails with a distance greater than 5 miles. (2)
- Write the SQL statement to create a table called ’rating’. This table rates the difficulty of a hiking trail. It will have two columns: the trail name, ’trail’ and the difficulty, ’difficulty’. The tail name is a string of no more than 50 characters and the difficulty is an integer (INT). (3)
- Write the command to add another column to the hiking table called ’trailID’ with Primary key constraint. (2)
- Add another column called ’trailID’ in the ’rating’ table, which should be the foreign key with the table referring to the hiking table. (3)
- What is the command to delete the rating table? (2)
Question 3
Consider the following tables for Customer, Salesman and Order entities.
| customer id cust name | |||
| 3002
3005 3001 3004 3007 3009 3008 3003 |
Nick Rimando
Graham Zusi Brad Guzan Fabian Johns Brad Davis Geoff Camero Julian Green Jozy Altidor |
New York 100
California 200 London Paris 300 New York 200 Berlin 100 London 300 Moscow 200 |
5001 5002 5005 5006 5001 5003 5002 5007 |
| salesman id | name city | commission |
| 5001 | James Hoog New York | 0.15 |
| 5002 | Nail Knite Paris | 0.13 |
| 5005 | Pit Alex London | 0.11 |
| 5006 | Mc Lyon Paris | 0.14 |
| 5003 | Lauson Hen | 0.12 |
| 5007 | Paul Adam Rome | 0.13 |
Order No Purch Amt Ord Date Customer id salesman id 70001
150.5 2012-10-05 3005 5002
70009 270.65 2012-09-10 3001 5005 70002 65.26 2012-10-05 3002 5001
70004 110.5 2012-08-17 3009 5003
70007 948.5 2012-09-10 3005 5002 70005 2400.6 2012-07-27 3007 5001 70008 5760 2012-09-10 3002 5001
70010 1983.43 2012-10-10 3004 5006 70003 2480.4 2012-10-10 3009 5003
70012 250.45 2012-06-27 3008 5002 70011 75.29 2012-08-17 3003 5007 70013 3045.6 2012-04-25 3002 5001
Instruction:
You are asked to provide the correct SQL scripts for the following questions. You may execute your script using terminal or MySQL workbench to verify your answers. Provide screenshots of only the outputs along with your SQL scripts.
- Write an SQL statement to prepare a list with salesman name, customer name and their cities for the salesmen and customer who belong to same city. (5)
- Write an SQL statement to make a list with order no, purchase amount, customer name and their cities for the orders where order amount is between 500 and 2000. (5)
- Write an SQL statement to find out which salesmen are working for which customer. (5)
- Write an SQL statement to find the list of customers who appointed a salesman for their jobs whose commission is more than 12%. (6)
- Write an SQL statement to find the list of customers who appointed a salesman for their jobs who does not live in same city where the customer lives, and gets a commission above 12%. (6)
- Write an SQL statement to find the details of an order i. e. order number, order date, amount of order, which customer gives the order and which salesman works for that customer and how much
commission he gets for an order. (8)
- Write an SQL statement to make a join within the tables salesman, customer and orders such that the same column of each table will appear once and only the related rows will be returned. (5)
Question 4
Consider the following Relations for a database that keeps track of student enrollment in courses and books adopted for each course.
STUDENT(Ssn, Name, Major, Bdate)
COURSE(Course#, Cname, Dept)
ENROLL(Ssn, Course#, Quarter, Grade)
BOOK ADOPTION(Course#, Quarter, Book isbn) TEXT(Book isbn, Book title, Publisher, Author)



