![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 26.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
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ę.
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
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 ![]() j. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 123 Pomógł: 0 Dołączył: 26.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za pomoc. Przerobiłem zupełnie bazę. Temat można zamknąć.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 11.08.2025 - 11:51 |