· 8 years ago · Apr 20, 2018, 06:04 AM
1-- -----------------------------------------------------
2-- Temporarily disable key checks
3-- -----------------------------------------------------
4SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
5SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
6SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
7
8-- -----------------------------------------------------
9-- Schema Music
10-- -----------------------------------------------------
11DROP SCHEMA IF EXISTS `Music` ;
12
13-- -----------------------------------------------------
14-- Schema Music
15-- -----------------------------------------------------
16CREATE SCHEMA IF NOT EXISTS `Music` DEFAULT CHARACTER SET utf8 ;
17USE `Music` ;
18
19-- -----------------------------------------------------
20-- Table `Music`.`Artists`
21-- -----------------------------------------------------
22DROP TABLE IF EXISTS `Music`.`Artists` ;
23
24CREATE TABLE IF NOT EXISTS `Music`.`Artists` (
25 `ArtistId` INT NOT NULL AUTO_INCREMENT,
26 `ArtistName` VARCHAR(255) NOT NULL,
27 PRIMARY KEY (`ArtistId`));
28
29
30-- -----------------------------------------------------
31-- Table `Music`.`Genres`
32-- -----------------------------------------------------
33DROP TABLE IF EXISTS `Music`.`Genres` ;
34
35CREATE TABLE IF NOT EXISTS `Music`.`Genres` (
36 `GenreId` INT NOT NULL AUTO_INCREMENT,
37 `Genre` VARCHAR(255) NOT NULL,
38 PRIMARY KEY (`GenreId`));
39
40
41-- -----------------------------------------------------
42-- Table `Music`.`Albums`
43-- -----------------------------------------------------
44DROP TABLE IF EXISTS `Music`.`Albums` ;
45
46CREATE TABLE IF NOT EXISTS `Music`.`Albums` (
47 `AlbumId` INT NOT NULL AUTO_INCREMENT,
48 `AlbumName` VARCHAR(255) NOT NULL,
49 `DateReleased` DATETIME NOT NULL,
50 `ArtistId` INT NOT NULL,
51 `GenreId` INT NOT NULL,
52 PRIMARY KEY (`AlbumId`),
53 INDEX `ArtistId_idx` (`ArtistId` ASC),
54 INDEX `GenreId_idx` (`GenreId` ASC),
55 CONSTRAINT `ArtistId`
56 FOREIGN KEY (`ArtistId`)
57 REFERENCES `Music`.`Artists` (`ArtistId`)
58 ON DELETE RESTRICT
59 ON UPDATE RESTRICT,
60 CONSTRAINT `GenreId`
61 FOREIGN KEY (`GenreId`)
62 REFERENCES `Music`.`Genres` (`GenreId`)
63 ON DELETE RESTRICT
64 ON UPDATE RESTRICT);
65
66
67-- -----------------------------------------------------
68-- Re-enable key checks
69-- -----------------------------------------------------
70SET SQL_MODE=@OLD_SQL_MODE;
71SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
72SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;