Databázové systémy.

Podobné dokumenty
Analýza a modelování dat 2. přednáška. Helena Palovská

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

Analýza a modelování dat. Helena Palovská

Nerelační databázové modely. Helena Palovská

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

MBI - technologická realizace modelu

Analýza a modelování dat 6. přednáška. Helena Palovská

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

DBS Konceptuální modelování

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

Geografické informační systémy p. 1

4IT218 Databáze. 4IT218 Databáze

Ukládání a vyhledávání XML dat

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

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

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

Archivace relačních databází

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

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

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Databázové systémy úvod

Použití databází na Webu

Ontologie. Otakar Trunda

Programování a implementace Microsoft SQL Server 2014 databází

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

Maturitní témata Školní rok: 2015/2016

Databázové systémy úvod

Modelování procesů s využitím MS Visio.

Databáze v MS ACCESS

Úvod do databázových systémů

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

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Databáze Bc. Veronika Tomsová

Analýza a modelování dat 3. přednáška. Helena Palovská

PŘÍLOHA C Požadavky na Dokumentaci

Architektura softwarových systémů

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

6 Objektově-orientovaný vývoj programového vybavení

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Základní informace o co se jedná a k čemu to slouží

Objektově orientované databáze. Miroslav Beneš

Michal Krátký, Miroslav Beneš

04 - Databázové systémy

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

Databázové systémy BIK-DBS

Nastavení provozního prostředí webového prohlížeče pro aplikaci

Hierarchický databázový model

Dolování v objektových datech. Ivana Rudolfová

Úvod do databázových systémů. Ing. Jan Šudřich

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Technické informace. PA152,Implementace databázových systémů 4 / 25. Projekty. pary/pa152/ Pavel Rychlý

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan

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

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

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

Využití XML v DB aplikacích

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

Moderní systémy pro získávání znalostí z informací a dat

Databázové patterny. RNDr. Ondřej Zýka

Databáze I. 4. přednáška. Helena Palovská

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

Lekce 9 - Migrace dat

Specializace Návrhář software na základě analýzy vytváří návrh softwarových aplikací ve formě schémat a diagramů.

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

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

Informační systémy 2006/2007

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

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Databáze. Logický model DB. David Hoksza

Databázové systémy. Ing. Radek Holý

Architektury Informačních systémů. Jaroslav Žáček

RELAČNÍ DATABÁZOVÉ SYSTÉMY

1. Integrační koncept

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

Úvod do databázových systémů

Operátory ROLLUP a CUBE

Unifikovaný modelovací jazyk UML

xrays optimalizační nástroj

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

10 Metody a metodologie strukturované analýzy

Databáze I. 5. přednáška. Helena Palovská

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Analýza dat a modelování. Přednáška 2

Tvorba informačních systémů

Architektury Informačních systémů. Jaroslav Žáček

Ukázka testu Informatiky pro přijímací zkoušky do navazujícího magisterského studia

Tvorba informačních systémů

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

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS

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

Okruhy z odborných předmětů

MODELOVÁNÍ DAT V INFORMAČNÍCH SYSTÉMECH. Jindřich Kaluža Ludmila Kalužová

Datové modelování II

Business Intelligence

Základy business intelligence. Jaroslav Šmarda

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

Transkript:

Databázové systémy palovska@vse.cz

Další zdroje k předmětu http://nb.vse.cz/~palovska/uds http://nb.vse.cz/~palovska/uds/uds.ppt http://nb.vse.cz/~palovska/uds/tskripta.zip spíše k bakalářskému základu o DB

Co je databáze? Mnoho dat Organizovaných jak? Ochrana a správa přístupu Kdo co = role Aplikace, jejich typy Jak se to dělá (od začátku)

Jak jsou data organizovaná? Co je relační model... Co bylo předtím? (A je to pořád.) Co následovalo po relačním Objektové db Objektově relační Jiný směr Multidimenzionální (OLAP kostky) XML Proudy dat

