Analýza dat a modelování. Přednáška 3

Podobné dokumenty
Databáze I. Přednáška 2

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

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

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

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

Analýza dat a modelování. Přednáška 2

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

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

Analýza dat a modelování. Přednáška 1

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

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

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

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

Databázové systémy úvod

Databázové systémy úvod

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

Analýza a modelování dat. Přednáška 5

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

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

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ř.

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

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

Etapy tvorby lidského díla

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

Algoritmizace prostorových úloh

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

Maturitní otázky z předmětu PROGRAMOVÁNÍ

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

DBS Databázové modely

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

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

Šablony, kontejnery a iterátory

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

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í

Algoritmizace prostorových úloh

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í

DBS Databázové modely

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

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

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

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

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

Databázové systémy trocha teorie

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

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

Kolaborativní aplikace

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

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

Teorie zpracování dat DATABÁZOVÁ TECHNOLOGIE

O datových typech a jejich kontrole

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

Dynamické datové struktury I.

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

1 Úvod. J. Zendulka: Databázové systémy - 1 Úvod 1

J. Zendulka: Databázové systémy - 1 Úvod Intuitivní vymezení pojmu databáze

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/

Michal Krátký, Miroslav Beneš

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

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

Databázové systémy BIK-DBS

Databázové systémy a SQL

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

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

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

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

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

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

Konceptuální modelování. Pavel Tyl

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

Tvorba informačních systémů

Relace x vztah (relationship)

Úvod do teorie grafů

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years

Databázové systémy. Cvičení 6: SQL

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

Šablony, kontejnery a iterátory

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Unity a Objekty (NMIN102) RNDr. Michal Žemlička, Ph.D.

Nerelační databázové modely. Helena Palovská

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

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

Fronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu

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

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

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

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

Různé úrovně pohledu na data

Databázové systémy úvod

DATABÁZE, ATRIBUTY. SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 3.ročník

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

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

Jazyk SQL databáze SQLite. připravil ing. petr polách

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

2. Konceptuální model dat, E-R konceptuální model

Konceptuální modelování a SQL

Transkript:

Analýza dat a modelování Přednáška 3

Hierarchický model Hierarchical Data Manipulation Language - HDML manipulace s daty (vyhledávání) pomocí příkazů HDML v hierarchickém SŘBD připomíná princip práce se seznamy (např. spojovým seznamem) v programovacích jazycích

HDML procházení je sekvenční SŘBD udržuje ukazatel na aktuální záznam aktuální databázový záznam (current database record) = poslední záznam, ke kterému přistoupil nějaký příkaz posloupnost DB příkazů probíhá od aktuálního záznamu, může definovat nový aktuální záznam

HDML základní příkaz pro nalezení aktuálního záznamu GET: GET FIRST <typ záznamu> [WHERE<podm.>] prohledává databázi od začátku hierarchické sekvence, hledá první instanci záznamu splňující podmínku (sekce podmínky je nepovinná) GET NEXT <typ záznamu> [WHERE<podm.>] prohledává od aktuálního záznamu a hledá další záznam splňující podmínky příkaz nastaví příznak DB-Status podle výsledku operace (0 = úspěch)

Hierarchický model Kuldanů Novák 1 3 2

Hierarchický model 320612/1234 František Kuldanů (záznam otec ) 1, 100, 25.3.1990,10.11.2005 (záznamy syn ) 3, 150, 26.3.1990,10.11.2005 521006/567 Josef Novák (záznam otec ) 2, 100, 25.3.1990,20.11.2005 (záznam syn )

výpis všech čtenářů HDML get first ctenar; while DB-status = 0 do begin print(ctenar.jmeno,ctenar.prijmeni); get next ctenar; end

HDML výpis všech čtenářů, kteří mají příjmení Novák get first ctenar where ctenar.prijmeni=" Novak"; while DB-status = 0 do begin print(ctenar.jmeno,ctenar.prijmeni); get next ctenar where ctenar.prijmeni=" Novak"; end

