Fórum Root.cz

Hlavní témata => Server => Téma založeno: jebal 11. 10. 2015, 22:57:03

Název: Jaký datový typ pole databáze
Přispěvatel: jebal 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. :)
Název: Re:Jaký datový typ pole databáze
Přispěvatel: jebal 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
Název: Re:Jaký datový typ pole databáze
Přispěvatel: mikrom 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)
Název: Re:Jaký datový typ pole databáze
Přispěvatel: mikrom 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)
Název: Re:Jaký datový typ pole databáze
Přispěvatel: jebal 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. :)
Název: Re:Jaký datový typ pole databáze
Přispěvatel: to_je_jedno 12. 10. 2015, 00:06:47
Opravdu jen o desetiny? setinky nebudou?
Název: Re:Jaký datový typ pole databáze
Přispěvatel: jebal 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?
Název: Re:Jaký datový typ pole databáze
Přispěvatel: peter 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ď.
Název: Re:Jaký datový typ pole databáze
Přispěvatel: MalyTomi 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
Název: Re:Jaký datový typ pole databáze
Přispěvatel: Ivan 12. 10. 2015, 11:58:45
Myslim, ze nejlepsi bude kdyz uvedes o jakou databazi se jedna.
Název: Re:Jaký datový typ pole databáze
Přispěvatel: Karel 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.
Název: Re:Jaký datový typ pole databáze
Přispěvatel: Kit 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.
Název: Re:Jaký datový typ pole databáze
Přispěvatel: jebal 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á.
Název: Re:Jaký datový typ pole databáze
Přispěvatel: and 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.
Název: Re:Jaký datový typ pole databáze
Přispěvatel: j 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.
Název: Re:Jaký datový typ pole databáze
Přispěvatel: jebal 12. 10. 2015, 18:34:40
No, což o to, já si rád nechám poradit a nasměrovat se lepším směrem, ale když už mám na domácím serveru mysql, přišla mi tato cesta poměrně logická... Kdo ví, jakou statistiku si budu chtít vyjet za 10 let, ne? :)