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



Podobné dokumenty
Datové modelování. Datové modely v GIS. Úrovně abstrakce reality

4IT218 Databáze. 4IT218 Databáze

Aplikace počítačů v provozu vozidel 9

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: jan.skrbek@tul.cz tel.: Konzultace: úterý

Databáze SQL SELECT. David Hoksza

Soubory a databáze. Soubor označuje množinu dat, která jsou kompletní k určitému zpracování a popisují vybrané vlastnosti reálných objektů

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

V této části manuálu bude popsán postup jak vytvářet a modifikovat stránky v publikačním systému Moris a jak plně využít všech možností systému.


Operace nad celými tabulkami

Jazyk S Q L základy, příkazy pro práci s daty

Databázové systémy úvod

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

Příprava na 1. čtvrtletní písemku pro třídu 1EB

Budování aplikačních rozhraní pro obousměrnou komunikaci mezi ERMS a jejich vztah k Národnímu standardu pro komunikaci mezi ERMS.

průvodce správou, využitím a programováním

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Reálná čísla

Výzva pro předložení nabídek k veřejné zakázce malého rozsahu s názvem Výměna lina

Výsledky přijímacích zkoušek

Matematický model kamery v afinním prostoru

Věc: Výzva pro předložení nabídek k veřejné zakázce s názvem: VÚ a ŠJ PŠOV, Nákup nového osmimístného vozidla

WEBDISPEČINK NA MOBILNÍCH ZAŘÍZENÍCH PŘÍRUČKA PRO WD MOBILE

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY UNIVERZÁLNÍ TABULKOVÝ EDITOR V PHP UNIVERSAL WEB DATAGRID EDITOR IN PHP

účetních informací státu při přenosu účetního záznamu,

Regenerace zahrady MŠ Neděliště

Příloha č. 54. Specifikace hromadné aktualizace SMS-KLAS

Těhotenský test pro zrakově postižené Tereza Hyková

RELAČNÍ DATABÁZOVÉ SYSTÉMY

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

a m1 a m2 a mn zobrazení. Operaci násobení u matic budeme definovat jiným způsobem.

Seriál: Management projektů 7. rámcového programu

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

Co najdete v ASPI? (pro uživatele SVI FSE UJEP)

Orientační průvodce mateřstvím a rodičovstvím v zadávacích dokumentacích poskytovatele

DATABÁZE DŮLEŽITÉ: Před načtením nové databáze do vaší databáze si prosím přečtěte následující informace, které vám umožní:

Pardubický kraj Komenského náměstí 125, Pardubice SPŠE a VOŠ Pardubice-rekonstrukce elektroinstalace a pomocných slaboproudých sítí

Kočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011

Analýzy v GIS. Co se nachází na tomto místě? Kde se nachází toto? Kolik tam toho je? Co se změnilo od? Co je příčinou? Co když?

Vážení klienti, Upozorníme i na praktické důsledky nesjednání pravidelného pracoviště při poskytování cestovních náhrad. TaxVision, s.r.o.

Kritéria zelených veřejných zakázek v EU pro zdravotnětechnické armatury

Uživatelská dokumentace

Kontrola správnosti sledování a měření objemu vypouštěných odpadních vod dle 92 vodního zákona

Provoz a poruchy topných kabelů

Objektově orientované databáze

1.2.5 Reálná čísla I. Předpoklady:

obecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů

Pokyn D Sdělení Ministerstva financí k rozsahu dokumentace způsobu tvorby cen mezi spojenými osobami

Upíše-li akcie osoba, jež jedná vlastním jménem, na účet společnosti, platí, že tato osoba upsala akcie na svůj účet.

Česká zemědělská univerzita v Praze Fakulta provozně ekonomická. Obor veřejná správa a regionální rozvoj. Diplomová práce

INFORMAČNÍ SYSTÉM O AREÁLU

téma: Formuláře v MS Access

Manuál pro WebRSD. verze 2.0 z

Cvičná firma: studijní opora. Brno: Tribun EU 2014, s

které je třeba si položit před zakoupením levného CAD programu

MODUL 10 Jazykové vzdělávání v učící se obci, městě, regionu

PŘÍLOHA 1.6 SMLOUVY O PŘÍSTUPU K VEŘEJNÉ PEVNÉ KOMUNIKAČNÍ SÍTI LOGISTIKA KONCOVÝCH ZAŘÍZENÍ

Jak na KOTLÍKOVÉ DOTACE? JEDNODUCHÝ RÁDCE PRO ZÁKAZNÍKY

Výzva k podání nabídek do výběrového řízení. Zadávací podmínky

Textové editory a procesory

170/2010 Sb. VYHLÁŠKA. ze dne 21. května 2010

Správa požadavků. Semestrální práce

Daňová partie. Aktuality z oblasti řešení daňových sporů. 5. května Finanční úřady nově jen v krajských městech

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

ZÁKLADNÍ POVINNOSTI DOPRAVCE I PRÁCI S DATY Z DIGITÁLNÍHO TACHOGRAFU

I. Objemové tíhy, vlastní tíha a užitná zatížení pozemních staveb

Systém sběru vytříděných složek odpadu v Telči a jejich evidence software

Stanovy TJ Plzeň-Bílá Hora, z.s.

Název veřejné zakázky: Sdružené služby dodávky zemního plynu pro Mikroregion Střední Haná na rok 2013

RÁMCOVÁ SMLOUVA č. 2014_03 na provádění zámečnických a nástrojařských prací, Brno - Líšeň

Výzva k podání nabídky a prokázání splnění kvalifikace (Oznámení o zahájení zadávacího řízení) Zadávací dokumentace

MV ČR, Odbor egovernmentu. Webové stránky veřejné správy - minimalizace jejich zranitelnosti a podpora bezpečnostních prvků

R O Z S U D E K J M É N E M R E P U B L I K Y

2.2.2 Zlomky I. Předpoklady:

Obec Nová Ves I. Výzva k podání nabídky

Microsoft Office Project 2003 Úkoly projektu 1. Začátek práce na projektu 1.1 Nastavení data projektu Plánovat od Datum zahájení Datum dokončení

ROSSMANN PRAVIDLA VÁNOČNÍ SOUTĚŽE

MANDÁTNÍ SMLOUVA NA POSKYTOVÁNÍ PRÁVNÍCH SLUŽEB SOUVISEJÍCÍCH S PRODEJEM JEDNOTEK AAU

Tvorba webových stránek

Předmětem zakázky je dodávka a instalace výpočetní techniky včetně software.

VYUŽITÍ NEURONOVÝCH SÍTÍ PROSTŘEDÍ MATLAB K PREDIKCI HODNOT NÁKLADŮ PRO ELEKTRICKÉ OBLOUKOVÉ PECE

Informační systém pro rezervaci pokojů hotelu SPORT

Nařizování exekuce a pověření exekutora

2 Trochu teorie. Tab. 1: Tabulka pˇrepravních nákladů

DODATEČNÉ INFORMACE Č. 4 K ZADÁVACÍM PODMÍNKÁM VEŘEJNÉ ZAKÁZKY

Odůvodnění veřejné zakázky dle 156 zákona. Odůvodnění účelnosti veřejné zakázky dle 156 odst. 1 písm. a) zákona; 2 Vyhlášky 232/2012 Sb.

Uživatelská příručka Rejstřík státních zaměstnanců

Zadávací dokumentace dle ustanovení 44 zákona č. 137/2006 Sb., o veřejných zakázkách (dále jen zákon )

METODIKA PRO NÁVRH TEPELNÉHO ČERPADLA SYSTÉMU VZDUCH-VODA

Kategorizace zákazníků

M. Balíková, R. Záhořík, NK ČR 1

Obsah. Obsah. Úvod Makra v Excelu Nahrávání maker První setkání s editorem jazyka Visual Basic... 31

