C# - Databáze úvod, ADO.NET

Slides:



Advertisements
Podobné prezentace
SoftPC SQL Prezentace nového SQL modulu Mzdy a personalistika
Advertisements

Martin Šimeček.  seznámit s APEXem – poskytnout základní manuál  vytvořit webovou aplikaci pro sběr informací o databázových systémech  naplnit databázi.
Podpůrná prezentace k semestrálnímu projektu:
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Typy programů operační systémy programy pro práci se soubory
Přednáška č. 5 Proces návrhu databáze
Operační systémy a aplikační servery Tomáš ZACHAT SPŠ Praha 10, STIC.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Úvod do databází Databáze.
C# - struktury, výčtové typy, pole
Databáze Jiří Kalousek.
C# - datové typy Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Hana Kotinová Struktura a cíl práce Metody předzpracování dat Systémy předzpracování dat Historie vývoje DPT Jak program pracuje Budoucnost.
Adresářová služba Active directory
Microsoft Access Prezentace základních uživatelských nástrojů
C# - znakové typy a řetězce
Vývoj aplikací pro SharePoint
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
C# - Exceptions (výjimky)
C# - pointery Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
C# - funkce a procedury Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Relační databáze.
C# - Úvod Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Informatika pro ekonomy II přednáška 10
C# - I/O, streamy, práce se soubory
C# - Testování a ladění aplikací Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
C# - předávání parametrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databáze.
ADO.NET – Transakce Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
ADO.NET – Objekt Command (online scenář) Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
C# - Generic Collections Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
ADO – práce s databázemi
DATABÁZOVÉ SYSTÉMY. 2 DATABÁZOVÝ SYSTÉM SYSTÉM ŘÍZENÍ BÁZE DAT (SŘBD) PROGRAM KTERÝ ORGANIZUJE A UDRŽUJE NASHROMÁŽDĚNÉ INFORMACE DATABÁZOVÁ APLIKACE PROGRAM.
Databázové modelování
Access Vysvětlení pojmu databáze - 01
ADO.NET – Objekt DataSet (offline scenář) Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Databáze Lokální systémy a SQL servery VY_32_INOVACE_7B10.
Databázové systémy Informatika pro ekonomy, př. 18.
C# - konverze datových typů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Firewall Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Autor:
ADO.NET – object Connection Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Webové služby pro komunikaci s informačním systémem eQuip Martin Širajch.
Microsoft SQL server Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Delphi a databáze MS SQL Server.
1 E - S V Ě T S E T O Č Í S T Á L E R Y C H L E J I. S T A Č Í T E M U ? Fenix II –IS na platformě.NET Michal Varga.
Databázové aplikace v Delphi
Doména Windows Serveru Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Autor:
1 E - S V Ě T S E T O Č Í S T Á L E R Y C H L E J I. S T A Č Í T E M U ? Fenix II - IS nové generace Michal Varga.
Klient pro správu databází MySQL 1 Klient pro správu databází MySQL Zbyněk Munzar České vysoké učení technické v Praze Fakulta elektrotechnická.
B2B Systémová integrace Jiří Macháček. Osnova ► Úvod ► Terminologie ► Parametry – požadavky ► Způsoby integrace ► Web-Services ► Příklady.
SOFTWAROVÁ PODPORA PRO VYTVÁŘENÍ FUZZY MODELŮ Knihovna fuzzy procedur Ing. Petr Želasko, VŠB-TU Ostrava.
Databázové systémy Roman Danel Institut ekonomiky a systémů řízení 2016.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Druhy aplikačních programů – rozdělení podle účelu 1
Software Počítače - rozdělení podle účelu
Unix a Internet 9. SQL server
COM – Práce s objektovým modelem jiné aplikace
Vlastnosti souborů Jaroslava Černá.
Budování Integrovaného informačního systému Národního památkového ústavu Petr Volfík, NPÚ ÚP
Informatika pro ekonomy přednáška 8
Vytvoření formuláře Access (11).
Název školy: Střední odborná škola stavební Karlovy Vary
Vytvořil: Robert Döring
Transkript prezentace:

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 Aplikace DAO Data access object Přístup přes ODBC driver Aplikace DAO ODBC driver pro MS Access DB Access ODBC driver pro SQL server SQL server DB ODBC driver pro Oracle DB Oracle

Trocha historie ADO Aplikace 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 DB Access OLEDB provider pro SQL server SQL server DB OLEDB provider pro Oracle DB Oracle

Aplikace 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 DB Access ADO .NET data provider pro SQL server SQL server DB ADO .NET data provider pro Oracle 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) Otevřu připojení – Open Connection Vykonám příkaz – Execute Command Zpracuji řádky v objektu DataReader Zavřu Reader – Close Reader Zavřu Spojení – Close Connection

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

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

Materiály ke kurzu MS – programujeme v ADO.NET Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Použité materiály: Kniha: Programujeme profesionálně, nakladatelství WROX, autor: Jay Glynn,… www.wikipedia.com Materiály ke kurzu MS – programujeme v ADO.NET Seriály o programování v jazyce C# : www.živě.cz www.java2s.com www.functionx.com www.csharp-station.com www.msdn.com www.bytes.com www.c-sharpcorner.com