diff --git a/Chinook_Rev1.sql b/Chinook_Rev1.sql index ff1bea5..7a34be0 100644 --- a/Chinook_Rev1.sql +++ b/Chinook_Rev1.sql @@ -1,30 +1,9 @@ - -/******************************************************************************* - Drop database if it exists -********************************************************************************/ -DROP DATABASE IF EXISTS `Chinook_Rev1`; - - -/******************************************************************************* - Create database -********************************************************************************/ -CREATE DATABASE `Chinook_Rev1`; - - -USE `Chinook_Rev1`; +USE `Chinook`; /******************************************************************************* Create Tables ********************************************************************************/ -CREATE TABLE `Album` -( - `AlbumId` INT NOT NULL, - `Title` NVARCHAR(160) NOT NULL, - `ArtistId` INT NOT NULL, - CONSTRAINT `PK_Album` PRIMARY KEY (`AlbumId`) -); - CREATE TABLE `ApplePay` ( `PayId` INT NOT NULL, @@ -32,14 +11,6 @@ CREATE TABLE `ApplePay` CONSTRAINT `PK_ApplePay` PRIMARY KEY (`PayId`) ); - -CREATE TABLE `Artist` -( - `ArtistId` INT NOT NULL, - `Name` NVARCHAR(120), - CONSTRAINT `PK_Artist` PRIMARY KEY (`ArtistId`) -); - CREATE TABLE `CreditCard` ( `PayId` INT NOT NULL, @@ -48,33 +19,6 @@ CREATE TABLE `CreditCard` CONSTRAINT `PK_CreditCard` PRIMARY KEY (`PayId`) ); -CREATE TABLE `Customer` -( - `PersonId` INT NOT NULL, - `CustomerId` INT NOT NULL, - `Company` NVARCHAR(80), - `SupportRepId` INT, - CONSTRAINT `PK_Customer` PRIMARY KEY (`CustomerId`) -); - -CREATE TABLE `Employee` -( - `PersonId` INT NOT NULL, - `EmployeeId` INT NOT NULL, - `Title` NVARCHAR(30), - `ReportsTo` INT, - `BirthDate` DATETIME, - `HireDate` DATETIME, - CONSTRAINT `PK_Employee` PRIMARY KEY (`EmployeeId`) -); - -CREATE TABLE `Genre` -( - `GenreId` INT NOT NULL, - `Name` NVARCHAR(120), - CONSTRAINT `PK_Genre` PRIMARY KEY (`GenreId`) -); - CREATE TABLE `GooglePay` ( `PayId` INT NOT NULL, @@ -83,38 +27,6 @@ CREATE TABLE `GooglePay` CONSTRAINT `PK_GooglePay` PRIMARY KEY (`PayId`) ); -CREATE TABLE `Invoice` -( - `InvoiceId` INT NOT NULL, - `CustomerId` INT NOT NULL, - `InvoiceDate` DATETIME NOT NULL, - `BillingAddress` NVARCHAR(70), - `BillingCity` NVARCHAR(40), - `BillingState` NVARCHAR(40), - `BillingCountry` NVARCHAR(40), - `BillingPostalCode` NVARCHAR(10), - `Total` NUMERIC(10,2) NOT NULL, - `PayId` INT, - CONSTRAINT `PK_Invoice` PRIMARY KEY (`InvoiceId`) -); - -CREATE TABLE `InvoiceLine` -( - `InvoiceLineId` INT NOT NULL, - `InvoiceId` INT NOT NULL, - `TrackId` INT NOT NULL, - `UnitPrice` NUMERIC(10,2) NOT NULL, - `Quantity` INT NOT NULL, - CONSTRAINT `PK_InvoiceLine` PRIMARY KEY (`InvoiceLineId`) -); - -CREATE TABLE `MediaType` -( - `MediaTypeId` INT NOT NULL, - `Name` NVARCHAR(120), - CONSTRAINT `PK_MediaType` PRIMARY KEY (`MediaTypeId`) -); - CREATE TABLE `MyPlaylist` ( `PlaylistId` INT NOT NULL, @@ -167,35 +79,6 @@ CREATE TABLE `Person` `Email` NVARCHAR(60) NOT NULL, CONSTRAINT `PK_Person` PRIMARY KEY (`PersonID`) ); - - -CREATE TABLE `Playlist` -( - `PlaylistId` INT NOT NULL, - `Name` NVARCHAR(120), - CONSTRAINT `PK_Playlist` PRIMARY KEY (`PlaylistId`) -); - -CREATE TABLE `PlaylistTrack` -( - `PlaylistId` INT NOT NULL, - `TrackId` INT NOT NULL, - CONSTRAINT `PK_PlaylistTrack` PRIMARY KEY (`PlaylistId`, `TrackId`) -); - -CREATE TABLE `Track` -( - `TrackId` INT NOT NULL, - `Name` NVARCHAR(200) NOT NULL, - `AlbumId` INT, - `MediaTypeId` INT NOT NULL, - `GenreId` INT, - `Composer` NVARCHAR(220), - `Milliseconds` INT NOT NULL, - `Bytes` INT, - `UnitPrice` NUMERIC(10,2) NOT NULL, - CONSTRAINT `PK_Track` PRIMARY KEY (`TrackId`) -); CREATE TABLE `TrackURL` ( @@ -219,31 +102,13 @@ ALTER TABLE `ApplePay` ADD CONSTRAINT `FK_ApplePayId` CREATE INDEX `IFK_ApplePayId` ON `ApplePay` (`PayId`); -ALTER TABLE `Album` ADD CONSTRAINT `FK_AlbumArtistId` - FOREIGN KEY (`ArtistId`) REFERENCES `Artist` (`ArtistId`) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE INDEX `IFK_AlbumArtistId` ON `Album` (`ArtistId`); - ALTER TABLE `CreditCard` ADD CONSTRAINT `FK_CreditCardPayId` FOREIGN KEY (`PayId`) REFERENCES `Payment` (`PayId`) ON DELETE NO ACTION ON UPDATE NO ACTION; CREATE INDEX `IFK_CreditCardPayId` ON `CreditCard` (`PayId`); -ALTER TABLE `Customer` ADD CONSTRAINT `FK_CustomerSupportRepId` - FOREIGN KEY (`SupportRepId`) REFERENCES `Employee` (`EmployeeId`) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE INDEX `IFK_CustomerSupportRepId` ON `Customer` (`SupportRepId`); - -ALTER TABLE `Customer` ADD CONSTRAINT `FK_CustomerPersonId` - FOREIGN KEY (`PersonId`) REFERENCES `Person` (`PersonId`) ON DELETE NO ACTION ON UPDATE NO ACTION; - CREATE INDEX `IFK_CustomerPersonId` ON `Customer` (`PersonId`); -ALTER TABLE `Employee` ADD CONSTRAINT `FK_EmployeeReportsTo` - FOREIGN KEY (`ReportsTo`) REFERENCES `Employee` (`EmployeeId`) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE INDEX `IFK_EmployeeReportsTo` ON `Employee` (`ReportsTo`); - ALTER TABLE `Employee` ADD CONSTRAINT `FK_EmployeePersonId` FOREIGN KEY (`PersonId`) REFERENCES `Person` (`PersonId`) ON DELETE NO ACTION ON UPDATE NO ACTION; @@ -254,26 +119,11 @@ ALTER TABLE `GooglePay` ADD CONSTRAINT `FK_GooglePayId` CREATE INDEX `IFK_GooglePayId` ON `GooglePay` (`PayId`); -ALTER TABLE `Invoice` ADD CONSTRAINT `FK_InvoiceCustomerId` - FOREIGN KEY (`CustomerId`) REFERENCES `Customer` (`CustomerId`) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE INDEX `IFK_InvoiceCustomerId` ON `Invoice` (`CustomerId`); - ALTER TABLE `Invoice` ADD CONSTRAINT `FK_InvoicePayId` FOREIGN KEY (`PayId`) REFERENCES `Payment` (`PayId`); CREATE INDEX `IFK_InvoicePayId` ON `Invoice` (`PayId`); -ALTER TABLE `InvoiceLine` ADD CONSTRAINT `FK_InvoiceLineInvoiceId` - FOREIGN KEY (`InvoiceId`) REFERENCES `Invoice` (`InvoiceId`) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE INDEX `IFK_InvoiceLineInvoiceId` ON `InvoiceLine` (`InvoiceId`); - -ALTER TABLE `InvoiceLine` ADD CONSTRAINT `FK_InvoiceLineTrackId` - FOREIGN KEY (`TrackId`) REFERENCES `Track` (`TrackId`) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE INDEX `IFK_InvoiceLineTrackId` ON `InvoiceLine` (`TrackId`); - ALTER TABLE `MyPlaylist` ADD CONSTRAINT `FK_MyPlaylistCustomerId` FOREIGN KEY (`CustomerId`) REFERENCES `Customer` (`CustomerId`) ON DELETE NO ACTION ON UPDATE NO ACTION; @@ -309,29 +159,6 @@ ALTER TABLE `Payment` ADD CONSTRAINT `FK_PaymentCustomerId` CREATE INDEX `IFK_PaymentCustomerId` ON `Payment` (`CustomerId`); -ALTER TABLE `PlaylistTrack` ADD CONSTRAINT `FK_PlaylistTrackPlaylistId` - FOREIGN KEY (`PlaylistId`) REFERENCES `Playlist` (`PlaylistId`) ON DELETE NO ACTION ON UPDATE NO ACTION; - -ALTER TABLE `PlaylistTrack` ADD CONSTRAINT `FK_PlaylistTrackTrackId` - FOREIGN KEY (`TrackId`) REFERENCES `Track` (`TrackId`) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE INDEX `IFK_PlaylistTrackTrackId` ON `PlaylistTrack` (`TrackId`); - -ALTER TABLE `Track` ADD CONSTRAINT `FK_TrackAlbumId` - FOREIGN KEY (`AlbumId`) REFERENCES `Album` (`AlbumId`) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE INDEX `IFK_TrackAlbumId` ON `Track` (`AlbumId`); - -ALTER TABLE `Track` ADD CONSTRAINT `FK_TrackGenreId` - FOREIGN KEY (`GenreId`) REFERENCES `Genre` (`GenreId`) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE INDEX `IFK_TrackGenreId` ON `Track` (`GenreId`); - -ALTER TABLE `Track` ADD CONSTRAINT `FK_TrackMediaTypeId` - FOREIGN KEY (`MediaTypeId`) REFERENCES `MediaType` (`MediaTypeId`) ON DELETE NO ACTION ON UPDATE NO ACTION; - -CREATE INDEX `IFK_TrackMediaTypeId` ON `Track` (`MediaTypeId`); - ALTER TABLE `TrackURL` ADD CONSTRAINT `FK_TrackURLID` FOREIGN KEY (`TrackID`) REFERENCES `Track` (`TrackID`) ON DELETE NO ACTION ON UPDATE NO ACTION; diff --git a/chinookmodel.mwb b/chinookmodel.mwb index 30d501c..cf5f6a9 100644 Binary files a/chinookmodel.mwb and b/chinookmodel.mwb differ diff --git a/chinookmodel.mwb.bak b/chinookmodel.mwb.bak index 0a1c35c..288cd10 100644 Binary files a/chinookmodel.mwb.bak and b/chinookmodel.mwb.bak differ