1 / 65

Architektury a techniky DS

Architektury a techniky DS. Úvodní přednáška RNDr. David Žák, Ph.D . Fakulta elektrotechniky a informatiky david.zak @ upce.cz. 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

eros
Télécharger la présentation

Architektury a techniky DS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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 OracleEnterpriseManager 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 AutomaticStorage 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 ApplicationClusters.

  6. Doporučená literatura

  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 http://www.techonthenet.com/sql/index.php http://www.dbsvet.cz/ http://interval.cz/serialy/sql-structured-query-language/ http://www.oracle.com http://www.oracle.com/technology/index.html

  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 1890. 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 DatabaseTaskGroup (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) 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 1974-75 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

  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. Historie - Oracle 1977 - společnost Relational Software Incorporated (RSI) vyvíjí RDBS nazvaný Oracle. 1982 - verze Oracle V3. pro sálové počítače, minipočítače i počítače PC, podpora transakčního zpracování. 1983 - společnost RSI se mění na Oracle Corporation 1985 - Oracle V5, architektura klient – server, podpora distribuovaného zpracování 1992 - Oracle7 - pro platformu Unix 1994 - Oracle7 - pro platformu PC

  48. 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í1999 - Oracle8i (Oracle 8.1.5) integrace Javy orientace na internetové technologie (8i)2001 – Oracle9i

  49. Historie - Oracle 2007 Oracle 11g pro Linux

  50. Personal Edition

More Related