Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pomoc w zaprojektowaniu bazy
Forum PHP.pl > Forum > Bazy danych
gawar
Cześć, Mam problem gdyż mam do zrobienia bazę i nie wiem jaka opcja będzie lepsza pod względem wydajności. Baza będzie śmigać pod MySQL i będę ją obsługiwał za pomocą PHP. Mój problem jest związany z zaprojektowaniem bazy, w której będzie 4-5 tabel i każda będzie miała związek z jedną główną tabelą. Cała baza ma zarządzać miejscami, dla których klucz będzie trochę skomplikowany. Bowiem jest podział na sektor, rząd, miejsce, a w niektórych przypadkach może jeszcze wystąpić rozdział miejsca. I z tych kolumn chciałbym poprzez łączenie w php (np. sektor '01' rzad '20' miejsce '02' i jeżeli wystąpi rozdział '01') utworzyć jeden unikatowy klucz '01200201' (który to też znajdzie się w bazie danych). Problem leży w tym, że będzie to już na pewno typ char bo nie mogą sobie pozwolic na ucięcie zera wiodącego jakby to było w przypadku int. Jak to będzie podczas wyszukiwania? Czy przy łączeniu tabel pod względem wydajnościowym? Gdyby klucz był int na pewno by to szybciej chodziło. Ma ktoś może pomysł jak udoskonalić ten model? Wyszukiwanie wszystkich danych zazwyczaj będzie się odbywało właśnie po danych typu sektor, rząd, miejsce, rozdział. Wtedy bym te dane też łączył i bym szukał np rekordu '01010101'. Za pomoc i pomysły z góry dziękuję.
alegorn
kwestia definicji klucza glownego.

dlaczego chcesz rezygnowac z zlozonego klucza ?
ja bym zakładał założyć klucz główny na kolumnach sektor/rząd/miejsce/rozdział

jeśli jużnie możesz z innych przyczyn, to czy długość klucza jest stała ? jeśli tak, to możesz w definicji pola załączyć opcję zerofill, wtedy nie stracisz zer z początku, a format będzie intem


tak naprawdę o ile widzę zadanie bardzo przypomina struktury drzewiaste, to co chcesz osiągnąć jest chyba bliskie drzewku IP (metoda ścieżki), doszukaj sie tego w necie, myślę że nie zaszkodzi wink.gif

j.
gawar
Dziękuję za pomoc. Przerobiłem zupełnie bazę. Temat można zamknąć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.