C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí

Podobné dokumenty
TÉMATICKÝ OKRUH TZD, DIS a TIS

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Nové jazykové brány do Caché. Daniel Kutáč

Programování v jazyku C# II. 5.kapitola

Seznámení s knihovnou ADO.NET

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

Možnosti propojení Lotus Notes/Domino a jiných systémů. Ondřej Fuxa Your System spol. s r.o.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

8.2 Používání a tvorba databází

Databáze II. 1. přednáška. Helena Palovská

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

(Enterprise) JavaBeans. Lekce 7

Manuscriptorium jako základ pro virtuální badatelské prostředí

Stručný obsah. K2118.indd :15:27

PROGRAMÁTOR ANALYTIK. Náplň práce:

Compatibility List. GORDIC spol. s r. o. Verze

InTouch Příklady architektur

Obsah. Úvod 9. Úvod do Office Seznámení s Office Vylepšení programu Access XML 13 Inteligentní značky 14

INFORMAČNÍ TECHNOLOGIE PRO ZPRACOVÁNÍ EEG I

Použití databází na Webu

Business Intelligence

Stěhování aplikací. Michal Tomek, Sales Manager

Architektury informačních systémů

Wonderware Information Server 4.0 Co je nového

Jak efektivně ochránit Informix?

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Excel a externí data KAPITOLA 2

Tvorba informačních systémů

Zajištění komplexních sluţeb pro provoz systémové infrastruktury OSMS ZADÁVACÍ DOKUMENTACE

O Apache Derby detailněji. Hynek Mlnařík

Vladimír

Novell Identity Management. Jaromír Látal Datron, a.s.

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

BI & DWH & MIS nástroj 2. generace

PROGRAMOVÁNÍ PRO MS WINDOWS 2

EMBARCADERO DATASNAP. OBSAH Úvod... 2 DataSnap a DBExpress... 2 Serverová část... 2 VCL Klient... 6 Nasazení... 7

Statistica, kdo je kdo?

Architektury informačních systémů

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu:

<Insert Picture Here> Jak garantovat bezpečnost systémů ve státní správě

Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu:

Případová studie. O2 Slovakia: Aplikace O2 Univerzita. Aplikace O2 Univerzita. jako nástroj řízení vzdělávání zaměstnanců

Marketingová komunikace. 3. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3bph)

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Import a export dat EU peníze středním školám Didaktický učební materiál

Tvorba informačních systémů

ZÁLOHA A OBNOVA ABRA GEN

Vzdálený přístup k počítačům

Informační systém pro podporu řízení, správu a zjišťování aktuálního stavu rozvrhované výuky

Fyzické uložení dat a indexy

Michal Krátký, Miroslav Beneš

Michal Verner, DAQUAS

Tabulka základních vlastností nástroje C++Builder dle edice

Integrace prostředí pomocí TDI v praxi

Obsah OLAP A ESO9... 3

Databázové systémy BIK-DBS

Ing. Jaroslav Kačmařík, Ing. Břetislav Nesvadba Využití GIS v oblasti železniční infrastruktury

Korporátní identita - nejcennější aktivum

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

BIG DATA je oveľa viac ako Hadoop. Martin Pavlík

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Architektura GIS KMA/AGI. Karel Jedlička

Modul. Univerzální tabulkový export

Analýza staročeské morfologie v Excelu

Hospodářská informatika

HELIOS - Zálohování BüroKomplet, s.r.o.

Infor Performance management. Jakub Urbášek

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access složitější konverze dat Ing. Kotásek Jaroslav

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Databáze pro evidenci výrobků

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM Č. 4

Demoprojekt Damocles 2404

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Odpov di na dotazy k ve ejné zakázce. 30/ SSZ Registr IKP

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Okruhy z odborných předmětů

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

POKROČILÉ POUŽITÍ DATABÁZÍ

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen

PŘÍLOHA C Požadavky na Dokumentaci

Formáty WWW zdrojů. Mgr. Filip Vojtášek.

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Archivace relačních databází

MĚSTSKÝ ROK INFORMATIKY - ZKUŠENOSTI S NASAZENÍM STANDARDNÍCH APLIKAČNÍCH ŘEŠENÍ V PROSTŘEDÍ STATUTÁRNÍHO MĚSTA LIBEREC

