4IT218 Databáze První přednáška
Dušan Chlapek (katedra informačních technologií, VŠE Praha)
4IT218 Databáze První přednáška • Cíle a základní údaje o předmětu. • Základní pojmy. • Relační model dat a operace relační algebry.
Cíle předmětu 1. Seznámit studenty s podstatou a postupem návrhu struktury datové základny (databázové i souborové koncepce). 2. Ozřejmit návrh datové základny v jednotlivých úrovních návrhu (konceptuální, technologická a implementační úroveň). 3. Poskytnout základní znalosti o personálním, programovém a technickém zabezpečení databázových systémů, nejnovějších trendech a kritériích pro klasifikaci databázových systémů. 4. Seznámit studenty s možnostmi a omezeními objektových databázových systémů. 5. Poskytnout praktické zkušenosti v použití jazyka SQL a CASE nástrojů při vytváření aplikace umožňující manipulovat daty uloženými v objektově-relačním databázovém systému ORACLE.
Chlapek, D.: 4IT218 Databáze
Profese připravované na oboru INFORMATIKA na FIS VŠE Praha Byznys analytik Manažer rozvoje a provozu IS/ICT Obchodník s ICT produkty a službami Vývojář IS architekt Správce aplikací a ICT infrastruktury Pokročilý uživatel IT - metodik
Zdroj: Kit FIS VŠE Praha
INFORMATION SYSTEMS - profese Činnosti / Klíčové znalosti
Základní profesní role
Byznys analytik
• •
(Business Process Analyst-Designer)
• • •
Profese: – analytik, – znalostní inženýr, – byznys konzultant, – implementátor TASW, – informační broker, – pracovník competitive inteligence
• •
analýza a návrh podnikových procesů a podnikové organizace analýza a návrh byznys efektů dosahovaných prostřednictvím IS/ICT analýza a návrh řízení znalostí v organizaci analýza rizik IS/ICT, business continuity návrh informatických služeb podporujících podnikové procesy nasazení/customizace standardního software návrh, vytváření a vyhledávání informačního obsahu (informatických služeb, portálu, webu,…) na podporu řízení organizace
Klíčové znalosti: • jak změnit podnikové procesy aby byly rychlejší, výkonnější a méně nákladné a produkovaly kvalitní produkty/služby • jak v procesech nejvhodněji využít znalosti a kompetence zaměstnanců a partnerů • jaké ICT služby/aplikace je výhodné použít pro podporu byznys procesů • jak nejvhodněji lokalizovat a customizovat aplikaci pro potřeby dané organizace Poznámka: vyžadována znalost globálních nejlepších praktik v kombinaci se znalostí lokálních podmínek a podnikové kultury (offshore outsourcing nepravděpodobný)
Zdroj: Kit FIS VŠE Praha
INFORMATION SYSTEMS - profese Základní profesní role
Manaž Manažer rozvoje a provozu IS/ICT (ICT Manager)
Profese: • CIO, • manažer projektu, • manažer provozu, • manažer bezpečnosti
Činnosti / Informatické profese • • • • • • • • • • •
řízení ICT projektu vypracování informační strategie vypracování sourcing strategie řízení vztahu s dodavateli řízení informatických služeb (service delivery) řízení provozu IS/ICT podniku řízení změn (problem and change management) řízení rizik řízení bezpečnosti řízení ekonomiky IS/ICT kontrola kvality a audit IS
Klíčové znalosti: • metody řízení vztahu byznys – informatika (jak pomocí ICT podpořit dosažení byznys cílů) • jak organizovat a řídit vývoj a provoz ICT služeb, procesů a zdrojů • jak řídit a koordinovat ICT projekty • trendy ICT a jejich dopady Poznámka: tuto profesi není vhodné outsourcovat
Zdroj: Kit FIS VŠE Praha
INFORMATION SYSTEMS - profese Činnosti / Klíčové znalosti
Základní profesní role • • • • •
Obchodní Obchodník s ICT produkty a služ službami (ICT Salesman)
•
Profese: • obchodník s ICT produkty a službami, • pracovník řídící dodávky externích produktů a služeb do organizace, • account manager, • relationship manager
marketing ICT produktů a služeb prodej ICT produktů a služeb nákup ICT produktů a služeb uzavírání smluv na ICT produkty a služby (SLA) řízení dodavatelsko-odběratelských vztahů dle principů sourcing strategie vyjednávání s partnery s respektováním různých národních a podnikových kultur
Klíčové znalosti: • znalost globálního a lokálního ICT trhu, metody analýzy trhu • znalost významných stávajících/potenciálních partnerů/zákazníků • legislativa ovlivňující obchod s ICT • strategie a taktiky vyjednávání Poznámka: tuto profesi není vhodné outsourcovat
Zdroj: Kit FIS VŠE Praha
„Software Engineering“ - profese Činnosti / Klíčové znalosti
Základní profesní role
Vývojá Vývojář IS architekt (Developer / IS Architect) Profese: • vývojář, • programátor, • tester, • systémový integrátor, • IT architekt, • systems development manager
• • • • • • • • • •
analýza a návrh aplikací IS návrh databáze dolování dat programování klientských, serverových, databázových a webových aplikací programování gridu testování aplikací dokumentace aplikací (projekční, programová, provozní, uživatelská) údržba a správa verzí aplikací integrace aplikací návrh hardwarové, softwarové a datové architektury IS/ICT organizace
Klíčové znalosti: • technologie a postupy pro vývoj, integraci a provoz aplikací • jak navrhovat uživatelsky přívětivé a provozně nenáročné aplikace • návrh vhodné technologické a aplikační architektury IS/ICT organizace • řízení vývojářského týmu Poznámka: snadno outsourcovatelné, tyto profese se přesouvají do zemí s nízkými náklady práce (s výjimkou analýzy a návrhu aplikací)
Zdroj: Kit FIS VŠE Praha
„Software Engineering“ - profese Základní profesní role
Sprá Správce aplikací aplikací a ICT infrastruktury (ICT Administrator) Profese: • správce aplikace, • správce databáze, • správce dat, …
Činnosti / Klíčové znalosti • • • • • •
správa aplikace, školení a podpora uživatelů správa databáze správa datového obsahu správa sítě a základního SW správa konfigurací správa webu
Klíčové znalosti: • jak pořizovat, udržovat, provozovat a vyřazovat jednotlivé komponenty ICT infrastruktury • jak dimenzovat a škálovat ICT infrastrukturu • jak podporovat uživatele při využití IS/ICT
Poznámka: snadno outsourcovatelné, tyto profese se přesouvají do zemí s nízkými náklady práce.
Zdroj: Kit FIS VŠE Praha
Cíle předmětu 1. Seznámit studenty s podstatou a postupem návrhu struktury datové základny (databázové i souborové koncepce). 2. Ozřejmit návrh datové základny v jednotlivých úrovních návrhu (konceptuální, technologická a implementační úroveň). 3. Poskytnout základní znalosti o personálním, programovém a technickém zabezpečení databázových systémů, nejnovějších trendech a kritériích pro klasifikaci databázových systémů. 4. Seznámit studenty s možnostmi a omezeními objektových databázových systémů. 5. Poskytnout praktické zkušenosti v použití jazyka SQL a CASE nástrojů při vytváření aplikace umožňující manipulovat daty uloženými v objektově-relačním databázovém systému ORACLE.
Chlapek, D.: 4IT218 Databáze
Vyučující • • • •
Dušan Chlapek, Ing., Ph.D. Helena Palovská, RNDr., PhD. Pavel Vedral, Ing. další odborníci z praxe (Oracle, Sybase, Microsoft) – jedna zvaná přednáška
Chlapek, D.: 4IT218 Databáze
Literatura Z CHLAPEK, D. -- ŘEPA, V. -- STANOVSKÁ, I. Z GÁLA, L. -- TOMAN, P. -- POUR, J. D DATE, C. J. D D
Chlapek, D.: 4IT218 Databáze
Vývoj informačních systémů : (pracovní sešit ke cvičením) Praha Podniková informatika Praha An introduction to database systems Reading Dokumentace k databázovém systému ORACLE Interní materiály v ISIS
Oeconomica 2005 80-245-0977-6 Grada 2006 80-247-1278-4 Addison-Wesley 2000 0-201-38590-2
Program přednášek (12 přednášek) Týden
Kalendář
Program
1.
39
Cíle předmětu, základní pojmy, relační algebra.
2.
40
Databázové jazyky. SQL - Přehled norem jazyka SQL. SQL – příkaz Select.
3.
41
SQL - dokončení manipulačních příkazů, definiční příkazy.
4.
42
Nástroje dbs ORACLE pro zadávání a ladění příkazů SQL.
5.
43
Vlastnosti relačních databázových systémů. Datové modelování – úvod.
6.
44
Datové modelování.
7.
45
Transformace datového modelu do relačních datových struktur. Normalizace dat.
8.
46
Transakční zpracování, ochrana a bezpečnost v databázovém zpracování.
9.
47
Odpadá - státní svátek
10.
48
Fyzické struktury – implementační úroveň návrhu datové základy. Optimalizace v databázových systémech.
11.
49
Architektury databázového zpracování. Další databázové modely – objektově relační, hierarchické a síťové dbs.
12.
50
Objektové dbs. Trendy a kritéria hodnocení a výběru dbs.
13.
51
Demonstrace vybraného databázového systému.
Chlapek, D.: 4IT218 Databáze
Program předmětu – 13 cvičení Týden
Kalendář
Program
1.
39
Úvodní informace, kontrolní (vstupní) test, Relační algebra (RA)
2.
40
Relační algebra, zahájení SQL
3.
41
Procvičování SQL
4.
42
Procvičování SQL
5.
43
Procvičování SQL
6.
44
Dokončení SQL. Datové modelování
7.
45
Datové modelování, návrh datové základny
8.
46
Test SQL Datové modelování, návrh datové základny
9.
47
10.
48
Datové modelování, návrh datové základny
11.
49
Test z datového modelování
12.
50
Odsouhlasení zadání zkouškového příkladu, řešení zkouškového příkladu CDM, PDM
13.
51
Řešení zkouškového příkladu - integritní omezení, aplikace
Chlapek, D.: 4IT218 Databáze
Způsob hodnocení předmětu Úkol
Bodů
Test SQL 0 až 20 bodů (10 příkladů po 2 bodech)
20
Test návrhu obsahu databáze 0 až 20 bodů (3 úkoly: KS 5 bodů, CDM 10 bodů a PDM 5 bodů)
20
Zkouškový příklad a jeho obhajoba 0 až 40 bodů (viz samostatný snímek)
40
Absolvování závěrečné zkoušky 0 až 20 bodů (1 otázka – seznam viz http://nb.vse.cz/~chlapek/it360/Zkotazky.htm )
20
Celkem – maximum bodů
100
Chlapek, D.: 4IT218 Databáze
Zkouškový příklad Dokumentace bude u zkoušky předána v tištěném i digitálním tvaru. Konzistence návrhu a realizace datové základny budou hlavním předmětem obhajoby zkouškového příkladu. Počet bodů
Úkol 1. Stručný popis zobrazené výseče světa datovým modelem a databází, včetně popisu věcných pravidel, která budou podkladem pro definici integritních omezení. Zadání (v textovém editoru) bude obsahovat popis zahrnující: oalespoň čtyři entity (každá s alespoň třemi atributy), oalespoň jeden vztah M:N.
3
2. Datové modely a) Konceptuální schéma v notaci používané na přednáškách
5
b) Datový model (včetně popisu atributů) bude vytvořen s použitím dostupného CASE prostředku. (např. PowerDesigner CDM)
10
3. Návrh logické struktury databáze implementující datový model (relační schémata) a podrobný popis integritních omezení navržené databáze. (výstup z PowerDesigner - PDM, MS-Word)
7
4. Realizace návrhu databáze v prostředí databázového systému ORACLE, včetně zabezpečení všech ze zadání vyplývajících integritních omezení, naplnění testovacími daty - pro každou tabulku minimálně 3 řádky. K datům budou definována přístupová práva pro následující uživatele: a) uživatel STUDENT: práva pro Select, b) uživatel IT218: práva na operace Select, Insert, Update, Delete Dokumentace bude obsahovat v textovém tvaru všechny skripty (opis použitých příkazů) v členění: a) definice tabulek b) definice integritních omezení c) definice přístupových práv d) definice dalších použitých databázových objektů e) opis vložených dat
10
5. Aplikace sloužící k ověření integrity databáze. Aplikace musí umožnit prohlížet, aktualizovat (vkládat, měnit i rušit) data ve všech nadefinovaných tabulkách. Aplikace může být vytvořena v libovolném vývojovém prostředí (přístupném v počítačové síti VŠE), které přistupuje k datům uloženým v ORACLE přes standardizované rozhraní, např. ODBC. Chlapek, D.: 4IT218 Databáze
5
Zkouškové otázky 1.
Uveďte přednosti a nároky databázové koncepce datové základny ve srovnání se souborovou datovou základnou?
2.
Jaké další kroky budou následovat po vytvoření konceptuálního schéma dat při realizaci datové základny v prostředí relačního databázového systému?
3.
Rozeberte možnosti využití řetězení dat pro realizaci struktury dat.
4.
Jaké možnosti ochrany a zabezpečení dat poskytují databázové systémy.
5.
Uveďte přehled (obecných) možností fyzické realizace přístupových cest k uloženým datům.
6.
Jaké jsou funkce a přínosy použití katalogu (slovníku) dat v databázových systémech?
7.
Uveďte kritéria pro porovnání databázových systémů? Uveďte na příkladech dvou vám známých databázových systémů.
8.
Vysvětlete podstatu a důvody oddělení návrhu datové základny na konceptuální a implementační úrovni.
9.
Vysvětlete podstatu převodu konceptuálního schéma datové základny do implementačního (realizačního) prostředí?
10
Jaké jsou z hlediska datové základny možnosti řešení problému nepřiměřeně dlouhé doby odezvy.
11
Vysvětlete příčiny, důsledky a možnosti řešení redundance v datech.
12
Uveďte, jak se liší popis dat v souborové koncepci datové základy oproti databázové koncepci.
13
Vysvětlete princip a možnosti využití indexování.
14
Rozeberte a vysvětlete základní možnosti (způsoby) fyzické realizace dat.
15
Blíže charakterizujte nějaký Vám známý databázový systém.
16
Nastiňte podstatu relačního modelu. Charakterizujte relační databáze.
17
Vysvětlete rozdíly mezi databázovými systémy založenými na různých datových modelech (stromovém, síťovém, relačním, objektovém)?
18.
Jaké zásady (doporučení) je dobré uplatňovat při návrhu a provozu datové základny a proč?
19.
Charakterizujte databázové jazyky. Uveďte příklady.
20.
Charakterizujte vlastnosti a vývoj jazyka SQL.
21.
Charakterizujte transakční zpracování dat. Popište problémy a způsoby jejich řešení.
22.
Charakterizujte objektové databázové systémy. Proveďte jejich srovnání s relačními dbs.
23.
Co znamená a jakým způsobem je řešena problematika optimalizace v databázových systémech?
Chlapek, D.: 4IT218 Databáze
Způsob hodnocení předmětu • Výsledné hodnocení
1 2 3 4+ 4
Chlapek, D.: 4IT218 Databáze
90 – 100% 75 – 89% 60 – 74% 50 – 59% 59% a méně
Hlavní úkoly pro práci na cvičeních Manipulace s daty v relačního modelu dat Seznámení s jazykem SQL na příkazové úrovni Analýza a návrh struktury obsahu datové základny konceptuální, technologické, implementační.
Využití (nikoliv jako cíle, ale jako prostředku pro dosažení cílů předmětu) CASE nástroje (PowerDesigner) databázový systém ORACLE
Chlapek, D.: 4IT218 Databáze
Navazující předměty 4IT340 Základy správy databázového systému ORACLE 4IT219 Object-Relational Databases ...
Chlapek, D.: 4IT218 Databáze
4IT218 Databáze První přednáška • Cíle a základní údaje o předmětu. • Základní kladní pojmy. pojmy • Relační model dat a operace relační algebry.
Základní pojmy - 1 • Data formalizované a fyzicky zaznamenané znalosti, poznatky, zkušenosti, výsledky pozorování procesů, projevů, činností a prvků světa • Informace smysluplná interpretace dat
Chlapek, D.: 4IT218 Databáze
Základní pojmy - 2 • Databáze integrovaná počítačově zpracovávaná množina persistentních dat • Systém řízení bází dat (SŘBD / DBMS) množina programových prostředků, který umožňuje:
vytvoření databáze, použití databáze (manipulaci s daty v databází – S,I,U,D), údržbu a správu databáze.
• Databázový systém (DBS) = SŘBD + Databáze
Chlapek, D.: 4IT218 Databáze
Základní pojmy - 3 • Přínosy databázového přístupu
sdílení dat, snížení redundance dat, snazší zabránění vzniku nekonzistencí, podpora transakčního zpracování, údržba integrity databáze (integritní omezení), zajištění ochrany databáze před havárií a neautorizovaným přístupem
Chlapek, D.: 4IT218 Databáze
Základní pojmy - 4 • Model dat způsob uspořádání a způsob manipulace s daty Lineární
Síťový A
A
B
C
D B
Relační
Stromový
C
D
Objektově relační
Tabulka A a
a
aaa
aaaa
aaaaa
Tabulka A
A
a
a
aaa
aaaa
aaaaa
bb
bbb
bbbb
Tabulka B b
Tabulka B b
B
C
bb
bbb
bbbb
bbbbb
D
Chlapek, D.: 4IT218 Databáze
Základní pojmy - 5 • Modely dat a databázové systémy DBS budovány nad určitým modelem dat Hierarchické DBS (1967) – IMS, System M Síťové DBS (1969, 1971) – IDMS Relační (1970, 2. pol. 70. let, 80. léta) a objektově relační (90. léta) DBS – ORACLE, Informix, Sybase, MS SQL Server, Progress, DB/2, MySQL, ... Objektové DBS (90. léta) – Orion, GemStone, Ontos, Object Store
Chlapek, D.: 4IT218 Databáze
bbbbb
4IT218 Databáze První přednáška • Cíle a základní údaje o předmětu. • Základní pojmy. • Relač Relační model dat a operace relač relační algebry.
Relační model dat - 1 • • • •
autorem prof. E.F.Codd (první publikace 1969 a 1970) první komerční implementace 1977 IBM System R model dat založený na predikátové logice prvního řádu k manipulaci s daty možno použít relační kalkul nebo operace relační algebry • základní pojmy:
Doména množina hodnot stejného významového typu Relační množina množina vztahů mezi prvky několika domén. Podmnožina kartézského součinu nad několika doménami D1, D2, ... Dn. Nemusí platit: Di≠ Dj . Atribut relace jméno pro použití hodnoty z domény v relaci
Chlapek, D.: 4IT218 Databáze
Relační model dat - 2 • 3 doménové množiny: množina jmen, osobních čísel, dat narození.
Osobní čísla 385
Novák
Jména
Paták
411
Rosák
435 450
1.3.1985 4.6.1974
5.3.1959 8.9.1965
Data narození
Chlapek, D.: 4IT218 Databáze
Relační model dat - 3 • 3 doménové množiny: množina jmen, osobních čísel, dat narození. Množina relací – podmnožina kartézského součinu doménových množin Osobní čísla 385
Novák
Jména
Paták
411
Rosák
435 450
1.3.1985 4.6.1974
Chlapek, D.: 4IT218 Databáze
5.3.1959 8.9.1965
Data narození
Relační model dat - 4 • vizualizace ve formě relační tabulky Zaměstnanci Množina relací – podmnožina kartézského součinu doménových množin
Jména
Jméno
Osob_číslo
Datum_naroz
Novák
385
1.3.1985
Novák
435
8.9.1965
Paták
411
4.6.1974
Rosák
450
5.3.1959
385
Novák
Osobní čísla
Paták
411
Rosák
435 450
1.3.1985 4.6.1974
5.3.1959 8.9.1965
Data narození
Chlapek, D.: 4IT218 Databáze
Relační model dat - 5 • Relační schéma – záhlaví relační tabulky (v čase stálé) obsahuje jméno relační množiny a jména atributů • Tělo relace (v čase proměnné) obsahuje množinu kombinací hodnot atributů v jedné relaci (n-tic kartézského součinu, řádků relační tabulky) Zaměstnanci Jméno Osob_číslo Novák
385
Relační schéma, možno zapsat také: Datum_naroz
Novák
435
8.9.1965
Paták
411
4.6.1974
Rosák
450
5.3.1959
Chlapek, D.: 4IT218 Databáze
Zaměstnanci (Jméno, Osob_číslo, Datum_naroz)
1.3.1985
Tělo relace
Relační model dat - 6 • •
Zobrazení relační množiny ve formě relační tabulky není přesné. Je možné jej použít za určitých předpokladů: – – – – – – – –
všechny řádky jsou shodné struktury, řádky mají stejný počet hodnot, v rámci sloupce jsou všechny hodnoty jednoho typu (z jedné domény), žádné dva řádky nejsou shodné, nezáleží na pořadí řádků a sloupců, každá relační tabulka má jednoznačný název, každý sloupec v rámci tabulky má jednoznačný název, každá relační tabulka má určený „primární klíč“ (viz dále),
–
všechna data v databázi musí být logicky přístupná kombinací názvu tabulky, názvu sloupce a hodnoty primárního klíče
Zaměstnanci Jméno Osob_číslo
Datum_naroz
Novák
385
Novák
435
1.3.1985 8.9.1965
Paták
411
4.6.1974
Rosák
450
5.3.1959
Chlapek, D.: 4IT218 Databáze
Relační model dat - 7 •
Klíč atribut (nebo skupina atributů) jehož hodnota (kombinace hodnot) identifikuje prvky relační množiny (řádky v relační tabulce). Klíče plní funkce vyhledávací a pořádací.
•
Primární klíč (PK) je klíč, který splňuje následující vlastnosti: a) b)
jednoznačnost – jednoznačně identifikuje prvek relační množiny (jeden řádek v relační tabulce) minimálnost – PK se skládá minimálního počtu atributů, tj. žádný z atributů tvořících PK nelze vynechat, aniž by byla porušena jednoznačnost PK.
•
Kandidát primárního klíče (CK) může existovat více atributů, které splňují požadavky PK. Zvolen však musí být pouze jeden.
•
Sekundární klíč (SK) klíč, který identifikuje (potenciálně) množinu řádků (není jednoznačný)
•
Cizí klíč (FK) PK použitý v dalším výskytu k vyjádření vazeb mezi objekty zachycenými v relační databázi.
FK ODDELENI: CIS_ODD
NAZEV
SEF
1 2 3 4 6 7 8 10
PROJEKCE KNIHOVNA PROGRAMOVANI BUFET SKLAD STB PROVOZ POCITACE REDITELSTVI
6 12 20 31 41
PK Chlapek, D.: 4IT218 Databáze
51 77
FK
FK
ZAMESTNANEC: OS_CIS 1 2 3 4 5 6 7 8 9
PK
JMENO
FCE
KONADRA SYKORA STRNAD KOS KOS VOREL DATEL MALY DLOUHY
POSLICEK BESTBOY SVACINAR PROJEKTANT PROJEKTANT BOSS BOSS POSLICEK KNIHOVNIK
PLAT 5400.00 6000.00 7500.00 10500.00 10800.00 12000.00 12600.00 6000.00 9000.00
TITUL
ING ING ING RNDR
CIS_ODD
NADR
1 1 1 1 1 1 1 2 2
6 6 6 6 6 7 77 11 11
Relační model dat - 8 •
Operace relační algebry (RA) – –
•
základní množinové operace: sjednocení, průnik, rozdíl, kartézský součin speciální operace relační algebry: projekce, restrikce, join Pozn.: a) Operace sjednocení, průnik, rozdíl je možné provádět pouze nad kompatibilními relačními tabulkami. b) Výsledkem použité operace RA je nová (odvozená) relační tabulka.
Kompatibilní atributy atributy definované nad shodnou doménou. Příkladem může být např. PK a FK.
•
Kompatibilní relační tabulky tabulky, které jsou stejného stupně (mají stejný počet sloupců) a které obsahují pouze kompatibilní atributy.
Programátoři Jméno Osob_číslo
Analytici Datum_naroz
Jméno Osob_číslo
Datum_naroz
Novák
385
1.3.1985
Novák
385
Rosák
450
5.3.1959
Novák
435
1.3.1985 8.9.1965
Paták
411
4.6.1974
Chlapek, D.: 4IT218 Databáze
Relační model dat - 9 Operace relační algebry – základní množinové - SJEDNOCENÍ Programátoři Jméno Osob_číslo
Analytici Datum_naroz
Jméno Osob_číslo
Datum_naroz
Novák
385
1.3.1985
Novák
385
Rosák
450
5.3.1959
Novák
435
1.3.1985 8.9.1965
Paták
411
4.6.1974
Odvození relační tabulky, která bude obsahovat údaje: o všech zaměstnancích (analyticích i programátorech) Zápis: Programátoři_Analytici = Programátoři ∪ Analytici Programátoři_Analytici Jméno Osob_číslo
Chlapek, D.: 4IT218 Databáze
Datum_naroz
Novák
385
Novák
435
1.3.1985 8.9.1965
Paták
411
4.6.1974
Rosák
450
5.3.1959
Relační model dat - 10 Operace relační algebry – základní množinové - PRŮNIK Programátoři Jméno Osob_číslo
Analytici Datum_naroz
Jméno Osob_číslo
Datum_naroz
Novák
385
1.3.1985
Novák
385
Rosák
450
5.3.1959
Novák
435
1.3.1985 8.9.1965
Paták
411
4.6.1974
Odvození relační tabulky, která bude obsahovat údaje: o zaměstnancích, kteří jsou analytiky a současně i programátory Zápis: Všestranní = Programátoři ∩ Analytici Všestranní Jméno Osob_číslo Novák
385
Datum_naroz 1.3.1985
Chlapek, D.: 4IT218 Databáze
Relační model dat - 11 Operace relační algebry – základní množinové - ROZDÍL Programátoři Jméno Osob_číslo
Analytici Datum_naroz
Jméno Osob_číslo
Datum_naroz
Novák
385
1.3.1985
Novák
385
Rosák
450
5.3.1959
Novák
435
8.9.1965
Paták
411
4.6.1974
Odvození relační tabulky, která bude obsahovat údaje: o všech specialistech - programátorech Zápis: Pouze_programující = Programátoři - Analytici Pouze_programující Jméno Osob_číslo Rosák
Chlapek, D.: 4IT218 Databáze
450
Datum_naroz 5.3.1959
1.3.1985
Relační model dat - 12 Operace relační algebry – množinové – SYMETRICKÝ ROZDÍL Programátoři Jméno Osob_číslo
Analytici Datum_naroz
Jméno Osob_číslo
Datum_naroz
Novák
385
1.3.1985
Novák
385
1.3.1985
Rosák
450
5.3.1959
Novák Paták
435 411
8.9.1965 4.6.1974
Odvození relační tabulky, která bude obsahovat údaje: o všech specialistech pouze na jednu činnost Zápis: Specialisté = Programátoři - Analytici Specialisté Jméno Osob_číslo
Datum_naroz
Novák
435
Paták
411
8.9.1965 4.6.1974
Rosák
450
5.3.1959
Pozn: Operace symetrický rozdíl není základní operací RA. Je odvoditelná s použitím jiných operací RA. Například kombinací tří operací: Všichni = Programátoři ∪ Analytici Všestranní = Programátoři ∩ Analytici Specialisté = Všichni - Všestranní
Chlapek, D.: 4IT218 Databáze
Relační model dat - 13 Operace relační algebry – speciální - PROJEKCE Zaměstnanci Jméno Osob_číslo
Datum_naroz
Novák
385
Novák
435
1.3.1985 8.9.1965
Paták
411
4.6.1974
Rosák
450
5.3.1959
Odvození relační tabulky, která bude obsahovat údaje: o JMÉNECH všech zaměstnanců Zápis: Jména_zaměstnanců = π Zaměstnanci (Jméno) Jména_zaměstnanců Jméno Novák Paták Rosák
Chlapek, D.: 4IT218 Databáze
Relační model dat - 14 Operace relační algebry – speciální - RESTRIKCE Zaměstnanci
Oddělení
Jméno Osob_číslo Datum_naroz Novák Novák Paták Rosák
385 435 411 450
Cis_odd
1.3.1985 8.9.1965 4.6.1974 5.3.1959
Cis_odd
Název
Patro
01
Finančních systémů
1
02
Integrace
2
03
Služeb IS/ICT
2
01 02 02 01
Odvození relační tabulky, která bude obsahovat údaje: o odděleních sídlících ve druhém patře Zápis: Oddělení_Patro2 = ρ Oddělení (Patro = 2) Oddělení Cis_odd
Název
02
Integrace
Patro 2
03
Služeb IS/ICT
2
Chlapek, D.: 4IT218 Databáze
Relační model dat - 15 Operace relační algebry – speciální – JOIN (equi) Zaměstnanci
Oddělení
Jméno Osob_číslo Datum_naroz Novák Novák Paták Rosák
385 435 411 450
Cis_odd
1.3.1985 8.9.1965 4.6.1974 5.3.1959
01 02 02 01
Cis_odd
Název
Patro
01
Finančních systémů
1
02
Integrace
2
03
Služeb IS/ICT
2
Odvození relační tabulky, která bude obsahovat údaje: o údaje o zaměstnancích a názvech jejich oddělení a umístění v patře Zápis: Zam_s_nazvy = join (Zaměstnanci.Cis_odd = Oddělení.Cis_odd) Zam_s_nazvy Jméno Osob_číslo Novák Novák Paták Rosák
385 435 411 450
Datum_naroz
Cis_odd
Cis_odd
Název
Patro
1.3.1985 8.9.1965 4.6.1974 5.3.1959
01 02 02 01
01 02 02 01
Finančních systémů Integrace Integrace Finančních systémů
1 2 2 1
Pozn: Operace join není základní operací RA. Je odvoditelná s použitím operace kartézský součin a restrikce: Součin = Zaměstnanci x Oddělení Zam_s_nazvy = ρ Součin (Zaměstnanci.Cis_odd = Oddělení.Cis_odd) Chlapek, D.: 4IT218 Databáze
Relační model dat - 16 Operace relační algebry – speciální – JOIN (equi) - odvození Zaměstnanci Jméno Osob_číslo Novák 385 Novák 435 Paták 411 Rosák 450
Oddělení Datum_naroz 1.3.1985 8.9.1965 4.6.1974 5.3.1959
Cis_odd 01 02 02 01
Cis_odd 01 02 03
Název Finančních systémů Integrace Služeb IS/ICT
Patro 1 2 2
Pozn: Operace join není základní operací RA. Je odvoditelná s použitím operace kartézský součin a restrikce: Součin = Zaměstnanci x Oddělení Zam_s_nazvy = ρ Součin (Zaměstnanci.Cis_odd = Oddělení.Cis_odd)
Součin
Chlapek, D.: 4IT218 Databáze
Jméno Osob_číslo Novák 385 Novák 385 Novák 385 Novák 435 Novák 435 Novák 435 Paták 411 Paták 411 Paták 411 Rosák 450 Rosák 450 Rosák 450
Datum_naroz 1.3.1985 1.3.1985 1.3.1985 8.9.1965 8.9.1965 8.9.1965 4.6.1974 4.6.1974 4.6.1974 5.3.1959 5.3.1959 5.3.1959
Cis_odd 01 01 01 02 02 02 02 02 02 01 01 01
Cis_odd 01 02 03 01 02 03 01 02 03 01 02 03
Název Finančních systémů Integrace Služeb IS/ICT Finančních systémů Integrace Služeb IS/ICT Finančních systémů Integrace Služeb IS/ICT Finančních systémů Integrace Služeb IS/ICT
Patro 1 2 2 1 2 2 1 2 2 1 2 2