Relační model databáze

Slides:



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

A5M33IZS – Informační a znalostní systémy Dotazovací jazyk SQL - I.
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Ing. Monika Šimková. Máme-li data reprezentovat v databázi, jak vybereme jejich strukturu na konceptuální úrovni? Konceptuální modelování analyzuje požadavky.
Databáze.
Microsoft Office Access
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Výpočetní technika Akademický rok 2008/2009 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
Výpočetní technika Akademický rok 2006/2007 Letní semestr Mgr. Petr Novák Katedra informatiky a geoinformatiky FŽP UJEP
Databázové systémy Relační model.
Informatika pro ekonomy II přednáška 11
Databázové systémy 1 Cvičení č. 4 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
YDASYS Ing. Monika Šimková.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
A5M33IZS – Informační a znalostní systémy Relační databázová technologie.
Martin Kirschbaum 4.A,  určitá uspořádaná množina informací (dat) uložená na paměťovém médiu  Databázový program - umožňuje tvořit, editovat,
1IT Relační datový model
Databáze Jiří Kalousek.
Databázové systémy Štěpán Šípal.
Databáze Úvod.
Databázové systémy II Přednáška č. 8 – Pohledy (Views)
KONCEPTUÁLNÍ MODELOVÁNÍ
D ATOVÉ MODELY Ing. Jiří Šilhán. D ATABÁZOVÉ SYSTÉMY Patří vedle textových editorů a tabulkových kalkulátorů k nejrozšířenějším představitelům programového.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
DATOVÉ MODELY (c) Tralvex Yeap. All Rights Reserved.
Databázové systémy přednáška+cvičení
Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_03_ACCESS_P2.
Fakulta elektrotechniky a informatiky
Relační databáze.
1IT D OTAZOVACÍ JAZYKY V RELAČNÍCH DATABÁZÍCH Ing. Jiří Šilhán.
Konceptuální návrh databáze
Vypracoval: Ondřej Dvorský Třída: VIII.A
Vytvořil: Robert Döring
Historie databází, jejich význam a základní pojmy
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Informatika pro ekonomy II přednáška 10
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
Databázové systémy Přednáška č. 6 Proces návrhu databáze.
Aplikační a programové vybavení
DATABÁZOVÉ SYSTÉMY. 2 DATABÁZOVÝ SYSTÉM SYSTÉM ŘÍZENÍ BÁZE DAT (SŘBD) PROGRAM KTERÝ ORGANIZUJE A UDRŽUJE NASHROMÁŽDĚNÉ INFORMACE DATABÁZOVÁ APLIKACE PROGRAM.
Konceptuální návrh databáze
Databázové modelování
Databázové systémy Relační model.
Databáze teorie.
Databázové systémy Informatika pro ekonomy, př. 18.
Databázové systémy Datové modely.
Univerzita třetího věku kurz Znalci Databáze 1.
Databázové systémy Normalizace dat.
Databázové systémy Úvod, Základní pojmy. Úvod S rozvojem lidského poznání roste prudce množství informací. Jsou kladeny vysoké požadavky na ukládání,
E-R diagram Entity – Relation diagram, diagram entit a vztahů mezi nimi Entity – objekty, které chci v databázi popisovat, mohou nabývat různých hodnot,
Perzistence XML dat Kamil Toman
DATABÁZE.
24 Používání relačních databází (základní pojmy a principy z oblasti relačních databází, struktura databáze,oblasti použití relačních databází, vkládání.
Úvod do databází zkrácená verze.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
Import dat Access (16). Projekt: CZ.1.07/1.5.00/ OAJL - inovace výuky Příjemce: Obchodní akademie, odborná škola a praktická škola pro tělesně.
Databáze ● úložiště dat s definovaným přístupem ● typy struktury – strom, sekvence, tabulka ● sestává z uspořádaných záznamů ● databáze – struktura – záznam.
Význam relací Typy relací Vytvoření relace Nastavení relace Podtypy relace Referenční integrita.
Databáze MS ACCESS 2010.
Relační databázová technologie
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Z3104 Geodatabáze úvod.
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Z3104 Geodatabáze úvod.
Databázové systémy a SQL
Informatika pro ekonomy přednáška 8
Geografické informační systémy
Praktický modul - zadání
Transkript prezentace:

Relační model databáze Přednáška 2 Relační model databáze

Model dat Definice U datového modelu lze uvažovat tři složky: Integrované koncepty (pravidla) pro popis dat, relací mezi daty a omezení dat. U datového modelu lze uvažovat tři složky: Strukturální část, která obsahuje množinu pravidel, jak je třeba konstruovat databázi. Manipulační část, definující typy operací (transakcí), které jsou na datech přípustné. Množina pravidel integrity, která zajišťují, že data jsou přesná a konzistentní.

Databázový model Databázový model je v podstatě architektura, podle které DBMS ukládá objekty do databáze a podle které je vzájemně provazuje. Databázové modely Hierarchický model Síťový model Relační model Objektově orientovaný model Objektově relační model

Relační model databáze Relační model databáze navazuje na předchozí modely (hierarchický a síťový) a je založen na relačním modelu dat, který navrhl E. F. Codd v roce 1970. V relačním modelu jsou všechna data logicky strukturována do relací (tabulek). Nejrozšířenější databázový model. Založen na dvou matematických disciplínách Teorie množin Predikátové logiky

Terminologie Relační model využívá konceptu relace, která je fyzicky reprezentována tabulkou a vztahy mezi tabulkami. Relační datová struktura RM má pět hlavních složek: Relace – tabulka se sloupci a řádky. Atribut – pojmenovaný sloupec tabulky. Datová n-tice – řádek relace (údaje o entitě). Doména – množina přípustných hodnot pro jeden nebo více atributů. Relační databáze – množina normalizovaných tabulek. Entita – (osoba, událost, věc, …). Předměty z „reálného světa“, které zaznamenáváme do databáze.

Entita

Pojmy vztahující se ke struktuře Tabulka Atributy id jmeno prijmeni pozice 1 Jana Letenská ředitel 2 Aleš Koloba designer 3 Petra Nováková analytička Datové n-tice Primární klíč

Vlastnosti relačních tabulek Tabulka má jméno, které ji odlišuje od všech ostatních tabulek v příslušné databázi. Každý sloupec má jedinečné jméno. Pořadí sloupců v tabulce „nemá“ význam. Každá buňka tabulky obsahuje přesně jednu hodnotu! Všechny hodnoty v jednom sloupci jsou ze stejné domény. Každý záznam je jedinečný. Neexistují duplicitní záznamy. Tabulka má primární klíč!

Sloupce a datové typy Sloupec (atribut, pole) je v relační databázi nejmenší pojmenovanou jednotkou. Každému sloupci musíme přiřadit jedinečný název (v rámci jedné tabulky) a datový typ. Datový typ je přitom jakási kategorie formátu konkrétního sloupce. Definice datového typu má několik výhod: Omezuje množinu dat ve sloupci jen na takové znaky, které mají pro daný datový typ smysl (např. jen číslice nebo jen platné kalendářní datum). Cílovému uživateli databáze předkládá jistou množinu dat. Pokud např. odečteme číslo od jiného čísla, dostaneme ve výsledku opět číslo. Napomáhá relačnímu databázovému systému v efektivním ukládání dat sloupce. Čísla se např. dají ukládat v interním, prostorově úsporném číselném formátu, a nikoli jen v neefektivním formátu řetězce znaků. Vícesložkové pole, Vypočítané pole, Vícehodnotové pole

Klíče V terminologii relačního modelu se nejčastěji setkáváme s třemi pojmy klíčů: Primární klíč tabulky Cizí klíč tabulky Kandidátní klíč tabulky Ukazatel, který obsahuje jen minimální počet sloupců nutných k jedinečné identifikaci záznamů.

Klíče Uvažujme následující tabulku studenti, která je v relaci s tabulkou studijni_obory: id stag_id jmeno prijmeni obor 10 D0125 Jan Novák 5 11 D0987 Petr Maléř 12 D0366 Markéta Zpěvná 8 Cizí klíč Kandidátní klíče

Primární klíč Primární klíč je kandidátní klíč, který byl vybrán, aby jednoznačně identifikoval každý záznam v tabulce. Je-li primární klíč složen ze dvou, nebo více polí, tak se označuje jako složený primární klíč. Každá tabulka musí mít primární klíč. Primární klíč stag_id jmeno prijmeni obor D0125 Jan Novák 5 D0987 Petr Maléř D0366 Markéta Zpěvná 8

Vlastnosti primárního klíče Nesmí se jednat o vícesložkové pole. Musí obsahovat jedinečné hodnoty. Nesmí obsahovat hodnotu NULL. Skládá se z nejmenšího možného počtu polí, která zajišťují jedinečnost. Hodnota primárního klíče musí jednoznačně identifikovat hodnoty všech polí daného záznamu. Jeho hodnota se mění jen ve velmi výjimečných případech.

Cizí klíč Sloupec nebo skupina sloupců v jedné tabulce, který odpovídá kandidátnímu klíči jiné (případně téže) tabulky. Zajišťuje referenční integritu (na úrovni vztahů). Může obsahovat hodnotu NULL.

Cizí klíč Máme tabulku studenti a tabulku studijni_obory. PK Cizí klíč stag_id jmeno prijmeni obor D0125 Jan Novák 5 D0987 Petr Maléř D0366 Markéta Zpěvná 8 vztah obor_id nazev katedra 5 Informační výchova KTE 8 Hudební výchova KHV PK

Pojmy týkající se vztahů Vztah mezi tabulkami existuje, pokud nějakým způsobem můžeme propojit záznamy mezi tabulkami. Vztah můžeme zřídit prostřednictvím množiny primárních a cizích klíčů, nebo přes vazební tabulku. Způsob, jakým vztah zřizujeme, záleží na typu vztahu, který mezi tabulkami existuje. Vztah je důležitou součástí relační databáze: Umožňuje vytvářet vícetabulkové pohledy. Je klíčový pro integritu dat, protože pomáhá redukovat nadbytečná data a eliminuje duplicitní data.

Vztah 1:1 Ukázka viz studijní text Význam relace 1:1 je takový, že právě jednomu záznamu v jedné tabulce odpovídá právě jeden záznam v tabulce druhé. Jednotlivé záznamy v obou tabulkách jsou spojeny přímo. Tento typ relace se málo kdy používá, protože takto spojené údaje lze vlastně umístit přímo do jedné tabulky. Relace samotná pak slouží zejména pro lepší přehlednost. Relace 1:1 má význam zejména u velmi rozsáhlých tabulek s mnoha sloupci. V takovém případě slouží druhá propojená tabulka jako „odlehčení“ té první, zejména v případě že se s hodnotami v druhé tabulce příliš často nepracuje. Ukázka viz studijní text

Vztah 1:N Relace 1: N je nejpoužívanějším typem. Vyjadřuje, že právě jednomu záznamu v první tabulce odpovídá více záznamů v tabulce druhé. obor_id nazev katedra 5 Informační výchova KTE 8 Hudební výchova KHV Vztah 1:N stag_id jmeno prijmeni obor D0125 Jan Novák 5 D0987 Petr Maléř D0366 Markéta Zpěvná 8

Více oborů (nevhodné řešení) Uvažujme ještě předchozí příklad. Co když studenti mají více než jeden obor studia? Jak to vyřešit? obor_id nazev katedra 5 Informační výchova KTE 8 Hudební výchova KHV Může být primárním klíčem? Vztah M:N stag_id jmeno prijmeni obor D0125 Jan Novák 5 8 D0987 Petr Maléř D0366 Markéta Zpěvná

Vztah M:N Je uskutečněný v případě, že jeden záznam v první tabulce může být ve vztahu k mnoha záznamům ve druhé tabulce a záznam ve druhé tabulce může být ve vztahu k mnoha záznamům v první tabulce. Tento vztah se zřizuje pomocí vazební tabulky. Vazební tabulka se vytvoří pomocí spojení kopií primárních klíčů původních tabulek do nové tabulky. Kombinace polí vazební tabulky spolu tvoří složený primární klíč vazební tabulky.

Vztah M:N Uvažujme příklad s tabulkami studenti a studijni_obory. Vazební tabulka stag_id jmeno prijmeni D0125 Jan Novák D0987 Petr Maléř D0366 Markéta Zpěvná Složený PK stag_id obor_id D0125 5 8 D0987 D0366 obor_id nazev katedra 5 Informační výchova KTE 8 Hudební výchova KHV

Pojmy vztahující se k integritě Hodnota NULL Představuje hodnotu ve sloupci, která je neznámá nebo neexistující! Pozor Hodnota NULL neznamená totéž jako číselná nula nebo řetězec prázdných znaků. Hodnota NULL symbolizuje nepřítomnost hodnoty.

Integrita Integritní pravidla nebo-li omezení. Doménová integrita Protože každý sloupec je spojen s doménou, existují omezení (doménová omezení) množiny hodnot přípustných pro daný sloupec. Integrita na úrovni pole. Hodnoty v každém poli jsou platné, konzistentní a přesné. Entitní integrita Tabulka nesmí obsahovat prázdnou hodnotu NULL ve sloupci primárního klíče!

Referenční integrita Pokud existuje v tabulce cizí klíč, musí buď hodnota cizího klíče odpovídat hodnotě některého záznamu v domovské tabulce, nebo musí mít cizí klíč prázdnou hodnotu NULL. Příklad chyby: obor_id nazev katedra 5 Informační výchova KTE 8 Hudební výchova KHV stag_id jmeno prijmeni obor D0125 Jan Novák 5 D0987 Petr Maléř 6 D0366 Markéta Zpěvná 8

Další omezení Omezení primárního klíče NOT NULL Unikátní index

Relační jazyky Strůjce relačního modelu dat Dr. Codd navrhl dva jazyky: Relační algebru a Relační kalkul. Relační algebra je procedurální jazyk: musíme specifikovat, jaká data jsou zapotřebí a jak přesně tato data vyvolat. Relační kalkul je neprocedurální: musíme specifikovat pouze to, jaká data jsou zapotřebí a je záležitostí DBMS určit nejefektivnější metodu pro vyvolání těchto dat. Dva hlavní jazyky (vyšší úrovně, neprocedurální) používané pro RDBMS jsou: SQL (Structured Query Language) QBE (Query-By-Example).

Zapamatujte si Databázový model Relační model databáze Relace, Atribut, Datová n-tice, Doména, Entita Klíče (primární, cizí, kandidátní) Vztahy Integrita a Omezení Relační jazyky