chcę przebudować gruntownie całą stronkę. W związku z tym rozpocząłem naukę obiektówki, no ale aby przejść do tego to najpierw zalecono mi przebudowe starej struktury bazy na bardziej odpowiednią. Oto stara struktura do przerobienia:
Struktura tabeli dla `filmy`
--
CREATE TABLE `filmy` (
`id` int(10) unsigned NOT NULL auto_increment,
`tytul_pl` varchar(50) NOT NULL default '',
`tytul_ang` varchar(50) NOT NULL default '',
`dlugosc` varchar(4) NOT NULL default '',
`okladka` varchar(60) NOT NULL default '',
`aktorzy` varchar(99) NOT NULL default '',
`rezyseria` varchar(25) NOT NULL default '',
`recenzja` text NOT NULL,
`nosnik_dvd` char(3) NOT NULL default '',
`nosnik_vhs` char(3) NOT NULL default '',
`gatunek` varchar(15) NOT NULL default '',
`rok_prod` year(4) NOT NULL default '0000',
`lektor` char(3) NOT NULL default '',
UNIQUE KEY `id` (`id`),
UNIQUE KEY `tytul_pl_3` (`tytul_pl`),
UNIQUE KEY `tytul_ang` (`tytul_ang`),
KEY `tytul_pl` (`tytul_pl`,`tytul_ang`,`rezyseria`),
KEY `gatunek` (`gatunek`),
FULLTEXT KEY `tytul_pl_2` (`tytul_pl`,`tytul_ang`,`recenzja`)
) TYPE=MyISAM AUTO_INCREMENT=499 ;
jak zapewnie widzicie wszystko jak leci jest w jednej tabeli. Przerobiłem to tak:
-- Struktura tabeli dla `aktorzy`
CREATE TABLE `aktorzy` (
`aktorID` int(10) unsigned NOT NULL auto_increment,
`filmID` int(10) unsigned NOT NULL default '0',
`imie_nazwisko` varchar(50) NOT NULL default '',
`dane_aktor` text NOT NULL,
PRIMARY KEY (`aktorID`),
KEY `imie_nazwisko` (`imie_nazwisko`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
-- Struktura tabeli dla `filmy`
CREATE TABLE `filmy` (
`filmID` int(10) unsigned NOT NULL auto_increment,
`tytul_pl` varchar(200) default NULL,
`tytul_ang` varchar(200) default NULL,
`czas_trwania` varchar(5) NOT NULL default '',
`rok_prod` year(4) NOT NULL default '0000',
`data_dodania` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`filmID`),
UNIQUE KEY `filmID` (`filmID`),
KEY `tytul_pl` (`tytul_pl`,`tytul_ang`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
-- Struktura tabeli dla `nosnik`
CREATE TABLE `nosnik` (
`filmID` int(10) unsigned NOT NULL default '0',
`dvd` char(3) NOT NULL default '',
`vhs` char(3) NOT NULL default ''
) TYPE=MyISAM;
-- --------------------------------------------------------
-- Struktura tabeli dla `recenzje`
CREATE TABLE `recenzje` (
`filmID` int(10) unsigned NOT NULL default '0',
`rezenzja` text NOT NULL
) TYPE=MyISAM;
-- --------------------------------------------------------
-- Struktura tabeli dla `rezyserzy`
CREATE TABLE `rezyserzy` (
`rezyserID` int(10) unsigned NOT NULL auto_increment,
`filmID` int(10) unsigned NOT NULL default '0',
`imie_nazwisko` varchar(100) NOT NULL default '',
`dane_rezyser` text NOT NULL,
UNIQUE KEY `rezyserID` (`rezyserID`),
KEY `imie_nazwisko` (`imie_nazwisko`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
Z jednej tabeli zrobiłem ich kilka. Pytanie moje czy coś byście dodali, zmienili


W sumie w każdej tabeli zastosowałem klucz obcy w postaci filmID
Pytanie do tabeli nosnik. Jeżeli mam film tylko na dvd to wpis w tabeli daję "tak", a jak nie mam tego na vhs to wpisuję "nie" i tak dokonuję podziału i wyciągnięcia danych. Podpowiedźcie jakieś lepsze rozwiązanie.
pozdrawiam i czekam na sugestie