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

Podobné dokumenty
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

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

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

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

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

Databázové systémy trocha teorie

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

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

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

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

Databáze. Logický model DB. David Hoksza

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

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

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

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

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

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

DBS Konceptuální modelování

Konceptuální modelování. Pavel Tyl

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í

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

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

Hierarchický databázový model

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

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

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:

4IT218 Databáze. 4IT218 Databáze

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Data v informačních systémech

Databázové systémy. Dátové modelovanie - relačný model

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

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ů. Ing. Jan Šudřich

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

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

VIKBB38 Teoretické základy projektování informačních systémů blok I., KISK FF MU Jan Matula,

Terminologie v relačním modelu

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

Databázové systémy a SQL

Databázové modelování. Analýza Návrh konceptuálního schématu

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

Relace x vztah (relationship)

Funkční schéma Datové schéma Integrita modelu s realitou

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

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

Konceptuální modelování a SQL

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

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

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

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

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

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

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

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

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

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

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

Databáze v MS ACCESS

Databázové systémy BIK-DBS

Databázové systémy. Tomáš Skopal. - úvod do relačního modelu. - převod konceptuálního schématu do relačního

Relační model reprezentuje databázi jako soubor relací. Kaţdá relace představuje tabulku nebo soubor (ve smyslu soubor na nosiči dat).

04 - Databázové systémy

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

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

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.

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

Databázové systémy úvod

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

TEORIE ZPRACOVÁNÍ DAT

4IT218 Databáze. 4IT218 Databáze

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

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

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

2 Konceptuální modelování a návrh databáze

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

Transformace konceptuálního modelu na relační

2 Konceptuální modelování a návrh databáze

J. Zendulka: Databázové systémy 4 Relační model dat 1

DBS Transformace konceptuálního schématu na

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

Návrh databázového modelu

Kapitola 6: Omezení integrity. Omezení domény

Objektově orientované databáze. Miroslav Beneš

DBS Konceptuální modelování

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

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

Úvod do IS. Informační systémy VIKBA18 Mgr. Jan Matula, PhD. I. blok

Okruhy z odborných předmětů

Popisné systémy a databáze

Datové modelování II

Diagram výskytů a vztahů

Semináˇr Java X J2EE Semináˇr Java X p.1/23

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

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

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

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

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

4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1

Relační databáze a povaha dat

Transkript:

Obsah přednášky Databázové systémy Konceptuální model databáze Codd a návrh relační databáze fáze návrhu pojem konceptuální model základní pojmy entity, relace, atributy, IO kardinalita, 2 historie: RDBMS E.F.Codd - 1969 poprvé představil základní principy návrhu relační databáze výzkumný pracovník IBM červen 1970 publikoval aplikoval matematický aparát relační algebry v kombinaci s predikátovou logikou 1.řádu první pokusy o realizaci už v r.1971 (Adabas) realizace se dočkal až koncem 70.let postupně vznikaly RDBMS: SystemR, dbase, Paradox, Oracle, Firebird, DB2, SyBase, FoxBase, MS Access, MS SQL Server a další 3 Coddových 12 pravidel 1. data reprezentována jednotným způsobem hodnotami v tabulkách 2. data jsou zaručeně přístupná kombinací PK, jména tabulky a jména sloupce 3. plná podpora nulových hodnot pro reprezentaci nedefinovaných hodnot pouze u PK nelze 4. přístup ke struktuře stejnými prostředky jako k datům 5. součástí systému jazyk pro definici dat, manipulaci dat, integritu dat a řízení transakcí 6. všechny možné pohledy musí být realizovatelné 4 Coddových 12 pravidel Fáze návrhu RDBMS 7. relační pravidla u relací by měla být zachována i při vkládání a mazání dat 8. změna fyzické struktury dat nesmí vyžadovat změnu aplikačních programů - hw 9. změna logické struktury dat nesmí vyžadovat změnu aplikačních programů tabulky, 10.jazyk by měl podporovat omezení přístupu uživatele při zachování integrity 11.uživatel by neměl vědět, že je databáze distribuovaná 12.změnit strukturu lze pouze pomocí daného jazyka 5 data + požadavky konceptuální návrh (ER diagram) logický návrh (logické schéma) fyzický návrh (fyzická realizace) 6 1

