/
Anna99
/
SQL_code
Обзор
Документация
Войти
/
Anna99
/
SQL_code
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
CREATE.SQL.ру
53 строки
2 KB
Anna99
CREATE.SQL.ру
30 окт 2025, 15:02
30 окт 2025, 15:02
22aa2f2
Код
Авторство
О чём код?
CREATE TABLE IF NOT EXISTS Genre ( genre_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE ); CREATE TABLE IF NOT EXISTS Artist ( artist_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE ); CREATE TABLE IF NOT EXISTS Album ( album_id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL, release_year INTEGER NOT NULL CHECK (release_year >= 1900) ); CREATE TABLE IF NOT EXISTS Track ( track_id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL, duration REAL NOT NULL CHECK (duration > 0), -- в минутах album_id INTEGER NOT NULL, FOREIGN KEY (album_id) REFERENCES Album(album_id) ); CREATE TABLE IF NOT EXISTS Compilation ( compilation_id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL, release_year INTEGER NOT NULL CHECK (release_year >= 1900) ); CREATE TABLE IF NOT EXISTS ArtistGenre ( artist_id INTEGER NOT NULL, genre_id INTEGER NOT NULL, PRIMARY KEY (artist_id, genre_id), FOREIGN KEY (artist_id) REFERENCES Artist(artist_id), FOREIGN KEY (genre_id) REFERENCES Genre(genre_id) ); CREATE TABLE IF NOT EXISTS ArtistAlbum ( artist_id INTEGER NOT NULL, album_id INTEGER NOT NULL, PRIMARY KEY (artist_id, album_id), FOREIGN KEY (artist_id) REFERENCES Artist(artist_id), FOREIGN KEY (album_id) REFERENCES Album(album_id) ); CREATE TABLE IF NOT EXISTS CompilationTrack ( compilation_id INTEGER NOT NULL, track_id INTEGER NOT NULL, PRIMARY KEY (compilation_id, track_id), FOREIGN KEY (compilation_id) REFERENCES Compilation(compilation_id), FOREIGN KEY (track_id) REFERENCES Track(track_id) );