Databázové systémy trocha teorie



Podobné dokumenty
RELAČNÍ DATABÁZOVÉ SYSTÉMY

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

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

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

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

Databázové systémy úvod

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

Relační databáze a povaha dat

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

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

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

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

UNIVERZITA PALACKÉHO V OLOMOUCI

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

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

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

Databázové systémy úvod

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

Maturitní témata z předmětu PROGRAMOVÉ VYBAVENÍ pro šk. rok 2012/2013

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

4IT218 Databáze. 4IT218 Databáze

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

Univerzita Pardubice Fakulta ekonomicko-správní Ústav systémového inženýrství a informatiky Návrh a tvorba databáze v prostředí vybrané firmy

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

5. POČÍTAČOVÉ CVIČENÍ

Etapy tvorby lidského díla

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

SQL. strukturovaný dotazovací jazyk. Structured Query Language (SQL)

VYUŽITÍ REGIONÁLNÍCH FUNKCÍ A WWW ROZHRANÍ V INTEGROVANÉM KNIHOVNÍM SYSTÉMU KPWINSQL


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

Data v informačních systémech

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

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

4IT218 Databáze. 4IT218 Databáze

Databáze SQL SELECT. David Hoksza

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Databázové systémy úvod

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

J. Zendulka: Databázové systémy 4 Relační model dat 1

Datové modelování. Datové modely v GIS. Úrovně abstrakce reality

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

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

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

4. Základy relačních databází, logická úroveň návrhu

Použití databází na Webu

Příklady a návody. Databázová vrstva

Aplikace počítačů v provozu vozidel 9

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

Jazyk S Q L základy, příkazy pro práci s daty


Prohlášení. V Praze dne 20. května 2011 Podpis:.

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Databázové systémy úvod

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


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


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


DUM 12 téma: Příkazy pro tvorbu databáze



Konceptuální modelování. Pavel Tyl

ÚVOD DO DATABÁZÍ. Metodické listy pro předmět

Klíčová slova: dynamické internetové stránky, HTML, CSS, PHP, SQL, MySQL,

10. blok Logický návrh databáze

Databázové systémy a SQL


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

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

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

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


DATABÁZOVÉ SYSTÉMY MYSQL. Sestavil Mgr. Jan Kubrický. Distanční opora Poslední úprava:

DATABÁZOVÉ SYSTÉMY. Vladimíra Zádová, KIN, EF TUL - DBS


Informační systémy ve zdravotnictví. 6. cvičení




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

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

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.





B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux




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

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23






Transkript:

Databázové systémy trocha teorie Základní pojmy Historie vývoje zpracování dat: 50. Léta vše v programu nevýhody poměrně jasné Aplikace1 alg.1 Aplikace2 alg.2 typy1 data1 typy2 data2 vytvoření systémů pro zpracování souborů nevýhody systému pro zpracování souborů: - redundance dat a nekonzistence - problémy s přístupem k datům ( neplánované dotazy ) - izolace dat ( sbírání dat z jednotlivých souborů ) - problémy s bezpečností dat ( omezený přístup ) - problémy integrity ( implementace integritních omezení ) systémy řízení baze dat ( SŘBD ) Aplikace1 Aplikace2 typy1 alg.1 typy2 alg.2 Systém pro zpracování souborů data1 soubor1 data2 soubor2 2.polovina 60.let systémy řízení báze dat Aplikace1 alg.1 Aplikace2 alg.2 Systém řízení báze dat data1 data2 databáze typy1 typy2 Databáze (DB) - perzistentní strukturovaná data, využívaná aplikačními systémy dané instituce. Další vlastnosti databáze: Integrovaná - lze chápat jako sjednocení několika datových souborů s odstraněním redundance (úplným nebo částečným) Sdílená typicky víceuživatelský přístup s případným omezením pohledu Bezpečná - snadněji se realizuje omezení práv přístupu k datům SŘBD systém řízení báze dat, programová vrstva řešící operace nad DB. Tento poněkud krkolomný název vznikl přeložením původního anglického termínu DBMS -- DataBase Management System. Mezi SŘBD patří takové programy jako Oracle, MS SQL Server, Sybase, Informix, Progress, (MS Access).