UDS for ELO. Univerzální datové rozhraní. >> UDS - Universal Data Source

ATS Global B.V. ATS Bus.

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

Formy komunikace s knihovnami

Datová věda (Data Science) akademický navazující magisterský program

MS ACCESS A MS WORD V KAŽDODENNÍ PRAXI

Tabulka Nabídková cena za předmět plnění *uchazeč vyplní cenu za celý kurz nebo cenu za 1 účastníka dle zadávací dokumentace a nabídky uchazeče

Microsoft Access tvorba databáze jednoduše

ProjectWise V8 XM Edition

Transkript:

C# - Databáze úvod, ADO.NET Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí

Co je to databáze? Databáze je určitá uspořádaná množina informací uložená na datovém médiu Data jsou v databázi uložena v tabulkách, uložená data mají většinou pevně stanovena kritéria, kterým musí vyhovovat (např. Jméno osoby je typu text o maximální délce...) Jednotlivé tabulky jsou propojeny do logické struktury a návrh databáze je klíčovou součástí korektně vytvořené aplikace a musí splňovat přísná kritéria Součástí databáze nemusí být jen konkrétní data uložena v tabulkách ale i množina funcí a procedur, které je možné nad těmito daty definovat. K manipulaci s jednotlivými databázemi existují buď SW nástroje (Access) nebo v případě větších databází DB servery, které umožňují pokročilou správu spojenou s provozem DB K získávání výsledků dotazů na DB slouží univerzální jazyk SQL

Příklad návrhu databáze

