10. Architektura klient/server a třívrstvá architektura

Podobné dokumenty
10. Architektura klient/server a třívrstvá architektura

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

12. Postrelační databázové systémy

12. Postrelační databázové systémy

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

1 Úvod. J. Zendulka: Databázové systémy - 1 Úvod 1

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června krovacek@students.zcu.cz

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

J. Zendulka: Databázové systémy - 1 Úvod Intuitivní vymezení pojmu databáze

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

J. Zendulka: Databázové systémy 4 Relační model dat 1

9. Transakční zpracování

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

3. Jazyky relačních databázových systémů

Databáze I. Přednáška 7

4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

5. Formalizace návrhu databáze

3. Jazyky relačních databázových systémů

Použití databází na Webu

Embedded SQL v C/C++ úvod. Administrace Oracle Kateřina Opočenská

Databázové systémy, MS Access. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1130_Databázové systémy, MS Access_PWP

Embedded SQL v C/C++ III - pole, struktury. Jindřich Vodrážka

Databáze I. Přednáška 9

6. SQL složitější dotazy, QBE

5. Formalizace návrhu databáze

Databázové systémy. Dotazovací jazyk SQL - III

Informační systémy 2008/2009. Radim Farana. Obsah. Skripty a dávky. Nastavení aktuální databáze. USE DatabaseName

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

6. Fyzická (interní) úroveň databázového systému

Jazyk PL/SQL Úvod, blok

Zápisování dat do databáze

6. Fyzická (interní) úroveň databázového systému

Embedded C výjimky, kurzory. Šárka Hlušičková

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

Stručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307

4. lekce Přístup k databázi z vyššího programovacího jazyka

Databázové systémy úvod

Dotazovací jazyk SQL a PL/SQL. 8. Přednáška

Distanční opora předmětu: Databázové systémy Tématický blok č. 8: Transact SQL Autor: RNDr. Jan Lánský, Ph.D.

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

Embedded SQL. Tomáš Skalický. Říjen 2010

FIREBIRD relační databázový systém. Tomáš Svoboda

SQL - trigger, Databázové modelování

Text úlohy. Systémový katalog (DICTIONARY):

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

řízení transakcí 2-3 hodiny

2 Konceptuální modelování a návrh databáze

2 Konceptuální modelování a návrh databáze

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

Databázové systémy I

Embedded SQL Dotazovací Jazyky I. Bc. CHOMUT Miroslav Bc. VODOLÁN Miroslav

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)

Kapitola 6: Omezení integrity. Omezení domény

Popis souboru pro generování reportů *.report

Návrh a tvorba WWW stránek 1/14. PHP a databáze

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

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

Jazyk SQL databáze SQLite. připravil ing. petr polách

Lekce 6 - Správa prostorových dat

Databázové systémy Cvičení 5.2

KIV/ZIS cvičení 6. Tomáš Potužák

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

PL/pgSQL. Pavel

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

RELAČNÍ DATABÁZE. Cíl:

Přehled systému Microsoft SQL Server. Komu je kniha určena Struktura knihy Nejvhodnější výchozí bod pro čtení knihy Konvence a struktura knihy

Databázové a informační systémy Jana Šarmanová

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

ÚVOD DO DATABÁZÍ II (DISTANČNÍ VÝUKOVÁ OPORA)

Univerzita Pardubice. Fakulta elektrotechniky a informatiky SEMESTRÁLNÍ PRÁCE PRO PŘEDMĚT IDAS2

Kapitola 4: SQL. Základní struktura

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Databázové a informační systémy

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Cvičení 9 - Monitory. monitor m; var proměnné... procedure p; begin... end; begin inicializace; end;

Databázové systémy a SQL

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK

Kód v databázi. RNDr. Ondřej Zýka

Databáze I. Přednáška 4

Semestrální práce z DAS2 a WWW

Paralelní přístup k databázi

Softwarové komponenty a Internet

Sada 1 - PHP. 14. Úvod do jazyka SQL

Oracle XML DB. Tomáš Nykodým

NÁVRH A TVORBA HUDEBNÍ DATABÁZE

Transkript:

10. Architektura klient/server a třívrstvá architektura 10.1. Varianty architektury... 3 10.2. Přínos architektury klient/server a třívrstvé architektury... 5 10.3. Podpora pro rozdělení zátěže v architektuře klient/server... 6 10.3.1. Podpora uložených podprogramů v SQL... 6 10.4. Uložené podprogramy v prostředí Oracle... 12 Literatura... 13 J. Zendulka: Databázové systémy 10 Architektura klient/server a třívrstvá architektura 1

- základ kooperativního zpracování Faktory ovlivňující architekturu - požadavky na interoperabilitu zdrojů - růst velikosti zdrojů - růst počtu klientů Typy služeb v databázové technologii prezentační služby - příjem vstupu, zobrazování výsledků prezentační logika - řízení interakce (hierarchie menu, obrazovek) logika aplikace - operace realizující algoritmus aplikace logika dat - podpora operací s daty (integritní omezení,...) datové služby - akce s databází (definice a manipulace, transakční zpracování,...) služby ovládání souborů - vlastní V/V operace J. Zendulka: Databázové systémy 10 Architektura klient/server a třívrstvá architektura 2

10.1. Varianty architektury Klient/server se vzdálenými daty Klient/server se vzdálenou prezentací prezentační služby prezentační logika logika aplikace logika dat datové služby ovládání souborů komunikační zátěž, zatížení stanice prezentační služby prezentační logika zatížení serveru logika aplikace logika dat datové služby ovládání souborů J. Zendulka: Databázové systémy 10 Architektura klient/server a třívrstvá architektura 3

