Fórum Root.cz

Hlavní témata => Server => Téma založeno: David 04. 12. 2012, 11:27:39

Název: Datové typy v databázi
Přispěvatel: David 04. 12. 2012, 11:27:39
Dobrý den  :), začínám s návrhem databáze a vím, že jeden atribut bude nabývat hodnot pouze 1–8.

Je lepší na to použít dat. typ VARCHAR(1) nebo INTEGER s nějakým omezením? Nebo to vyjde na stejno?

Děkuju za radu :).
Název: Re:Datové typy v databázi
Přispěvatel: tadeas 04. 12. 2012, 11:32:53
ENUM?
Název: Re:Datové typy v databázi
Přispěvatel: X125 04. 12. 2012, 11:37:41
TINYINT
Název: Re:Datové typy v databázi
Přispěvatel: Jaromír Vojtaj 04. 12. 2012, 11:43:56
Dost záleží na tom, jak bude/může být databáze či tabulka do budoucna veliká
Název: Re:Datové typy v databázi
Přispěvatel: David 04. 12. 2012, 11:46:23
Děkuju za tipy :). Týká se to tabulky s nejvíce řádky z celé databáze...
Název: Re:Datové typy v databázi
Přispěvatel: Ivan 04. 12. 2012, 11:50:23
Bylo by docela uzitecny vedet o kterou DB se jedna. Ne ze by me to az tak zajimalo, ale hohl bys' dostat mnohem uzitecnejsi rady.
Název: Re:Datové typy v databázi
Přispěvatel: Jaromír Vojtaj 04. 12. 2012, 11:51:34
Taky jsem se chtěl zeptat na tyo DB a alespoň přibližný odhad počtu řádků. Nejvíc je přece jenom trochu moc obecné číslo...
Název: Re:Datové typy v databázi
Přispěvatel: Rax 04. 12. 2012, 11:59:57
Je lepší na to použít dat. typ VARCHAR(1) nebo INTEGER s nějakým omezením? Nebo to vyjde na stejno?

INTEGER nebo TINYINT nebo SMALLINT podle toho co DB umí.
Název: Re:Datové typy v databázi
Přispěvatel: David 04. 12. 2012, 12:06:01
Měla by to být relační databáze k evidenci přihlášení žáků na kroužky, kde u záznamu "žák má zapsaný tento kroužek" – by byla položka s hodnotou 1–8, která určuje klasifikaci nebo jiný stav průběhu. Řádků odhaduji kolem 700.
Název: Re:Datové typy v databázi
Přispěvatel: David 04. 12. 2012, 12:06:50
V Oraclu.
Název: Re:Datové typy v databázi
Přispěvatel: Jaromír Vojtaj 04. 12. 2012, 12:17:56
V tomhle rozsahu je to asi skoro jedno, takže bych nejspíš vybral INTEGER s nejmenším rozsahem. Neznám ORACLE, takže to může být TINY nebo SMALL. Ještě mě napadá otázka: bude ten sloupec sloužit dál pro nějaká statistiky nebo napojení na další tabulky?
Název: Re:Datové typy v databázi
Přispěvatel: kuka 04. 12. 2012, 12:30:53
Měla by to být relační databáze k evidenci přihlášení žáků na kroužky, kde u záznamu "žák má zapsaný tento kroužek" – by byla položka s hodnotou 1–8, která určuje klasifikaci nebo jiný stav průběhu. Řádků odhaduji kolem 700.

700 zaznamu? Tak to na tom opravdu ani v nejmensim nezalezi. Nicmene v Oracle bude na toto z hlediska mista nejlepsi char(1), coz zabere 1 byte, nasleduje varchar2(1), coz zabere 2 byte, integer zabere pro uvadene honoty (1-8) 3 byte. Vsechno pro not null hodnoty a jednobajtove nebo UTF-8 interni kodovani retezcu.
Název: Re:Datové typy v databázi
Přispěvatel: David 04. 12. 2012, 12:47:45
Dobře, děkuju za Vaši pomoc a rady :).
Název: Re:Datové typy v databázi
Přispěvatel: lobo 04. 12. 2012, 15:21:51
ja pouzivam co najuniverzalnejsie/najprenositelnejsie typy z dvoch dovodov
1) zjednodusuje to preklopenie medzi roznymi DB systemami
2) jednoduchsie sa nad tym programuje (DB<-> object)