π§ Music System
This is the music system database diagram.
classDiagram
direction TB
%%======== Tables ===============
%% A music track
class fu_music_tracks {
id: INT [PK, AI, NN, IX]
title: VARCHAR-255 [UQ, NN, FT]
duration: TIME [NN]
date_added: DATETIME [NN]
lyrics: TEXT [FT]
release_date: DATE [NN, IX]
youtube: VARCHAR-255 [UQ, NN]
thumbnail: VARCHAR-255 [UQ]
album_track_number: INT [NN, IX]
fu_music_albums_id: INT [FK, NN, IX]
fu_ai_models_id: INT [FK, NN, IX]
}
%% A music album
class fu_music_albums {
id: INT [PK, AI, NN, IX]
title: VARCHAR-255 [NN, UQ, FT]
duration: TIME [NN]
release_date: DATE [NN, IX]
date_added: DATETIME [NN]
youtube: VARCHAR-255 [UQ, NN]
thumbnail: VARCHAR-255 [UQ, NN]
disc_number: VARCHAR-32 [NN, DV]
is_complete: BOOLEAN [NN, DV]
}
%% The AI model that generated the track.
class fu_ai_models {
id: INT [PK, AI, NN, IX]
model: VARCHAR-128 [NN, UQ, FT]
}
%%===============================
%%======== Relationships ========
fu_music_tracks "0..*" --> "1" fu_music_albums : belongs to
fu_music_tracks "0..*" --> "1" fu_ai_models : generated by
%%===============================
Legend
Keys
- PK - Primary Key
- FK - Foreign Key
Constraints
- AI - Auto Increment
- NN - Not Null
- UQ - Unique
- CK - Check Constraint
- DV - Default Value
Performance
- IX - Indexed Column
- FT - Full-Text Index