Konceptuální model slouží k popisu dat v databázi nezávisle na jejich fyzickém uložení umožňuje zobrazit a popsat objekty v databázi a vztahy mezi nimi z hlediska jejich významu a chování výsledkem je implementačně nezávislé schéma obecně aplikovatelné v jakémkoli prostředí znázorňuje se v podobě ER diagramu, který definuje entity (třídy prvků), jejich atributy a relace (vztahy) mezi nimi 7 E-R model entitně - relační model množina pojmů s jejichž pomocí popisujeme příslušnou aplikaci umožňuje specifikovat strukturu databáze využívá k tomu definice třídy entit, relací, atributů a integritních omezení při definici těchto pojmů se používá analogie s přirozeným jazykem 8 entita (entity) je objekt reálného světa, který je schopen nezávislé existence a je jednoznačně odlišitelný od ostatních objektů relace (relationship) je vztah, vazba mezi dvěma i více entitami atribut (atribut) je funkce určující některou podstatnou vlastnost entity nebo vztahu klíč (key) jeden nebo několik atributů tabulky určený pro setřídění záznamů podle hodnot v tomto poli. numerický, textový klíč. unikátní klíč klíč tabulky, ve kterém se každá hodnota atributu vyskytuje nejvýše jedenkrát. duplicitní klíč klíč tabulky, ve kterém se každá hodnota atributu může vyskytovat vícekrát (u více různých záznamů). 9 10 jednoduchý klíč klíč tabulky, který je tvořen pouze jediným atributem nejčastěji se vyskytující typ klíče i uměle vytvořený (id) složený klíč klíč tabulky, který je tvořen alespoň dvěma atributy často součást tzv. spojovací tabulky 11 primární klíč (primary key) klíč tabulky, který slouží k jednoznačné identifikaci záznamu musí být unikátní označuje se PK v jedné tabulce může být nejvýše jeden primární klíč cizí klíč (foreign key) klíč tabulky, který slouží k propojení (vytvoření relace) s primárním klíčem jiné tabulky často obsahuje duplicitní hodnoty označuje se FK v jedné tabulce může být více cizích klíčů 12 2

