+ All Categories
Home > Documents > Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie...

Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie...

Date post: 07-Jul-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
45
Databázové systémy Přednáška 1
Transcript
Page 1: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Databázové systémy

Přednáška 1

Page 2: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Vyučující

• Ing. Martin Šrotýř, Ph.D.

– K614

– Místnost: K311

– E-mail: [email protected]

– Telefon: 2 2435 9532

– Konzultační hodiny:

• Dle domluvy

Page 3: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Databázové systémy

• 14DATS

• 3. semestr

• rozsah:

– 1+1, zimní semestr

• zakončení:

– klasifikovaný zápočet

• počet kreditů:

– 2

Page 4: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Obsah předmětu

• Základní pojmy

• Normální formy

• Vazby

• Datová integrita

• Základy relační algebry

• Nerelační databáze

Page 5: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Harmonogram předmětu

Sudýtýden

Lichý týden

Téma

03.10. 10.10. Úvod, základní pojmy, ER model

17.10. 24.10. Normální formy, kandidátní klíče

31.10. 07.11. Modelování vztahů

14.11.21.11.05.12.

Datová integrita + základy relační algebry

28.11. 19.12. Relační vs. Nerelační databáze

12.12. Datová kvalita, GUI, opakování, diskuse

02.01. 09.01. Test – teorie

Page 6: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Podmínky zápočtu

• Písemný test z teorie – 02.01. / 09.01.

– 1 možnost opravy (nejpozději do 16.2.2018)

– Max. 10b (min. 5b)

– 5 otázek po 2b

• Realizace praktické databáze– Zodpovědět dotazy nad databází

– 3 možné pokusy

– Max. 10b (min. 5b)

– Ve zkouškovém období – vypsané termíny

Page 7: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Bodové ohodnocení - stupnice

A 18 – 20 bodů

B 16 – 17 bodů

C 14 – 15 bodů

D 12 – 13 bodů

E 10 – 11 bodů

Page 8: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Literatura

Skripta

• DATABÁZOVÉ SYSTÉMY PRO DOPRAVNÍ APLIKACE– ČVUT, FD, Jeřábek, Kaliková, Kalika, Krčál, Krčálová, 2010

• Internet

Přednášky / cvičení

• Sharepoint

• H:

• Weby vyučujících

Page 9: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Organizace semestru

• Docházka přednášek – nepovinná

• Docházka cvičení – nepovinná

• Písemka: 02.01. / 09.01.

• Kontrola semestrální práce (cvičení)

• Další změny vyhrazeny – info přes MMS

• Dotazy

Page 10: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Databázové systémy

Page 11: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Co je „relační databáze“?

• Nástroj pro efektivní a spolehlivé ukládání informací a manipulace s nimi

– efektivita + spolehlivost:

• ochrana dat před nahodilou ztrátou či poškozením

• data nesmí spotřebovávat víc prostředků, než je nezbytně nutné

• schopnost načtení dat rozumným způsobem a za přijatelné rychlosti

Page 12: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Terminologie relačních databází

Databázový systém

Aplikaci tvoří formuláře a sestavy, s nimiž pracuje

uživatel

Db.stroj není součástí databáze

Databáze obsahuje fyzickou implementaci

schématu a datDatabázové schéma

popisuje datový model vůči databázi

Datový model je myšlenkový popis daného prostoru

problému

Prostor problému je dobře definovaná část reálného světa

Page 13: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Prostor problému

Page 14: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Terminologie

• Prostor problému - modelovaná část reálného světa. Pozor na nutné omezení na konkrétní, dobře definovanou množinu objektů a jejich vzájemných vztahů.

Page 15: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Datový model – entity, atributy, domény a vztahy

Entita Zákazník

• Jméno

• Příjmení

• Adresa

• Email

• Telefon

Entita Prodejce

• Jméno

• Příjmení

• Zařazení

• Plat

Entita Produkty

• Číslo produktu

• Kategorie

• Váha

• Barva

Doména atributu

Barva:

• červená

• zelená

• modrá

Váha:

0.01 – 200 kg

Page 16: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Terminologie