Čl. I. Vyhláška č. 106/2001 Sb., o hygienických požadavcích na zotavovací akce pro děti, ve znění vyhlášky č. 148/2004 Sb.

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

manuál pro segment Architektura

NÁVRH KUPNÍ SMLOUVY: KUPNÍ SMLOUVA

Novinky verzí SKLADNÍK 4.24 a 4.25

Ochrana duševního vlastnictví Intellectual property right

primární tlačítko (obvykle levé). Klepnutí se nejčastěji používá k výběru (označení) položky nebo k otevření nabídky.

VLÁDA ČESKÉ REPUBLIKY. Příloha k usnesení vlády ze dne 13. února 2013 č Stanovisko

Notebooky a mobilní zařízení 2015

Transkript:

Databázové a informační systémy 1. Teorie normálních forem Pojem normálních forem se používá ve spojitosti s dobře navrženými tabulkami. Správně vytvořené tabulky splňují 4 základní normální formy, které vymysleli pánové Codd a Boyce v 70. letech 20. století, konkrétně v roce 1974. Občas se používá pojem 0. normální forma (0NF), která říká, že data musí být setříděna v tabulkách, tabulka je množinou záznamů, kde se každý řádek musí lišit. Každá tabulka by měla mít atribut nebo množinu atributů, kterým lze každý řádek identifikovat -> superklíč. 1. normální forma (1NF) První, nejjednodušší, normální forma (značíme 1NF) říká, že všechny atributy jsou atomické, tj. dále již nedělitelné (jinými slovy, hodnotou nesmí být relace). Mějme např. tabulku ADRESA, která bude mít sloupce JMÉNO, PŘÍJMENÍ a BYDLIŠTĚ. Naplnění tabulky nechť odpovídá reálnému světu: JMÉNO PŘÍJMENÍ BYDLIŠTĚ jan novák Ostravská 16, Praha 16000 petr nový Svitavská 8, Brno 61400 jan nováček Na bradlech 1147, Ostrava 79002 Pokud bychom v této tabulce chtěli vypsat všechny pracovníky, jejichž PSČ je rovno určité hodnotě, dostali bychom se do potíží, neboť bychom to nemohli zjistit přímo a jednoduše. A to proto, že atribut BYDLIŠTĚ není atomický, skládá se z několika částí: ULICE, ČÍSLO, MĚSTO a PSČ. Správný návrh tabulky, který bude respektovat 1NF bude vypadat následovně: JMÉNO PŘÍJMENÍ ULICE ČÍSLO MĚSTO PSČ jan novák Ostravská 16 Praha 16000 petr nový Svitavská 8 Brno 61400 jan nováček Na bradlech 1147 Ostrava 79002 Obecně bychom se měli snažit, aby obsahem jedné databázové položky byla právě jedna hodnota (určitého databázového typu).

