Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Architektury a techniky DS

Podobné prezentace


Prezentace na téma: "Architektury a techniky DS"— Transkript prezentace:

1 Architektury a techniky DS
Úvodní přednáška RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky

2 Obsah předmětu Rozšířit u posluchačů znalosti
tvorby databázových systémů vývoje databázových řešení administrace databází na platformě Oracle Zvládnout pokročilé metody práce s SQL databázemi (Oracle10g).

3 Přehled probírané látky
Vývoj databázových systémů, druhy databází. Platforma Oracle 10g a její historie. Seznámení s nástrojem Oracle Enterprise Manager a verzí Oracle Express Edition. Efektivní navrhování schémat (datové typy, integritní omezení, clustery, IOT, externí tabulky, techniky indexování). Tvorba efektivních příkazů (vzhledem k systémovým prostředkům, ROWID, ROWNUM, způsoby prohledávání, spojování, agregace). Optimalizace zpracování SQL dotazu, exekuční plán.

4 Přehled probírané látky
Efektivní programování v jazyce PL/SQL (balíčky, řetězce závislostí, statické a dynamické příkazy SQL, kurzory). Architektura databáze Oracle. Logické a fyzické úložné struktury. Paměťové struktury. Procesy databázového serveru. Fyzické rozložení databáze a správa úložiště. Technologie Automatic Storage Management.

5 Přehled probírané látky
Zabezpečení a ochrana dat, autentizace uživatelů, audit. Správa transakcí s využitím návratových tabulkových prostorů. Technologie Flashback. Zálohování a obnova dat. Technologie Real Application Clusters.

6 Doporučená literatura
Kevin Loney, Bob Bryla Mistrovství v Oracle Database 10g Computer Press, 2006 Luboslav Lacko Oracle - Správa, programování a použití databázového systému. Computer Press, 2007 Thomas Kyte Oracle - Návrh a tvorba aplikací Computer Press, 2006                 

7 Doporučená literatura
Lacko, L. Oracle, správa, programování a použití databázového systému. Computer Press, 2002. Loney, K., Theriault, M. Mistrovství v Oracle. Computer Press, 2002. Date, C. J., An introduction to database systems, 8th ed. Boston, Pearson Education, 2004. Matiaško, K., Databázové systémy. Žilinská univerzita, 2002.

8 Odkazy na internetu Například

9 Sběr dat a informací 40 000 př.n.l. Jeskynní malby 3 500 př.n.l. Písmo
105 n.l. Papír 1 450 n.l. Knihtisk 1 870 n.l. Telefon 1 906 n.l. Radiové vysílání 1 926 n.l. TV vysílání (o 2 roky později v barvě) 1 950 n.l. Počítač 1 960 n.l. Počítačové sítě 1 993 n.l. WWW služba v síti Internet atd. … satelitní a digitální pozemní TV vysílání, IP broadcast

10 Sběr dat a informací Produkujeme ročně několik mld. GB
v roce 2000 zhruba 2-3 mld. GB v roce 2002 zhruba 4-6 mld. GB To se samozřejmě připočítává k objemům vygenerovaným v předchozích letech. V uvedených číslech jsou započteny i nedigitální formáty (klasická fotografie, ručně psaný text, obrazy, …) Dlouhodobý trend -->> postupně se vše digitalizuje Vyprodukovaná data je třeba vhodným způsobem archivovat a umět s nimi pracovat.

11 Data vs. Informace Data:
• vyjádření skutečností formálním způsobem tak, aby je bylo možno přenášet nebo zpracovat (např. počítačem) • číselné nebo jiné symbolicky vyjádřené (reprezentované) údaje a hodnoty nějakých entit nebo událostí • jakékoli fyzicky (materiálně) zaznamenané znalosti (vědomosti), poznatky, zkušenosti nebo výsledky pozorování procesů, projevů, činností a prvků reálného světa (reality) • surovina, z níž se tvoří informace

12 Data vs. Informace Informace:
• sdělitelný poznatek, který má smysl a snižuje nejistotu • smysluplné interpretace dat a vztahů mezi nimi • data zpracovaná do formy využitelné pro rozhodování: vysvětlením, co znamenají b) uspořádáním (např. knihy v knihovně, telefonní čísla v seznamu) c) uvedením do kontextu (souvislostí, vztahů k jiným údajům)

