abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 11:55 | IT novinky

    Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.

    Ladislav Hagara | Komentářů: 4
    dnes 04:33 | Bezpečnostní upozornění

    Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána nová verze 1.25 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 13:44 | Nová verze

    Byla vydána beta verze Linux Mintu 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 0
    včera 13:00 | IT novinky

    Provozovatel internetové encyklopedie Wikipedie prohrál v Británii soudní spor týkající se některých částí nového zákona o on-line bezpečnosti. Soud ale varoval britského regulátora Ofcom i odpovědné ministerstvo před zaváděním přílišných omezení. Legislativa zpřísňuje požadavky na on-line platformy, ale zároveň čelí kritice za možné omezování svobody slova. Společnost Wikimedia Foundation, která je zodpovědná za fungování

    … více »
    Ladislav Hagara | Komentářů: 2
    včera 12:55 | Nová verze

    Byla vydána verze 2.0.0 nástroje pro synchronizaci dat mezi vícero počítači bez centrálního serveru Syncthing (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 2
    včera 12:33 | IT novinky

    Americký prezident Donald Trump se v pondělí osobně setkal s generálním ředitelem firmy na výrobu čipů Intel Lip-Bu Tanem. Šéfa podniku označil za úspěšného, informují agentury. Ještě před týdnem ho přitom ostře kritizoval a požadoval jeho okamžitý odchod. Akcie Intelu v reakci na schůzku po oficiálním uzavření trhu zpevnily asi o tři procenta.

    Ladislav Hagara | Komentářů: 12
    11.8. 04:55 | Nová verze

    Byl vydán Debian GNU/Hurd 2025. Jedná se o port Debianu s jádrem Hurd místo obvyklého Linuxu.

    Ladislav Hagara | Komentářů: 6
    11.8. 02:44 | Komunita

    V sobotu 9. srpna uplynulo přesně 20 let od oznámení projektu openSUSE na konferenci LinuxWorld v San Franciscu. Pokuď máte archivní nebo nějakým způsobem zajímavé fotky s openSUSE, můžete se o ně s námi podělit.

    lkocman | Komentářů: 6
    9.8. 21:11 | Nová verze

    Byl vydán Debian 13 s kódovým názvem Trixie. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 8
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (50%)
     (20%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (17%)
    Celkem 368 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz: Datový typ varchar - univerzální podporované všemi DB

    2.7.2011 18:51 hispik
    Datový typ varchar - univerzální podporované všemi DB
    Přečteno: 1232×
    Dobrý den. Snažím se postavit aplikaci tak, aby mohla fungovat se všemi běžně používanými relačními databázemi - konkrétně mysql, postgresql, firebird, oracle, sqlite, mssql. Proto se snažím najít takové datové typy, které podporují pokud možno podobně všechny tyto databáze. Myslím, že nebudu mít problém s INTem, datem a časem, ale problém by mohl vzniknout s textovým datovým typem. Zatím to stavím nad mysql (protože toho podporuje relativně málo a dobře se to upravuje pro ostatní rdbms) a tam je VARCHAR podle collation case sensitive i insensitive, v postgresql je standardně jen CS (ale dá se přidat i CI), u ostatních RDBMS jsem trochu zmaten (i z manuálů). Netušíte někdo jak jsou na tom ostatní databázové stroje a na jaké další omezení bych si měl dávat pozor? Mým cílem je u VARCHARU podpora utf8 a nějaké univerzální řazení a porovnávání - univerzálním myslím, že všechny musí toto podporovat stejně - je mi jedno jestli CS nebo CI, ale stejně. Na co bych to měl normalizovat?

    Řešení dotazu:


    Odpovědi

    2.7.2011 20:32 Kit
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    Hledání univerzálního řešení je cestou do pekel. Každá databáze má jiné výhody a používáním standardu ANSI SQL se tyto výhody do jisté míry stírají. Je možné nadstandardní záležitosti omezit, ale úplně se jich zbavovat by byla škoda.

    V ANSI je NVARCHAR(n).
    2.7.2011 20:37 hispik
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    No a co to case sensitivity?
    okbob avatar 2.7.2011 22:02 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    MSSQL nepodporuje utf8 - pro podporu UTF musite pouzit nvarchar, ktery zase neni podporovan v PostgreSQL.

    Pristup, ktery jste zvolil, neni uplne nejstastnejsi. Rozumnejsi je pouzit treba sve jednoduche API, kterym obalite db operace, a uvnitr ktereho rozdily mezi jednotlivymi db skryjete.
    2.7.2011 22:23 l0gik | skóre: 22
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    A SQL skripty na vytvoření db generujte pomocí PHP. Takové věci jako typ varchar pak vyřešíte pomocí jednoduchýho konfiguráku...
    3.7.2011 02:15 hispik
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    Svoje API mám. Mě jde jen o to, aby fungovaly stejně základní operace nad daty tj. řazení, porovnávání, vyhledávání. Řazení bych mohl implementovat tak, že bych do svojí aplikace načetl všechny řádky z db, pak seřadit a zobrazil, to samé u porovnávání a vyhledávání, ale to není nejšťastnější.
    3.7.2011 08:41 Kit
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    Takové použití databáze je úplně zcestné. Pokud bys chtěl řadit záznamy až ve skriptu, databázi zřejmě nepotřebuješ. Klidně bys mohl použít FS s utilitami nebo KVS.

    l0gik ti navrhl, abys generoval SQL PHP skriptem. V tom skriptu můžeš podchytit odlišnosti jednotlivých SŘBD. Také můžeš zkusit ODBC nebo PDO. Ovšem pokud máš choutky řadit záznamy z databáze ve skriptu, zřejmě nemáš mnoho dat. Pokud chceš univerzální řešení, místo databáze použij raději XML a XSLT.

    Univerzální nástroj neexistuje. Měl by ses s tím smířit.
    pavlix avatar 3.7.2011 10:16 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    Pokud chceš univerzální řešení, místo databáze použij raději XML a XSLT.
    Tak za to ti určitě poděkuje :). XSLT je krásná věc pro ty, kteří potřebují promrhat spoustu času.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    xkucf03 avatar 3.7.2011 11:30 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    To bych ani neřekl :-) Akorát je to úplně jiný přístup k datům než relační (byť se tam nějaké analogie dají najít).

    Původnímu tazateli bych doporučil se podívat na hotová řešení – ORM (Hibernate) nebo aplikace, které fungují nad více různými SŘBD (Drupal). Psát něco takového na koleně není úplně triviální.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    pavlix avatar 3.7.2011 19:18 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    Mně se to před časem zalíbilo... hrál jsem si s tím... ale v reálných případech jsem obvykle místo XSLT použil nějaký obecný programovací jazyk, a pokud to šlo tak místo XML nějaký rozumnější formát na uložení dat.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    3.7.2011 12:26 Kit
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    Napsal jsem si pokusné diskusní fórum v XSLT a funguje velmi rychle i při velké zátěži. Netvrdím, že je to univerzální zázrak, ale pro menší objemy dat je to často výhodnější řešení, než použití databází. Zejména tam, kde je čtení mnohem častější, než zápis (drtivá většina webů).
    3.7.2011 12:59 hispik
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    Já jsem NEPSAL, že to chci řadit přímo v aplikaci, já psal že je to nevhodné. Mě jde o toto:
    příklad mysql:

    pokud budu chtít řadit podle sloupce "jméno" česky, pak musí být tento sloupec v utf8_collate_cs a je hotovo, nebo v utf8_bin a pak provádět order by convert using ... a je hotovo atd. Tzn. hledám takové řešení, které by bylo pro databáze podobné, abych nemusel u každé speciálně měnit logiku celého dotazu tzn. jednou mám sloupec přímo v požadovaném collate, podruhé převádím do pož. collate apod., tzn. hledám nějaký nejvíce společný "znak", který podporují různé databázové stroje (hlavně proto, že konvertování něco stojí i s f. indexy).
    3.7.2011 15:34 kuka
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    Zrovna toto se myslim mezi databazemi celkem dost odlisuje. Konkretne v Oracle lze radit a porovnavat celkem jakkoliv (case sensitive, insensitive, podle locale). Pro nektere situace staci mit nastavene vlasnosti session, pro nektere scenare je ale treba uvadet to primo do dotazu (napr. pri pouziti like). Asi bych se snazil maximalne vyjit z SQL normy a specificke pozadavky resit pripadne rozpadem kodu dle pouzite databaze - pokud potrebujes neco specialniho tak se tomu proste nevyhnes (pokud to nepresunes na aplikacni vrstvu).
    pavlix avatar 3.7.2011 19:22 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    Netvrdím, že je to univerzální zázrak, ale pro menší objemy dat je to často výhodnější řešení, než použití databází.
    Trošku mi vadí, když se ve větě porovnává konkrétní formát nějaké databáze s databází obecně. Svět ukládání dat je široký a takhle je to strašně zavádějící.
    Zejména tam, kde je čtení mnohem častější, než zápis (drtivá většina webů).
    No... nevím... zkoušel jsi v reálu srovnat rychlost tahání dat z XML pomocí XSLT a za relační databáze SQLite? Ona totiž SQLite při čtení nemusí být vůbec špatná. A další věc je, že to nejsou jediné dva přístupy... a já bych často zvolil řešení, které se rychleji napíše a bude třeba i pomalejší (zvlášť v případech, kdy tu rychlost uživatel nepozná).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    xkucf03 avatar 3.7.2011 19:33 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    a já bych často zvolil řešení, které se rychleji napíše
    Přesně k tomu někdy používám XSLT – jednoúčelová šablona se dá uplácat velmi rychle a není potřeba to moc řešit a pak ji akorát pustíš v jEditu nebo pomocí Antu a je to – rychlejší než něco normálně programovat. Např. jsem takhle dělal převod MIBů (SNMP) do nějakého proprietárního XML formátu – snadno a rychle a to se vyplatí :-)

    (tím tedy nechci říct, že by se XSLT hodilo jen na tyhle věci)
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    pavlix avatar 3.7.2011 19:43 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    Přesně k tomu někdy používám XSLT – jednoúčelová šablona se dá uplácat velmi rychle a není potřeba to moc řešit a pak ji akorát pustíš v jEditu nebo pomocí Antu a je to – rychlejší než něco normálně programovat.
    Asi holt každý máme jiné vysledky... když jsem srovnával svoji práci v XSLT a Python/libxml2, tak to druhé bylo na většinu úloh, co jsem potřeboval, rychlejší na napsání. A to jsem dokonce s XSLT měl delší zkušenost než s tím libxml2.

    Takže, XSLT je hodně zajímavé, nejspíš se časem dostanu k tomu ho zase na něco použít, ale jednak mi práce s ním na mnoho věcí vůbec nepřijde rychlejší než třeba ten Python (i když bych našel věci, kde ano, ale nebývá to ukládání dat), a druhak to nemá do téhle diskuze žádnou vypovídací hodnotu.

    Vypovídací hodnotou to nemá proto, že jakmile máš něco už spraseno do XML, tak se ti úplně změní situace. Tzn to, co funguje líp na XML (pokud vůbec), nemusí líp fungovat na data obecně. A musím říct, JSON mi na ukládání strukturovaných dat vychází většinou daleko lépe než XML, když už se teda bavíme o textových souborových formátech (versus binárních současně přistupované databáze či socketové databáze).
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    Josef Kufner avatar 3.7.2011 12:51 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Datový typ varchar - univerzální podporované všemi DB
    Koukni na dibi (perlička) a podobná udělátka. Ty tě odstíní od hromady drobných odlišností. SQL pak nebude soubor obsahující dotazy, ale jednoduchý skript, jak už bylo řečeno předemnou. A vůbec doporučuju si udělat jednoduchý instalátor, který se o databázi postará automaticky a integrovat ho do aplikace.

    Co se zpracování textu týče, je na to MySQL velice dobře a i podstatně lépe než mnohé "lepší" databáze.

    Omezovat se jen na společné vlastnosti všech podporovaných databází ti přinese víc problémů než užitku. Dobře vyřeš zvládání odlišností a bude ti hej.
    Hello world ! Segmentation fault (core dumped)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.