DUM 10 téma: Relační databázový systém

Podobné dokumenty
DUM 4 téma: Základní registry

DUM 12 téma: Příkazy pro tvorbu databáze

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

Hierarchický databázový model

S databázemi se v běžném životě setkáváme velmi často. Uvádíme běžné použití databází velkého rozsahu:

DBS Konceptuální modelování

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

Střední průmyslová škola Zlín

téma: Parametrické a křížové dotazy v MS Access

DUM 15 téma: Příkazy pro řízení přístupu

Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola

Konceptuální modelování. Pavel Tyl

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

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

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

RELACE, OPERACE. Relace

Inovace výuky prostřednictvím šablon pro SŠ

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

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

zobrazuje názvy polí, vložené hodnoty jednotlivých záznamů, lze v něm zadávat data (přidávat záznamy) v návrhovém zobrazení:

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

téma: Akční dotazy v MS Access

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

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

Databáze. Logický model DB. David Hoksza

1 Strukturované programování

Databázové systémy. Vztahy a relace. 3.přednáška

U Úvod do modelování a simulace systémů

téma: Výběrové dotazy v MS Access

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

KIV/ZIS cvičení 1. Martin Kryl

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Database engine (databázový stroj, databázový motor, databázové jádro) Systém řízení báze dat SŘBD. Typy SŘBD podle způsobu práce s daty

GIS Geografické informační systémy

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

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Objektově orientované programování v jazyce Python

téma: Sestavy v MS Access

Návrh databázového modelu

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

TÉMATICKÝ OKRUH Softwarové inženýrství

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

Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/ Brožura dobré praxe

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

Databáze v MS ACCESS

Množiny, relace, zobrazení

GIS Geografické informační systémy

Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit (entitní množiny) Atributy

Hromadná korespondence

C8 Relační databáze. 1. Datový model

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

Microsoft. Access. Nová databáze, návrh tabulky. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

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

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

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

FUNKCE SVYHLEDAT() ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště

1.13 ACCESS popis programu

Access. Tabulky. Vytvoření tabulky

Střední odborné učiliště Domažlice, škola Stod, Plzeňská 322, Stod

M - Kvadratické rovnice a kvadratické nerovnice

Rastrová reprezentace

DUM 03 téma: Tvary - objekty

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

Objektově orientované programování v jazyce Python

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

Profilová část maturitní zkoušky 2013/2014

Obsah. Zpracoval:

DUM 11 téma: Úvod do příkazové řádky

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

Metodika návrhu databáze

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

První kroky v tvorbě databáze v Access 2007

Úvod do databázových systémů 6. cvičení

Teorie množin. Čekají nás základní množinové operace kartézské součiny, relace zobrazení, operace. Teoretické základy informatiky.

Zkvalitnění výuky využitím ICT technologií CZ.1.07/1.5.00/ Matematika a její aplikace. Matematika. Závislosti a funkční vztahy

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

Těleso racionálních funkcí

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Základy algoritmizace

Databázové systémy. Cvičení 2

Profilová část maturitní zkoušky 2017/2018

Název DUM: VY_32_INOVACE_2B_16_ Tvorba_grafů_v_MS_Excel_2007

Výukový materiál zpracován v rámci projektu EU peníze školám

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

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

Popisné systémy a databáze

Úvod do programovacího jazyka Python

Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Kateřina Raichová. Materiál je publikován pod licencí Creative Commons.

Windows 10 (5. třída)

Ukázka knihy z internetového knihkupectví

materiál č. šablony/č. sady/č. materiálu: Autor: Karel Dvořák Vzdělávací oblast předmět: Informatika Ročník, cílová skupina: 7.

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Transkript:

DUM 10 téma: Relační databázový systém ze sady: 3 tematický okruh sady: III. Databáze ze šablony: 7 Kancelářský software určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie vzdělávací oblast: odborné vzdělávání metodický list/anotace: viz VY_32_INOVACE_07310ml.pdf Tomáš Vokoun VY_32_INOVACE_07310dum - strana 1 15.1.2013

