[Delphi] MYSQL zapisywanie tablicy w bazie

0

Mam spora tablice liczb rzeczywistych lub całkowitych którą muszę umieścić w bazie MYSQL (spora= od kilku do kilku tysięcy elementów). Pytanie - jak zapisać najefektywniej je w polu blob?

0

A dlaczego w polu Blob?? Z tego co się orientuję pole Blob stosuje się najczęściej do przechowywania grafik.

Nie lepiej po prostu zrobić tabele z polami: id (integer) jako primary key, value (float) do przechowywania wartosci?

Dla MySQL kilkanaście tysięcy to nie dużo:)

0

Problem polega na tym ze tablice maja rożny rozmiar, ilość elementów tez jest nie określona z czasem się ich trochę dodaje do bazy. Kilka tysięcy dla tablicy ok. ale jak będzie kilka tysięcy tablic?? Dodatkowo typ danych nie musi być zawsze taki sam w tablicach dane mogą mieć różny typ danych wiec uniwersalnym rozwiązaniem było by to ładowanie właśnie do bloba jako strumień jak grafikę (jeśli się da) . Tak mi sie przynajmniej wydaje chyba chyba ze istnieje jakieś lepsze rozwiązanie.

0

Proponuje varchar'a i ew. dodatkowe pole okreslajace typ danych.

0

a co chcesz potem robić z tymi danymi, któe zapiszesz?

0

Są to wyniki pomiarów. Które maja być udostępniane do dalszej analizy. Z poziomu aplikacji przez algorytmy napisane do niej a także jako dane wejściowe do innych programów (przekazywane przez aplikacje).

0

no to wypadało by najpierw te dane usystematyzować i jakoś posortować a dopiero potem zastanawiać się nad strukturą tabel
BTW jakby mi ktoś dał dane do analizy, które wyglądały by tak

1
2
kot
drzewo
5
biały
-2
rower

to bym mu powiedział "spieprzaj dziadu" :p

0

eeee hmm nie tak! To co jest trzymane w tablicach to tylko zarejestrowane przebiegi czasowe lub dane które są wynikiem danej analizy. Cala reszta danych potrzebnych do konkretnych analiz czy tez sortowania wyników, parametry, dane opisowe dostarczane i przetrzymywane są osobno bazie.

0

to ja proponuję zapisać to w tablicy

  • id autoinc
    wartosc_pomiaru typ_rzeczywisty-patrz niżej
    numer_pomiaru (id_pomiaru) int

    w mysqlu są napisał(a)

    | REAL[(length,decimals)] [UNSIGNED] [ZEROFILL]
    | DOUBLE[(length,decimals)] [UNSIGNED] [ZEROFILL]
    | FLOAT[(length,decimals)] [UNSIGNED] [ZEROFILL]
    | DECIMAL(length,decimals) [UNSIGNED] [ZEROFILL]
    | NUMERIC(length,decimals) [UNSIGNED] [ZEROFILL]

i jeśli potrzeba dodatkowa tablica
pomiary
*id_pomiaru
reszta danych

0

I tu wracamy do sedna sprawy! Czyli wynikiem pomiaru nie jest jedna liczba rzeczywista ale tablica (przebieg czasowy, macierz danych wynikowych z konkretnej analizy) Baza musi być na tyle uniwersalna ze sama struktura tych danych (pomiar obliczenia) może być różna, a jednak jakoś musi być zapisana, bez konieczności ingerencji w strukturę samej bazy danych. (dane opisowe to zupełnie inna sprawa i tu wiadomo ze musi być sztywna struktura)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0