4IT218 Databáze. 4IT218 Databáze



Podobné dokumenty
4IT218 Databáze. 4IT218 Databáze

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

Aplikace počítačů v provozu vozidel 9

Objektově orientované databáze

Databázové systémy úvod

RELAČNÍ DATABÁZOVÉ SYSTÉMY

Soubory a databáze. Soubor označuje množinu dat, která jsou kompletní k určitému zpracování a popisují vybrané vlastnosti reálných objektů

Uložené procedury Úvod ulehčit správu zabezpečení rychleji

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

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

EXTRAKT z české technické normy

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

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: jan.skrbek@tul.cz tel.: Konzultace: úterý

Univerzita pro obchodní partnery InfoSphere Guardium. Jan Musil 2009 IBM Corporation

průvodce správou, využitím a programováním

Příloha č. 54. Specifikace hromadné aktualizace SMS-KLAS

obecně závazné vyhlášky o vedení technické mapy obce A. OBECNÁ ČÁST Vysvětlení navrhované právní úpravy a jejích hlavních principů

Koncepce rozvoje Polytematického strukturovaného hesláře (PSH)

1. Základní ustanovení

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

METODIKA PRÁCE S TOUTO APLIKACÍ

Informace veřejného sektoru zdroj surovin pro informace a znalosti ve firmě

Nástroje produktivity

M. Balíková, R. Záhořík, NK ČR 1

Databáze SQL SELECT. David Hoksza

Databázové systémy trocha teorie

Stručný návod na práci v modulu podatelna a výpravna

Metodika testování navazujících evidencí

1) vložení záznamu o smlouvě a jeho atributy (rozumí se i možnost opravy záznamu)

Podrobný postup pro doplnění Žádosti o dotaci prostřednictvím Portálu Farmáře. 1. kolo příjmu žádostí Programu rozvoje venkova ( )

účetních informací státu při přenosu účetního záznamu,

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

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

O D B O R O V É S D R U Ž E N Í Ž E L E Z N I Č Á Ř Ů Republiková rada seniorů JEDNACÍ ŘÁD. 1. Úvodní ustanovení

Pokyny České pošty pro označování Doporučených zásilek čárovými kódy

MINISTERSTVO PRO MÍSTNÍ ROZVOJ UŽIVATELSKÁ PŘÍRUČKA IS KP 14+ PRO INTEGROVANÉ NÁSTROJE: ŽÁDOST O PODPORU STRATEGIE CLLD. Verze: 1.

Česká republika Ministerstvo práce a sociálních věcí Na Poříčním právu 1, Praha 2. vyzývá

Modul informačního systému SPŠSE Liberec

PŘÍLOHA 1.6 SMLOUVY O PŘÍSTUPU K VEŘEJNÉ PEVNÉ KOMUNIKAČNÍ SÍTI LOGISTIKA KONCOVÝCH ZAŘÍZENÍ

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java

Registr UJO. Příručka pro uživatele. Institut biostatistiky a analýz. Lékařské a Přírodovědecké fakulty Masarykovy univerzity.

Metodická pomůcka pro hodnotitele

MATEMATIKA A BYZNYS. Finanční řízení firmy. Příjmení: Rajská Jméno: Ivana

Ukázka knihy z internetového knihkupectví

Analýzy v GIS. Co se nachází na tomto místě? Kde se nachází toto? Kolik tam toho je? Co se změnilo od? Co je příčinou? Co když?

Software IS Řízení stavebních zakázek

29 Evidence smluv. Popis modulu. Záložka Evidence smluv

Rozvojový projekt na rok 2012

Databázové systémy úvod

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

KVALIFIKAČNÍ DOKUMENTACE k veřejné zakázce zadávané podle zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů

PALETOVÉ REGÁLY SUPERBUILD NÁVOD NA MONTÁŽ

ZADÁVACÍ DOKUMENTACE

Budování aplikačních rozhraní pro obousměrnou komunikaci mezi ERMS a jejich vztah k Národnímu standardu pro komunikaci mezi ERMS.

NÚOV Kvalifikační potřeby trhu práce

HLAVA III ODVOLACÍ FINANČNÍ ŘEDITELSTVÍ 5 ÚZEMNÍ PŮSOBNOST A SÍDLO

Statutární město Plzeň Bytový odbor Magistrátu města Plzeň oznamuje ve smyslu 39 odst.1 zákona č.128/2000 Sb. o obcích ve znění pozdějších předpisů