Databáze Hlavním úkolem oboru informačních technologií je shromažďovat, uchovávat a následně prezentovat informace. To činí nejčastěji prostřednictvím zpracování obrovských množství dat tedy kvantifikovatelných popisů skutečnosti. Teprve data vhodně uložená, dohledatelná a především pro uživatele informačního systému užitečná nazýváme informace. Jakoukoliv aplikace informačních systémů, která disponuje uvedenými funkcemi pak označujeme jako databáze, nebo databázový systém. Typy databázových systémů Historickým vývojem prošla řada technik a metod přehledného ukládání dat, mnohé převzaté z doby před-počítačové, kdy ovšem informatická věda již dávno existovala. Pro čtenáře bude možná tento fakt překvapující, ale i v letech před sestrojením prvních elektronických počítačů lidstvo data shromažďovalo, třídilo a vyhledávalo. Činnost tato byla jistě pracnější, časově a lidsky náročnější, na druhou stranu však tato pracnost nutila vybírat opravdu pouze užitečné informace a omezovat jejich množství na nezbytné minimum. V dnešní době tato bariéra mnohdy padá, a skladujeme tak často pouze data bez informační hodnoty. Svůj pohled na tento vývoj, nechť si laskavý čtenář zaujme individuálně. Starší databázové systémy stručně představíme, nebudeme se jimi však blíže zabývat [1]: Základním databázovým modelem byla prostá halda dat v jednom či několika souborech. Hovoříme pak o souborové databázi. Informační technologie sloužily pouze jako datový nosič, zbylá inteligence k udržování konzistence obsahu, vzájemných vazeb, bezpečnosti a především vyhledávání zůstávala v rukou uživatele. Takový model nazýváme souborovým modelem FMS. Následují hierarchické a sekvenční databázové modely, které již abstrahují od závislosti na konkrétním způsobu uložení dat na datovém médiu a zavádí pojem struktury, kterou již zná přímo databázový systém a jako takový ji dokáže kontrolovat a vynucovat. Jednotlivé prvky databáze jsou spojeny na různých úrovních a rozeznáváme i vztahy rodičovské, či nadřazenosti. Výhodou (oproti souborovým databázím) je možnost rychlého nalezení požadované informace, pouze při znalosti počátečního bodu hledání (úvodního prvku, kořene atd.) a směru či omezujících podmínek. Zde se již projevily výhody zpracování pomocí prostředků informačních technologií, protože ruční realizace takového systému již prakticky není možná. Tomáš Vokoun VY_32_INOVACE_07310dum - strana 2 15.1.2013

Zásadní nevýhodou obou modelů je de-facto nemožnost jakkoliv měnit (tedy i rozšiřovat) strukturu již provozovaného systému. Relační systém Zásadním stupněm vývoje, kterému se budeme věnovat nejvíce, je relační databázový systém. Jeho autorem je především doktor E.F.Codd a jeho první charakteristiku představil již v roce 1969 [1]. Ten v sobě spojuje výhody předešlých způsobů ukládání dat, dovedený do vysokého stupně formality prostřednictvím využití matematické teorie množin. Na data v něm uložené nahlížíme jako na prvky různých množin a vztahy mezi nimi (odtud relace ) popisujeme jako kartézské součiny těchto množin. Můžeme tak velmi intuitivně použít i pojmy zobrazení z matematiky. V relačním systému vytváříme model databáze nejčastěji pomocí formálně grafických metod s využitím řady diagramů. Pro oblast středoškolské praxe vystačíme pouze se statickým modelem struktury, obsahujícím Entity a Relace.. odtud E-R diagram (ERD). Dalšími částmi modelu jsou DFD, či STD a podobně. Entity a relace Entita Je modelem prvku reálného světa, který se navenek vyznačuje určitými vlastnostmi a vyskytuje se ve více, vzájemně odlišitelných, exemplářích. Velmi zjednodušeně lze říci, že entitou je vše co můžeme označit podstatným jménem. Entitou je pak student, člověk, automobil, škola a podobně. Jednotlivé vlastnosti entity označujeme jako atributy. Přitom reálné entity mají vždy prakticky nekonečné množství atributů a je úkolem autora databázového modelu vybrat pouze ty, které jsou pro model podstatné. Například při tvorbě modelu knihovny, kde se vyskytují i čtenáři, nás u nich bude zajímat bydliště či telefonní číslo. Ovšem velikost bot nebo barva očí bude pro takový model nepodstatná. Zvláštní vlastností entit je i možnost jejich vzájemné hierarchie, kdy třeba u modelu školy mají entity student a učitel řadu vlastností společných spojitelných do entity člověk (jméno, bydliště ) a teprve specifické vlastnosti pak budeme sledovat zvlášť u studenta Tomáš Vokoun VY_32_INOVACE_07310dum - strana 3 15.1.2013

a učitele (například studovaný ročník a naopak číslo kabinetu). Modely s vnitřní hierarchií však přenecháme až vyšším stupňům studia. Podle charakteru atributů entit pak můžeme rámcově rozlišit jejich datové typy číselné, textové, datumové Přesné rozlišení je však závislé na konkrétním databázovém systému, pro který model vytváříme. Atributy, které lze použít pro jednoznačné rozlišení jednotlivých výskytů téže entity (hovoříme o instancích) nazýváme kandidátskými atributy. U takových atributů především požadujeme, aby byl přítomen u každého výskytu entity bez výjimek. Dále aby u všech entit byla jeho hodnota unikátní a neměnná. Příklad u entity automobil by jako kandidátský atribut přicházelo do úvahy VIN číslo nebo výrobní číslo karoserie (u starších vozů), naopak naprosto nevhodným by byla barva nebo počet dveří. U osob je problematika jejich jednoznačné identifikace složitější, otázka možného využití rodného čísla a naopak snahy omezit jeho využívání je mimo rozsah tohoto materiálu. Jeden z vybraných kandidátských atributů pak nazýváme primárním klíčem a pro každou entitu musíme nejméně jeden takový v modelu určit. Relace Popisuje vztahy mezi entitami vzájemně a to jak jejich prostou existenci, tak i jejich kvalitu míru. Základním předpokladem relačního modelu je existence vzájemných vztahů mezi entitami, a naopak přítomnost entity bez jakéhokoliv vztahu k ostatním by měla být pro autora modelu signálem, že taková entita je v modelu vlastně zbytečná. Výjimkou jsou samozřejmě jednoentitní databáze. Z hlediska kvality vztahů pak hovoříme o kvantifikovanosti relací zjednodušeně o počtu instancí jednotlivých entit na obou stranách vztahu. Rozlišujeme pak: relaci 1:1 tzv. rozšiřující, kdy vlastně jednu entitu přímo propojujeme s konkrétní další relaci 1:N tzv. identifikační, kde jeden výskyt entity je ve vztahu k několika výskytům entity jiné relaci M:N tzv. volná, kde na obou stranách najdeme několik výskytů obou entit Příklady: Tomáš Vokoun VY_32_INOVACE_07310dum - strana 4 15.1.2013

