6. přednáška z předmětu Datové struktury a databáze (DSD) Ústav nových technologií a aplikované informatiky Fakulta mechatroniky, informatiky a mezioborových studií Technická univerzita v Liberci jan.lisal@tul.cz 27. října 2010
Osnova 1 Opakování z minula 2 SQL Trigger 3 Konceptuální modelování Kroky modelování Plánování databáze, Definice systému Sběr a analýza požadavků, Návrh databáze Vytvoření prototypu, Implementace, Konverze a načtení dat Testování, Provozní údržba Analýza Funkční analýza 4 Shrnutí
Přehled základních teoretických pojmů ˆ literál, SELECT, INSERT, UPDATE, DELETE Synatxe jednotlivých příkazů s příkaldy ˆ INSERT, UPDATE, DELETE Hlubší pohled na příkaz SELECT ˆ sémantika příkazu ˆ značení základních typů výběru dat ˆ způsoby omezování v konstrukci WHERE dle typů atributů ˆ aritmetické a agregační fce
Trigger Teorie TRIGGERů Trigger (spoušť) je procedura která je automaticky spuštěna SŘBD jako reakce na specifikovanou akci v databázi Aktivní databáze ˆ databáze, která obsahuje definici spouští Nezáleží na to kdo (který uživatel) provede akci Uživatel si není vědom aktivity spouští v DB
Trigger Akce spojená s n-ticí V případě spuštění triggeru se dostávám i k dotčeným datům (tečková notace) ˆ NEW ˆ Označuje nově vkládanou/upravovanou n-tici (řádek) do relace (tabulky) v DB ˆ OLD ˆ Označuje data před změnou v DB (smazaná data nebo data před změnou)
Trigger Syntaxe příkazu TRIGGER 1 CREATE TRIGGER triggername 2 { BEFORE AFTER } t r i g g e r E v e n t 3 ON tab name FOR EACH ROW t r i g g e r S t m t ; triggerevent - jedna z možností aktivace ˆ INSERT - při jakémkoli vkládání dat do tabulky (INSERT, LOAD DATA a REPLACE) ˆ UPDATE - při změně dat v tabulce ˆ DELETE - při mazání dat z tabulky (DELETE a REPLACE, není aktivován při DROP TABLE a TRUNCATE TABLE)
Trigger Syntaxe příkazu TRIGGER - příklad 1 DELIMITER // 2 CREATE TRIGGER e l e m e n t I n s e r t 3 BEFORE INSERT ON element 4 FOR EACH ROW 5 BEGIN 6 DECLARE x INT ; 7 DECLARE y INT ; 8 SELECT u2. s o u r a d n i c e X u1. s o u r a d n i c e X INTO x 9 FROM u z e l AS u1, u z e l as u2 10 WHERE u1. i d = NEW. i d u 1 AND u2. i d = NEW. i d u 2 ; 11 SELECT u3. s o u r a d n i c e Y u1. s o u r a d n i c e Y INTO y 12 FROM u z e l AS u1, u z e l as u3 13 WHERE u1. i d = NEW. i d u 1 AND u3. i d = NEW. i d u 3 ; 14 SET NEW. r e f e r e n c n i V e l i k o s t = x * y ; 15 END; 16 // 17 DELIMITER ;
Trigger Další příkazy v kontextu práce s TRIGGERy Zobrazení všech triggerů v databázi 1 SHOW TRIGGERS ; Smazání triggeru 1 DROP TRIGGER [ IF EXISTS ] triggername ;
Kroky modelování Životní cyklus vývoje DB systému ˆ Plánování databáze
Kroky modelování Životní cyklus vývoje DB systému ˆ Plánování databáze ˆ Definice systému
Kroky modelování Životní cyklus vývoje DB systému ˆ Plánování databáze ˆ Definice systému ˆ Sběr a analýza požadavků
Kroky modelování Životní cyklus vývoje DB systému ˆ Plánování databáze ˆ Definice systému ˆ Sběr a analýza požadavků ˆ Návrh databáze
Kroky modelování Životní cyklus vývoje DB systému ˆ Plánování databáze ˆ Definice systému ˆ Sběr a analýza požadavků ˆ Návrh databáze ˆ Vytvoření prototypu a implementace
Kroky modelování Životní cyklus vývoje DB systému ˆ Plánování databáze ˆ Definice systému ˆ Sběr a analýza požadavků ˆ Návrh databáze ˆ Vytvoření prototypu a implementace ˆ Konverze a načtení dat
Kroky modelování Životní cyklus vývoje DB systému ˆ Plánování databáze ˆ Definice systému ˆ Sběr a analýza požadavků ˆ Návrh databáze ˆ Vytvoření prototypu a implementace ˆ Konverze a načtení dat ˆ Testování
Kroky modelování Životní cyklus vývoje DB systému ˆ Plánování databáze ˆ Definice systému ˆ Sběr a analýza požadavků ˆ Návrh databáze ˆ Vytvoření prototypu a implementace ˆ Konverze a načtení dat ˆ Testování ˆ Provozní údržba
Kroky modelování Fáze životního cyklu vývoje DB systémů Plánování databáze Definice systému Sběr a analýza požadavků Návrh databáze Vytvoření prototypu Implementace Konverze a načtení dat Testování Provozní údržba
Kroky modelování Proč modelovat/analyzovat? ˆ Standardizované pracovní postupy ˆ Snadnější komunikace v týmu ˆ Aktuální a kompletní dokumentace
Kroky modelování Plánování databáze Činnost managementu, které umožní v mezích možností hladký a efektivní průběh jednotlivých fází životního cyklu vývoje databázového systému. Definice systému Definice rozsahu a hranic databázového systému včetně jeho hlavních uživatelských pohledů.
Kroky modelování Sběr a analýza požadavků Proces sbírání a analýzy informací o systému či organizaci, který má DB systém popisovat, a použití těchto informací k určení požadavků na nový DB systém. Návrh databáze Proces vytváření návrhu, který bude podporovat celkové poslání a dílčí cíle pro požadovaný DB systém. ˆ Výběr SŘBD
Kroky modelování Vytvoření prototypu Vytvoření fungujícího modelu databázového systému. Implementace Fyzická realizace návrhu databáze a aplikací. Konverze a načtení dat Příprava všech dat do podoby, kterou bude možno vložit do připravené databáze (v případě nutnosti konverze dat snaha o programové postihnutí).
Kroky modelování Testování Proces hledání chyb v průběhu zkušebnho provozu databáze. Provozní údržba Proces monitorování a údržby DB systému po nasazení.
Analýza Funkční analýza ˆ DFD Data Flow Diagram Datová analýza ˆ ER Model Entity Relationship Model ˆ ERD (Entity-Relationship Diagram)
Analýza Funkční analýza ˆ Identifikace systémových funkcí ˆ Identifikace událostí ˆ Definice transakcí ˆ Popis transakcí
Analýza DFD Data Flow Diagram Proces 1.1 Název Název Terminátor Datový tok Název Název Úložiště dat
Analýza DFD Top-Down Postup Úrovně: ˆ 1. Kontextový diagram inf. o tom jak bude IS komunikovat se zbytkem světa ˆ 2. n-tá další postupné rozklady (max. doporučená hodnota n je 3, pozn. jedná se o hodnotu doporučenou) Vhodná jmenná konvence
Analýza Chyby DFD ˆ datastory, z nichž se jenom čte nebo se do nich jenom zapisuje ˆ samogenerující funkce, tj. funkce které mají jenom výstupy ˆ černé díry, tj. funkce do nichž data pouze vstupují
Analýza Příklad kontextového diagramu Dílna Dodavatel Sklad Management
Analýza Seznam událostí p.č. Název události Typ Reakce systému 1. Dílna žádá materiál Data Vyhledá mat., vystaví výdejku 2. Sklad nemá dostatek Řídící Vystaví objednávku materiálu 3. Dodavatel dodá Data Přijme mat., potvrdí dodací materiál list 4. Je první den v měsíci Řídící datum Vytvoří přehled o spotřebě
Analýza Upřesněný kontextový diagram Dodavatel Objednávka Žádanka Dílna Dodací list Sklad Výdejka Přehled spotřeby Management
Analýza Další úrovně diagramu - sklad Objednávka Výdejka Žádanka Výdej mater. Objednávání Mat. dodavatel Materiál Zásoba materiálu Databáze Skladové zásoby Materiál Tvorba pohledů Příjem mater. Přehled spotřeby
Práce s TRIGGERy ˆ teorie kol TRIGGERů ˆ syntaxe vytvoření, smazání a dotaz na existující triggery Konceptuální modelování ˆ Životní cyklus vývoje DB systému ˆ Analýza systému ˆ DFD - Data Flow Diagram
Děkuji Vám za pozornost.