MV ČR, Odbor egovernmentu. Webové stránky veřejné správy - minimalizace jejich zranitelnosti a podpora bezpečnostních prvků

Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Specifikace předmětu plnění veřejné zakázky: Poskytování mobilních hlasových a datových služeb pro potřeby Města Uherské Hradiště

Dotazovací jazyk SQL I

I. Všeobecná ustanovení

Modul Řízení objednávek.

Maturitní témata z předmětu Programování a databázové systémy. pro šk. rok 2012/2013

Výzva k podání nabídky na

Katedra obecné elektrotechniky Fakulta elektrotechniky a informatiky, VŠB - TU Ostrava 16. ZÁKLADY LOGICKÉHO ŘÍZENÍ

Operační systém z hlediska procesu Mgr. Josef Horálek

HiPath ProCenter Office V1.0

SQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years

Mapy Stabilního katastru jako zdroj informací pro státní správu a samosprávu

VERZE: 01 DATUM: 05/2014

Statut Grantové služby LČR

Program rovného zacházení provozovatele distribuční soustavy Pražská plynárenská Distribuce, a.s., člen koncernu Pražská plynárenská, a.s.

Tekla Structures Multi-user Mode

VÝZVA A ZADÁVACÍ DOKUMENTACE ZAKÁZKY MIMO REŽIM ZÁKONA č. 137/2006 Sb.

VÝZVA K PODÁNÍ NABÍDKY VE VEŘEJNÉ SOUTĚŽI O nejvhodnější návrh na uzavření pachtovní smlouvy na restauraci Oceán a přilehlé stánky

Charakteristika kurzu BE4

VÝZVA K PODÁNÍ NABÍDKY JIŘICE DODÁVKA KOVOVÝCH KONSTRUKCÍ POSTELÍ

Zákon o veřejných zakázkách

ZADÁVACÍ DOKUMENTACE

Žádost o proplacení výdajů strana A1 a A2 (společné strany pro všechna opatření/podopatření/záměry PRV)

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace

Příloha č. 2 - Integrace SpiritÚAP do ESB Jihočeského kraje

Návrh. VYHLÁŠKA č...sb., ze dne ,

Odůvodnění veřejné zakázky dle 156 zákona. Odůvodnění účelnosti veřejné zakázky dle 156 odst. 1 písm. a) zákona; 2 Vyhlášky 232/2012 Sb.


Vláda nařizuje podle 133b odst. 2 zákona č. 65/1965 Sb., zákoník práce, ve znění zákona č. 155/2000 Sb.:

METODICKÝ POKYN NÁRODNÍHO ORGÁNU

EFESSO. Uživatelský manuál

Věc C-95/04. British Airways plc v. Komise Evropských společenství

Operace nad celými tabulkami

Příloha č. 13. Statistický metainformační systém - úvod

Čl. 1. Právní zakotvení. 1) V souladu se zřizovací listinou školy vydávám Knihovní řád školní knihovny Vyšší

Výzva k podání nabídek

Analyzátor tělesných hodnot Grundig MD Obj. č.: Vážení zákazníci,

KLÍČE KE KVALITĚ (METODIKA II)

Čl. I. Vyhláška č. 106/2001 Sb., o hygienických požadavcích na zotavovací akce pro děti, ve znění vyhlášky č. 148/2004 Sb.

BEC - Podnikatelskozaměstnanecká. Mgr. Ivo Škrabal

ODŮVODNĚNÍ VEŘEJNÉ ZAKÁZKY Dostavba splaškové kanalizace - Prostřední Bečva a Horní Bečva, zhotovitel, dle vyhlášky č. 232/2012 Sb.

Transkript:

4IT218 Databáze Pátá přednáška Dušan Chlapek (katedra informačních technologií, VŠE Praha) 4IT218 Databáze Pátá přednáška SQL - DDL - dokončení SQL - DCL Vlastnosti relačních databázových systémů. Princip tří architektur Datové modelování

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. Vlastnosti relačních databázových systémů. 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. Databázový jazyk SQL příkazy pro Definici databázových objektů: CREATE TABLE ALTER TABLE DROP TABLE CREATE VIEW DROP VIEW CREATE SEQUENCE DROP SEQUENCE Manipulaci s daty: INSERT UPDATE DELETE SELECT Řízení přístupu k datům: GRANT REVOKE

