Jak začít s programováním DB?

farigen

Jak začít s programováním DB?
« kdy: 21. 12. 2010, 21:50:33 »
ahojte

chcem sa naucit programovat v sql ide mi o to ze neviem z cim zacat doteraz som s sql mal len tzv pasivne skusenosti ze som robil nejake selecty do db, presmerovar som to do rury nejak upravil a ulozil niekde do suboru.
chcem sa naucit vytvarat nejake tabulky trigre atd. neviem s cim mam zacat mysql, oracle sa mi zda v mojom pripade delo na vrabca , este viem ze sa pouziva postresql ...
chcem zacat najpv vo vydlach poradite mi nieco nejake vyvojove prostredie , a teda s cim zacat dakujem
« Poslední změna: 21. 12. 2010, 22:23:19 od Petr Krčmář »


Lukas

Re: Jak začít s programováním DB?
« Odpověď #1 kdy: 22. 12. 2010, 00:57:12 »
Mno, nejsem nijak extra pokrocily, SQL netvori hlavni napln me prace, ale ze svych zkusenosti ti muzu doporucit MySQL nebo MS SQL.

K MySQL jsem nasel daleko vic clanku s tutorialy nez k MS SQL, Postgre. Navic se k nemu snaz hledaji free vyvojove nastroje na design tabulek atd. K nauceni designovani databazi, zjisteni k cemu sou triggers, procedury, views, clustering, indexy atd. mi to prijde jako nejlepsi volba. Pokud programujes pod linuxem tak muzes rovnou prestat cist dal protoze MS SQL tu hadam nejde =)

MS SQL ma na sve strane podobnou vyhodu v podobe dobre dokumentace na MSDN a slusneho mnozstvi prikladu, navic MS nabizi v ramci Express edic Visual studia i Express edici MS SQL a obsahuje knihovny pro praci s DB hned v zakladu, neni treba je shanet. Nicmene vetsina zajimavych nastroju je z pochopitelnych duvodu soucasti placenych verzi Visual Studia, takze tady nvm cim si ulehcit napriklad tvorbu ER diagramu atd.

Re: Jak začít s programováním DB?
« Odpověď #2 kdy: 22. 12. 2010, 06:31:50 »
ahojte

chcem sa naucit programovat v sql ide mi o to ze neviem z cim zacat doteraz som s sql mal len tzv pasivne skusenosti ze som robil nejake selecty do db, presmerovar som to do rury nejak upravil a ulozil niekde do suboru.
chcem sa naucit vytvarat nejake tabulky trigre atd. neviem s cim mam zacat mysql, oracle sa mi zda v mojom pripade delo na vrabca , este viem ze sa pouziva postresql ...
chcem zacat najpv vo vydlach poradite mi nieco nejake vyvojove prostredie , a teda s cim zacat dakujem
Nejlepším vývojovým prostředím je tužka a papír - pokud se chcete něco naučit. Dokud jsem používal různé designery (tabulek a dotazů), tak jsem se SQL a db nenaučil. Chce to praxi, bez té to nejde - jeden nebo dva, možná deset projektů na úrovni junior a snažit se vyřešit problémy jak to jen jde nejlépe. Pokud chcete začínat s MySQL, tak bacha, přepněte si ji na ANSI SQL compatible režimu, a hromada dokumentace a různých rad, které najdete na netu mají zápornou informační hodnotu! Jinak je do jisté míry jedno, čím začnete. Oracle je opravdu kanón, kdy dá docela dost práce jen db nainstalovat, ale můžete začít např. Oraclem XE. Postgresem také nic nezkazíte.

Re: Jak začít s programováním DB?
« Odpověď #3 kdy: 22. 12. 2010, 06:41:53 »
Este by som odporucil Firebird, bezi to win/lin a pre win je su aj gui nastroje (napr. Ems IB manager, ktory ponukaju aj vo verzii free)

Cpt.Nemo