Relační model Relace = tabulky Pole = sloupce Datové typy Sémantika: název, popis Doména? Řádky = záznamy Identita Vztahy mezi řádky... Cizí klíče = základ relačního modelu

Co znamená relační model Mnohost, vícenásobnost vlastní entitám je začarována do obtížných sestav tabulek Hierarchické složení je buď rozloženo a zanedbáno nebo je začarováno do mnoha cizích klíčů Identita závisí na sémantickém primárním klíči Realizace relačního modelu (implementace v DBMS) způsobila chudost výběru efektivních datových typů

Objektové principy v DB Objektová identita Vztahy ID záznamu objektu, jedinečný a nevýznamový pomocí REF jakožto atributu vícenásobný vztah jako SET(REF...) (nejsou potřeba cizí klíče?) Komplexní objekt zaznamenán jako celek, rozklad je sice možný, ale ne nutný V principu otevřená množina typů

Objektová identita Primární klíče jen pro vyhledávání, není třeba primární, stačí klíče Vztahy pomocí OID a REF Důsledky: snazší formulace požadavku na související data kolize z nepořádku v aplikační oblasti není v db fatální za klíče zodpovídají lidé

Mnohost, vícenásobnost Konstrukce SET, MULTISET, LIST, ARRAY Jazyk pro náležení do množiny IN U vztahů reverzní vztah, konzistenci má (?) hlídat DBS může být též SET... (n:m)

Celek a složky Konstrukce STRUCT každá složka má jméno ve všech úrovních Možno rozložit a složit něco jiného v dotazech

Manipulace s objekty Objektově orientovaným jazykem uložit změnit hodnotu zavolat metodu třídy DSMS mu rozumí netřeba middelware, frameworky...

Zapouzdření Vlastník objektu mění hodnotu Ostatní volají metody, pokud k nim mají oprávnění Dotazy: možno porušovat zapouzdření! informace o datové struktuře je veřejná čtení je řízeno a využívá systému práv

Dědičnost Úložiště pro nadtřídy i podtřídy dotazy pro celou hierarchii Systém tříd persistentních i transientních stejný jazyk manipulace, dotazů

Datové typy Základní i další nabízené DBMS UDT jejich efektivita je závislá na kvalitě developera a možnostech DBMS

Čisté OODBMS standard ODMG 3.0 nikde zcela nerealizován pouze ideový rámec, nikoli syntaxe objektový model OMG třídy, stavy, metody vztahy bindingy k OO jazykům OO programování perzistence je OO nativní

OODBMS specifické aplikační oblasti

2. soustředění

Datamining

Podmínky nasazení Efektivně uspořádaná konzistentní data odstraněné nedostatky, konsolidované Znalost problematiky Představa o tom, co se chce zjistit, najít Kvalifikace v dataminingu Dataminingové nástroje

Proces dataminngu Trénovací data Ověřovací data

Metody Rozhodovací stromy Asociační pravidla Neuronové sítě Regresní analýza Shluková analýza

Ruční datamining Vhodné SQL dotazy + grafická vizualizace

Hierarchické uspořádání

Příklad 1 subordinace Každý žoldák má bezprostředně nadřízeného, potřebujeme sledovat linie subordinace.

Příklad 2 - kusovník Kosmická loď se skládá z mnoha dílů, jež mohou samy být složeny z dalších dílů. Je nutno, aby bylo možno sledovat, z čeho se který díl skládá, v libovolné úrovni kompozice.

Co zachycuje Celek část: nadřazený element obsahuje elementy jemu podřízené širší užší pojem (množina podmnožina) množina prvek (prvky různého typu) Nadřízený podřízený: nadřazený element zodpovídá za elementy jemu podřízené Předchůdce následník: kauzální následnost

Přístupové cesty Od kořene dolů Rekurze Využití při klasifikaci Nadřazený prvek zná cesty k jemu podřízeným Začít se dá kdekoli Přímý přístup podle ID, hodnoty Indexy... (ev. hierarchické)