číslo objednávky datum objednávky jméno zaměstnance zaměstnán od název výrobku cena výrobku 10456 12.8.2005 Jan Novák 1.2.2005 Funghi 105 Kč 10456 12.8.2005 Jan Novák 1.2.2005 Hawai 127 Kč 10456 12.8.2005 Jan Novák 1.2.2005 Insalata Belucci 125 Kč 10457 12.8.2005 Emil Král 15.3.2005 Fausto 115 Kč 10457 12.8.2005 Emil Král 15.3.2005 Carpaccio 155 Kč 10458 12.8.2005 Jan Novák 1.2.2005 Insalata Caesar 128 Kč 10458 12.8.2005 Jan Novák 1.2.2005 Rustica 159 Kč 10458 12.8.2005 Jan Novák 1.2.2005 Carpaccio 155 Kč 10458 12.8.2005 Jan Novák 1.2.2005 Hawai 127 Kč 10459 13.8.2005 Jan Novák 1.2.2005 Quatro formaggi 157 Kč 10459 13.8.2005 Jan Novák 1.2.2005 Insalata Belucci 125 Kč 10459 13.8.2005 Jan Novák 1.2.2005 Insalata Greca 109 Kč 10460 13.8.2005 Václav Nový 25.5.2005 Trapolla 145 Kč 10461 13.8.2005 Václav Nový 25.5.2005 Carpaccio 155 Kč 10461 13.8.2005 Václav Nový 25.5.2005 Funghi 105 Kč 10462 14.8.2005 Jan Novák 1.2.2005 Hawai 127 Kč 10462 14.8.2005 Jan Novák 1.2.2005 Fausto 115 Kč 10462 14.8.2005 Jan Novák 1.2.2005 Insalata Greca 109 Kč 10462 14.8.2005 Jan Novák 1.2.2005 Insalata Caesar 128 Kč 10463 14.8.2005 Emil Král 15.3.2005 Fausto 115 Kč 10463 14.8.2005 Emil Král 15.3.2005 Trapolla 145 Kč 10463 14.8.2005 Emil Král 15.3.2005 Quatro formaggi 157 Kč 10463 14.8.2005 Emil Král 15.3.2005 Rustica 159 Kč relační tabulka: PK záznamy atributy id výrobku název výrobku cena výrobku 001 Carpaccio 155 Kč 002 Fausto 115 Kč 003 Funghi 105 Kč 004 Hawai 127 Kč 005 Quatro formaggi 157 Kč 006 Rustica 159 Kč 007 Trapolla 145 Kč 101 Insalata Belucci 125 Kč 102 Insalata Caesar 128 Kč 103 Insalata Greca 109 Kč 13 14 FK číslo objednávky název výrobku 10456 003 10456 004 10456 101 10457 002 10457 001 10458 102 10458 006 10458 001 10458 004 10459 005 10459 101 10459 103 10460 007 10461 001 10461 003 10462 004 10462 002 10462 103 10462 102 10463 002 10463 007 10463 005 10463 006 id zaměstnance jméno zaměstnance zaměstnán od 01 Jan Novák 1.2.2005 PK 02 Emil Král 15.3.2005 03 Václav Nový 25.5.2005 id výrobku název výrobku cena výrobku 001 Carpaccio 155 Kč 002 Fausto 115 Kč 003 Funghi 105 Kč 004 Hawai 127 Kč 005 Quatro formaggi 157 Kč 006 Rustica 159 Kč 007 Trapolla 145 Kč 101 Insalata Belucci 125 Kč 102 Insalata Caesar 128 Kč 103 Insalata Greca 109 Kč FK PK číslo objednávky datum objednávky id zaměstnance 10456 12.8.2005 01 10457 12.8.2005 02 10458 12.8.2005 01 10459 13.8.2005 01 10460 13.8.2005 03 10461 13.8.2005 03 10462 14.8.2005 01 10463 14.8.2005 02 15 postup vytváření: 1. určení typů entit zvolení množiny objektů stejného typu např. Objednávky, Zaměstnanci, Výrobky 2. určení typů relací vztahů, do kterých mohou příslušné entity vstupovat např. Objednávka obsahuje Výrobek 16 postup vytváření: způsob zobrazení: 3. určení atributů přiřazení jednotlivým entitám a vztahům např. Objednávky(číslo, datum, ) 4. určení integritních omezení zpřesnění navrženého modelu např. atribut datum je datového typu Datum a čas datum < dnešní datum 1. lineární vhodné pro rozsáhlé datové objekty snadný způsob zápisu např.: E: Studenti(jméno, příjmení, rč, dat_nar) E:Předměty(název, zkratka, anotace) R:Má_zapsán(Studenti, Předměty) 17 18 3

způsob zobrazení: 2. grafické vhodné pro jednoduché datové objekty obdoba vývojových diagramů např.: jméno rč příjmení Studenti Má_zapsán Předměty dat_nar název zkratka anotace 19 způsob zobrazení: 3. tabulkové nejvhodnější pro návrh konceptuálního modelu logický způsob zobrazení např.: Studenti jméno příjmení rč (pk) dat_nar nebo Předměty zkratka (pk) název anotace 20 1. určení typů entit: entita = jeden objekt databáze (instance) třída entit = abstraktní popis všech možných entit daného typu, které se mohou do budoucna v databázi objevit k jejich označení používáme podstatná jména množina entit = všechny entity daného typu existující v databázi v konkrétním okamžiku neustále se mění dle aktuálního stavu DB 2. určení typů relací: k jejich popisu používáme slovesa rozeznáváme tři základní typy relací typ 1:1 typ 1:N typ M:N někdy označeno jako kardinalita vztahu mezi entitami 21 22 relace typu 1:1 zahrnuje i relace částečné, tj. 1:0 a 0:1 1 1 relace relace typu 1:N zahrnuje i relace: 1:0, 0:1 a 1:1 1 N relace studenti Jan Novák Emil Král Václav Nový Jana Černá Kamil Kratochvíl Daniela Krátká jazykové kursy Německý jazyk Anglický jazyk Francouzský jazyk Ruský jazyk Španělský jazyk Italský jazyk studenti Jan Novák Emil Král Václav Nový Jana Černá Kamil Kratochvíl Daniela Krátká jazykové kursy Německý jazyk Anglický jazyk Francouzský jazyk Ruský jazyk Španělský jazyk Italský jazyk = jeden záznam primární tabulky je možné svázat nejvýše s jedním záznamem sekundární tabulky 23 = jeden záznam primární tabulky je možné svázat s jedním nebo více záznamy sekundární tabulky 24 4

