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í
×

včera 23:33 | Komunita

OpenBSD 6.1 vyšlo již 11. dubna. Po dvou týdnech byla vydána i oficiální píseň. Její název je Winter of 95 a k dispozici je ve formátech MP3 a OGG.

Ladislav Hagara | Komentářů: 0
včera 18:55 | Nová verze

Byla vydána verze 2017.1 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux. S vydáním verze 2016.1 se Kali Linux stal průběžně aktualizovanou distribucí. Aktualizovat jej lze pomocí příkazů "apt update; apt dist-upgrade; reboot".

Ladislav Hagara | Komentářů: 0
včera 18:22 | Nová verze

Po téměř pěti letech od vydání verze 2.00 byla vydána nová stabilní verze 2.02 systémového zavaděče GNU GRUB (GRand Unified Bootloader). Přehled novinek v souboru NEWS.

Ladislav Hagara | Komentářů: 3
včera 17:55 | Komunita

Vývojáři Debianu oznámili, že od 1. listopadu letošního roku nebudou jejich archivy dostupné pomocí protokolu FTP. Již v lednu oznámil ukončení podpory FTP kernel.org (The Linux Kernel Archives).

Ladislav Hagara | Komentářů: 1
včera 17:00 | Bezpečnostní upozornění

V oblíbeném webmailu postaveném na PHP SquirrelMail (Wikipedie) byla nalezena bezpečnostní chyba CVE-2017-7692, jež může být útočníkem zneužita ke spuštění libovolných příkazů a kompletnímu ovládnutí dotčeného serveru. Zranitelnost se týká pouze instancí, kde je pro transport používán Sendmail.

Ladislav Hagara | Komentářů: 3
včera 13:11 | Zajímavý článek

Soudní dvůr Evropské unie rozhodl (tisková zpráva) ve věci C-527/15: Prodej multimediálního přehrávače, který umožňuje zdarma a jednoduše zhlédnout na televizní obrazovce filmy protiprávně zpřístupněné na internetu, může představovat porušení autorského práva.

Ladislav Hagara | Komentářů: 19
25.4. 13:33 | Pozvánky

Byly stanoveny termíny konferencí LinuxDays 2017 a OpenAlt 2017. Letošní LinuxDays proběhne o víkendu 7. a 8. října v Praze v Dejvicích v prostorách FIT ČVUT. Letošní OpenAlt proběhne o víkendu 4. a 5. listopadu na FIT VUT v Brně.

Ladislav Hagara | Komentářů: 0
25.4. 11:11 | Komunita

Jiří Eischmann z desktopového týmu Red Hatu se v příspěvku Linuxový desktop: Co vám chybí na svém blogu ptá, co uživatele na Fedora Workstation a na linuxovém desktopu obecně trápí a co by desktopový tým mohl zlepšit. Pokud máte nějaké podněty, napište mu je do komentářů.

Ladislav Hagara | Komentářů: 72
25.4. 03:33 | Nová verze

Byla vydána nová verze 0.25.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Z novinek lze zmínit například podporu DVB-T2. Další části mpv byly přelicencovány z GPLv2 nebo novější na LGPLv2.1 nebo novější (#2033).

Ladislav Hagara | Komentářů: 0
25.4. 02:22 | Zajímavý projekt

Na Bundle Stars byla spuštěna akce Dollar Forever Bundle. Za 1 dolar lze získat 24 počítačových her bežících na platformě Steam také v Linuxu.

Ladislav Hagara | Komentářů: 4
Chystáte se pořídit CPU AMD Ryzen?
 (4%)
 (34%)
 (1%)
 (6%)
 (45%)
 (10%)
Celkem 311 hlasů
 Komentářů: 48, poslední dnes 00:33
    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: 1076×
    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: 53 | 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.
    xkucf03 avatar 3.7.2011 11:30 xkucf03 | skóre: 46 | 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-Výuka.cz, Nekuřák.net
    pavlix avatar 3.7.2011 19:18 pavlix | skóre: 53 | 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.
    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: 53 | 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á).
    xkucf03 avatar 3.7.2011 19:33 xkucf03 | skóre: 46 | 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-Výuka.cz, Nekuřák.net
    pavlix avatar 3.7.2011 19:43 pavlix | skóre: 53 | 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).
    Josef Kufner avatar 3.7.2011 12:51 Josef Kufner | skóre: 67
    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.