Příklady Fyzická pošta, územní správa Internetové domény Firemní organizace File system LDAP Textové dokumenty XML

věta slovo Textové databáze Dokument titul autor,... klíčová slova kapitola subkapitola odstavec

Vyhledávání v textových db Podle struktury (dokumenty spořádaně strukturované) Podle termů WWW Jak to dělá Google? Sémantický web...?

XML dokumenty Relativně čitelné pro člověka (ukecaný) (samovysvětlujícnost má ale své meze) Doporučené W3C Otevřený volný standard Parsování standardními parsery ověřování zpracování

Kritika XML databází Hierarchická struktura vs. vztahy n:m obtížná normalizace vs. jiné pohledy relativismus designu Zmatečné konstrukty namespaces atributy

Výhody XML databáze Organizace dat odpovídající přenosovému formátu Snadná adaptace schématu na změny oproti relačnímu modelu Komplexní validace Kompletnost a správnost dokumentu Pravidla pro datové typy (regulární výrazy...) Otevřené standardy XML (~SQL) XPath, XQuery

Databáze a časový faktor

Příklad Navrhněte databázi pro aplikaci vyhledávání spojení (vlaky, autobusy, letadla, MHD).

Pojmy související s časem Předchozí, následující Časový interval Historie Současnost

Klasický databázový přístup Databáze si uchovává celou historii

Měřící přístroj V tabulce T máme pole cas a pole cis_udaj, cas je UNIQUE. Najděte všechny případy, kdy bezprostředně časově následující cis_daj je nižší než jeho předchůdce. (Kdy došlo k poklesu teploty?)

Měřící přístroj SQL SELECT t1.cas, t1.cis_udaj,t2.cas, t2.cis_udaj FROM T t1, T t2 WHERE t1.cas<t2.cas AND NOT EXISTS (SELECT * FROM T t3 WHERE t1.cas<t3.cas AND t3.cas<t2.cas) AND t1.cis_udaj>t2.cis_udaj;

Kde je chyba? Nutnost použít konstrukce EXISTS je způsobena nevhodným návrhem tabulky T. Pokud by obsahovala sloupec s číslem měření, úloha by byla rázem velmi jednoduchá.

Více sledovaných veličin? Přichází údaj o času, komoditě a její ceně. Řešíme úlohu průběh cen - kdy došlo k jaké změně ceny které komodity? Číslování přicházejících záznamů nepomůže... Je třeba nalézt následující záznam pro danou komoditu.

Více sledovaných veličin Seřadíme: komodita čas cena Řešení podobné jako v předchozím případě, zpracujeme sériově možno i v tabulkovém kalkulátoru... Problém tohoto řešení: potřebujeme paměť pro celou tabulku. =dávkové zpracování celé historie

Řešení 2 Pamatujme si poslední cenu pro každou komoditu, jak data přicházejí Nepotřebujeme znát vše najednou, jen to poslední Sledujeme proud dat

Proudy dat Nutná paměť jen pro potřebou část fronty přicházejících dat Zpracování dotazů Oznamování událostí Je to databázové zpracování? Zprávy nebo události můžeme ukládat do skladu pro učení

Dokument jako proud XML data

Časová razítka, verze Časové razítko vzniku/změny záznamu Čas vzniku předchozí problémy (průběh veličin?) Čas změny co bylo před změnou? Verze (co bylo před změnou) Možný návrat k předchozím stavům Formálně stejné jako při času vzniku, ale jiná interpretace, jiný interface

Transientní data Omezení životnosti záznamů Jak hlídat, ošetřovat rušení prošlých? diskrétní vs. spojitý čas Události způsobené časem

Události způsobené časem Posílání upomínek po vypršení lhůty Lze triggerem?

Události způsobené časem Zpracování v diskrétních časech nebo Stálý démon, pracující v malých cyklech pouze dávkové zpracování

Zpracování časového faktoru Sériové Klasické * databáze nabízejí slabé, těžkopádné prostředky * hierarchické, síťové, relační, objektové