Databázový jazyk SQL - DDL Základní příkazy CREATE, ALTER, DROP Objekty databázového schématu DB schéma je kolekce logických struktur dat nebo databázových objektů. Schéma je vlastněno uživatelem databáze a má název shodný se jménem uživatele. Každý uživatel vlastní jedno schéma. DB Objekty jsou vytvářeny a upravovány pomocí jazyka SQL nebo s pomocí dalších nástrojů (např. v dbs ORACLE to můze být Enterprise Manager, SQL Developper,..). Seznam typů databázových objektů (modře vyznačeny ty, které budou předmětem práce na cvičeních): Tables Views Synonyms Constraints Sequences Database triggers Clusters Database links Dimensions External procedure libraries Indes-organized tables Indexes Indextypes Java classes, Java resources, Java sources Materialized views Materialized view logs Object tables Object types Object view Operators Packages Stored functions, stored procedures Data Definition Language Pozn.: V databázových systémech existuje i řada typů objektů, které nejsou uloženy do databázového schématu, např. Users, Roles, Tablespaces, Rollback segments. Databázový jazyk SQL - DDL Data Definition Language CREATE TABLE - INTEGRITNÍ OMEZENÍ Konzistence databáze = data v databázi zachycují stavy, které jsou v popisovaném světě MOŽNÉ Integrita databáze = databáze je v konzistentním stavu. Integritní omezení = pravidla pro zajištění správnosti a konzistence uložených dat. Rozlišujeme 3 typy integritních omezení: Doménová integrita Entitní integrita Referenční integrita

Databázový jazyk SQL - DDL CREATE VIEW dynamické odvozené relační tabulky - průhledy do databáze VIEW neobsahuje vlastní data VIEW může být odvozeno z objektů typu TABLE nebo z jiných objektů typu VIEW, mohou se vrstvit do více úrovní, Data Definition Language VIEW za jistých předpokladů mohou být aktualizovatelná, tj. data ze základních tabulek jsou aktualizovatelná přes VIEW (dohledejte podmínky aktualizovatelnosti view v příručce SQL), mohou být použita pro zpřístupnění určité podmnožiny dat z databáze, používají se jako nástroj pro snazší řízení přístupových práv, klauzule with check option umožňuje kontrolovat vkládaná data. create [or replace] view název_view as subdotaz [with check option]; Přes view možno vkládat pouze údaje o zaměstnancích z oddělení 13. create view OBCHODNICI as select CIS, JM, PLAT, CIS_VED from ZAM join ODD using (CIS_ODD) where NAZEV like 'Obchod'; create view OBCHODNICI2 as select * from ZAM where CIS_ODD = 13 with check option; Databázový jazyk SQL - DDL Data Definition Language CREATE VIEW ZAM CIS JM CIS_VED PLAT CIS_ODD 01 Horák 02 15600 12 02 Nový 03 25500 NULL 03 Dutý NULL 23500 13 04 Petrů 05 18900 12 05 Nová 03 35600 13 ODD CIS_ODD NAZEV PATRO 12 Účtárna 1 13 Obchod 2 14 Controlling 1 create view OBCHODNICI as select CIS, JM, PLAT, CIS_VED from ZAM join ODD using (CIS_ODD) where NAZEV like 'Obchod'; OBCHODNICI CIS JM PLAT CIS_VED 03 Dutý 23500 NULL 05 Nová 35600 03 create view OBCHODNICI2 as select * from ZAM where CIS_ODD = 13 with check option; OBCHODNICI2 CIS JM CIS_VED PLAT CIS_ODD 03 Dutý NULL 23500 13 05 Nová 03 35600 13

Databázový jazyk SQL - DDL Data Definition Language VIEW - ALTER, DROP ALTER VIEW umožní omezení (constraints) view pro redefinici obsahu view nutno použít příkaz create or replace DROP VIEW název_view - ruší view create or replace view OBCHODNICI as select CIS, JM, PLAT, CIS_VED from ZAM join ODD using (CIS_ODD) where NAZEV like 'Obchod'; drop view OBCHODNICI2; Databázový jazyk SQL - DDL Data Definition Language CREATE SYNONYM objekty typu synonym použity pro vytvoření uživatelsky přívětivějších názvů, synonyma se ruší příkazem DROP SYNONYM příklad z testovací databáze uživatel IT218 vytvořil tabulku ZAM; uživatel IT218 přidělil práva na operaci SELECT pro tabulku ZAM uživateli STUDENT; uživatel student by bez vytvoření synonyma musel používat plné jméno tabulky = jméno_tvůrce.název_tabulky, tj.: select * from IT218.ZAM; uživatel student si vytvoří synonymum: create synonym ZAM for IT218.ZAM; uživatel student může používat synoymum ZAM pro přístup k tabulce IT218.ZAM.

