Advertisement
filipao223

script_sql_bd.sql

Nov 23rd, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 3.79 KB | None | 0 0
  1. CREATE TABLE users (
  2.     user_id  int AUTO_INCREMENT,
  3.     username     text,
  4.     user_password text,
  5.     firstname    text,
  6.     lastname     text,
  7.     editor   boolean,
  8.     login    boolean,
  9.     last_login datetime,
  10.     PRIMARY KEY(user_id)
  11. );
  12.  
  13. CREATE TABLE music (
  14.     nmusic       int AUTO_INCREMENT,
  15.     name         text,
  16.     day_of_creation date,
  17.     lyrics       text,
  18.     artist_nartist   int NOT NULL,
  19.     users_user_id    int NOT NULL,
  20.     PRIMARY KEY(nmusic)
  21. );
  22.  
  23. CREATE TABLE artist (
  24.     nartist  int AUTO_INCREMENT,
  25.     name         text,
  26.     date_of_birth date,
  27.     description  text,
  28.     PRIMARY KEY(nartist)
  29. );
  30.  
  31. CREATE TABLE album (
  32.     nalbum       int AUTO_INCREMENT,
  33.     nmusic       int,
  34.     nartist  boolean,
  35.     day_of_creation date,
  36.     description  text,
  37.     editor       text,
  38.     artist_nartist   int NOT NULL,
  39.     PRIMARY KEY(nalbum)
  40. );
  41.  
  42. CREATE TABLE critique (
  43.     text         text,
  44.     rating   smallint,
  45.     album_nalbum     int,
  46.     users_user_id int,
  47.     PRIMARY KEY(album_nalbum,users_user_id)
  48. );
  49.  
  50. CREATE TABLE band (
  51.     artist_nartist int,
  52.     PRIMARY KEY(artist_nartist)
  53. );
  54.  
  55. CREATE TABLE singer (
  56.     artist_nartist int,
  57.     PRIMARY KEY(artist_nartist)
  58. );
  59.  
  60. CREATE TABLE composer (
  61.     music_nmusic     int NOT NULL,
  62.     artist_nartist int,
  63.     PRIMARY KEY(artist_nartist)
  64. );
  65.  
  66. CREATE TABLE shared (
  67.     id_shareduser int AUTO_INCREMENT,
  68.     users_user_id int,
  69.     PRIMARY KEY(id_shareduser,users_user_id)
  70. );
  71.  
  72. CREATE TABLE playlist (
  73.     nplaylist    int AUTO_INCREMENT,
  74.     nmusic   int,
  75.     private  boolean,
  76.     users_user_id int,
  77.     PRIMARY KEY(nplaylist,nmusic,users_user_id),
  78.     UNIQUE(nmusic)
  79. );
  80.  
  81. CREATE TABLE url (
  82.     url      text,
  83.     music_nmusic int,
  84.     PRIMARY KEY(music_nmusic)
  85. );
  86.  
  87. CREATE TABLE playlist_music (
  88.     playlist_nplaylist   int,
  89.     playlist_nmusic  int,
  90.     playlist_users_user_id int,
  91.     music_nmusic         int,
  92.     PRIMARY KEY(playlist_nplaylist,playlist_nmusic,playlist_users_user_id,music_nmusic)
  93. );
  94.  
  95. CREATE TABLE music_album (
  96.     music_nmusic int,
  97.     album_nalbum int,
  98.     PRIMARY KEY(music_nmusic,album_nalbum)
  99. );
  100.  
  101. ALTER TABLE music ADD CONSTRAINT music_fk1 FOREIGN KEY (artist_nartist) REFERENCES artist(nartist);
  102. ALTER TABLE music ADD CONSTRAINT music_fk2 FOREIGN KEY (users_user_id) REFERENCES users(user_id);
  103. ALTER TABLE album ADD CONSTRAINT album_fk1 FOREIGN KEY (artist_nartist) REFERENCES artist(nartist);
  104. ALTER TABLE critique ADD CONSTRAINT critique_fk1 FOREIGN KEY (album_nalbum) REFERENCES album(nalbum);
  105. ALTER TABLE critique ADD CONSTRAINT critique_fk2 FOREIGN KEY (users_user_id) REFERENCES users(user_id);
  106. ALTER TABLE band ADD CONSTRAINT band_fk1 FOREIGN KEY (artist_nartist) REFERENCES artist(nartist);
  107. ALTER TABLE singer ADD CONSTRAINT singer_fk1 FOREIGN KEY (artist_nartist) REFERENCES artist(nartist);
  108. ALTER TABLE composer ADD CONSTRAINT composer_fk1 FOREIGN KEY (music_nmusic) REFERENCES music(nmusic);
  109. ALTER TABLE composer ADD CONSTRAINT composer_fk2 FOREIGN KEY (artist_nartist) REFERENCES artist(nartist);
  110. ALTER TABLE shared ADD CONSTRAINT shared_fk1 FOREIGN KEY (users_user_id) REFERENCES users(user_id);
  111. ALTER TABLE playlist ADD CONSTRAINT playlist_fk1 FOREIGN KEY (users_user_id) REFERENCES users(user_id);
  112. ALTER TABLE url ADD CONSTRAINT url_fk1 FOREIGN KEY (music_nmusic) REFERENCES music(nmusic);
  113. ALTER TABLE playlist_music ADD CONSTRAINT playlist_music_fk1 FOREIGN KEY (playlist_nplaylist) REFERENCES playlist(nplaylist);
  114. ALTER TABLE playlist_music ADD CONSTRAINT playlist_music_fk2 FOREIGN KEY (playlist_nmusic) REFERENCES playlist(nmusic);
  115. ALTER TABLE playlist_music ADD CONSTRAINT playlist_music_fk3 FOREIGN KEY (playlist_users_user_id) REFERENCES playlist(users_user_id);
  116. ALTER TABLE playlist_music ADD CONSTRAINT playlist_music_fk4 FOREIGN KEY (music_nmusic) REFERENCES music(nmusic);
  117. ALTER TABLE music_album ADD CONSTRAINT music_album_fk1 FOREIGN KEY (music_nmusic) REFERENCES music(nmusic);
  118. ALTER TABLE music_album ADD CONSTRAINT music_album_fk2 FOREIGN KEY (album_nalbum) REFERENCES album(nalbum);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement