Ad kopirovani: neriskoval bych to mezi ruznymi verzemi, tuhle se mi stalo, ze i mysqldump z jedne verze nesel nacpat do jine verze, kvuli nejake zmene v default nastaveni default hodnoty pro nezada pro pole, kde na jedne verzi dovoloval NULL hodnoty a na druhe bohuzel ne.
Ad licence: "pokud program postavený na MySQL nebudete prodávat, je zdarma" - co tim je konkretne mysleno? Kdyz napisu v PHP nejakej system, kterej bude vyuzivat MySQL na web hostingu a budu prodavat jen ty moje PHP skripty, nemusim snad platit za MySQL, ne? Muze tady nekdo uvest konkretne pripad, kdy bych musel za MySQL platit? Jak je to s licenci u PostgreSQL?
Diky.
mal som chut prestat citat po informacii o neexistencii vnorenych selectov, triggerov a userom definovanych funkcii. Bez vnorenych selectov si neviem ani predstavit vaznejsiu aplikaciu. Viva Postgres.
Len tak na okraj, nieje to plytvanim zdrojov, ked sa vyvijaju dve paralelne opensourcove databazy?
Napred popisu, jak by transakce mela vypadat (Oracle), a pak popisu, jak vypada v MySQL. Takze Oracle: spustim si dva radkove SQL klienty a zadam V OBOU napr. "update tabl set a=5 where id=5". Prvni klient operaci provede a na prikazovy radek muzu napsat dalsi prikaz. Ale nedal jsem commit! Druhy klient tedy ceka (presypaci hodiny), protoze chce updatovat stejny zaznam a ten je zamcen. V prvnim klientovi davam commit ([label]) a ted V DRUHEM klientovi se to rozjede a mohu i zde zadavat dalsi prikazy. Vse odzkouseno v Oracle SQL Plus klientech. Tak. A ted MySQL. Az po ([label]) je to stejne s tim podstatnym rozdilem, ze v DRUHEM klientovi se to uz nerozjede, a bude nutne tohoto druheho klienta odstrelit. Tak toto jsou prosim transakce v MySQL. Kdybych si to sam nevyzkousel, tak by jeden rekl, ze je to M$ pomluva volne siritelneho produktu.
Hm doted jsem zil v domeni, ze MySQL nema transakcni zpracovani implementovane. Tak jsem asi pozadu. Proto pro popsane ukoly je asi lepsi Postgress. Na druhe strane transkace ani vetsina uzivatelu od MySQL nepozaduje, stejne pomoci nej jen zobrazuji web.
Nemuzu se zbavit dojmu, ze se tam nejakym nedopatrenim zobrazuje cast clanku opakovane, ze by chybka v SQL serveru? :-)
Vážená paní, vážený pane,
společnost Taylor Nelson Sofres Factum byla pověřena společností Microsoft
uskutečnit rozsáhlý průzkum spokojenosti zákazníků s výrobky a službami
společnosti Microsoft. Společnost Microsoft by ráda poznala možnosti jak
zlepšit nabídku svých výrobků a služeb pro zákaznickou veřejnost a
obchodní partnery. Proto jsme byli požádáni o realizaci tohoto průzkumu.
Ujišťujeme Vás, že se jedná výlučně o průzkum spokojenosti zákazníků a
získané údaje budou použity pouze pro tento účel. Prosíme Vás o vyplnění
dotazníku elektronickou cestou on-line -- klikněte zde
http://www.msnetsurvey.com/cz/cv/. Vyplnění dotazníku trvá
pouhých cca 10 minut. Za Vaši pomoc Vám budeme velmi zavázáni. Prosíme
uveďte co si skutečně myslíte.
Pokud je to vtip, tak jsem ho nepochopil. Pokud takto dela Taylor Nelson Sofres Factum sve pruzkumy, tak "potes koste". Pokud je ucelem vyprovokovat flame, tak tady to nepujde - mame inteligentni ctenare. Tak jako tak prosim ctenare, aby na tento prispevek nereagovali. Diky.
Relace je VZTAH mezi SOUVISEJICIMI daty. Mysql neni schopna relace zajistit na sve urovni. Je-li libo priklad:
Mejme dve tabulky clanek a diskuse: clanek (id PRIMARY KEY,nazev,text), diskuse(id PRIMARY KEY,clanek_id,autor,email,titulek,text,datum_vytvoreni).
Bylo to by pekne vyjadrit relaci pole clanek_id tabulky diskuse na tabulku clanek: ALTER TABLE diskuse ADD CONSTRAINT fk_diskuse_clanek FOREIGN KEY(clanek_id) REFERENCES clanek(id). Ale to se nam v mysql nepodari a je potreba se postrat o relace aplikacne.
Definice ciziho klice je typickym predmetem cinnosti triggeru: ten si pred vlozenim vety do tabulky overi existenci cizich klicu a v pripade neexistujicich klicu nedovoli vetu vlozit.
a nepride vam, ze delat databaze bez integritnich
omezeni je trosku (vic nez trosku) prasarna ?
ad relace: mam pocit ze relace muze existovat mezi
jakymikoli dvema mnozinami, jedno at to sou cisla (R, C, N, Z, Q) japka, hrusky...
relace je vztah mezi prvkama jedny mnoziny a prvkama druhy mnoziny
Mily pane, kdyz uz o necem pisete, mel byste si alespon nastudovat zakladni pojmy. Databaze, ktera
se chce oznacovat za relacni musi splnovat deset
podminek definovanych Coddem nekdy zacatkem sedmdesatych let, viz. http://newton.uor.edu/FacultyFolder/CKettemborough/Codd12R.html
(odkaz vede na pozdejsi, rozsirenou, verzi).
Mezi ty nalezitosti, ktere MySQL nesplnuje patri "malickosti" jako referencni integrita (v praxi omezujici pouziti MySQL na projekty citajici nekolik tabulek) a datovy slovnik.
Asi jsem neco nepochopil, ale do ted jsem se domnival ze mysql je dualne licencovana pod GNU GPL a nejakou specielni licenci ktera umoznuje firme vyvijejich MySQL na ni vydelavat. takze pokud chci pouzit zdrojaky MySQL tak bud udelam svuj projekt GPL a nebo si koupim licenci od autoru. a pokud je mysql i pod GPL tak mi nic nebrani prodavat jak mysql tak i produkty (i ne-GPL) ji vyuzivajici.
Este som si clanok neprecital, no plny nadsenia som ho otvoril a dal si vyhladavat vyraz "vnoreny select". Dozvedel som sa len, ze to MySQL zatial nema implementovane, co mimochodom nie je nic nove. AFAIK sa tato vymozenost chysta uz peknych par mesiacov. Vzdy ked sa pozriem do dokumentacie vidim, ako je to tam napisane na prvom (alebo jednom z prvych) miest. Zaujimave ale je, ze polozky pod tym sa menia. :-)
Preto by som sa chcel autora spytat, ci vie o tejto problematike nieco viac, tj. kedy asi bude vnoreny select implementovany. `internals' z mysql.com uz necitam, ale mozno sa tu najde niekto kto ano. Budem vdacny za akekolvek poznatky.
Nejspis jste si spatne precetl to, o cem mel byt tento clanek... tj. o planovanych novinkach v MySQL 4 (clanek byl ale bohuzel o trochu necem jinem). <br><br>
MySQL 4.0.1-alpha nemuzete povazovat za MySQL 4 jako takove. To budete moci prohlasit az u finalni verze. V soucasne dobe je jiz k dispozici MySQL 4.03 Beta a od Vami pouzivane verze se lisi (opraveno mnoho chyb, pridany nektere nove vlastnosti...atd.)
Abych řekl pravdu, už mě docela unavují diskuse, jestli je MySQL relační databáze. Podle mého je prostě MySQL tu, komu vyhovuje, nechť jí používá, komu ne, nechť jí nepoužívá. Jednoduché jak facka, nebo ne?
V zásadě musím říci, že prakticky v žádné diskusi o MySQL jsem se nedozvěděl téměř nic jiného, než několik neustále dokola omílaných vět o tom, proč MySQL ne, a pokusů o obhajobu.
Copak se někdo nedokáže povznést nad to, že MySQL má své určení, cílovou skupinu, atd.. A že to může být jiná cílová skupina, než kam míří Oracle, nebo DB2?
Řeknu to upřímně, spoustu lidí tyhle hádky nezajímají. Jediné, co mě zajímá je, zda mi může MySQL pomoci a v čem. Vzhledem k tomu všemu mohu jen doporučit, vyzkoušejte si MySQL sami, chcete-li přečtěte si originální manuál. Jinde se totiž nic nedovíte. Snad kromě neustálého, bohužel spíše kultovního boje proti MySQL lidí, kteří kolikrát MySQL ani neznají.
Bohužel to neplatí jen o MySQL, spoustu lidí třeba nenadchávají hádky Windows x Linux, stejně tak jako MySQL x Postgres, ani další už tímto proslavené dvojice.
Přál bych si, abych jednou narazil na diskusi, kde bych se o MySQL dozvěděl něco nového. Nebo aby někdo lidem alespoň poradil. Namísto toho narážím jen na plmenné boje. Jděte s nima někam...
Nic proti, MySQL je skutecne urcen jine cilove skupine. Bohuzel se semtam setkavam s pozadavkem nekoho z teto cilove skupiny, ze trosku zmenil pozadavky na svou stavajici aplikaci a chtel by doplnit to a to. Zmena databaze je vetsinou dost problematicka, takze se obvykle funkce, ktere MySQL neumi, resi v kodu.
Obavam se, ze to muze kdekoho celkem znechutit a pak z toho vznikaji takovehle diskuze ;-).
Me osobne diskuze tohoto typu nevadi. Ten, kdo si bude vybirat kterou db bude pouzivat, v nich myslim najde vic informaci nez v leckterem clanku.
Ano, MySQL je databáze, ve které neexistují různé databázové objekty typu trigger, apod.. a je jasné, že se to pak musí řešit v kódu. Ale to je přece o ní předem známo, a musí se s tím předem počítat.
Proti diskusím tohoto typu mám především toto:
1) MySQL je srovnávána s velkými podnikovými databázemi, které jsou spíše aplikačními servery. Pro tento účel, tj. nasazení jako aplikačního serveru není IMHO MySQL to pravé ořechové.
2) Většina argumentů odpůrců jsou dost často věci, které platily pro prehistorické verze MySQL, ale dnes již velká část není pravdivých. Proto se mi zdá, že diskuse tohoto typu nepodávají pravdivý obraz o situaci v MySQL.
3) Nemluví se o nasazeních, kde je MySQL vhodná.