Databázový jazyk SQL - DDL CREATE SEQUENCE Data Definition Language objekty typu SEQUENCE se používá pro nastavení pravidel pro automatické pořadové číslování, nejčastěji se používá pro generování hodnot do atributů tvořících umělý primární klíč objekt typu SEQUENCE se používá nezávisle na relační tabulce - z jednoho objektu typu sekvence možno generovat hodnoty PK do více tabulek hodnoty v objekty typu SEQUENCE jsou přístupné přes dva pseudosloupce CURRVAL - aktuální hodnota NEXTVAL - nová hodnota ruší se příkazem DROP SEQUENCE, lze měnit příkazem ALTER SEQUENCE příklad: create sequence CISLA_ZAM start with 6 increment by 1; INSERT INTO zam (cis, jm, plat) VALUES (CISLA_ZAM.NEXTVAL, 'Rosa', 53500); Databázový jazyk SQL příkazy pro Definici databázových objektů: CREATE TABLE ALTER TABLE DROP TABLE CREATE VIEW DROP VIEW CREATE SEQUENCE DROP SEQUENCE Manipulaci s daty: INSERT UPDATE DELETE SELECT Řízení přístupu k datům: GRANT REVOKE

Databázový jazyk SQL - DCL Data Control Language přidělování a odebírání přístupových práv v prostředí jazyka SQL pro systémová oprávnění pro role a uživatele, přiřazení rolí k uživatelům, objektová práva, tj. práva k určitým objektům (např. typu TABLE, VIEW, SEQUENCE, procedura, funkce, balík, UDT) pro určité uživatele, role nebo všechny uživate (PUBLIC) používají se příkazy GRANT - přidělení práv REVOKE - odebrání práv pro potřeby předmětu se budeme zabývat pouze přidělováním práv k vybraným typům objektů - TABLE, VIEW, a to pouze pro uživatele Databázový jazyk SQL - DCL Data Control Language GRANT vlastník (tvůrce) objektu má práva k objektu všechna a neodebratelná vlastník práv k objektu, nebo jím určený (klauzule WITH GRANT OPTION) uživatel může přidělovat práva ostatním uživatelům grant {all [privileges] { select insert delete update [(výčet_atributů)] }} on název_objektu to {výčet_uživatelů public} [with grant option]; grant select on ZAM to public; grant select, update (NAZEV, PATRO) on ODD to student1; grant all privileges on ZAM to student with grant option;

Databázový jazyk SQL - DCL Data Control Language GRANT odebrání přidělených práv ALL odejmutí všech práv, PUBLIC - odebírá práva přidělená pro všechny uživatele, uživatel, který má přidělena práva s volbou WITH GRANT OPTION, může odebírat pouze práva, která sám přidělil, odejmutí práv uživateli, který díky volbě WITH GRANT OPTION předal práva na další uživatele, znamená odejmutí těchto práv i všem, kteří je od něj získali, vlastníkovi (tvůrci) objektu nelze odebrat žádná práva. revoke {all [privileges] { select insert delete update [(výčet_atributů)] }} on název_objektu from {výčet_uživatelů public}; revoke select on ZAM from public; revoke select, update (NAZEV, PATRO) on ODD from student1; grant all privileges on ZAM from student; Databázový jazyk SQL příkazy pro Definici databázových objektů: CREATE TABLE ALTER TABLE DROP TABLE CREATE VIEW DROP VIEW CREATE SEQUENCE DROP SEQUENCE Manipulaci s daty: INSERT UPDATE DELETE SELECT Řízení přístupu k datům: GRANT REVOKE

4IT218 Databáze Pátá přednáška SQL - DDL - dokončení SQL - DCL Vlastnosti relačních databázových systémů. Princip tří architektur Datové modelování Vlastnosti relačních dbs - 1 1. Všechna data v relační db musí být reprezentována na logické úrovni pomocí relačních tabulek. 2. Všechna data uložená v relační db musí být přístupná pomocí názvu tabulky, názvu sloupce a hodnoty primárního klíče. 3. DBS musí umožnit použití v databázi i v relačních operacích neurčené hodnoty "null value" nezávisle na typu dat. 4. Popis databáze musí být reprezentován na logické úrovni dynamicky podobně vlastním datům tak, že oprávnění uživatelé mohou použít stejný databázový jazyk k dotazům jak na vlastní data, tak i na jejich popisy, tzv. "metadata".