Re: Jak začít s programováním DB?
« Odpověď #4 kdy: 22. 12. 2010, 08:36:10 »
Mno zacal bych free verzi MS SQL a k tomu si pribral PostgreSql. Tyhle dva servery jsou pomerne rozdilne, takze se naucite zit ve 2 rozdilnych DB svetech, coz berte jako pripravu na realny svet ;D. Mno a pak si prihodit z povinnosti mySQL. Dokumentace ke vsem serverum je velmi dobra, asi nejlepsi je k MS SQL. Ta je vyborna jak Off, tak On/line.


Petr

Re: Jak začít s programováním DB?
« Odpověď #5 kdy: 22. 12. 2010, 09:56:39 »
Souhlasim, ze MS SQL ma velmi dobre zazemi co se tyce dokumentace a obavam se , ze MSDN se nemuze vubec rovnat dokumentaci k MySQL. Management Studio je pomerne kvalitni nastroj a dobre se v nem pracuje. Kdyz musim neco patlat v phpMyAdmin, tak bych brecel.
Oracle nedoporucuju ani XE, je to dost komplikovane a Oracle ma KB jenom pro ty, co zaplati - informaci zadarmo zase tolik neni. I kdyz perspektivne by to byla asi nejlepsi volba...

Re: Jak začít s programováním DB?
« Odpověď #6 kdy: 22. 12. 2010, 10:34:11 »
Souhlasim, ze MS SQL ma velmi dobre zazemi co se tyce dokumentace a obavam se , ze MSDN se nemuze vubec rovnat dokumentaci k MySQL. Management Studio je pomerne kvalitni nastroj a dobre se v nem pracuje. Kdyz musim neco patlat v phpMyAdmin, tak bych brecel.
Oracle nedoporucuju ani XE, je to dost komplikovane a Oracle ma KB jenom pro ty, co zaplati - informaci zadarmo zase tolik neni. I kdyz perspektivne by to byla asi nejlepsi volba...
Dokumentace k Oracle je také - to co není k dispozici je něco na způsob knowleadge base, což se hodí spíš pro praxi, zvlášť u MS, rady proč něco nechodí ač by to chodit mělo, a v jakém a jak fixovat tuhle db jsou nedocenitelné. Začátečník je ale asi neocení. Hodně záleží jakým způsobem chce člověk databázi používat a k čemu inklinuje. Každá ze zmiňovaných db se používá trochu jinak, a asi si to chce vyzkoušet všechny. Ohledně dokumentace, tak vyjma Firebirdu lze najít free relativně kvalitní dokumentaci +/- s relativně silnými nebo slabými místy - např. o low level programování pro MS SQL se toho moc nedozvíte. Někde lze dohledat porovnání např. MSSQL a PostgreSQL - k tomu se nechci vracet. Já jsem třeba začínal na MSSQL  a Visual Basicu a z dokumentace a tutoriálů Microsoftu se SQL nenaučíte - neb priorita pro ně je tvorba GUI a spojení s vývojovými prostředky - místo toho, aby Vám pořádně vysvětlili LEFT JOIN tak se hodiny věnují query builderu a parametrizaci komponent. Takže záleží na přístupu.

Tomáš

Re: Jak začít s programováním DB?
« Odpověď #7 kdy: 22. 12. 2010, 11:33:03 »
Taky lze zkusit
http://www.sybase.com/detail?id=1016644http://www.sybase.com/detail?id=1016644

Sybase má celkem pokročilé věci kolem replikací, což je nyní v módě. Můžete si vytvořit databázi pro smartphone a replikovat jí s hlavní databází ve firmě apod. Samozřejmě, že toto je vyšší dívčí :-) Navíc, Sybase byla koupena SAPem, takže by se dalo říci (se zamhouřením všech očí, i kuřích), že její znalost Vás může katapultovat mezi nejlépe placené vývojáře.

Re: Jak začít s programováním DB?
« Odpověď #8 kdy: 22. 12. 2010, 11:59:52 »
Začal bych obecnou teorií, P3A (princip tří architektur), kouknout na ERD a UML, přečíst si nějakou knížku, začít si čmárat na papír, přemýšlet o návrhu… A jestli zvolit tu nebo onu implementaci SŘBD bys měl řešit až úplně nakonec.