Klient/server s rozdělenou logikou Třívrstvá architektura aplikační databázový prezentační služby prezentační logika logika aplikace logika dat vyvážená zátěž horší rozšířitelnost logika aplikace logika dat datové služby ovládání souborů prezentační služby prezentační logika logika aplikace logika dat server datové služby ovládání souborů správa aplikace, sdílené objekty aplikací, tenký klient, rozšířitelnost J. Zendulka: Databázové systémy 10 Architektura klient/server a třívrstvá architektura 4

10.2. Přínos architektury klient/server a třívrstvé architektury - pružnější rozdělení práce - lze použít horizontální(více serverů) i vertikální(výkonnější server) škálování - aplikace mohou běžet na levnějších zařízeních - na klientských stanicích lze používat oblíbený prezentační software - standardizovaný přístup umožňuje zpřístupnit další zdroje - centralizace dat podporuje účinnější ochranu - u třívrstvé architektury centralizace údržby aplikace, možnost využití sdílených objektů (business objects) několika aplikacemi J. Zendulka: Databázové systémy 10 Architektura klient/server a třívrstvá architektura 5

10.3. Podpora pro rozdělení zátěže v architektuře klient/server - deklarativní integritní omezení - databázové triggery - uložené podprogramy 10.3.1. Podpora uložených podprogramů v SQL - dodatek SQL-92/PSM(Persistent Stored Modules): Procedury a funkce s několika příkazy: Př) /* varianta pro SQL/92 */ void main { /* vložení informace o studentovi a zápisu do předmětu */ EXEC SQL INSERT INTO Studenti VALUES (100, Jan, Novák,...); /* teď by následoval test SQLSTATE na bezchybné provedení */ EXEC SQL INSERT INTO Zapis VALUES (100, INS,...); /* teď by následoval test SQLSTATE na bezchybné provedení */ } J. Zendulka: Databázové systémy 10 Architektura klient/server a třívrstvá architektura 6

složený příkaz Př) /* varianta pro SQL-92/PSM */ void main { EXEC SQL BEGIN // pro atomický ještě ATOMIC INSERT INTO Studenti VALUES (100, Jan, Novák,...); INSERT INTO Zapis VALUES (100, INS,...); END; /* teď by následoval test SQLSTATE */ } J. Zendulka: Databázové systémy 10 Architektura klient/server a třívrstvá architektura 7

lokální proměnné bloku, včetně kurzorů Př) BEGIN DECLARE os_cislo_studenta DECIMAL(5); DECLARE jmeno_studenta CHAR VARYING(15); DECLARE prijmeni_studenta CHAR VARYING(20); DECLARE cstudenti CURSOR FOR SELECT os_cislo, jmeno, prijmeni FROM Studenti; OPEN cstudenti; FETCH cstudenti INTO os_cislo_studenta, jmeno_studenta, prijmeni_studenta;... CLOSE cstudenti; END; J. Zendulka: Databázové systémy 10 Architektura klient/server a třívrstvá architektura 8

zpracování výjimečných situací (podmínky, handlery, akce) Př) BEGIN DECLARE i INTEGER DEFAULT 1; DECLARE ok INTEGER DEFAULT 0; WHILE ok = 0 DO BEGIN ATOMIC DECLARE chyba_uspořádatelnosti CONDITION FOR SQLSTATE VALUE 40001 ; DECLARE UNDO HANDLER FOR chyba_uspořádatelnosti BEGIN IF i>3 THEN RESIGNAL; /* výjimka je poslána dál*/ SET i = i + 1; END INSERT INTO Studenti... ; INSERT INTO Zapis...; SET ok = 1; END; END WHILE END; J. Zendulka: Databázové systémy 10 Architektura klient/server a třívrstvá architektura 9

řídicí struktury - přiřazení - IF, CASE - LOOP, WHILE, REPEAT, FOR Př) FOR z AS SELECT * FROM Zapis WHERE os_cislo=:student_id DO... END FOR; Uložené podprogramy - procedury a funkce Př) Podle SQL/92 (hostitelská verze) - provádění na straně klienta: EXEC SQL SELECT alias INTO :alias INDICATOR :alias_ind FROM Studenti WHERE os_cislo = :student_id; J. Zendulka: Databázové systémy 10 Architektura klient/server a třívrstvá architektura 10

Podle SQL/92 (jazyk modulů) - provádění na straně klienta: {/* volání v programu v C */ } alias_studenta(&sqldate, student_id, &alias, &alias_ind); MODULE /* Modul SQL klienta*/ PROCEDURE alias_studenta(sqlstate, kdo, alias, alias_ind); SELECT alias...; Uložená procedura prováděná na straně serveru (SQL-92/PSM): EXEC SQL CREATE PROCEDURE alias_studenta (IN kdo, OUT alias, OUT alias_ind); BEGIN... END; EXEC SQL CALL alias_studenta(...) Uložené moduly EXEC SQL CREATE MODULE... END MODULE; J. Zendulka: Databázové systémy 10 Architektura klient/server a třívrstvá architektura 11

10.4. Uložené podprogramy v prostředí Oracle - volání v PL/SQL jako jakékoliv jiné procedury - uložené funkce, moduly (PACKAGE) J. Zendulka: Databázové systémy 10 Architektura klient/server a třívrstvá architektura 12

Literatura 1. Silberschatz, A., Korth H.F, Sudarshan, S.:Database System Concepts. Fourth Edition. McGRAW-HILL. 2001, str. 565 680. 2. Pokorný, J.: Databazová abeceda. Science, Veletiny, 1998, str. 57 60, 69 72, 187 190, 217 220. J. Zendulka: Databázové systémy 10 Architektura klient/server a třívrstvá architektura 13