• Datový model - myšlenkový (konceptuální) popis prostoru problému. Definice entit, atributů, omezení entit, popis vztahů mezi entitami např. E-R model (Entity Relationship Diagram)

Page 17: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Diagram entit a vztahů (E-R diagram)

Objednávka Zaměstna-nec pořídí

objednávku

ZaměstnanecČ.obj.

Datum obj.

Č.prodejce

Zákazník

Příjmení Č.zaměstn. Jméno

Page 18: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Terminologie

• Databázové schéma - definice fyzického rozvržení systému tzn. seznam implementovaných tabulek a pohledů (jde opět o myšlenkové schéma tzn. datový model vyjádřený v pojmech, pomocí kterých je již popisujeme vůči db.stroji

= relační model dat

Page 19: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy
Page 20: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Terminologie

• Databáze - jakmile db.stroji vysvětlíme, jak mají data vypadat, stroj vytvoří určité fyzické objekty, do nichž se ukládají data.

• !! Databáze = sjednocení vytvořené struktury a vlastních dat !!

• Tj. fyzické tabulky, definované pohledy, dotazy, procedury a pravidla pro ochranu dat.

Page 21: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Terminologie

• Databázový stroj - mechanismus, provádějící vlastní fyzickou manipulaci s daty - ukládání na disk a opětovné načtení

Page 22: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Terminologie

• Aplikace - Skládá se z formulářů a sestav, s nimiž pracuje uživatel

Jaký produkt si dnes koupíte ?

Page 23: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Modely pro ukládání a manipulaci s daty

• Relační model dat

• Hierarchický model dat

• Hvězdicový model dat

• Síťový model dat

• atd.

Page 24: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Relační model dat

• Vychází z matematických principů odvozených z teorie množin a predikátové logiky

• definuje:

– strukturu dat (způsob,jakým je možné data reprezentovat)

– integritu dat (způsob ochrany dat)

– manipulaci s daty (operace,které můžeme nad daty provádět)

Page 25: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Vlastnosti relačních db. systémů

• Všechna data se dají reprezentovat v pravidelně uspořádaných strukturách s řádky a sloupci = relace

• Všechny hodnoty v databázi jsou skalární(v každé konkrétní pozici se vyskytuje právě jedna hodnota)

• operace v db se provádí vždy nad celou relací, výsledkem je jiná relace = uzávěr

Page 26: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Relační model - pokračování

• Model neurčuje, jak mají být data fyzicky implementována, jde o pomyslnou reprezentaci dat

• Relace může mapovat fyzickou tabulku, ale též může vyjadřovat pouze určitá vypočtená pole, která se fyzicky nikam neukládají

Page 27: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Relace

• = množina záznamů

• relací může být cokoliv, co je uspořádáno do struktury řádků a sloupců a co obsahuje skalární hodnoty

• existence relace je nezávislá na její fyzické reprezentaci

Page 28: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Relace - příklad

Produkt:

Cena (Kč):

Hmotnost (kg):

Spínací špendlík 3 0.005

Nášivka 1 29 0.005

Opasek 1 429 2.000

Boty 1 1499 10.000

Atribut

Vektor souřadnic

Záhlaví

Tělo

Page 29: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Relace

• Jeden řádek = vektor hodnot (souřadnic)

• Počet řádků = kardinalita relace

• Sloupec ve vektoru souřadnic = atribut

• Počet atributů v relaci = stupeň relace

• Obor hodnot = druh dat, které atribut prezentuje

Page 30: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Relace

• Relace je v podstatě množina, tj. prvky množiny jsou jednoznačně identifikovatelné, tzn. že nesmí obsahovat 2 či více stejných záznamů (řádků)

• Relace je neuspořádaná (čísla řádků nemají smysl)

• Podmínkám relace vyhovuje i prázdná relace

Page 31: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Datový model: E-R model(Entity Relationship Diagram)

• Myšlenkový popis daného prostoru problému

• Základní prvky:

– entity

– atributy

– domény (obory hodnot)

– vztahy

Page 32: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Entity

• Entita = objekt reálného světa, který je schopen nezávislé existence a je jednoznačně odlišitelný od ostatních objektů, tedy: entita je cokoliv, o čem v systému potřebujeme uchovávat nějaké informace

• seznam entit patří k první fázi návrhu datového modelu

Page 33: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Entity - pokračování

• Sestavení seznamu entit: rozhovory s klientem, prohlídka dokumentace, formulářů, výkazů, atd.

• seznam entit nutno prověřit, aby byl úplný a konzistentní (pozor na:opakované E, dvojice E)

• možnost definování podtypů entit

• konkrétní (např. výrobky) x abstraktní entity (např. vztahy)

Page 34: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Atributy

• O každé entitě evidujeme určité skutečnosti = tzv. atributy entity

• Př.:

Zákazník

Jméno Adresa Povolání Stav

ENTITA:

ATRIBUTY:

Page 35: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Strategie návrhu entit a jejich atributů

• Začít požadovaným výsledkem a neudělat návrh složitější, než musí nezbytně být

– Na jaké otázky má databáze odpovídat?

– Výsledný model musí být natolik flexibilní, aby dokázal odpovědět i na otázky kladené v budoucnu

– Cenou za vysokou flexibilitu bývá vyšší složitost systému

Page 36: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Strategie návrhu - pokračování

• Hledejte výjimky (výjimečné situace)

– umět identifikovat všechny výjimky

– systém je třeba navrhnout tak, aby co nejvíce výjimek dokázal zvládnout sám bez „obtěžování uživatele“

– vypustit „nepravděpodobné“ výjimky z důvodu velké nákladnosti zpracování (např. šlechtické tituly)

Page 37: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Strategie návrhu - pokračování

• Správně rozlišit ENTITY a ATRIBUTY

• Př. Adresa může být modelována jako jediná entita s atributy : ulice, PSČ, město, stát,.. Nebo můžeme každou položku modelovat jako samostatnou entitu.

Page 38: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Domény

• Doména = obor hodnot, popisuje typ dat, které daný atribut reprezentuje

• Obor hodnot tvoří množinu všech přípustných platných hodnot, které smí atribut obsahovat

• Obor hodnot - logický pojem (např. věk, vzdělání)

• Datový typ - fyzický pojem (např. text, číslo)

Page 39: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Domény - pokračování

• Obor hodnot (doména) je spojení datového typu a validačního (ověřovacího) pravidla, které ověřuje platnost hodnoty.

• Typově kompatibilní domény = mají vzájemně porovnatelné hodnoty

• !! Ani Microsoft Jet ani SQL Server nemají vestavěnu podporu domén, znají pouze datové typy tzn. umožní porovnat nesprávné údaje

Page 40: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Vztahy

• Tj. vztahy definované mezi entitami = asociace mezi entitami

• Stupeň vztahu = počet entit účastnících se vztahu (unární, binární, ternární)

• Vztah mezi 2 entitami (binární):

– 1:1 (př. zaměstnanec x výplatní páska)

– 1: více (př. zaměstnanec x faktury)

– více : více (př. student x předmět, zam. x klient)

Page 41: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Účast entity ve vztahu

• 1. Úplná - pokud entita nemůže existovat bez účasti ve vztahu

• 2. Částečná - entita může existovat i bez účasti ve vztahu

• Př.: Zaměstnanec -- Prodejce

• Zaměstanec může být i něčím jiným, jeho účast ve vztahu s prodejcem je nepovinná

• Ale prodejce je vždy zaměstnancem, jeho účast je povinná

Page 42: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

Diagram entit a vztahů (E-R diagram)

Objednávka Zaměstna-nec pořídí

objednávku

ZaměstnanecČ.obj.

Datum obj.

Č.prodejce

Zákazník

Příjmení Č.zaměstn. Jméno

Page 43: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

E-R diagram: vysvětlivky

Jedna

Více

Nula nebo jedna

Nula nebo více

Page 44: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

E-R diagram: vysvětlivky

ENTITA

VZTAH

ATRIBUT

Page 45: Přednáška 1 - cvut.cz...Datová kvalita, GUI, opakování, diskuse 02.01. 09.01. Test –teorie Podmínky zápočtu •Písemný test z teorie –02.01. / 09.01. –1 možnost opravy

KONEC


Recommended