Jaký datový typ pole databáze

jebal

Jaký datový typ pole databáze
« kdy: 11. 10. 2015, 22:57:03 »
Ahoj,

potřeboval bych poradit. Jaký typ databázového sloupce zvolit, pokud v něm mají být uloženy číselné hodnoty max. 100, ale jak + tak -?
4ili rozsah je -100 - 100. Děkuji. :)


jebal

Re:Jaký datový typ pole databáze
« Odpověď #1 kdy: 11. 10. 2015, 23:07:14 »
Omlouvám se, ještě doplňuji že se může jednat i o desetiny, tzn. například -1.6

mikrom

Re:Jaký datový typ pole databáze
« Odpověď #2 kdy: 11. 10. 2015, 23:21:59 »
Jaký typ databázového sloupce zvolit, pokud v něm mají být uloženy číselné hodnoty max. 100, ale jak + tak -?
napriklad DECIMAL(3, 0)

mikrom

Re:Jaký datový typ pole databáze
« Odpověď #3 kdy: 11. 10. 2015, 23:23:42 »
ještě doplňuji že se může jednat i o desetiny, tzn. například -1.6
tak potom DECIMAL(4, 1)

jebal

Re:Jaký datový typ pole databáze
« Odpověď #4 kdy: 11. 10. 2015, 23:39:15 »
Mnohokráte děkuji! Pánbůh vám to oplatí na dětech, pokud o ně budete stát. :)


Re:Jaký datový typ pole databáze
« Odpověď #5 kdy: 12. 10. 2015, 00:06:47 »
Opravdu jen o desetiny? setinky nebudou?
Děkuji za možnost editace příspěvku.

jebal

Re:Jaký datový typ pole databáze
« Odpověď #6 kdy: 12. 10. 2015, 01:58:44 »
Vzhledem k tomu že dotazovaný systém vrací jen desetiny, je mi líto. O co přesně v dotazu šlo?

peter

Re:Jaký datový typ pole databáze
« Odpověď #7 kdy: 12. 10. 2015, 05:03:16 »
Vzhledem k tomu že dotazovaný systém vrací jen desetiny, je mi líto. O co přesně v dotazu šlo?
To je dobrá otázka, na ktorú by si si mal teraz sám nájsť odpoveď.

Re:Jaký datový typ pole databáze
« Odpověď #8 kdy: 12. 10. 2015, 08:02:59 »
A nebolo by lepsie  mysliet do buducna a dat tam na 2 des. miesta? Radsej mat 0 na konci ako potom menit dat. pole a program

Ivan

Re:Jaký datový typ pole databáze
« Odpověď #9 kdy: 12. 10. 2015, 11:58:45 »
Myslim, ze nejlepsi bude kdyz uvedes o jakou databazi se jedna.

Karel

Re:Jaký datový typ pole databáze
« Odpověď #10 kdy: 12. 10. 2015, 12:36:36 »
Poněkud obšírnější odpověď. Datový typ má v databázi dva velké úkoly. Zaprvé ukládá data. Každý typ to dělá trochu jinak a něco jiného umí. Například datový typ Number v Oracle SQL neumí ukládat texty. Zadruhé datové typy umí do jisté míry kontrolovat správný formát.

Na vaši otázku bych tedy opověděl, že v Oracle SQL máte použít Number. Tečka. Rosah čísel obrovský, přesnost až na 38 míst. Tento datový typ bude umět ukládat vaše čísla. Ovšem to vycházím z předpokladu, že vaše otázka zní "jaký datový typ umí uložit čísla od -100 do 100 na jedno desetinné místo". Čili že se ptáte na ten první úkol - aby to taková čísla umělo uložit.

Pokud vaše otázka ale je "jaký datový typ mi zajistí, že to budou jen čísla od -100 do 100 na jedno desetinné místo", pak odpověď pro Oracle SQL je, že žádný. Na půli cesty je tam třebas ten number (4,1), což jsou čísla od -999.9 do 999.9 a jedno desetinné místo. To je ten druhý úkol - že od toho čekáte i nějakou kontrolu správných dat.

Pro správnou odpověď je tedy potřeba vědět, o jakou databázi jde a co od toho vlastně čekáte. Zda jen uložení dat (a pak vybíráme podle efektivity datového typu) nebo i nějakou garanci formátu.

Kit

Re:Jaký datový typ pole databáze
« Odpověď #11 kdy: 12. 10. 2015, 12:56:09 »
ještě doplňuji že se může jednat i o desetiny, tzn. například -1.6
tak potom DECIMAL(4, 1)

Představil jsem si, že tazatel chce ukládat například venkovni teplotu. V tom případě by tohle mohlo být správným řešením. Škoda, že se ten účel dozvídáme jen někdy.

jebal

Re:Jaký datový typ pole databáze
« Odpověď #12 kdy: 12. 10. 2015, 17:02:50 »
Velice správně, jde o ukládání venkovní teploty. :))) Mnohokráte děkuji. A DB je MySQL. Vstupní data kontrolovat nijak nepotřebuji, o to se postará script, který tato data zpracovává.

and

Re:Jaký datový typ pole databáze
« Odpověď #13 kdy: 12. 10. 2015, 17:57:05 »
Paklize by jsi chtel usporit co nejvic misto pak SMALLINT (dva bajty) a hodnoty udavat *10. DECIMAL je vice narocny - 4 bajty.

j

Re:Jaký datový typ pole databáze
« Odpověď #14 kdy: 12. 10. 2015, 18:07:22 »
Otazka je, zda na neco takovyho neni vubec SQL atomovka na mravence. Pokud jde o nejaky grafikovani a tak, a ne vylozene o dlouhodoby ukladani exaktnich dat z mnoha cidel, tak je lepsi rrd. Dokonce to tak nejak "od prirody" dela agregaci.