Vlastnosti relačních dbs - 2 5. Není podstatné kolik databázových jazyků je pro daný dbs k dispozici, ale nejméně jeden jazyk musí být uživatelský přívětivý (klíčová slova - znakové řetězce, s dobře definovanou syntaxí), musí podporovat jak interaktivní, tak i programový režim a musí umožňovat: definici dat, realizaci integritních omezení (entitní integrita, doménová, referenční integrita, další IO), manipulaci s daty (vkladání, aktualizaci, rušení a vyhledávání dat, vytváření dynamických odvozených relací (view), definici transakcí, definici přístupových práv. Vlastnosti relačních dbs - 3 6. DBS musí poskytovat způsob, jak při definici view určit, zda view bude použit pro pro vkládání, rušení řádků nebo aktualizaci sloupců základních tabulek nad, kterými je view vytvářen. 7. DBS musí umožňovat provádět množinové operace s daty v relačních tabulkách nejen při vyhledávání dat, ale i při operacích vkladání, aktulizaci a rušení řádků v tabulkách. 8. Změna způsobu uložení dat v db (fyzická struktura) či metody přístupu k datům nesmí způsobit nutnost změny programu či interaktivně zadávaného příkazu (fyzická datová nezávislost). 9. Změna struktury dat v dbči metody přístupu k datům nesmí způsobit nutnost změny programu či interaktivně zadávaného příkazu (logická datová nezávislost). Např. přidání nového sloupce do tabulky by nemělo vyvolat nutnost změny či překladu programu, který s měněnou tabulkou pracuje aniž by používal nový sloupec.

Vlastnosti relačních dbs - 4 10. Změna integritních omezení definovaných pomocí databázového jazyka a uložených v katalogu dat nesmí způsobit nutnost změny programu či interaktivně zadávaného příkazu. 11. Změna umístění (distribuce) dat nesmí způsobit nutnost změny programu či interaktivně zadávaného příkazu. 12. Pokud má DBS má nízkoúrovňový (procedurální) jazyk, tomuto jazyku nesmí být dovoleno obejít integritní omezení nebo přístupová práva vyjádřená prostředky vysokúrovňového relačního databázového jazyka. 4IT218 Databáze Pátá přednáška SQL - DDL - dokončení SQL - DCL Vlastnosti relačních databázových systémů. Princip tří architektur Datové modelování

Co vyjadřuje uvedené schéma? Co vyjadřuje uvedené schéma?

Princip tří architektur Model reality Konceptuální úroveň Structured Design & Transformace KSD Technologický model Technologická úroveň Implementace Implementační model Fyzická úroveň Konceptuální schéma = model obsahu datové základny na konceptuální úrovni KSR = Konceptuální schéma reality KSD = Konceptuální schéma dat OBRAZ PROVOZOVANÉ DZ

Úrovně datových modelů Konceptuální schéma (reality) = model obsahující základní entitní množiny, vztahy a jejich atributy. Jedná se o model vytvořený za účelem poznání zkoumaného světa. Konceptuální model dat = popis obsahu datové základny na úrovni, která je nezávislá na vlastním implementačním a technologickém prostředí. Je vytvořen za účelem přesného zobrazení obsahu datové základny. Technologický (logický) model = popis způsobu realizace systému v termínech jisté třídy technologického prostředí (lineární, relační, hierarchické nebo síťové logické datové struktury). Například pro relační databázový model jsou na této úrovni do relačních tabulek doplňovány cizí klíče realizující vazby mezi entitami z konceptuálního modelu. Implementační (fyzický) model = popis vlastní realizace systému v konkrétním implementačním prostředí, např. doplnění údajů o typech indexů, velikostech a rozmístění pracovních prostorů v konkrétním databázovém systému. Funkce konceptuální schéma KS (= datový model na konceptuální úrovni) popisuje obsah datové základny a plní následující funkce: prostředek poznávání zkoumané výseče reality, prostředek komunikace mezi členy řešitelského týmu, platforma pro diskuse s uživateli, podklad pro návrh datové základny na technologické a implementační úrovni, prostředek dokumentace existující datové základny.

Nástroje pro tvorbu datových modelů na konceptuální úrovni Řada modelovacích nástrojů, např. Martinovy bublinové diagramy, nebo rodina ER (A) Entity Relationship (Attribute) modely (P. Chen). Velké množství notací a odlišností v jednotlivých CASE systémech. V předmětu 4IT218 budeme používat speciální notace pro jednotlivé úrovně návrhu obsahu DZ: Konceptuální schéma reality - ručně používaná a kreslená notace - viz další přednáška Konceptuální schéma dat - notace z nástroje PowerDesigner v 11 (CDM - Conceptual Data Model) Logická úroveň návrhu - notace z nástroje PowerDesigner v 11 (PDM - Physical Data Model)