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

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

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

5. POČÍTAČOVÉ CVIČENÍ

Databáze. Logický model DB. David Hoksza

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

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

Úvod do databázových systémů. Cvičení 12 Ing. Martin Zwierzyna

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

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

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:

Základy relačních databází, jejich využití v programování webu

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

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

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

Hierarchický databázový model

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087

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

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

Návrh databázového modelu

KIV/ZIS cvičení 2. Martin Kryl

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

Databázové systémy trocha teorie

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

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

DATABÁZE MS ACCESS 2010

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

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Databázové systémy. Přednáška 1

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

5. Formalizace návrhu databáze

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

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

VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ

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

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

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

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.

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

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

práce s Microsoft Accessem

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

5. Formalizace návrhu databáze

Konceptuální modelování. Pavel Tyl

Terminologie v relačním modelu

Normální formy. Zdeněk Kouba

4. Základy relačních databází, logická úroveň návrhu

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

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

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

11. blok Normalizace. Studijní cíl

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

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

10. blok Logický návrh databáze

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

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

Kurz Databáze. Obsah. Návrh databáze E-R model. Datová analýza, tabulky a vazby. Doc. Ing. Radim Farana, CSc.

KIV/ZIS cvičení 1. Martin Kryl

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

Objektově relační databáze a ORACLE 8

Otázka č. 1 (bodů za otázku: 4)

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

Datové modelování II

Databáze ArcView) Databázový systém

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

Data v informačních systémech

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

Jiří Mašek BIVŠ V Pra r ha

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

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

Databázové systémy Tomáš Skopal

Databázové systémy. Normálové formy + kandidátní klíče. 2.přednáška

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

Obsah. 1.1 Práce se záznamy Stránka Dnes Kontakt se zákazníkem... 5

Operátory ROLLUP a CUBE

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

Hromadná korespondence

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

1. Umístěte kurzor do sloupce Datový typ na řádek s polem, ve kterém vytvořit chcete seznam.

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

1 Tabulky Příklad 3 Access 2010

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

ÚPRAVA OBJEDNÁVKY POUKÁZEK V OBÁLKÁCH

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

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

Modelový příklad Knihovna Vypracovaný příklad ze cvičení včetně komentářů k řešení

Relace x vztah (relationship)

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

1/10. Kapitola 12: Soustavy lineárních algebraických rovnic

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

MS SQL Server 2008 Management Studio Tutoriál

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen

1.13 ACCESS popis programu

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

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

Popisné systémy a databáze

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

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Úvod do databázových systémů 2012/2013 IS MHD

Měřící systém se vzdáleným přístupem. Databáze

Transkript:

Úvod do databázových systémů Databáze je dnes velmi často skloňovaným slovem. Co se pod tímto termínem skrývá si vysvětlíme na několika následujících stranách a cvičeních. Databáze se využívají k ukládání dat, většinou textové povahy, slouží k rychlému vyhledávání informací podle zadaných kritérií. Využívají se v širokém spektru různých aplikací, od samostatně běžících programů (například účetní programy) po velmi rozsáhlé webové projekty, které rovněž houfně využívají databáze. Databáze je rovněž realizována nějakou aplikací je sama programem, a abychom jí mohli využívat, musí být nainstalována a spuštěna. Těmto aplikacím, které jsou sami databázemi říkejme databázové stroje. Nejznámější z nich jsou: MySQL MS SQL (Microsoft SQL) Oracle DBMS Postgre SQL IBM DB2 Data v databázi se ukládají do tabulek. Tabulka je ve světě databází velmi důležitý objekt, protože skrze něj se popisuje nějaký reálný prvek světa (jeho vlastnosti). Tomuto prvku budeme od této chvíle říkat entita. Vlastnostem těchto prvků (entit) pak říkejme atributy. Příklad: reálným prvkem světa je město. Město má své vlastnosti jako je název, počet obyvatel, PSČ, telefonní předvolba. To jsou právě jeho atributy. Mohli bychom tedy vytvořit tabulku města, její sloupce by tvořily zmíněné atributy a v řádcích by byla zapsána jednotlivá města. Příklad obecné databáze je na obrázku níže. Jednalo by se patrně o databázi objednávek.

