Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 1 Dołączył: 5.11.2013 Skąd: Warszawa Ostrzeżenie: (0%)
|
Witam,
mam pewien problem związany z optymalizacją struktury bazy danych. Postaram się dokładnie to wytłumaczyć. Tworzę pewien projekt, gdzie będzie można dodawać różne wartości, jednak będą one odzworowane jako różny typ kolumn w bazie (np. int, double, varchar). Jak najlepiej zapisywać te różne wartości w bazie. W projekcie używam Propel 1.6. Chodzi o to, że mogę dodawać wartość typu 'int' lub 'varchar' itd, aby przeszukiwanie tabeli było wydajne. W sumie mam dwa pomysły. Pierwszy to stworzenie tabeli "value", która będzie miała kolumny: "id", "value_int", "value_double", "value_varchar", itd - z odpowiednimi typami kolumn. W zależności od typu wartości, rekordy będą zapisywane z wartością w odpowiedniej kolumnie (w reszcie będzie NULL). Drugie rozwiązanie to stworzenie osobnych tabel, np. "value_int", "value_varchar" itd. Tu by były kolumny: "id", "value", które odpowiadałyby odpowiednim typom dla "value" (czyli, np. int, varchar, itd). Nie ukrywam, że nie mam przekonania do żadnego z powyższych rozwiązań, pierwotnie zastanawiałem się nad jedną tabelą "value", gdzie kolumna byłaby typu "text" - jednak to rozwiązanie byłoby chyba jeszcze gorsze. Chciałbym poznać Wasze zdanie na ten temat, może coś innego byłoby lepsze. Z góry dzięki. || edit: prośba o przeniesienie do działu "Bazy danych" - drobna pomyłka (IMG:style_emoticons/default/wink.gif) Ten post edytował phpion 7.11.2013, 11:14:45
Powód edycji: [phpion]: Przeniosłem.
|
|
|
|
epg.kojak [SQL] Struktura tabeli z różnymi typami wartości 7.11.2013, 10:18:13
mmmmmmm Wszystko zależy od tego, czy i jak często będziesz... 7.11.2013, 12:22:40
epg.kojak Właśnie chodzi o to, że będę często wyszukiwał. Og... 7.11.2013, 12:38:37
phpion Robiłem kiedyś coś podobnego, źródła dla Kohany ma... 7.11.2013, 12:46:45
epg.kojak Korzystam w projekcie z ORM (Propel), ale właśnie ... 7.11.2013, 13:11:09 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 21:47 |