3. soustředění

Návrh a provoz databází

Projekt IS Rozeznání potřeby specifikace požadavků I Rozhodnutí o cestě realizace vlastními silami zakázkou IT firmě Volba řešení vývoj na míru využití hotového typového produktu

Vývoj IS Analýza požadavků II funkcionalita časové požadavky informační požadavky Zjištění omezení finanční, časové, lidské zdroje, prostorové... business pravidla Modelování

Modelování IS Klasické strukturované procesní/funkční část informační/datová část business pravidla Moderní objektově orientované use case class diagram sequence diagram...

Design IS Design dat Design funkcí/aplikací Design nasazení Design bezpečnosti Design budoucí správy, zodpovědností...

Nasazení a provoz IS Správa, servis problémů Sběr a správa připomínek Dolaďování Doprogramovávání Úpravy v rámci navržené koncepce Požadavky přesahující rámec současné koncepce...?

Nový projekt Nová analýza... Mezi omezeními je požadavek na hospodárné využití stávajících investic a stávajících systémů

Datová dimenze IS 1 Úvodní analýza, požadavky 2 Design 3 Nové požadavky 4 Rozšíření? 5 Úpravy? Bez zásadnějších problémů Radikální změny představovaly a představují zásadní obtíže!

Datový model Jak dosáhnout stability struktur dat pro danou oblast zájmu? Oblast zájmu se také může rozšířit... Osvědčilo se: věrnost realitě protože nové požadavky jsou o stejném světě

Princip tří schémat (ANSI/SPARC 1975) Externí schéma pohled uživatelů Analytický, konceptuální model model světa Interní schéma datové struktury

Postup shora dolů Externí schémata pohledy uživatelů Analytický, konceptuální model model světa Logický model designu bez rozhodnutí o implementačních technologiích Implementační schéma volby v rámci implementačních technologií

Konceptuální schéma Srozumitelný a věcně správný model, na jehož základě bude databáze navržena srozumitelný, přehledný vše podstatné věcně správný konceptuální, nikoli technologický

Konceptuální schéma Společný základ pro chápání objektů aplikace uživateli, analytikem, správcem databáze i programátory

Konceptuální schéma Poskytuje dokumentaci: k ověření správnosti analýzy východisko pro seznámení se stávajícími databázovými strukturami východisko při analýze nových požadavků

Jak dělat konceptuální schéma? Analyzovat uživatelské požadavky Analyzovat realitu

Jak analyzovat realitu? Přístupy: Entity a vztahy mezi nimi Všechno jsou funkce Objekty a jejich role Objekty, třídy,... v objektovém přístupu

Příklad Sledují se zápasy (kdo jsou domácí a kdo hosté, jaký je výsledek zápasu). Každý zápas píská 1 hlavní rozhodčí, 2 čároví, 1 náhradní rozhodčí. Eviduje se, za který tým hráči hrají (za jediný) tým v dané lize. Sleduje se skóre hráčů v zápasech. V dané lize dva týmy spolu hrají právě jednou jako domácí a právě jednou jako hosté.

Datové modelování - podklady http://krokodata.vse.cz/dm http://nb.vse.cz/~palovska/4it218/koncmod.zip http://nb.vse.cz/~palovska/sa321/metodainformacnianalyzy.zip

Nasazení a provoz databáze

Nasazení databáze, jiná varianta

Klientská databáze

Provoz databáze

Správce databáze Zná, které aplikace potřebují jaká data spravuje bezpečnost Udržuje design tak, aby bylo možno rozvíjet Reaguje na provozní výkonové požadavky radí programátorům při optimalizaci optimalizuje prováděcí plány dotazů spolupracuje na uložených procedurách upravuje fyzické struktury nasazuje dalšíc hw prostředky nasazuje další db enginy

Nový projekt IS a databáze Záhodná je informační kontinuita nadále udržuje správný návrh dat export a import dat zálohy... Řešení přechodové doby paralelní provoz starých a nových systémů zajišťování konzistence informací