Baza danych przechowuje dane multimedialne (duże ilości danych binarnych). Którego typu danych należy użyć dla takich pól?
Dobrze.
BLOB (Binary Large Object) przechowuje duże dane binarne, np. obrazy.Źle.
ENUM przechowuje jedną z predefiniowanych wartości tekstowych.Źle.
LONGTEXT przechowuje długi TEKST, a nie dane binarne.Źle.
DOUBLE to typ liczbowy zmiennoprzecinkowy.Do przechowywania dużych danych binarnych - obrazów, dźwięku, plików - służy typ
BLOB (Binary Large Object). W odróżnieniu od typów tekstowych nie zakłada kodowania znaków, więc nadaje się do surowych bajtów. W MySQL ma warianty (TINYBLOB, MEDIUMBLOB, LONGBLOB) o różnej pojemności. Dlatego dla danych multimedialnych właściwy jest BLOB.Pozostałe typy nie nadają się do danych binarnych.
ENUM pozwala przechować tylko jedną z wcześniej zdefiniowanych wartości tekstowych (np. „mały”, „duży”) - to typ wyliczeniowy, nie magazyn plików. DOUBLE to liczba zmiennoprzecinkowa, służąca do wartości ułamkowych. LONGTEXT przechowuje wprawdzie dużo danych, ale TEKSTOWYCH, z kodowaniem znaków, więc surowe bajty obrazu mógłby zniekształcić. Dane binarne multimediów trzyma się w polu typu BLOB, dlatego to on jest poprawny.