13 Historie 1 Předchůdcem databází byly papírové kartotéky. Umožňovaly uspořádávání dat podle různých kritérií a zatřiďování nových položek. Veškeré operace s nimi prováděl přímo člověk. Správa takových kartoték byla v mnohém podobná správě dnešních databází.

14 Organizace dat v kartotékách
Problémy duplicity údajů v různých kartotékách (různě uspořádaných) velké objemy dat případné změny vyžadují opravy údajů na různých místech

15 Řešení s rejstříky

16 Rozdělení do více propojených záznamů
Tabulky: čtenáři, výpůjčky, exempláře

17 Historie 2 Dalším krokem bylo převedení zpracování dat na stroje. Za první velké strojové zpracování dat lze asi považovat sčítání lidu ve Spojených státech v roce Paměťovým médiem byl děrný štítek a zpracování sebraných informací probíhalo na elektromechanických strojích. Elektromechanické stroje se využívaly pro účely zpracování dat další půlstoletí. Velkým impulsem pro další rozvoj databází byl překotný vývoj počítačů v padesátých letech 20. století. Ukázalo se, že původně univerzální používání strojového kódu procesorů je (nejen) pro databázové úlohy neefektivní, a proto se objevil požadavek na vyšší jazyk pro zpracování dat.

18 Historie 3 V roce 1959 se konala konference zástupců firem, uživatelů a amerického ministerstva obrany, jejímž závěrem byl požadavek na univerzální databázový jazyk. Výsledkem byla o rok později na konferenci CODASYL publikovaná první verze jazyka COBOL, který byl po mnoho dalších let nejrozšířenějším jazykem pro hromadné zpracování dat. V roce 1965 na konferenci CODASYL byl vytvořen výbor Database Task Group (DBTG), který měl za úkol vytvořit koncepci databázových systémů. Začaly vznikat první síťové SŘBD na sálových počítačích. Jedním z prvních průkopníků databází byl Charles Bachman.

19 Historie 4 V roce 1971 vydal výbor zprávu The DBTG April 1971 Report, kde se objevily pojmy jako schéma databáze, jazyk pro definici schématu, subschéma a podobně. Byla zde popsána celá architektura síťového databázového systému. Ve stejné době byly vyvíjeny i hierarchické databáze. Jedním z prvních SŘBD byl IMS, který byl vyvinut firmou IBM pro program letu na Měsíc mise Apollo. Systém IMS patří stále k nejrozšířenějším na sálových počítačích.

20 Hierarchický databázový model
• data strukturována hierarchicky (znázorňuje obrácený strom) Vztah reprezentován termíny rodič a potomek Tabulka rodiče přidružena k jedné nebo více tabulkám potomků, ale tabulka potomků může být přiřazena pouze k jedné tabulce rodiče. Uživatel přistupuje přes kořenovou tabulku a přes stromovou strukturu se postupně propracovává k záznamům v dalších tabulkách. + rychlost, + zapracovaná referenční integrita záznamy bez vztahu k tabulce rodiče (lze řešit fiktivními prvky) problém se vztahy N:M, které nejsou podporovány (vede na redundanci dat)

21 Hierarchický databázový model

22 Síťový databázový model
Pokus o vyřešení problémů hierarchické databáze uzel reprezentuje soubor záznamů množinová struktura reprezentuje vztahy jeden uzel je definován jako vlastník, druhý jako člen 1 záznam v uzlu vlastník může být v relaci k 1 či více záznamům v uzlu člen 1 záznam v uzlu člen může být v relaci k 1 záznamu v uzlu vlastník mezi dvěma uzly může být více množin spojení člen nemůže existovat bez vztahu na uzel typu vlastník + rychlost, + možnost začít z libovolného uzlu vyžaduje znalost množinové struktury, - problematické změny struktury databáze

23 Síťový databázový model

24 Historie 5 V roce 1969 začínají zveřejněním článku E. F. Codda první relační databáze, které pohlížejí na data jako na tabulky. Kolem roku 1974 se vyvíjí první verze dotazovacího jazyka SQL. Vývoj této technologie po 10 letech přinesl výkonově použitelné systémy, srovnatelné se síťovými a hierarchickými databázemi. V 90. letech 20. století se začínaly objevovat první objektově orientované databáze, jejichž filozofie byla přebírána z objektově orientovaných jazyků. Tyto databáze měly podle předpokladů vytlačit relační systémy. Původní předpoklady se však nenaplnily a vznikla kompromisní objektově-relační technologie.

25 Relační databázový model
Poprvé představen 1969 (Dr. Edgar F. Codd) – IBM Založeno na Teorii množin Predikátorové logice prvního řádu Jméno je odvozeno z pojmu relace z teorie množin.

26 Relační databázový model
vztahy mezi záznamy: • data jsou organizována do uspořádaných n-tic • možnost vyjádřit všechny typy vztahů (1 : 1, 1 : N, N : 1, N : M) prostřednictvím stejných údajů v dvojici položek v souvisejících záznamech • technická (fyzická) realizace: relace klady: + flexibilita při vytváření vztahů mezi různými položkami (spojení není trvalé – definujeme až v okamžiku potřeby) + jednoduchost, snadné získávání dat + změna struktury databáze spočívá v pouhém přidání nebo zrušení sloupce v tabulce a nijak neovlivní ostatní tabulky (→ přínos pro zachování integrity dat) + neprocedurálnost (určujeme, co chceme s daty dělat, nikoli, jak toho dosáhnout, tedy nezávislost dat na databázové aplikaci) zápory: - nároky na paměť a výkon počítače (pracuje se neprocedurálním způsobem s celými množinami dat) – to byl problém do poloviny 90. let - neefektivní vyhledávání: bereme nejprve do úvahy celé množiny dat, z nichž pak vybíráme průnik

27 Co je to relační databáze
(co se za tím skrývá ?)

28 Několik pojmů Databáze - data a nástroje zajišťující jejich ukládání a manipulaci s těmito daty Databázový server – soubor programových prostředků určených pro práci s daty, včetně organizace a realizace přístupu klientů k těmto datům

29 Několik pojmů báze dat (databáze) systém řízení báze dat – SŘBD
uspořádaná množina dat ve formě záznamů, které jsou navzájem v určitém vztahu a jsou přístupné s pomocí systému řízení báze dat uživatelé databáze k ní mohou přistupovat (pracovat s ní) dvěma způsoby13: • operace čtení (předchází výběr – SELECT) • operace zápisu (INSERT, UPDATE, DELETE) systém řízení báze dat – SŘBD • programový systém umožňující vytvoření, údržbu a použití báze dat • řídicí systém databáze, který sídlí mezi vlastní fyzickou vrstvou (daty) a uživatelem. Díky této vrstvě nemusí uživatel při práci s databází vědět naprosto nic o její skutečné fyzické podobě a způsobu, jakým jsou data uložena a udržována. databázová aplikace (database application) program, který umožňuje uživatelům přístup k datům v databázi prostřednictvím formulářů pro zadávání dat, formulářů pro zadávání dotazů a sestav

30 Několik pojmů funkce SŘBD
základní funkce: přenášení (načítání) dat z místa jejich uložení (např. z pevného disku) do místa jejich zpracování (operační paměť) a zpět. Podmínkou efektivnosti této procedury je strukturování dat v místě jejich uložení (např. na záznamy a položky). 1. definování a redefinování dat v databázi (data definition) – organizace datových souborů (vytváření a změny datových struktur) 2. vytváření obsahu databáze – aktualizace datových souborů (vkládání dat, změny, aktualizace dat) 3. výběr a výstup (prezentování, zobrazování, prohlížení) dat z databáze (data display) 4. tvorba vstupních formulářů (obrazovek, pohledů) a výstupních sestav 5. kontrola integrity dat (data integrity) – poskytuje metodu nebo metody pro definování a zajištění správnosti dat 6. kontrola přístupových práv (určuje, kdo a jak může přistupovat k datům) 7. zpravidla obsahuje i programovací jazyk pro vytváření vlastních aplikací

31 Základní relační operace
klasické množinové operace u množinových operací (kromě kartézského součinu) se předpokládá, že obě tabulky, které do operace vstupují jako operandy, mají tyto vlastnosti: • jsou stejného stupně, tj. mají stejný počet sloupců • každý i-tý sloupec z obou tabulek je definován na stejné doméně (tj. položky jsou v obou tabulkách definovány ve stejném pořadí a jako položky stejného typu) sjednocení: vytvoří novou tabulku, která obsahuje všechny řádky obou výchozích tabulek průnik: vytvoří tabulku, která bude obsahovat pouze totožné řádky z obou relací množinový rozdíl: vytvoří tabulku, ve které budou všechny řádky první vstupní tabulky kromě těch, které se vyskytují i v druhé tabulce symetrický rozdíl: vytvoří tabulku, ve které budou všechny řádky obou tabulek s výjimkou těch, které se vyskytují v obou tabulkách kartézský součin: vytvoří novou tabulku tak, že spojuje řádky z obou tabulek systémem každý s každým. Počet sloupců výsledné tabulky je součet počtu sloupců obou vstupních tabulek. Počet řádků je součin počtu řádků obou vstupních tabulek.