relace typu M:N studenti Jan Novák Emil Král Václav Nový Jana Černá Kamil Kratochvíl Daniela Krátká zahrnuje i relace: 1:0, 0:1, 1:1 a 1:N M relace jazykové kursy Německý jazyk Anglický jazyk Francouzský jazyk Ruský jazyk Španělský jazyk Italský jazyk N 3. určení atributů: k jejich popisu používáme podstatná jména doména množina hodnot stejného významového typu (množina přípustných hodnot) nejedná se o datový typ! = jeden nebo více záznamů primární tabulky je možné svázat s jedním nebo více záznamy sekundární tabulky 25 26 4. určení integritních omezení: = pravidla pro zajištění správnosti a konzistence uložených dat entitní integrita zajištění jednoznačné identifikace každého záznamu tabulky dána definicí PK doménová integrita zajištění souladu každé hodnoty atributu s množinou přípustných hodnot referenční integrita zajištění souladu hodnot cizího klíče sekundární tabulky a odpovídajícího primárního klíče primární tabulky 27 Datové modely spojovací tabulka Zaměstnanci id zaměstnance jméno zaměstnance zaměstnán od číslo objednávky název výrobku 01 Jan Novák 1.2.2005 10456 003 02 Emil Král 15.3.2005 10456 004 03 Václav Nový 25.5.2005 Výrobky 10456 101 10457 002 id výrobku název výrobku cena výrobku 10457 001 001 Carpaccio 155 Kč 10458 102 002 Fausto 115 Kč 10458 006 003 Funghi 105 Kč 10458 001 004 Hawai 127 Kč 10458 004 005 Quatro formaggi 157 Kč 10459 005 006 Rustica 159 Kč 10459 101 007 Trapolla 145 Kč 10459 103 101 Insalata Belucci 125 Kč 10460 007 102 Insalata Caesar 128 Kč 10461 001 103 Insalata Greca 109 Kč 10461 003 Objednávky 10462 004 číslo objednávky datum objednávky id zaměstnance 10462 002 10456 12.8.2005 01 10462 103 10457 12.8.2005 02 10462 102 10458 12.8.2005 01 10463 002 10459 13.8.2005 01 10463 007 10460 13.8.2005 03 10463 005 10461 13.8.2005 03 10463 006 10462 14.8.2005 01 10463 14.8.2005 02 28 vlastnosti relací vlastnosti relací kardinalita relace: = omezení v počtu instancí (záznamů) sekundární entity (tabulky), které mají vztah s jakoukoliv instancí (záznamem) primární entity (tabulky) maximální kardinalita maximální počet souvisejících záznamů 1 nebo N minimální kardinalita minimální počet souvisejících záznamů 0 nebo 1 29 kardinalita relace: Objednávky číslo_objednávky (pk) (1,1) (0,N) datum_objednávky id_zaměstnance (fk) Zaměstnanci id_zaměstnance (pk) jméno_zaměstnance zaměstnán_od 30 5

kardinalita relace: vlastnosti relací Objednávky číslo_objednávky (pk) datum_objednávky id_zaměstnance (fk) Zaměstnanci id_zaměstnance (pk) jméno_zaměstnance zaměstnán_od 31 6