2. normální forma (2NF) Tabulka splňuje 2NF, právě když splňuje 1NF a navíc každý atribut, který není primárním klíčem je na primárním klíči úplně závislý. To znamená, že se nesmí v řádku tabulky objevit položka, která by byla závislá jen na části primárního klíče. Z definice vyplývá, že problém 2NF se týká jenom tabulek, kde volíme za primární klíč více položek než jednu. Jinými slovy, pokud má tabulka jako primární klíč jenom jeden sloupec, pak 2NF je splněna triviálně. Nechť máme tabulku PRACOVNÍK, která bude vypadat následovně (atribut ČÍS_PRAC značí číslo pracoviště, kde daný pracovník pracuje, atribut NÁZEV_PRAC uvádí jméno daného pracoviště): ČÍSLO JMÉNO PŘÍJMENÍ ČÍS_PRAC NÁZEV_PRAC 1 jan Novák 10 studovna 2 petr Nový 15 centrála 3 jan Nováček 10 studovna Jaký primární klíč zvolíme v této tabulce? Pokud zvolíme pouze ČÍSLO, je to špatně, neboť zcela určitě název pracoviště, kde zaměstnanec pracuje, není závislý na číslu pracovníka. Takže za primární klíč musíme vzít dvojici (ČÍSLO,ČIS_PRAC). Tím nám ovšem vznikl nový problém. Položky JMÉNO, PŘÍJMENÍ a NÁZEV_PRAC nejsou úplně závislé na dvojici zvoleného primární klíče. Ať tedy děláme, co děláme, nejsme schopni vybrat takový primární klíč, aby tabulka splňovala 2NF. Jak z tohoto problému ven? Obecně převedení do tabulky, která již bude splňovat 2NF, znamená rozpad na dvě a více tabulek, kde každá už bude splňovat 2NF. Takovému "rozpadu" na více tabulek se odborně říká dekompozice relačního schématu. Správně navržené tabulky splňující 2NF budou vypadat následovně (tabulka PRACOVNÍK a PRACOVIŠTĚ): ČÍSLO JMÉNO PŘÍJMENÍ ČIS_PRAC 1 jan Novák 10 2 petr Nový 15 3 jan Nováček 10 ČÍSLO NÁZEV 10 Studovna 15 Centrála Dále si všimněte, že pokud tabulka nesplňuje 2NF, dochází často k redundanci. Konkrétně v původní tabulce informace, že pracoviště číslo 10 se jmenuje "studovna", byla obsažena celkem dvakrát. Redundance je jev, který obvykle nesplnění 2NF doprovází. O tom, že redundance je nežadoucí, netřeba pochybovat. Zkuste si rozmyslet, jak byste postupovali v obou příkladech, kdyby ve vaší společnosti došlo ke změně názvu pracoviště číslo 10 ze "studovna" na "klubovna".

3. normální forma (3NF) Relační tabulky splňují třetí normální formu (3NF), jestliže splňují 2NF a žádný atribut, který není primárním klíčem, není tranzitivně závislý na žádném klíči. Nejlépe to opět vysvětlí následující příklad. Mějme tabulku PLATY, která bude vypadat takto: ČÍSLO JMÉNO PŘÍJMENÍ FUNKCE PLAT 1 jan Novák technik 15000 2 petr Nový vedoucí 21500 3 jan Nováček správce 17500 Pomineme zatím fakt, že tato tabulka nesplňuje ani 2NF, což je základní předpoklad pro 3NF. Chci zde jen vysvětlit pojem tranzitivní závislost. Nebudeme přemýšlet, co je primární klíč, na první pohled vidíme, že konkrétně atributy JMÉNO, PŘÍJMENÍ a FUNKCE závisí na atributu ČÍSLO (ten by nejspíš byl primárním klíčem). Dále můžeme vidět, že atribut PLAT zřejmě je funkčně závislý na atributu FUNKCE a pokud vememe v úvahu, že ČÍSLO->FUNKCE a FUNKCE->PLAT, dostaneme díky jevu nazývanému tranzitivita, že ČÍSLO->PLAT. Postup, jak dostat tabulky do 3NF, je podobný jako v případě 2NF, tj. opět provedeme dekompozici (tabulka FUNKCE a PLATY): ČÍSLO JMÉNO PŘÍJMENÍ FUNKCE 1 jan Novák technik 2 petr Nový vedoucí 3 jan Nováček správce FUNKCE PLAT technik 21500 vedoucí 17500 správce 15000 Z hlediska základních tří normálních forem, jsou tyto dvě tabulky již v pořádku. Z praktického hlediska je vhodnější použít nějaký číselník funkcí, abychom splnili podmínku, že primární klíč v tabulkách má být co nejkratší délky. Nejlepší zápis je tedy následující: ČÍSLO JMÉNO PŘÍJMENÍ CIS_FUN 1 jan Novák 121 2 petr Nový 156 3 jan Nováček 127 ČÍSLO FUNKCE PLAT 121 technik 21500 156 vedoucí 17500 127 správce 15000