K zamyšlení Zamyslete se například nad tím jak by mělo být v DB reprezentováno PSČ (jaký datový typ a délku by jste zvolili) Zamyslete se nad tím co může provádět procedura na DB serveru a jestli je výhodnější použít pro manipulaci s daty proceduru, která je vykonávána na DB serveru, nebo proceduru, která je na úrovni psané aplikace (např. V C#) srovnejte obě možnosti

Řešení Uvědomte si, že ne všude je PSČ reprezentováno číslem, je běžné v jiných státech, že PSČ může být např. BR58SE pokud by jste reprezentovali a napsali aplikaci s DB, která bere pouze čísla, byla by při rozšíření na zahraniční adresy nepoužitelná a nutná přeprogramovat, s čímž souvisí nejen přepracování DB (záloha dat,...), ale i přepracování aplikační vrstvy Vezměte si například že na základě nějakých kritérií potřebujete zjistit kdo z DB 1000000 lidí daným kritériím vyhovuje a tyto lidi vypsat pokud daný výběr provedete na DB serveru může po síti běžet pouze výsledek, narozdíl od tisíce záznamů, které jsou následně zpracovávány na klientu.

Trocha historie DAO Data access object Přístup přes ODBC driver Aplikace DAO ODBC driver pro MS Access ODBC driver pro SQL server ODBC driver pro Oracle DB Access SQL server DB DB Oracle

Trocha historie ADO Access data object Přístup přes OLE DB providery Využívá technologii ActiveX a COM (možnost linkování různých knihoven napsaných v různých programovacích nástrojích Aplikace ADO OLEDB provider pro MS Access OLEDB provider pro SQL server OLEDB provider pro Oracle DB Access SQL server DB DB Oracle

ADO.NET Úplně přepracované Rychlejší než předchozí Efektivnější objekty (konec nabubřelého Recordsetu) Aplikace ADO.NET data provider pro MS Access ADO.NET data provider pro SQL server ADO.NET data provider pro Oracle DB Access SQL server DB DB Oracle

Co je to ADO.NET? Existuje mnoho aplikací, které ke své činnosti potřebují data z různých datových zdrojů (databází) K přístupu k těmto datům z aplikací tvořených na platformě Windows slouží komponenta ADO.NET Komponenta ADO existuje už několik let ale její kompletní předělání na platformu.net přineslo několik výhod a rozšíření ve způsobu jejího použití pro přístup k datům ADO je souborem tříd, rozhraní, struktur a enumerátorů, které umožňují přístup a práci s daty z prostředí.net

Podporované datové zdroje Relační DB Oracle, MS Access, SQL Server a další Hierarchické XML Strukturovaná nehierarchická data CSV, soubory MS Excel, soubory Active directory

ADO.NET knihovna ADO.Net knihovna je umístěna v System.Data.dll Poznámka: Všimněte si, že tato knihovna integrována s knihovnou System.Xml.dll

Poskytovatelé dat (data providers) Jak již bylo zmíněno pro uložení DB a jejich manipulaci existuje mnoho různých aplikací a technologií Tyto různé zdroje mají svá určitá rozhraní a s tímto rozhraním je schopný ADO.NET komunikovat Jednotlivý zprostředkovatelé přístupu k datovým zdrojům se nazývají ADO.NET data providers Obrovskou výhodou při psaní aplikací je pak to, že jeli naše aplikace napsána v ADO.NET je při přechodu na jiný datový zdroj (SQL server - > Oracle) je nutné změnit providera připojení ale chod aplikace zůstane neměnný Několik nejpoužívanějších providerů : Databáze Microsoft SQL Server (7.0 nebo vyšší) jmenný prostor System.Data.SqlClient ODBC datové zdroje jmenný prostor System.Data.Odbc OLE DB datové zdroje jmenný prostor System.Data.OleDb Databáze Oracle jmenný prostor System.Data.Oracle Existují i nezabudované providery třetích výrobců

Custom provider Každý z providerů poskytuje programátorovi stejné třídy se stejným rozhraním Connection ConnectionStringBuilder Command DataReader Parametr Transaction Každý z providerů má svůj vlastní namespace nutné ho použít v sekci using: System.Data.SqlClient System.Data.OracleClient System.Data.Odbc System.Data.OleDb

Objektový model ADO.NET

Připojené vs. odpojené aplikace Základní otázkou při vytváření DB aplikace je zdali půjde o aplikaci ONLINE tzn. Permanentně připojenou k DB, nebo OFFLINE aplikace bude komunikovat s DB pouze někdy a většinu času pracuje s offline obrazem dat Zamyslete se nad výhodami a nevýhodami obou řešení a uvěďte příklady obou typů aplikací z reálného světa

Odpojené aplikace + - Část dat z centrální DB je nakopírována z centrálního úložiště a zpracovávána nezávisle na spojení s DB. Změny jsou pak provedeny po znovupřipojení Můžete pracovat nezávisle na stálém datovém spojení Nezatěžujete trvalým připojením výkon datového zdroje ani připojení Zvyšuje se výkon lokální aplikace Data nejsou vždy aktuální Musíte řešit konfliktní situace Nehodí se pro velký objem dat

Připojené aplikace Stále udržují spojení s datovým úložištěm + - Stále aktuální data Mnoho připojení na jedno datové úložiště Zpomalení celého systému Výpadek spojení = konec aplikace

Vrstvy databázových aplikací Při vývoji DB aplikací je vhodné dodržet oddělení databázové, aplikační a prezentační logiky.

Modely DB aplikací

Scénář připojené aplikace A použité objekty V připojeném scénáři jsou zdroje dat až do uzavření spojení na DB úložišti (SQL serveru) 1. Otevřu připojení Open Connection 2. Vykonám příkaz Execute Command 3. Zpracuji řádky v objektu DataReader 4. Zavřu Reader Close Reader 5. Zavřu Spojení Close Connection

A použité objekty Scénář odpojené aplikace V odpojeném scénáři nejsou zdroje dat na DB úložišti (SQL serveru) v momentě jejich zpracovávání 1. Otevřu připojení Open Connection 2. Naplním Dataset Fill Dataset 3. Zavřu Spojení Close Connection 4. Otevřu připojení Open Connection 5. Updatuji datový zdroj (DB) 6. Zavřu Spojení Close Connection

Další možnosti a objekty ADO.NET ADO.NET nabízí k využití velké množství objektů a jejich metod např. pro práci s XML dokumenty objekt typu DataSet umožňující tvorbu obrazu dat v naší aplikaci zejména u aplikací typu offline atd.

Následovat budou prezentace věnované připojení k DB, Online aplikacím a offline aplikacím