Mam pewną tabelę do gry którą tworzę . Nazywa się ona items . I powiedzmy,że znajdują się w niej wszystkie itemy z gry. I tu pojawia się pytanie.Jestem dość nowy w SQL, i nie tak zaawansowany,ale o to chodzi czy przypadkiem nie da się zrobić aby struktura dla pewnych elementów była inna jeśli wartość ma np.1. Bo powiedzmy,że stworzę strukturę dla wszystkich itemów.Niektóre są takie do dropnięcia i sprzedania,a niektóre są do założenia. Więc przez stworzenie "zwykłej" struktury przedmioty zwykłe i te do ubrania będą miały te same elementy. Mi się zdaje,że jest to powielanie danych bo na co im te elementy skoro nigdy nie będą używane ?
Struktura kolumn dla każdego wpisu w danej tabeli jest zawsze identyczna.
Na pytanie odpowiedział Ci Patryk, ale jeżeli możesz to pokaż strukturę swojej bazy, być może da się ją jakoś inaczej "zorganizować".
Świetny Lew napisał(a):
Więc przez stworzenie "zwykłej" struktury przedmioty zwykłe i te do ubrania będą miały te same elementy. Mi się zdaje,że jest to powielanie danych bo na co im te elementy skoro nigdy nie będą używane ?
Jeśli dla niektórych rekordów pewne kolumny nie będą używane, to nie będzie tam żadnego powielania danych.
Zawsze możesz dodać dodatkową tabelę na te dane, które dotyczą tylko części itemów
i powiązać ją z główną tabelą związkiem 1:1.
Kolumna ITEM_CLASS jest straszna
Wiem :P. Tylko niewiem zabardzo w jaki sposób mógłbym to zmienić.
Musisz dołożyć dodatkową tabelę np. tbl_items_class
ID | ITEM_ID | CLASS |
---|---|---|
1 | 315 | 1 |
2 | 315 | 2 |
3 | 315 | 3 |
4 | 4903 | 2 |
ITEM_ID odnosi się do tabeli tbl_items. Dzięki temu wyłapiesz wszystkie itemy o danej klasie w bardzo prosty sposób.
Tylko ,że tu klas ma być pare a nie tylko jedna.
No to będziesz miał kilka rekordów odpowiadających temu samemu ITEM_ID z różnym CLASS. Tak to się robi, a wszelkie inne rozwiązania to półśrodki moim zdaniem.