Převážná většina dnes používaných SŘBD při uspořádání údajů v databázi vychází z relačního modelu dat. Název tohoto modelu vychází z relační algebry, což je matematický aparát, na kterém relační model dat staví. V tomto modelu jsou údaje uspořádány do tabulek. Tabulka zpravidla shromažďuje údaje o jednom druhu objektů. Můžeme tak mít například tabulku s osobními údaji zaměstnanců. Jednotlivé řádky odpovídají jednotlivým zaměstnancům. Sloupce pak obsahují informace o pracovnících například by to mohly být následující údaje: osobní číslo, jméno, rodné číslo, adresa a výše platu. Sloupcům tabulky obvykle říkáme v databázové terminologii položky nebo atributy. Jednotlivé řádky se pak nazývají záznamy. aplikace SŘBD DB - odstínění uživatele (aplikace) od technických detailů - operace typu vytvoření DB souboru,... Databázový systém (DBS) systém, který zahrnuje : technické prostředky data DB programové vybavení SŘBD, vývojové prostředky, generátory sestav, aplikace, utility, uživatelé DB ( administrátor databáze manipuluje se schématem databáze, aplikační programátoři tvorba aplikací, zralí uživatelé formulují dotazy, naivní uživatelé pracují s aplikací ) Když to celé zjednodušíme tak se dá ve výsledku napsat : DBS = DB+SŘBD Další pojmy: Instance databáze kolekce informací uložených v DB v konkrétním časovém okamžiku Schéma databáze metainformace popisující data v databázi ( v systémovém katalogu nebo v slovníku dat) Logické schéma, fyzické schéma,externí schéma(subschéma) uroveň pohledů, konceptuální schéma, interní schéma. Analogie datového typu a hodnoty proměnné(v daném okamžiku). Logické schéma databáze odráží použitý datový model. Datové modelování Datová abstrakce jedním z důležitých úkolů DBS je poskytnout uživatelům abstraktní pohled na data (jsou skryty detaily uložení a správy dat). reálný svět různé abstrakce pohledu na data uložená data Základní úrovně abstrakce zahrnují: fyzická (interní )úroveň - popisuje data, jak jsou skutečně uložena konceptuální úroveň - popisuje jaká data jsou skutečně uložena v databázi a jaké vztahy mezi nimi existují. úroveň pohledů - popisuje pouze část databáze, která představuje data viditelná jednotlivými uživateli.

ER diagram a jeho transformace, konceptuální modelování Konceptuální modelování: Fáze datové analýzy využívající modelů založených na objektech. Cíl - konceptuální schéma. Analýza systému model systému Návrh systému specifikace systému Implementace E-R modely: založeny na chápání světa jako množiny základních objektů (entity) a vztahů mezi nimi (relationship) popisuje data v klidu entita - rozlišitelný, jednoznačně identifikovatelný objekt, o němž chceme mít informace v DB Př) Jan Novák, r.č. 100650/0467; účet číslo 7892346-631 u KB entitní množina - množina entit téhož typu Př) Zaměstnanec, zákazník, účet atribut - vlastnost entity, jejíž hodnotu chceme mít v DB jednoduchý nebo složený (např. adresa:ulice, číslo, město) vztah - asociace mezi několika entitami Př) zákazník - má_účet účet, - obecně n-nární, nejčastěji binární, obecné lze převést na binární - sémantika vztahu určuje "roli" entity ve vztahu (pracuje pro) - vztah může mít atributy ( má_účet ={datum}) - členství entity ve vztahu může být povinné nebo volitelné kardinalita zobrazení - vyjadřuje počet vztahů dané vztahové množiny, ve kterých se entita může vyskytovat pro binární vztahovou množinu R mezi entitními množinami A a B může kardinalita být: 1:1 1:M M:1 M:N Odlišení entity a vztahu: klíč - atribut (případně složený), jednoznačně identifikující entitu (vztah) v množině kandidátní klíč - minimální, primární klíč Př) rodné číslo, (jméno, ulice, město)

E-R diagram Vytváříme ho, když potřebujeme popsat entitní množiny, jejich atributy a vztahy. Transformace ERD na tabulky Qq Ma zaznam vztah Ucet-entitni množina Transakce-slabá ent. množina Cislo uctu atribut, prim. klíč zakaznik silná ent. množina zakazník : Rodne cislo Jmeno Ulice mesto Učet: Cislo_uctu stav transakce: Cislo_uctu Cislo_transakce Datum Castka reprezentace vztahů Cislo uctu Stav Rodne cislo Datum Cislo uctu Rodne cislo Jmeno pobocky

