Wpis z mikrobloga

@msq: A co w przypadku gdy obiekt posiadający np 5 pól ma dodatkowo pole z tablicą obiektów, której wielkość jest różna? Czy dla tej tablicy należy tworzyć oddzielną tabelę? Czy w takim razie jeśli mam 1000 obiektów to dla tylu mam tworzyć oddzielne tabele?
@siemanko: Nie ma w tym zadnego patternu? Definiujesz sobie tabele wszystkich mozliwych pol, kazde dostaje swoje ID, w aplikacji dobierasz pola ktore chcesz wyswietlic, w bazie zapisujesz ID....

Albo sprawdz pola typu SET lub ENUM, jesli to MySQL. Ma to swoje wady i zalety.
A co w przypadku gdy obiekt posiadający np 5 pól ma dodatkowo pole z tablicą obiektów, której wielkość jest różna?


@siemanko:

Tabela MIKROBLOGER [login, kolorNicka]

Tabela WPISY_MIKROBLOGERA [IDwpisu, loginUzytkownika, trescWpisu]

I tym sposobem tworzysz użytkownika @siemanko, który może mieć tablicę dowolnej ilości wpisów.

EDIT: możesz się jeszcze zainteresować rozwiązaniami pokroju http://www.mongodb.org/ jak Koledzy wyżej proponowali.
@msq: Hmm... widzę będzie trochę z tym klepania, ale ufam, że to jedyne wyjście.

A co powiesz na taki przypadek:

item_Id | title | price | count | String[] <- jak załatwić sprawę tej tablicy? Oddzielna tabela? Czy serializacja?

@Ginden:

a) A co w przypadku kiedy dane w tablicy nie są do przewidzenia?

b) Niestety musi być to Sqlite
bo widać, że robisz projekt na zaliczenie


@Ginden: Heh, dla klienta :) Mam problem bo nigdy raczej nie spotkałem się z sytuacją tak skomplikowanych obiektów, które trzeba byłoby zapisać. Ogólnie walczę z allegro web api i ich poronionym pomysłem przedstawiania produktów. Chcę zapisywać obiekty, których jednym z pól jest ich FieldsValue[]
@siemanko: Poczytaj troche o normalizacji w bazach danych bo niektore pytania sa z gatunku tych podtstawowych :)

Zserializujesz sobie to i jak chcesz to potem wyszkuiwac? Pelen skan tabeli, przeslanie wszystkiego do aplikacji w petli wyszukiwanie rekordow ktore Cie interesuja? Czy tez wywolywanie fukncji na kazdym rekordzie?

Nie idz ta droga, takie dane (zserializowane) mozesz sobie rownie dobrze trzymac w pliku tekstowym - uzytecznosc ich bedzie podobna a odpadnie Ci probloem
@msq: Ogólnie zamysł był taki, że te serializowane dane mały być tylko powiązane do danego rekordu. Wyszukuję np po ID_produktu i deserializuję tą tablicę.

Ale rozwiążę to tak jak radzicie, oddzielnymi tabelami.

Cały czas nosze się z nauką SQL i jakoś nie mogę się za to zabrać. Chyba czas najwyższy :)

Dzięki wszystkim za pomoc!
Ogólnie zamysł był taki, że te serializowane dane mały być tylko powiązane do danego rekordu. Wyszukuję np po ID_produktu i deserializuję tą tablicę.


@siemanko: Wiecej niz pewne ze za pol roku przyjdzie klient i powie zebys mu zrobil tez wyszukiwanie po paramterach ktore sa zserializowane. I sie bedzie dziwil ze tokosztuje dwa dni pracy i ze trzeba czesc aplikacji i bazy przerobic :)