Výše uvedený příklad databáze ale není nejlepší. Popravdě je zcela špatně a porušuje několik pravidel pro vytváření databází. Těmto pravidlům budeme říkat NORMÁLNÍ FORMY, těch je několik a postupně si projdeme první tři z nich. 1. Normální forma Aby databáze splňovala první normální formu je nutné, aby atributy databáze byly atomické tedy dále nedělitelné, čímž je umožněno snadné filtrování a vyhledávání dat. Příklad je uveden na obrázku: Na chvíli odbočme od normálních forem a uvažujme. Na obrázku je znázorněna databáze osob, které bydlí v určitých městech. Není zbytečné u každého obyvatele evidovat název města a PSČ? Tato data se budou velmi často opakovat a zabírat naprosto zbytečně místo. Navíc je to potenciální zdroj chyb (plzeň Plzeň plzen jsou přece různé údaje). Tuto tabulku by bylo vhodné rozdělit na dvě tedy dejme tomu: osoby a města a vzájemně je propojit s pomocí identifikátorů. Označme proto Jana Nováka nějakým Identifikátorem 1, Petra Nového identifikátorem 2 a tak dále. Město Prahu rovněž identifikátorem 1, Brno identifikátorem 2 atd. Nyní přichází ono zjednodušení. Osoba s ID 1 bydlí ve městě s ID 1, osoba s ID 2 bydlí ve městě s ID 2, osoba s ID 3 bydlí ve městě s ID 3. V tabulce může být uložen další člověk žijící v Praze, třeba Jana Dvořáková tedy osoba s ID 4 bydlí ve městě s ID 1. Je vidět, že mezi entitami jsou určité vztahy a než přistoupíme k dalším normálním formám, vysvětleme si napřed různé typy těchto vztahů.

Vazby mezi entitami Mezi entitami se s rozdělením do jednotlivých tabulek vytvoří určité vazby. V odborné terminologii se těmto vazbám říká kardinality. Mohou to být celkem 3 typy: Jedné položce v tabulce1 odpovídá PRÁVĚ JEDNA položka z tabulky2 kardinalita 1:1 Jedné položce v tabulce1 odpovídá libovolné množství položek z tabulky2 kardinalita 1:N Libovolnému množství položek v tabulce1 odpovídá libovolné množství položek z tabulky2 kardinalita M:N Identifikátory Již zmíněné identifikátory jsou ve většině případů uměle vytvořené vlastnosti (atributy) nějakého objektu (entity), které slouží k jeho jednoznačné identifikaci. S jejich pomocí tedy není možné zaměnit jedno město za druhé, jednu osobu za jinou. Identifikátor je pro danou věc naprosto jedinečný a tvoří tzv. primární klíč. Pokud nechceme vytvářet identifikátory uměle, musíme vybrat vhodný atribut, který by mohl jednoznačně popsat položku databáze. Například rodné číslo může být dobrý primární klíč pro osoby. Číslo faktury může být dobrý primární klíč pro databázi (tabulku) faktur a tak podobně. Primární klíč může být i n-tice položek. Dejme tomu, že Jméno + Příjmení + Ulice + + Město může identifikovat jednoznačně nějakou osobu. Tedy pouze za předpokladu, že v daném městě a ulici nebydlí dvě osoby stejného jména a příjmení (což se ale běžně stává ) 2. Normální forma Druhá normální forma říká, že každý atribut, který není primárním klíčem, je na primárním klíči úplně závislý. Tento požadavek je u většiny tabulek splněn triviálně a týká se pouze tabulek se složeným primárním klíčem.

3. Normální forma Třetí normální forma databáze je nejpodstatnější. Díky ní nedochází k nežádoucímu opakování dat. Říká, že databáze splňuje 3.NF právě tehdy, když splňuje 2.NF a žádný atribut, který není primárním klíčem není tranzitivně závislý. Pojem tranzitivní závislost vám může znít jako zaklínadlo, ale zkusme ho vysvětlit. Pokud, pak platí, že. Říkáme, že C je tranzitivně závislé na A (skrze B). Zde bude opět nejlepší příklad: Na obrázku vidíme tabulku, kde ID osoby určuje funkci a plat. V reálném světě je ale plat závislý na funkci a jedná se právě o případ tranzitivní závislosti. Plat je skrze funkci závislý na čísle osoby. Tato tabulka tedy nesplňuje třetí normální formu, data se v ní zbytečně opakují a je nutné databázi opravit a převést ji do správného tvaru. Správný tvar bude vypadat tak, že vytvoříme novou další tabulku, která bude obsahovat dvě položky: funkce a plat. Mezi tabulkami zaměstnanců a funkcí bude existovat nějaká vazba. Tomuto úkonu se říká dekompozice do více tabulek. Nesplnění normálních forem obvykle doprovází redundance dat!

Datové typy atributů Při vytváření reálných databází musíme dopředu přemýšlet, jaká data budou obsažena v jakých atributech. Zda budou obsahovat text, datum, čas, logickou hodnotu. Toto určení bude zamezovat možným chybám v databázi a ulehčovat vkládání a vyhledávání dat. Datové typy budou závislé na použitém databázovém stroji a velmi připomínají datové typy proměnných využívaných při programování. Jmenujme některé: Char(x) Text určité délky Varchar(x) Text určité délky Date/Time/Datetime Integer/Smallint/Bigint Double/Real Boolean Binary/Varbinary AutoIncrement U atributů také bývá zvykem uvést, zda musí být povinně vyplněn, nebo ne tedy zda je tzv. null nebo not null.