Relační model dat:struktura dat,obecná integr. Omezení, relační algebra Relační databáze je vnímána uživatelem jako kolekce tabulek. Definice dat: definice tabulky = Bázová tabulka autonomní, pojmenovaná tabulka, záhlaví sloupců + řádky hodnot. Relační struktura dat: Doména - pojmenovaná množina skalárních hodnot téhož typu. Skalární hodnota - nejmenší sémantická jednotka dat, atomická (vnitřně nestrukturovaná) - každý atribut je definován na nějaké doméně - domény omezují porovnávání - většina SŘBD pojem domén nepodporuje vůbec nebo jen částečně Relace R na doménách D1, D2,...,Dn je dvojice R = <H, B>, kde H značí záhlaví relace a B tělo relace. Záhlaví relace je množina:h = {(A1:D1), (A2:D2),..., (An:Dn)} Ai Aj pro i j, Ai (i = 1,..., n) značí atributy a Di (i=1,...,n) jsou odpovídající domény. Tělo relace je tvořeno časově proměnnou množinou n-tic: B(t) = {r1, r2,..., rm(t)}, kde ri = {(A1:vi1), (A2:vi2),..., (An:vin)} i = 1,2,..., m(t), n - stupeň (řád) relace, m- kardinalita relace. Vlastnosti relace: 1. neexistují duplicitní n-tice, 2. n-tice jsou neuspořádané, 3. atributy jsou neuspořádané (nemusí vždy být) 4. hodnoty jednoduchých atributů jsou atomické Relační databáze: - vnímána uživatelem jako kolekce časově proměnných normalizovaných relací - tabulek - veškerá data v relační databázi jsou reprezentována explicitní hodnotou Integritní pravidla v relačním modelu Primární klíč (superklíč) - atribut, který jednoznačně identifikuje n-tici v relaci Kandidátní klíč - Atribut k relace R se nazývá kandidátním klíčem, když má tyto dvě časově nezávislé vlastnosti: - jednoznačnost - minimalita každá relace má alespoň jeden kandidátní klíč, atribut, který je součástí kandidátního klíče se nazývá klíčový Primárním klíčem je jeden z kandidátních klíčů (vybraný), zbývající kandidátní klíče se nazývají alternativní (někdy také sekundární). - způsob výběru primárního klíče není v relačním modelu specifikován - primární klíč je základním prostředkem adresace n-tic v relačním modelu

Cizí klíč (Foreign key, FK) Atribut se nazývá cizí klíč, právě když splňuje tyto časově nezávislé vlastnosti: Každá hodnota FK je buď plně zadaná nebo plně nezadaná. Existuje bázová relace R1 s primárním klíčem PK takovým, že každá zadaná hodnota FK je identická s hodnotou PK nějaké n-tice relace R1. Pravidlo referenční integrity: DB nesmí obsahovat žádnou nesouhlasnou hodnotu cizího klíče. V praxi systém přímo podporuje cizí klíče nebo nepodporuje a aplikace si data musí kontrolovat sama. Jazyk SQL (Structured Query Language) - 1975 - Sequel v System R - 1986 - standard ANSI (ANSI-86 SQL)- tzv.úrověň 1,v IBM vlastní standard SQL (SAA-SQL Systems Application Achritecture Database Interface) - 1989 - ANSI-89 SQL, též ISO - tzv.úrověň 2, integritní dodatek (Integrity Addendum) - dominantní úloha DB2 - řada dialektů SQL - základ norma (úroveň 1, 2, případně tzv. integritní dodatek ) Příkazy jazyka pokrývají oblasti: - jazyka pro definici dat, (DDL data definition language, def. celé struktury db, def. atributů, zakládání, modifikace a indexace relací) - jazyka pro manipulaci s daty, (DML data manipulation language, jazyk pro zápis, změny a mazán dat z db. - jazyk na definování dotazů na databázi (DQL data query language) manipulačního jazyka pro hostitelské prostředí (embedded SQL), - definice pohledů, - řízení přístupových práv (authorization), - integrity dat, - řízení transakcí Definice dat: CREATE TABLE, ALTER TABLE, DROP TABLE práce s tabulkama CREATE INDEX, DROP INDEX CREATE SYNONYM, DROP SYNONYM Manipulace s daty: Dotaz: SELECT s jeho všema možnostma Agregační funkce: COUNT, SUM, AVG, MAX, MIN Plus všechny možné další příkaz jazyka SQL, vytváření pohledů, sestav atd.

Architektury: Klient/Server K l i e n t / s e r v e r s e tř e m i v r s t v a m i a p l i k ačn í d a t a b á z o v ý s e r v e r p r e z e n t ačn í s l u ž b y p r e z e n t ačn í l o g i k a l o g i k a a p l i k a c e l o g i k a d a t d a t o v é s l u ž b y o v l á d á n í s o u b o rů n e j v h o d něj š í a r c h i t e k t u r a Př. MySQL / MS SQL databáze + PHP + (X)HTML Lokální Předpokládá se, že databáze je provozována na stejném stroji jako klient, který ji využívá. Ideálním případem je, pokud se vývoj, ladění i vlastní práce odehrávají přímo v integrovaném prostředí. Př. Prostředí aplikace MS Access