Boyce-Coddova normální forma Poslední prakticky užívanou formou je tzv. Boyce-Coddova normální forma (BCNF). Tabulka splňuje BCNF, právě když pro dvě množiny atributů A a B platí: A->B a současně B není podmnožinou A, pak množina A obsahuje primární klíč tabulky. Tato forma zjednodušuje práci s tabulkami, ve většině případů, pokud dobře postupujeme při tvorbě tabulek, aby splňovaly postupně 1NF, 2NF a 3NF, forma BCNF je splněna.

2. SQL, dotazy, typ databáze neboli Structured Query Language (strukturovaný dotazovací jazyk) je standardizovaný dotazovací jazyk používaný pro práci s daty v relačních databázích. V 70. letech 20. století probíhal ve firmě IBM výzkum relačních databází. Bylo nutné vytvořit sadu příkazů pro ovládání těchto databází. Vznikl tak jazyk SEQUEL (Structured English Query Language). Cílem bylo vytvořit jazyk, ve kterém by se příkazy tvořily syntakticky co nejblíže přirozenému jazyku (angličtině). V r. 1979 uvedla na trh firma Relational Software, Inc. (dnešní Oracle Corporation) svoji relační databázovou platformu Oracle Database. Jazyk SEQUEL byl později přejmenován na SQL. Příkazy jazyka SQL obecně umožňují úplnou kontrolu nad systémem řízení báze dat. Podle svého účelu se dělí do následujících skupin: Příkazy pro manipulaci s daty Jsou to příkazy pro získání dat z databáze a pro jejich úpravy. Označují se zkráceně DML Data Manipulation Language ( jazyk pro manipulaci s daty ). SELECT vybírá data z databáze, umožňuje výběr podmnožiny a řazení dat. INSERT vkládá do databáze nová data. UPDATE mění data v databázi (editace). MERGE kombinace INSERT a UPDATE data buď vloží (pokud neexistuje odpovídající klíč), pokud existuje, pak je upraví ve stylu UPDATE. DELETE odstraňuje data (záznamy) z databáze. EXPLAIN speciální příkaz, který zobrazuje postup zpracování SQL příkazu. Pomáhá uživateli optimalizovat příkazy tak, aby byly rychlejší. SHOW - méně častý příkaz, umožňující zobrazit databáze, tabulky nebo jejich definice Příkazy pro definici dat Těmito příkazy se vytvářejí struktury databáze tabulky, indexy, pohledy a další objekty. Vytvořené struktury lze také upravovat, doplňovat a mazat. Tato skupina příkazů se nazývá zkráceně DDL Data Definition Language ( jazyk pro definici dat ). CREATE vytváření nových objektů. ALTER změny existujících objektů. DROP odstraňování objektů. Příkazy pro řízení dat Do této skupiny patří příkazy pro nastavování přístupových práv a řízení transakcí. Označují se jako DCL Data Control Language ( jazyk pro ovládání dat ), někdy také TCC Transaction Control Commands ( jazyk pro ovládání transakcí ). GRANT příkaz pro přidělení oprávnění uživateli k určitým objektům. REVOKE příkaz pro odnětí práv uživateli. START TRANSACTION zahájení transakce. COMMIT potvrzení transakce. ROLLBACK zrušení transakce, návrat do původního stavu.

3. rychlý návrh databáze..to snad nikdo nedostane 3x V podstatě šlo o to znát termíny typu entita, relace, atribut, sloupec, řádek, tabulka.. vědět, že entitní model je jednodušší a používá se analytiky pro kontakt se zadavatelem, zatímco relační model je používán po konkrétní tvorbu databáze kodéry a využívá jej SQL. Na zkoušku bych doporučoval mrknout na nějaké SQL dotazy v praxi http://www.root.cz/clanky/leftright-outer-inner-join-v-sql/ ty bude chtít rozhodně, ať dostanete otázku jakoukoliv. Konkrétní příkazy jsou u druhé otázky spíše jako doplnění, jde o to znát ty hlavní SELECT, FROM, INNER JOIN, LEFT (OUTER) JOIN, RIGHT (OUTER) JOIN, ON, WHERE, GROUP BY. Hodně štěstí