text: DROP DATABASE IF EXISTS `Chinook`;
  CREATE DATABASE `Chinook`;
  USE `Chinook`;
  
  CREATE TABLE `Album` (
      `AlbumId` INT NOT NULL AUTO_INCREMENT,
      `Title` NVARCHAR(160) NOT NULL,
      `ArtistId` INT NOT NULL,
      CONSTRAINT `PK_Album` PRIMARY KEY  (`AlbumId`)
  );
  
  CREATE TABLE `Artist` (
      `ArtistId` INT NOT NULL AUTO_INCREMENT,
      `Name` NVARCHAR(120),
      CONSTRAINT `PK_Artist` PRIMARY KEY  (`ArtistId`)
  );
  
  CREATE TABLE `Customer` (
      `CustomerId` INT NOT NULL AUTO_INCREMENT,
      `FirstName` NVARCHAR(40) NOT NULL,
      `LastName` NVARCHAR(20) NOT NULL,
      `Company` NVARCHAR(80),
      `Address` NVARCHAR(70),
      `City` NVARCHAR(40),
      `State` NVARCHAR(40),
      `Country` NVARCHAR(40),
      `PostalCode` NVARCHAR(10),
      `Phone` NVARCHAR(24),
      `Fax` NVARCHAR(24),
      `Email` NVARCHAR(60) NOT NULL,
      `SupportRepId` INT,
      CONSTRAINT `PK_Customer` PRIMARY KEY  (`CustomerId`)
  );
  
  CREATE TABLE `Employee` (
      `EmployeeId` INT NOT NULL AUTO_INCREMENT,
      `LastName` NVARCHAR(20) NOT NULL,
      `FirstName` NVARCHAR(20) NOT NULL,
      `Title` NVARCHAR(30),
      `ReportsTo` INT,
      `BirthDate` DATETIME,
      `HireDate` DATETIME,
      `Address` NVARCHAR(70),
      `City` NVARCHAR(40),
      `State` NVARCHAR(40),
      `Country` NVARCHAR(40),
      `PostalCode` NVARCHAR(10),
      `Phone` NVARCHAR(24),
      `Fax` NVARCHAR(24),
      `Email` NVARCHAR(60),
      CONSTRAINT `PK_Employee` PRIMARY KEY  (`EmployeeId`)
  );
  
  CREATE TABLE `Genre` (
      `GenreId` INT NOT NULL AUTO_INCREMENT,
      `Name` NVARCHAR(120),
      CONSTRAINT `PK_Genre` PRIMARY KEY  (`GenreId`)
  );
  
  CREATE TABLE `Invoice` (
      `InvoiceId` INT NOT NULL AUTO_INCREMENT,
      `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,
      CONSTRAINT `PK_Invoice` PRIMARY KEY  (`InvoiceId`)
  );
  
  CREATE TABLE `InvoiceLine` (
      `InvoiceLineId` INT NOT NULL AUTO_INCREMENT,
      `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 AUTO_INCREMENT,
      `Name` NVARCHAR(120),
      CONSTRAINT `PK_MediaType` PRIMARY KEY  (`MediaTypeId`)
  );
  
  CREATE TABLE `Playlist` (
      `PlaylistId` INT NOT NULL AUTO_INCREMENT,
      `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 AUTO_INCREMENT,
      `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`)
  );
  
  
  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 `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 `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 `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 `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 `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`);
  