Advertisement
Denjamin

SQL Музыкальный сайт

Apr 18th, 2024
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE TABLE Genres (
  2.     ID SERIAL PRIMARY KEY,
  3.     Name VARCHAR(255) NOT NULL
  4. );
  5.  
  6. CREATE TABLE Artists (
  7.     ID SERIAL PRIMARY KEY,
  8.     Name VARCHAR(255) NOT NULL
  9. );
  10.  
  11. CREATE TABLE ArtistGenres (
  12.     ArtistID INT,
  13.     GenreID INT,
  14.     FOREIGN KEY (ArtistID) REFERENCES Artists(ID),
  15.     FOREIGN KEY (GenreID) REFERENCES Genres(ID),
  16.     PRIMARY KEY (ArtistID, GenreID)
  17. );
  18.  
  19. CREATE TABLE Albums (
  20.     ID SERIAL PRIMARY KEY,
  21.     Name VARCHAR(255) NOT NULL,
  22.     ReleaseYear INT NOT NULL
  23. );
  24.  
  25. CREATE TABLE AlbumArtists (
  26.     AlbumID INT,
  27.     ArtistID INT,
  28.     FOREIGN KEY (AlbumID) REFERENCES Albums(ID),
  29.     FOREIGN KEY (ArtistID) REFERENCES Artists(ID),
  30.     PRIMARY KEY (AlbumID, ArtistID)
  31. );
  32.  
  33. CREATE TABLE Tracks (
  34.     ID SERIAL PRIMARY KEY,
  35.     Name VARCHAR(255) NOT NULL,
  36.     Duration INT NOT NULL,
  37.     AlbumID INT,
  38.     FOREIGN KEY (AlbumID) REFERENCES Albums(ID)
  39. );
  40.  
  41. CREATE TABLE Collections (
  42.     ID SERIAL PRIMARY KEY,
  43.     Name VARCHAR(255) NOT NULL,
  44.     ReleaseYear INT NOT NULL
  45. );
  46.  
  47. CREATE TABLE CollectionTracks (
  48.     CollectionID INT,
  49.     TrackID INT,
  50.     FOREIGN KEY (CollectionID) REFERENCES Collections(ID),
  51.     FOREIGN KEY (TrackID) REFERENCES Tracks(ID),
  52.     PRIMARY KEY (CollectionID, TrackID)
  53. );
  54.  
Tags: SQL Netology
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement