diff --git a/lab-2/music-store-app/sql/schema.sql b/lab-2/music-store-app/sql/schema.sql index 2bb7329f312e7b5c6f7584e93d59199243b424f7..0999a25249c969f95f7341aece23ef991e119a91 100644 --- a/lab-2/music-store-app/sql/schema.sql +++ b/lab-2/music-store-app/sql/schema.sql @@ -1,14 +1,13 @@ /* Delete existing tables in reverse order of creation so as not to violate any foreign key constraints */ -DROP TABLE IF EXISTS OrderLine, Order, Customer, Track, Album, Artist, Act, Genre; +DROP TABLE IF EXISTS LineItem, Transaction, Customer, Track, Album, Artist, Act, Genre; /* Define table for genres */ CREATE TABLE Genre ( id INT AUTO_INCREMENT, name VARCHAR(25) UNIQUE NOT NULL, PRIMARY KEY (id) -} - +); /* Define table for storing act (i.e. a group or solo artist) */ CREATE TABLE Act ( @@ -18,7 +17,7 @@ CREATE TABLE Act ( PRIMARY KEY (id), FOREIGN KEY (genre_id) REFERENCES Genre (id) -} +); /* Define table for storing artists */ CREATE TABLE Artist ( @@ -36,9 +35,10 @@ CREATE TABLE Album ( id INT AUTO_INCREMENT, name VARCHAR(50) NOT NULL, year YEAR(4), - compilation BOOLEAN NOT NULL DEFAULT 0 + compilation BOOLEAN NOT NULL DEFAULT 0, price DECIMAL(5, 2) unsigned NOT NULL, -} + PRIMARY KEY (id) +); /* Define table for storing single tracks */ @@ -69,7 +69,7 @@ CREATE TABLE Customer ( ); /* Define table for storing orders */ -CREATE TABLE Order ( +CREATE TABLE Transaction ( id INT AUTO_INCREMENT, customer_id INT NOT NULL, delivery ENUM('first class','second class','next working day'), @@ -78,15 +78,15 @@ CREATE TABLE Order ( REFERENCES Customer(id) ); -/* Define table for storing orderlines */ -CREATE TABLE OrderLine ( +/* Define table for storing line items */ +CREATE TABLE LineItem ( id INT AUTO_INCREMENT, - order_id INT NOT NULL, + trans_id INT NOT NULL, album_id INT NOT NULL, - quantity INT NOT NULL, + quantity INT NOT NULL DEFAULT 1, PRIMARY KEY (id), - FOREIGN KEY (order_id) - REFERENCES Order(id), + FOREIGN KEY (trans_id) + REFERENCES Transaction (id), FOREIGN KEY (album_id) - REFERENCES Album(id), + REFERENCES Album (id) );