normalizuję swoją bazę danych wg trzech postaci normalnych. Jako, że nie jest to proces banalny proszę o weryfikację swoich założeń.
Na początek kilka słów objaśnienia:
- tabela filmy - jest tabelą główną posiadająca mnóstwo kluczy obcych - czy w związku z tym te tabele ponny być typu InnoDB czy mogą być MyISAM??
- tabela filmyrezyser i filmyaktorzy rowniez grupuje klucze obce, ktore dopiero z tej tabeli są dodawane do tabeli glownej czyli - filmy.
-- -- Struktura tabeli dla `aktorzy` -- CREATE TABLE `aktorzy` ( `IDAktora` tinyint(4) NOT NULL AUTO_INCREMENT, `aktor` varchar(100) NOT NULL DEFAULT '', PRIMARY KEY (`IDAktora`), KEY `aktor` (`aktor`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; -- -- Zrzut danych tabeli `aktorzy` -- -- -------------------------------------------------------- -- -- Struktura tabeli dla `filmy` -- CREATE TABLE `filmy` ( `IDFilmu` int(11) NOT NULL AUTO_INCREMENT, `tytul` varchar(250) NOT NULL DEFAULT '', `tytul_org` varchar(250) NOT NULL DEFAULT '', `IDNosnika` tinyint(1) NOT NULL DEFAULT '0', `IDGatunku` tinyint(1) NOT NULL DEFAULT '0', `okladka` varchar(60) NOT NULL DEFAULT '', `IDLektora` tinyint(1) NOT NULL DEFAULT '0', `IDFilmyRezyser` tinyint(4) NOT NULL DEFAULT '0', `IDFilmyAktorzy` tinyint(4) NOT NULL DEFAULT '0', `recenzja` text NOT NULL, `dataDodania` timestamp(14) NOT NULL, PRIMARY KEY (`IDFilmu`), FULLTEXT KEY `tytul` (`tytul`,`tytul_org`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; -- -- Zrzut danych tabeli `filmy` -- -- -------------------------------------------------------- -- -- Struktura tabeli dla `filmyaktorzy` -- CREATE TABLE `filmyaktorzy` ( `IDFilmyAktorzy` tinyint(4) NOT NULL AUTO_INCREMENT, `IDFilmu` int(11) NOT NULL DEFAULT '0', `IDAktora` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`IDFilmyAktorzy`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; -- -- Zrzut danych tabeli `filmyaktorzy` -- -- -------------------------------------------------------- -- -- Struktura tabeli dla `filmyrezyser` -- CREATE TABLE `filmyrezyser` ( `IDFilmyRezyser` tinyint(4) NOT NULL AUTO_INCREMENT, `IDFilmu` int(11) NOT NULL DEFAULT '0', `IDRezysera` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`IDFilmyRezyser`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; -- -- Zrzut danych tabeli `filmyrezyser` -- -- -------------------------------------------------------- -- -- Struktura tabeli dla `gatunek` -- CREATE TABLE `gatunek` ( `IDGatunku` tinyint(4) NOT NULL AUTO_INCREMENT, `gatunek` varchar(50) NOT NULL DEFAULT '', PRIMARY KEY (`IDGatunku`), KEY `gatunek` (`gatunek`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; -- -- Zrzut danych tabeli `gatunek` -- -- -------------------------------------------------------- -- -- Struktura tabeli dla `lektor` -- CREATE TABLE `lektor` ( `IDLektora` tinyint(4) NOT NULL AUTO_INCREMENT, `lektor` char(3) NOT NULL DEFAULT '', PRIMARY KEY (`IDLektora`), KEY `lektor` (`lektor`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; -- -- Zrzut danych tabeli `lektor` -- -- -------------------------------------------------------- -- -- Struktura tabeli dla `nosniki` -- CREATE TABLE `nosniki` ( `IDNosnika` tinyint(4) NOT NULL AUTO_INCREMENT, `nosnik` char(3) NOT NULL DEFAULT '', PRIMARY KEY (`IDNosnika`), KEY `nosnik` (`nosnik`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; -- -- Zrzut danych tabeli `nosniki` -- -- -------------------------------------------------------- -- -- Struktura tabeli dla `rezyser` -- CREATE TABLE `rezyser` ( `IDRezysera` tinyint(4) NOT NULL AUTO_INCREMENT, `rezyser` varchar(100) NOT NULL DEFAULT '', PRIMARY KEY (`IDRezysera`), KEY `rezyser` (`rezyser`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; -- -- Zrzut danych tabeli `rezyser` --