Je jasné, že to člověk moc dlouho nevydrží takhle nasucho a chce si vyzkoušet, co se naučil – v tom případě bych doporučoval MySQL (kvůli rozšířenosti, hlavně na webu) a PostgreSQL (kvůli lepším možnostem, funkcionalitě). Oboje jsou svobodný software, což kromě jiného znamená, že až se rozkoukáš a budeš chtít nad databází stavět něco většího a třeba i výdělečného, nemusíš řešit nějaké licenční poplatky (a vyhneš se nepříjemnému prozření, kdy ti najednou bezplatná verze nesvobodného DBMS přestane stačit a musíš platit – nebo se začít učit něco jiného a přepisovat systém).

P.S. a kdybys potřeboval ještě něco k SQL dotazům, udělám si reklamu: https://sql-vyuka.cz/d/node/18 :-)

Logik

  • *****
  • 1 022
    • Zobrazit profil
    • E-mail
Re: Jak začít s programováním DB?
« Odpověď #9 kdy: 22. 12. 2010, 12:05:50 »
Ehm, doporučovat k učení MySQL? Proč? Kdo umí pořádnou databázi, nebude mít s peučením na MySQL problémy. Ale proč se kazit takovými "zvěrstvy" jako jeden trigger na tabulku, enginy, kde v každém funguje něco, ale není žádný, kde by fungovalo  všechno (fulltext, transakce)?
 

Re: Jak začít s programováním DB?
« Odpověď #10 kdy: 22. 12. 2010, 15:00:36 »
Ja by som ti odporucil pozriet sa na oracle a venovat sa aj pl/sql, nielen SQL dotazom.

Oliver

Re: Jak začít s programováním DB?
« Odpověď #11 kdy: 22. 12. 2010, 18:51:04 »
Z tohto sa to naucis velmi kvalitne za 1-2 dni... a zadarmo

http://www.sqlcourse.com/index.html

mikrom

Re: Jak začít s programováním DB?
« Odpověď #12 kdy: 22. 12. 2010, 23:16:44 »
Dalsou alrenativou je DB2 Express-C:
http://www-01.ibm.com/software/data/db2/express/

Logik

  • *****
  • 1 022
    • Zobrazit profil
    • E-mail
Re: Jak začít s programováním DB?
« Odpověď #13 kdy: 23. 12. 2010, 00:04:21 »
Za jeden až dva dny se naučí tak základy SQL. Naučit se alespoň trochu rozumně používat takový věci jako triggery, rekurzivní dotazy (with recursive () select), window funkce atd... che trochu víc času.

A naučit se správnej design databáze chce zároveň znát trochu teorii (alespň normální formy, nejlépe relační algebru) a nemálo praxe...

Re: Jak začít s programováním DB?
« Odpověď #14 kdy: 23. 12. 2010, 14:31:19 »
IMHO je potřeba oddělit dvě roviny - teorii a její použití v praxi.

Teorii, zejména co se týká základů relační algebry a konceptů, to se ze žádného konkrétního produktu naučit nelze. Bohužel se to hodně podceňuje, spousta lidí rovnou skočí do nějakého produktu, nikdy si tuto díru ve znalostech neuvědomí a uniká jim část konceptů a principů - což následně vede k všelijakým prasárnám (dámy prominou). Bohužel na teorii moc knížek neseženeš, a když seženeš tak jsou to vesměs über-teoretické bichle. Výborná jsou skripta od Halašky z FELu - má to cca 100 stránek, pěkně to shrnuje teorii i nějaké praktické základy. Stávalo to pár korun, k dostání to bylo ve skriptárně v Dejvicích.

Co se týká praxe, pro úplné začátky použij to co je nejjednodušeji dostupné. Není tvým cílem tři hodiny instalovat DB, cílem je učit se SQL. Ale počítej s tím že každá databáze má svoje "specifika" - pověstná tím bývala MySQL ale v ANSI režimu to údajně není tak hrozné. Osobně mám k MySQL spoustu výhrad, ale pro účely učení to asi není až tak špatná volba.