/
Kirby
/
MusicWork
Обзор
Документация
Войти
/
Kirby
/
MusicWork
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
create.sql
61 строка
2 KB
Alex
Initial commit
28 апр 2026, 12:29
28 апр 2026, 12:29
f458ccb
Код
Авторство
О чём код?
CREATE TABLE IF NOT EXISTS artist ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL ); CREATE TABLE IF NOT EXISTS genre ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL UNIQUE ); CREATE TABLE IF NOT EXISTS artist_genre ( artist_id INTEGER NOT NULL, genre_id INTEGER NOT NULL, PRIMARY KEY (artist_id, genre_id), FOREIGN KEY (artist_id) REFERENCES artist(id) ON DELETE CASCADE, FOREIGN KEY (genre_id) REFERENCES genre(id) ON DELETE CASCADE ); CREATE TABLE IF NOT EXISTS album ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, year INTEGER CHECK (year > 1900) ); CREATE TABLE IF NOT EXISTS artist_album ( artist_id INTEGER NOT NULL, album_id INTEGER NOT NULL, PRIMARY KEY (artist_id, album_id), FOREIGN KEY (artist_id) REFERENCES artist(id) ON DELETE CASCADE, FOREIGN KEY (album_id) REFERENCES album(id) ON DELETE CASCADE ); CREATE TABLE IF NOT EXISTS track ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, duration INTEGER CHECK (duration > 0), album_id INTEGER NOT NULL, FOREIGN KEY (album_id) REFERENCES album(id) ON DELETE CASCADE ); CREATE TABLE IF NOT EXISTS collection ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, year INTEGER CHECK (year > 1900) ); CREATE TABLE IF NOT EXISTS collection_track ( collection_id INTEGER NOT NULL, track_id INTEGER NOT NULL, PRIMARY KEY (collection_id, track_id), FOREIGN KEY (collection_id) REFERENCES collection(id) ON DELETE CASCADE, FOREIGN KEY (track_id) REFERENCES track(id) ON DELETE CASCADE ); CREATE TABLE IF NOT EXISTS employee ( id SERIAL PRIMARY KEY, name VARCHAR(255) NOT NULL, department VARCHAR(255), manager_id INTEGER, FOREIGN KEY (manager_id) REFERENCES employee(id) ON DELETE SET NULL );