Student:škola 1:N student studuje jen na jedné škole, škola ovšem vzdělává několik studentů Předmět:student M:N předmět má zapsáno několik studentů, každý student ale zároveň studuje více různých předmětů Automobil:motor 1:1 v automobilu je právě jeden motor a motor je právě v jednom automobilu V databázové praxi jsou naprosto nejčastější relace typu 1:N, přičemž relace M:N většina databázových systémů neumí přímo modelovat (viz dále) a relace 1:1 většinou vedou ke spojení dvou entit do jedné. Databázový model Pro ukázku tvorby databázového modelu použijeme modelovací nástroj (CASE) typu CaseStudio: Vidíme pracovní prostor modelu, vlevo strom diagramů a otevřený diagram ERD Hlavní model. U rozsáhlých modelů můžeme jednotlivé části rozdělit do konceptuálních úrovní, což je ale mimo rozsah látky střední školy. Vytvoříme první entitu: Tomáš Vokoun VY_32_INOVACE_07310dum - strana 5 15.1.2013

a nastavíme její vlastnosti: zde je vhodné zvolit stručný ale výstižný název entity bez diakritiky, mezer a nejlépe velkých znaků. Dále entitě doplníme i atributy: Tomáš Vokoun VY_32_INOVACE_07310dum - strana 6 15.1.2013

U zvoleného atributu nastavíme i parametr primárního klíče. Entita se pak zobrazí v prostoru diagramu: Doplníme stejným způsobem i druhou entitu: Tomáš Vokoun VY_32_INOVACE_07310dum - strana 7 15.1.2013

A namodelujeme relaci. Předpokládáme, že automobil má vždy jediného vlastníka a naopak osoba vlastní libovolné množství automobilů. Jedná se tedy o relaci 1:N. Pro modelování využijeme primární klíč (PK) u entity osoba, který propojíme s novým cizím primárním klíčem (FPK) u entity automobil. Entita automobil tak získá nový atribut, ve kterém bude odkaz na osobu která ho vlastní. Hierarchicky je tak entita automobil podřízena entitě osoba: Grafický element entity automobil na to zareagoval i změnou svého vzhledu. FPK u entity automobil můžeme i přejmenovat, v našem případě to však není nutné. Současný název je logický. Zde se i ukazuje vhodnost používání unikátních názvů atributů pro primární klíče Tomáš Vokoun VY_32_INOVACE_07310dum - strana 8 15.1.2013

v celém modelu odpadnou nejasnosti v situacích, kdy by se ve všech entitách jmenovaly id a podobně. Modelování relace M:N Tento typ relace nelze přímo modelovat a model musíme rozšířit o pomocnou virtuální ( vazební ) entitu. V další části ji pak budeme nazývat vazební (relační/spojovací) tabulka. Rozdělíme tak relaci M:N na dvě dílčí 1:N. Příklad: Mezi entitami student a predmet chceme realizovat relaci M:N. Vložíme tedy pomocnou entitu studovat, která nebude obsahovat žádné atributy: Tomáš Vokoun VY_32_INOVACE_07310dum - strana 9 15.1.2013

Nyní pomocí PK kod a PK id_studenta obě entity propojíme v pomocné entitě: Entita studovat teď obsahuje pouze FPK. Každá její instance bude popisovat vztah konkrétního studenta a konkrétního předmětu. Přitom každý student může být účastníkem libovolného počtu těchto instancí (studovat libovolný počet předmětů) a naopak každý předmět může vystupovat ve více těchto vazbách být studován více studenty. Tomáš Vokoun VY_32_INOVACE_07310dum - strana 10 15.1.2013

Úkoly pro samostatnou práci Sestavte ERD pro modely: knihovna autobazar zdravotnické zařízení střední škola Tomáš Vokoun VY_32_INOVACE_07310dum - strana 11 15.1.2013

Zdroje: Archiv autora [1] KOCAN, Marek. Databáze nejsou jen relační: díl nultý. Databázový svět [online]. 2001 [cit. 15.1.2013]. Dostupné z: http://www.dbsvet.cz/view.php?cisloclanku=2001111201 Tomáš Vokoun VY_32_INOVACE_07310dum - strana 12 15.1.2013