Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Typ kolumny dla czasu oraz wartości km
Forum PHP.pl > Forum > Przedszkole
-Buła-
Cześć.

Projektuje schemat tabeli i muszę trzymać informacje o kilometrach (z punktu A do punktu B ile jest km) oraz czasie w jaki to można przejechać; tylko nie wiem jaki dobrać typ bazy danych.
Jakieś propozycje, sugestie? Dla czasu to pewnie wystarczyłoby int(10) - ale w jakiej formie to trzymać? Unix timestamp questionmark.gif
jaslanin
kilometry najlepiej przechowywać jako int -> wyrażony najlepiej w centymetrach albo milimetrach jakby ktoś chciał sobie wpisać: 5.1234 km, dzięki temu unikniesz problemów z floating point ( np. jakbyś kiedyś przechowywał kwoty to przechowuj je w groszach zamiast float )
czas przechowuj jako liczbę sekund / milisekund (chyba trochę overkill), timestamp to czas absolutny a nie czas przejazdu tj od 13 mineło 1234 sekund, ale timestamp to będzie 123123123123 sekund od 1970 roku
TomASS
Cytat(-Buła- @ 2.04.2013, 12:50:49 ) *
Cześć.

Projektuje schemat tabeli i muszę trzymać informacje o kilometrach (z punktu A do punktu B ile jest km) oraz czasie w jaki to można przejechać; tylko nie wiem jaki dobrać typ bazy danych.

Typ bazy danych czy typ kolumny?
Cytat(-Buła- @ 2.04.2013, 12:50:49 ) *
Jakieś propozycje, sugestie? Dla czasu to pewnie wystarczyłoby int(10) - ale w jakiej formie to trzymać? Unix timestamp questionmark.gif

Jeśli chodzi o kolumny, to polecam:
1. na odległość SMALLINT (rzadko kiedy potrzeba trzymania wartości większej niż 65 tyś km, zazwyczja brak też części dziesiętnych w odległościach)
2. czas przejazdu - zależy od tego czy masz dane "przed" czy "po" przejeździe:
a. jeśli masz czas przejazdu przed samym przejazdem, to wygodnie jest tak jak kolega sugeruje - liczba sekund/minut
b. jesli ma "po" to może warto zastanowić się nad trzymanie daty początku przejazdu oraz końca? Wówczas oprócz czasu trwania samego przejazdu masz dodatkowe informacje.
artuross
Jezeli podaje czas w sekundach to raczej bedzie to dosyc dokladna odleglosc, wiec metry moga tez wystapic, a nawet jezeli nie dokladnie, to czesc dziesietna metra prawie na pewno.
Dla zapisania czasu, TIME albo UNSIGNED MEDIUMINT.
TomASS
Cytat(artuross @ 2.04.2013, 14:07:52 ) *
Jezeli podaje czas w sekundach to raczej bedzie to dosyc dokladna odleglosc, wiec metry moga tez wystapic, a nawet jezeli nie dokladnie, to czesc dziesietna metra prawie na pewno.
Dla zapisania czasu, TIME albo UNSIGNED MEDIUMINT.

Autor nigdzie nie podaje w sekundach.
Oczywiście wszystko zależy od dokładności, domyślam się, że jeśli chodzi o czasy przejazdu i trzymanie odległości w kilometrach to metry nie są istotne. Mogę się mylić.
artuross
Dokladnie, to zalezy od odlegosci. W przypadku 1000 km to z pewnoscia nie ma zadnego znaczenia, ale w przypadku kilometra? Byc moze ma, a skoro chcial trzymac info w timestampie to pewnie chcial miec i sekundy smile.gif tak mysle.
TomASS
Cytat(artuross @ 2.04.2013, 15:20:34 ) *
Dokladnie, to zalezy od odlegosci. W przypadku 1000 km to z pewnoscia nie ma zadnego znaczenia, ale w przypadku kilometra? Byc moze ma, a skoro chcial trzymac info w timestampie to pewnie chcial miec i sekundy smile.gif tak mysle.

Chcaił w INTach wink.gif
Racja - jakby chciał do kilku kilometrów to rzeczywiście lepiej w sekundach i metrach.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.