32 Speciální relační operace
Projekce výběr sloupců tabulky – vertikální podmnožina

33 Speciální relační operace
Restrikce výběr určité věty z tabulky na základě stanovené podmínky (výběr řádků tabulky) – horizontální podmnožina

34 Speciální relační operace
Spojení tabulek propojení tabulek, které obsahují alespoň jednu stejnou položku (resp. mají alespoň po jedné položce založené na stejné doméně) výsledek zřetězení řádek dvou množin dat provedeného podle jednoho nebo více zadaných pravidel Příklad spojení: Seznam čtenářů knihovny a seznam měst, v nichž tito čtenáři bydlí (spojovací položkou je kód města)

35 Pohled za hranice relačního modelu
Objektově orientovaný model degraduje relační databázi na skladiště dat (vývojář se stará o všechny aspekty databáze) obsahuje charakteristiky objektově orientovaných jazyků Objektově relační model přidání objektově orientovaných prvků (třídy, zapouzdření, dědičnost) cílem pracovat se složitějšími typy dat (audio, video, stavební projekty) Datové sklady

36 Pravidla pro tabulkovou prezentaci relace
(zjednodušení rozmanitostí vztahů zkoumaných teorií relací na binární relace) každý řádek odpovídá jedné n-tici relace 2. pořadí řádků je nevýznamné 3. žádné dva řádky nejsou stejné (tabulka neobsahuje duplicitní řádky) 4. pořadí sloupců je nevýznamné 5. význam každého sloupce je určen jménem atributu 6. žádné dva názvy sloupců (atributy) nejsou stejné 7. hodnoty ve sloupcích jsou atomické (skalární – nelze je dále rozkládat)

37 Porovnání terminologie

38 Význam terminologie z teorie relací

39 Databázový jazyk SQL výzkum v IBM ohledně možnosti využití relačních databází -> vytvoření sady příkazů -> jazyk SEQUEL (Structured English Query Language) 1979 Relational Software (dnes Oracle Corporation) Oracle Obdobně IBM SQL/DS, Progress, Informix, SyBase Přejmenování SEQUEL -> SQL (Structured Query Language) ANSI – standardizace SQL86 (v roce 1986) V dalších letech se ukázalo, že SQL-86 obsahuje některé nedostatky a naopak v něm nejsou obsaženy některé důležité prvky týkající se hlavně integrity databáze - nový standard SQL92 (v roce 1992, zkráceně SQL2) Zatím nejnovějším standardem je SQL3 (SQL-99), který reaguje na potřeby nejmodernějších databází s objektovými prvky.

40 Historie standardizace SQL
IBM ve vývojovém středisku v San José vyvinula 1. verzi SQL (tehdy pod názvem SEQUEL – Structured English Query Language) jako součást prototypových relačních databázových systémů System R a SEQUEL-XRM1986 1987 ISO přijala v nezměněné podobě ANSI SQL jako ISO/IEC 9075 (SQL86) 1989 Vydán dodatek ISO/IEC 9075 „Integrity Enhancement Feature“, umožňující definovat integritní omezení (SQL89) 1992 Schválena norma ISO/IEC 9075:1992 (SQL92, SQL2) 1999 Schválena norma ISO/IEC 9075 SQL:1999 (podmnožina SQL3) od 2000 Příprava SQL4 (nahrazuje SQL3)

41 Popis jazyka SQL Standardní příkazy dělíme do skupin:
Příkazy pro definici dat (DDL) 2. Příkazy pro manipulaci s daty (DML) 3. Příkazy pro řízení dat (DCL) 4. Ostatní příkazy

