CREATE DATABASE HUDEBNIAPLIKACE

CREATE TABLE Uzivatel
(
UzivatelID int NOT NULL PRIMARY KEY IDENTITY(0,1),
Jmeno nvarchar(30) NULL,
Prijmeni nvarchar(50) NULL,
Vek date NULL,
Prezdivka nvarchar(25) NOT NULL,
Heslo_hash varchar(32) NOT NULL,
)

CREATE TABLE Interpret
(
InterpretID int NOT NULL PRIMARY KEY IDENTITY(0,1),
Prezdivka nvarchar(25) NOT NULL,
Jmeno nvarchar(30) NULL,
Prijmeni nvarchar(50) NULL,
Vek int NULL,
Zanr nvarchar(25) NULL,
)

CREATE TABLE Album
(
AlbumID int NOT NULL PRIMARY KEY IDENTITY(0,1),
InterpretID int NOT NULL FOREIGN KEY(InterpretID) REFERENCES Interpret(InterpretID),
Nazev nvarchar(50) NOT NULL,
Interpret nvarchar(255) NOT NULL,
RokVydani date NULL,
Zanr nvarchar(25) NULL,
)

CREATE TABLE Zanry
(
ZanrID int NOT NULL PRIMARY KEY IDENTITY (0,1),
Nazev nvarchar(255) NOT NULL,
)

CREATE TABLE Skladba
(
SkladbaID int NOT NULL PRIMARY KEY IDENTITY(0,1),
AlbumID int NOT NULL FOREIGN KEY(AlbumID) REFERENCES Album(AlbumID),
ZanrID int NOT NULL FOREIGN KEY(ZanrID) REFERENCES Zanry(ZanrID),
InterpretID int NOT NULL FOREIGN KEY(InterpretID) REFERENCES Interpret(InterpretID),
Interpret nvarchar(255) NOT NULL,
Nazev nvarchar(255) NOT NULL,
Album nvarchar(50) NULL,
Delka time NULL,
RokVydani date NULL,
)

CREATE TABLE skladba_zanr
(
ZanrID int NOT NULL FOREIGN KEY(ZanrID) REFERENCES Zanry(ZanrID),
SkladbaID int NOT NULL FOREIGN KEY(SkladbaID) REFERENCES Skladba(SkladbaID),
)

CREATE TABLE Role_uzivatelu
(
RoleID int NOT NULL PRIMARY KEY IDENTITY (0,1),
UzivatelID int NOT NULL FOREIGN KEY(uzivatelID) REFERENCES Uzivatel(uzivatelID),
)

CREATE TABLE Hodnoceni_skladby
(
HodnoceniID int NOT NULL PRIMARY KEY IDENTITY(0,1),
UzivatelID int NOT NULL FOREIGN KEY(UzivatelID) REFERENCES Uzivatel(UzivatelID),
SkladbaID int NOT NULL FOREIGN KEY(SkladbaID) REFERENCES Skladba(SkladbaID),
ZanrID int NOT NULL FOREIGN KEY(ZanrID) REFERENCES Zanry(ZanrID),
Hodnoceni float NOT NULL,
)	