HDML příkaz pro nalezení dalšího záznamu, který má stejný rodičovský záznam GET NEXT WITHIN PARENT <typ záznamu> [WHERE<podm.>]

HDML výpis všech exemplářů, které si vypůjčil Novák get first ctenar where ctenar.prijmeni=" Novak"; get next within parent exemplar; while DB-status = 0 do begin print(exemplar.prir_c); get next within parent exemplar; end

HDML aktualizační příkazy: INSERT vloží záznam do databáze DELETE vymaže záznam z databáze GET HOLD používá se pro nastavení daného záznamu jako aktuálního záznamu

HDML zápis nové výpůjčky čtenáře exemplar.prir_c := 3; exemplar.datum_vyp := 12.10.2016; insert exemplar where ctenar.rc = "320212/1234";

Síťový model vznikl v roce 1969 tvůrce Charles Bachman specifikace publikována na konferenci Conference on Data Systems Languages (CODASYL) Consortium standardizován v 80. letech jako specifikace ISO

Síťový model Základní princip data jsou uložena ve formě vzájemně fyzicky provázaných záznamů (tvoří síť) na rozdíl od stromového hierarchického modelu, kde syn má pouze 1 rodiče, může mít záznam i dva předky srovnejte logické databázové modely: relační model: množina logicky provázaných relací (tabulek) přes cizí klíče síťový model: graf síť hierarchický model: graf - strom

E-R model ČTENÁŘ (0,n) RČ JMÉNO PSČ (0,m) SI_VYPŮJČIL SI_REZERVOVAL DATUM_VÝP (0,1) (1,1) EXEMPLÁŘ (0,n) (0,n) KNIHA DATUM_REZ PŘÍR_Č CENA D_NÁK JE_OD TITUL AUTOR ISBN

Síťový databázový model logické schéma EXISTENCE člen EXEMPLÁŘ ČTENÁŘ KNIHA vlastník VÝPŮJČKA REZERVACE KNIHA je vlastník (více) EXISTENCÍ členský záznam nemůže existovat ve více než jedné instanci Poznámka: srovnejte s hierarchickým modelem, který je stromem některé záznamy existují ve více instancích

Příklad konkrétní databáze Josef Novák RČ: 521006/5678 František Kuldanů RČ: 320612/1234 22.10.2013 22.10.2013 22.10.2013 22.10.2013 22.10.2013 Babička ISBN: 80-85190-38-9 Učebnice jazyka C ISBN: 80-85828-02-2 Bylo nás pět ISBN: 80-00-00076-8 Divá Bára ISBN: 9788000005027

Síťový model Implementace dva typy objektů: záznamy (records) reprezentuje entity programátorsky: typ záznam reprezentuje entitní typ C-množiny (Sets) reprezentuje vztahy programátorsky: typ C-množina reprezentuje typ vztahu

Síťový model typ záznamu je analogický typ record v Pascalu JDD a JMD byly de facto programovací jazyky odvozené od Pascalu type ctenar = record RC: string; jmeno: string; PSC: string; end;

Síťový model typ množiny je uspořádáná dvojice { vlastník, {členové} } {čtenář1, {výpůjčka1, výpůjčka2} } množina je implementována jako kruhový spojový seznam

Síťový model ČTENÁŘ1 VÝPŮJČKA1 VÝPŮJČKA2

Síťový model jiný příklad zdroj: RNDr. Palovská

toto je 1 instance, ve skutečnosti má dva ukazatele na následníky ze dvou seznamů Síťový model

Síťový model - DML nalezení všech účastí osob AKCE1 begin FIND A1 Record by Database Key Akce1; Get A1; print(a1.nazev); FIND FIRST ucast_k_akci within UCAST; while Not EOF UCAST do Get ucast_k_akci; FIND OWNER within OSOBA; Get osoba; print(osoba.jmeno); FIND NEXT ucast_k_akci within UCAST; End; End;