42 Popis jazyka SQL Příkazy pro definici dat
Těmito příkazy se vytvářejí struktury databáze – tabulky, indexy, pohledy a další objekty. Vytvořené struktury lze také upravovat, doplňovat a mazat. Tato skupina příkazů se nazývá zkráceně DDL – Data Definition Language („jazyk pro definici dat“). CREATE – vytváření nových objektů. ALTER – změny existujících objektů. DROP – odstraňování objektů.

43 Popis jazyka SQL Příkazy pro manipulaci s daty
příkazy pro získání dat z databáze a pro jejich úpravy se označují zkráceně DML (data Manipulation Language) SELECT – vybírá data z databáze INSERT – vkládá do databáze nová data. UPDATE – mění data v databázi (editace). DELETE – odstraňuje data (záznamy) z databáze. EXPLAIN PLAN FOR – speciální příkaz, který zobrazuje postup zpracování SQL příkazu. Pomáhá uživateli optimalizovat příkazy tak, aby byly rychlejší.

44 Popis jazyka SQL Příkazy pro řízení dat
Do této skupiny patří příkazy pro nastavování přístupových práv, řízení provozu a údržby databáze transakcí. Označují se jako DCL – Data Control Language („jazyk pro ovládání dat“), GRANT – příkaz pro přidělení oprávnění uživateli k určitým objektům. REVOKE – příkaz pro odnětí práv uživateli. ALTER USER DROP USER

45 Popis jazyka SQL Příkazy pro řízení dat – skupina příkazů pro řízení transakcí Označují se TCC – Transaction Control Commands („jazyk pro ovládání transakcí"). COMMIT – potvrzení transakce. ROLLBACK – zrušení transakce, návrat do původního stavu. SAVEPOINT SET TRANSACTION

46 Popis jazyka SQL Ostatní příkazy
Do této skupiny patří příkazy pro správu databáze. Pomocí nich lze nastavovat systémové parametry (kódování znaků, způsob řazení, formáty data a času apod.). Tato skupina není standardizována a konkrétní syntaxe příkazů je závislá na databázovém systému.

47 Jenom krůček k relacím Číslo Jméno Příjmení Narozen Oddělení 107 Karel
Pilař Technické 306 Josef Matěj 125 Kamil Oháňka 219 Josefína Krátká Obchodní Číslo Jméno Příjmení Narozen Id_odd 107 Karel Pilař 1 306 Josef Matěj 125 Kamil Oháňka 219 Josefína Krátká 2 Id_odd Oddělení 1 Technické 2 Obchodní

48 Historie - Oracle společnost Relational Software Incorporated (RSI) vyvíjí RDBS nazvaný Oracle. verze Oracle V3. pro sálové počítače, minipočítače i počítače PC, podpora transakčního zpracování společnost RSI se mění na Oracle Corporation Oracle V5, architektura klient – server, podpora distribuovaného zpracování Oracle7 - pro platformu Unix Oracle7 - pro platformu PC

49 Historie - Oracle 1997 - Oracle8 podpora rozsáhlých databází
nové datové typy pro ukládání obrazových a multimediálních dat (BLOB, CLOB, BFILE) podpora objektově orientovaných technologií Oracle8i (Oracle 8.1.5) integrace Javy orientace na internetové technologie (8i) – Oracle9i

50 Historie - Oracle 2007 Oracle 11g pro Linux

51 Personal Edition

52 Standard Edition ONE 2 procesorová verze, aplikace do 400 uživatelů

53 Standard Edition 4 procesorová verze, aplikace do 1000 uživatelů,
obsahuje RAC

54 Enterprise Edition

55 Porovnání verzí

56 Možnosti Oracle 10g

57 Možnosti Oracle 10g AS

58 Oracle

59 Oracle Database 10g XE

60 Oracle Database 10g XE

61 Oracle Database 10g XE • Installs using native installers
• Available on 32-bit Linux and Windows • Installs using native installers • English (single byte character set) and International (Unicode) versions available with support for 10 major languages • Oracle Text for efficient text-based searches

62 Oracle Database 10g XE • Supports up to 4GB of user data
• Executes on one processor in any size server • Uses up to 1GB RAM of available memory in any size server • Fully upgradeable to other Oracle Database 10g editions • Oracle Text for efficient text-based searches

63 Oracle Database 10g XE

64 Oracle Database 10g XE

65 Oracle Database 10g XE

66 Otázky Děkuji za pozornost.


Stáhnout ppt "Architektury a techniky DS"

Podobné prezentace


Reklamy Google