Kapitola 6: Omezení integrity. Omezení domény
|
|
- Erik Esterka
- před 9 lety
- Počet zobrazení:
Transkript
1 Omezení domény Referenční integrita Aserce Spouštěče (Triggers) Funkční závislosti Kapitola 6: Omezení integrity Omezení domény Omezení integrity zabraňují poškození databáze; zajišťují, že autorizované zásahy do databáze nezpůsobí ztrátu konzistence dat. Omezení domény je základní formou omezení integrity. Omezení integrity testují hodnoty vkládané do databáze a kontroluje dotazy, aby bylo zajištěno, že porovnávání dávají smysl. Klauzule check dovoluje v SQL-92 omezit domény: Použijte klauzuli check k zajištění, že doména hodinová-mzda je větší než specifikovaná hodnota create domain hodinová-mzda numeric(5,2) constraint value-test check (value >= 4.00) Doména hodinová-mzda je deklarována jako dekadické číslo s pěti číslicemi, z nichž 2 jsou za desetinnou čárkou Doména má omezení, které zaručuje, že hodinová-mzda je větší než nebo rovno 4.00 Klauzule constraint value-test je volitelná; užitečná pro indikaci, které omezení bylo při aktualizaci porušeno. Referenční integrita Zajišťuje, že hodnota, která se objeví v jedné relaci pro danou množinu atributů, se také objeví v určitých množinách atributů v jiné relaci. Příklad: jestliže Praha-Spořilov je jméno pobočky, které se objeví v jedné z n-tic v relaci účet, pak zde existuje n-tice v relaci pobočka pro pobočku Praha-Spořilov. Formální definice Nechť r 1 (R 1 ) a r 2 (R 2 ) jsou relace s primárními klíči K 1 a K 2. Podmnožina α z R 2 je cizí klíč odkazující na K 1 v relaci r 1, jestliže pro každé t 2 v r 2 musí být n-tice v taková, že t 1 [K 1 ] = t 2 [α]. Omezení referenční integrity: Π α (r 2 ) Π K1 (r 1 ) Referenční integrita v E-R modelu Uvažujme množinu vztahů R mezi množinami entit E 1 a E 2. Relační schéma pro R zahrnuje primární klíče K 1 z E 1 a K 2 z E 2. Pak K 1 a K 2 jsou v R cizí klíče pro relační schémata E 1 a E 2. Slabé množiny entit jsou též zdroje pro omezení referenční integrity. Proto musí relační schéma pro každou slabou množinu entit zahrnovat primární klíč množiny vztahů, na které závisí, tj. nadřazené entitní množiny
2 Modifikace databáze Tyto testy musí být provedeny, aby se zachovala následující mez referenční integrity: Π α (r 2 ) Π K (r 1 ) Vkládání. Je-li n-tice t 2 vkládána do r 2, systém musí zajistit, že v r 1 je n-tice t 1 taková, že t 1 [K 1 ] = t 2 [α]. Tj. t 2 [α] Π K (r 1 ) Mazání. Je-li n-tice t 1 mazána z r 1, systém musí spočítat množinu n-tic v r 2, která odkazuje na t 1 : σ α = t1[k] (r 2 ) Jestliže tato množina není prázdná, příkaz mazání skončí s chybou nebo se n- tice, které odkazují na t 1, musí samy smazat (rekurzivní mazání je možné). Aktualizace. Jsou dvě možnosti: Je-li n-tice t 2 aktualizován v relaci r 2 a aktualizace modifikuje hodnoty pro cizí klíč α, pak je proveden podobný test jako při operaci vkládání. Nechť t 2 značí novou hodnotu n-tice t 2. Systém musí zajistit, že t 2 [α] Π K (r 1 ) Je-li n-tice t 1 aktualizována v r 1 a aktualizace modifikuje hodnoty primárního klíče (K), pak je prováděn podobný test jako při operaci mazání. Systém musí spočítat σ α = t1[k] (r 2 ) s použitím staré hodnoty t 1. Není-li tato množina prázdná, aktualizace skončí s chybou nebo je změna kaskádovitě provedena na těchto n-ticích nebo mohou být tyto n-tice v relaci smazány. Referenční integrita v SQL Primární a kandidátní klíče a cizí klíče můžou být specifikovány jako část SQL příkazu create table: Klauzule primary key v příkazu create table zahrnuje seznam atributů, které tvoří primární klíč. Klauzule unique key v příkazu create table zahrnuje seznam atributů, které tvoří kandidátní klíč. Klauzule foreign key v příkazu create table zahrnuje seznam atributů, které tvoří cizí klíč a jméno relace odkazované cizím klíčem.
3 Příklad referenční integrity v SQL create table zákazník (zákazník-jméno char(20) not null, zákazník-ulice char(30), zákazník-město char(30), primary key (zákazník-jméno)) create table pobočka (pobočka-jméno char(15) not null, pobočka-město char(30), aktiva integer, primary key (pobočka-jméno)) create table účet (pobočka-jméno char(15), číslo-účtu char(10) not null, zůstatek integer, primary key (číslo-účtu), foreign key (pobočka-jméno) references pobočka) create table vkladatel (zákazník-jméno char(20) not null, číslo-účtu char(10) not null, primary key (zákazník-jméno, číslo-účtu), foreign key (číslo-účtu) references účet, foreign key (zákazník-jméno) references zákazník) Kaskádové akce v SQL create table účet foreign key () references pobočka on delete cascade on update cascade, ) Díky klauzuli on delete cascade, vyvolá-li mazání n-tice v relaci pobočka porušení referenční integrity, mazání přeteče do relace účet a smaže n-tice, které odkazují na n-tice v relaci pobočka, které jsou mazány. Kaskádové aktualizace jsou obdobné. Je-li mezi více relacemi sada závislostí cizích klíčů (každý se specifikací on delete cascade), mazání nebo aktualizace se může rozšířit do celé této sady. Jestliže kaskádová aktualizace či mazání vyvolá porušení integritních omezení, které nemůže zachytit dřívější kaskádová operace, systém zruší transakci. Výsledek: všechny změny způsobené transakcí a jejími kaskádovými akcemi jsou zrušeny.
4 Tvrzení (Assertion) Tvrzení (aserce, prosazování) je predikát vyjadřující podmínku, kterou musí databáze vždy splňovat. V SQL-92 má tvar create assertion <jméno-tvrzení> check <predikát> Když je tvrzení vytvořeno, systém ji otestuje, je-li platná. Příklad Suma všech částek půjček pro každou pobočku musí být menší než suma všech zůstatků účtů v pobočce. create assertion mez-sumy check (not exists (select * from pobočka where (select sum (částka) from půjčka where půjčka.pobočka-jméno = pobočka.pobočka-jméno) >= (select sum (částka) from účet where půjčka.pobočka-jméno = pobočka.pobočka-jméno))) Každá půjčka má alespoň jednoho dlužníka, který udržuje účet s minimálním zůstatkem $ create assertion mez-zůstatku check (not exists (select * from půjčka where not exists ( select * from dlužník, vkladatel, účet where půjčka.půjčka-číslo = dlužník.půjčka-číslo and dlužník.zákazník-jméno = vkladatel.zákazník-jméno and vkladatel.účet-číslo = účet.účet-číslo and účet.zůstatek >= 1000))) Spouště (Triggers) Spouštěč (Trigger, spoušť) je příkaz, který systém automaticky spouští jako vedlejší efekt modifikace databáze. Pro aktivaci tohoto mechanismu musíme: Specifikovat podmínky, za jakých je spouštěč prováděn. Specifikovat akce, které se budou dít při jeho spuštění. Standard SQL-92 nezahrnuje spouště, ale mnoho implementací je podporuje.
5 Příklad triggeru Předpokládejme, že místo povolení záporných zůstatků účtů banka zachází se saldem (přečerpáním) takto: nastaví zůstatek účtu na nulu vytvoří půjčku s částkou salda dá této půjčce číslo tohoto účtu Podmínka spuštění této spouště je aktualizace relace účet, která vrátí zápornou hodnotu zůstatek. define trigger saldo on update of účet as T (if new T.zůstatek < 0 then (insert into půjčka values (T.pobočka-jméno, T.číslo-účtu, - new T.zůstatek) insert into půjčovatel (select zákazník-jméno, číslo-účtu from vkladatel where T.číslo-účtu = vkladatel.číslo-účtu) update účet as S set S.zůstatek = 0 where S.číslo-účtu = T.číslo-účtu) ) Klíčové slovo new před T.zůstatek značí, že by měla být použita hodnota T.zůstatek po aktualizaci; je-li vynecháno, je použita hodnota před aktualizací Funkční závislosti Omezení na množině povolených (legálních) relací. Vyžaduje, že hodnota jisté množiny atributů jednoznačně určuje hodnotu jiné množiny atributů. Funkční závislost je zobecnění představy klíče. Nechť R je relační schéma α R, β R Funkční závislost α β je platná pro schéma R právě tehdy, když pro jakoukoli povolenou relaci r(r), jakékoli dvě n-tice t 1 a t 2 z r jsou stejné na atributech α, souhlasí též na atributech β. Tj. t 1 [α] = t 2 [α] t 1 [β] = t 2 [β] K je superklíč pro relační schéma R právě tehdy, když K R K je kandidátní klíč R právě tehdy, když K R, a pro žádné α K, α R Funkční závislosti umožňují vyjádřit omezení, které nelze vyjádřit pomocí superklíčů. Představme si schéma: info-půjčka = (pobočka-jméno, půjčka-číslo, zákazník-jméno, částka). Očekáváme, že se bude platit tato množina funkčních závislostí: půjčka-číslo částka půjčka-číslo pobočka-jméno ale nechceme splňovat následující: půjčka-číslo zákazník-jméno
6 Použití funkčních závislostí Funkční závislosti používáme k: testování relací, jsou-li povolené na dané množině funkčních závislostí. Je-li relace r povolená na množině F funkčních závislostí, říkáme, že r splňuje F. definování omezení na množině povolených relací; říkáme, že F je platná na R, když všechny povolené relace na R splňují množinu F. Poznámka: Některá instance relačního schématu (tj. relace) může splňovat funkční závislosti, i když tyto závislosti nejsou platné pro všechny povolené instance. Např. specifická instance info-půjčka může (náhodou) vyhovovat půjčka-číslo zákazník-jméno Uzávěr množiny funkčních závislostí Pro danou množinu funkčních závislostí F existují další funkční závislosti, které F logicky implikuje (tzv. uzávěr množiny F). Uzávěr F značíme F +. Všechny F + můžeme najít pomocí Armstrongových axiomů: je-li β α, pak α β (reflexivita) je-li α β, pak γα γβ (rozšíření) je-li α β a β γ, pak α γ (tranzitivita) Tyto axiomy tvoří minimální a úplnou množinu axiomů. Výpočet F + můžeme zjednodušit použitím následujících doplňkových pravidel. je-li α β a α γ, pak α βγ (sjednocení) je-li α βγ, pak α β a α γ (rozklad) je-li α β a γβ δ, pak αγ δ (pseudotranzitivita) Tato pravidla jsou odvozena z Armstrongových axiomů. R = (A, B, C, G, H, I) F = {A B A C CG H CG I B H} některé prvky F + : A H AG I CG HI Příklad
7 Uzávěr množiny atributů Uzávěr atributu α pod F (značíme α + ) definujeme jako množinu atributů, které jsou funkčními závislostmi F určeny z α: α β je z F + β α + Algoritmus pro výpočet α + result := α; while (byla změna v result) do for each β γ in F do begin if β result then result := result γ; end Příklad R = (A, B, C, G, H, I) F = {A B A C CG H CG I B H} (AG + ) 1. krok: result = AG 2. krok: result = ABCG (A C a A AGB) 3. krok: result = ABCGH (CG H a CG AGBC) 4. krok: result = ABCGHI (CG I a CG AGBCH) Je AG kandidátní klíč? 1. AG R 2. je A + R? 3. je G + R? Kanonický obal (Canonical Cover) Uvažujme množinu funkčních závislostí F a funkční závislost α β z F. Atribut A je nadbytečný v α, jestliže A α a F logicky implikuje (F {α β}) {(α A) β} Atribut A je nadbytečný v β, jestliže A β a množina funkčních vztahů (F {α β}) {α (β A)} logicky implikuje F. Kanonický obal F C pro F je množina závislostí taková, že F logicky implikuje všechny závislosti v F C a F C logicky implikuje všechny závislosti ve F a navíc žádná funkční závislost v F C neobsahuje nadbytečný atribut každá levá strana funkční závislosti z F C je jedinečná
8 Spočítejte kanonický obal pro F: repeat Použijeme pravidlo sjednocení pro nahrazení všech závislostí α 1 β 1 a α 1 β 2 z F jednou závislostí α 1 β 1 β 2 Najdeme funkční závislost α β s nadbytečným atributem buď v α nebo v β Je-li tento atribut nalezen, smažeme ho z α β until F se nezměnilo Příklad R = (A, B, C) F = {A BC B C B C A B AB C} Zkombinujeme A BC a A B do závislosti A BC. A je nadbytečné v AB C, protože B C logicky implikuje AB C. C je nadbytečné v A BC, je-li A BC logicky implikováno z A B a B C. Kanonický obal je: A B B C
Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal
Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE
VíceKapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)
- 7.1 - Kapitola 7: Návrh relačních databází Nástrahy návrhu relačních databází Dekompozice (rozklad) Normalizace použitím funkčních závislostí Nástrahy relačního návrhu Návrh relačních databází vyžaduje
VíceKapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace
- 3.1 - Struktura relačních databází Relační algebra n-ticový relační kalkul Doménový relační kalkul Rozšířené operace relační algebry Modifikace databáze Pohledy Kapitola 3: Relační model Základní struktura
Více7. Integrita a bezpečnost dat v DBS
7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13
Více7. Integrita a bezpečnost dat v DBS
7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13
VíceDatabáze I. Přednáška 4
Databáze I Přednáška 4 Definice dat v SQL Definice tabulek CREATE TABLE jméno_tab (jm_atributu typ [integr. omez.], jm_atributu typ [integr. omez.], ); integritní omezení lze dodefinovat později Definice
VíceDatabázové systémy Cvičení 5.2
Databázové systémy Cvičení 5.2 SQL jako jazyk pro definici dat Detaily zápisu integritních omezení tabulek Integritní omezení tabulek kromě integritních omezení sloupců lze zadat integritní omezení jako
VícePrimární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.
Primární a cizí klíč Kandidát primárního klíče (KPK) Je taková množina atributů, která splňuje podmínky: Unikátnosti Minimálnosti (neredukovatelnosti) Primární klíč (Primary Key - PK) Je právě jedna množina
VíceKapitola 4: SQL. Základní struktura
- 4.1 - Kapitola 4: SQL Základní struktura Množinové operace Souhrnné funkce Nulové hodnoty Vnořené poddotazy (Nested sub-queries) Odvozené relace Pohledy Modifikace databáze Spojené relace Jazyk definice
VíceÚvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 8 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Entita Entitní typ
VíceSQL - trigger, Databázové modelování
6. přednáška z předmětu Datové struktury a databáze (DSD) Ústav nových technologií a aplikované informatiky Fakulta mechatroniky, informatiky a mezioborových studií Technická univerzita v Liberci jan.lisal@tul.cz
VíceRelační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti
Relační datový model Integritní omezení funkční závislosti multizávislosti inkluzní závislosti Normální formy Návrh IS Funkční závislosti funkční závislost elementární redundantní redukovaná částečná pokrytí
VíceDatabázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce
Databázové systémy 2 Jméno a příjmení: Jan Tichava Osobní číslo: Studijní skupina: čtvrtek, 4 5 Obor: ININ SWIN E-mail: jtichava@students.zcu.cz Databázové systémy II. KIV/DB2 LS 2007/2008 Zadání semestrální
VíceDatabáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D. http://siret.cz/hoksza
Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hksza, Ph.D. http://siret.cz/hksza Osnva Seznámení s SQL Server Management Studiem (SSMS) Základní architektura
VíceKonceptuální modelování a SQL
Konceptuální modelování a SQL přednáška č.? 1/90 Vytváření IS Analýza Návrh Implementace Testování Předání SW Jednotlivé fáze mezi sebou iterují 2/90 Proč modelovat/analyzovat? Standardizované pracovní
Více8.2 Používání a tvorba databází
8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam
VíceDatabáze I. 5. přednáška. Helena Palovská
Databáze I 5. přednáška Helena Palovská palovska@vse.cz SQL jazyk definice dat - - DDL (data definition language) Základní databáze, schemata, tabulky, indexy, constraints, views DATA Databáze/schéma
VíceDatabázové systémy. Integritní omezení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33
Databázové systémy Integritní omezení Vilém Vychodil KMI/DATA1, Přednáška 9 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33 Přednáška 9: Přehled 1 Relační
VíceRelační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS
Relační databázový model Databázové (datové) modely základní dělení klasické databázové modely relační databázový model relační databázový model Základní konstrukt - relace relace, schéma relace atribut,
Více2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE
2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE Studijní cíl Tento blok je věnován základní syntaxi příkazu SELECT, pojmům projekce a restrikce. Stručně zde budou představeny příkazy
VíceFakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná
ZKOUŠKOVÉ TESTY Leden 2010 souhrn Červené dobře (nejspíš), modré možná Pomocí kterého databázového objektu je implementován ATRIBUT z konceptuálního modelu? sloupec referenční omezení index tabulka Omezení
VíceA5M33IZS Informační a znalostní systémy. Relační databázová technologie
A5M33IZS Informační a znalostní systémy Relační databázová technologie Přechod z konceptuálního na logický model Entitní typ tabulka Atribut entitního typu sloupec tabulky Vztah: vazba 1:1 a 1:N: Vztah
VíceJ. Zendulka: Databázové systémy 4 Relační model dat 1
4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...
VícePL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.
PL/SQL Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL o proceduralitu od společnosti ORACLE je jazyk
Více5. Formalizace návrhu databáze
5. Formalizace návrhu databáze 5.1. Úvod do teorie závislostí... 2 5.1.1. Funkční závislost... 2 5.1.2. Vícehodnotová závislost (multizávislost)... 7 5.1.3. Závislosti na spojení... 9 5.2. Využití teorie
VíceZápisování dat do databáze
Zápisování dat do databáze Informační a znalostní systémy 1 2 záznamů Pro vkládání záznamů do tabulky- příkaz INSERT INSERT INTO tabulka VALUES ( výčet hodnot záznamu ) záznamů Pro vkládání záznamů do
VíceTerminologie v relačním modelu
3. RELAČNÍ MODEL Relační model reprezentuje databázi jako soubor relací. Každá relace představuje tabulku nebo soubor ( ve smyslu soubor na nosiči dat ). Terminologie v relačním modelu řádek n-tice ( n-tuple,
VíceDatabáze I. Přednáška 7
Databáze I Přednáška 7 Objektové rozšíření SQL Objektově relační databáze SQL:1999 objektové rozšíření SQL vztahuje se k objektově relačním databázovým systémům ukládají objekty do relační databáze umožňují
VíceDatabázové systémy. Datová integrita + základy relační algebry. 4.přednáška
Databázové systémy Datová integrita + základy relační algebry 4.přednáška Datová integrita Datová integrita = popisuje pravidla, pomocí nichž hotový db. systém zajistí, že skutečná fyzická data v něm uložená
VíceNávrh a tvorba WWW stránek 1/14. PHP a databáze
Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované
VíceKapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit (entitní množiny) Atributy
- 2.1 - Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit Množiny vztahů Otázky návrhu Plánování mezí Klíče E-R diagram Rozšířené E-R rysy Návrh E-R databázového schématu Redukce
VíceInformační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL
4 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, datové typy, klauzule SELECT, WHERE, a ORDER BY. Doporučená
VíceInformační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek
5 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, Spojení tabulek, agregační dotazy, jednoduché a složené
Více5. Formalizace návrhu databáze
5. Formalizace návrhu databáze 5.1. Úvod do teorie závislostí... 2 5.1.1. Funkční závislost... 2 5.1.2. Vícehodnotová závislost (multizávislost)... 7 5.1.3. Závislosti na spojení... 9 5.2. Využití teorie
VíceGymnázium a Střední odborná škola, Rokycany, Mládežníků 1115
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410
Více4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1
4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra...
VíceDatabáze II. 2. přednáška. Helena Palovská
Databáze II 2. přednáška Helena Palovská palovska@vse.cz SQL a aplikace Program přednášky Řízení transakcí v SQL Integritní omezení v SQL Triggery a uložené procedury Zpracování množin záznamů Řízení
VíceKurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.
1 Kurz Databáze Zpracování dat Doc. Ing. Radim Farana, CSc. Obsah Druhy dotazů, tvorba dotazu, prostředí QBE (Query by Example). Realizace základních relačních operací selekce, projekce a spojení. Agregace
VíceRELAČNÍ DATABÁZOVÉ SYSTÉMY
RELAČNÍ DATABÁZOVÉ SYSTÉMY VÝPIS KONTROLNÍCH OTÁZEK S ODPOVĚDMI: Základní pojmy databázové technologie: 1. Uveďte základní aspekty pro vymezení jednotlivých přístupů ke zpracování hromadných dat: Pro vymezení
VíceDotazování v relačním modelu a SQL
Databázové systémy Dotazování v relačním modelu a SQL Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YDATA: Přednáška II. 14. říjen, 2016 1 / 35 Opakování Relační
VíceRelace x vztah (relationship)
Relace x vztah (relationship) Peter Chen, Peter Pin-Shan (March 1976): "The Entity-Relationship Model Toward a Unified View of Data". ACM Transactions on Database Systems 1. E-R diagram v Chennově notaci
VíceRelační databázová technologie
Relační databázová technologie Klíč: množina (možná jednoprvková) atributů (sloupců), jež jednoznačně idetifikuje danou entitu. Poznámky: 1. Daný entitní typ (tabulka) může mít více klíčů. Například (i)
VíceDBS Transformace konceptuálního schématu na
DBS Transformace konceptuálního schématu na relační Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2012/13 https://edux.fit.cvut.cz/courses/bi-dbs/
VíceInnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou
MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství
VíceDUM 12 téma: Příkazy pro tvorbu databáze
DUM 12 téma: Příkazy pro tvorbu databáze ze sady: 3 tematický okruh sady: III. Databáze ze šablony: 7 Kancelářský software určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie vzdělávací
VíceSII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:
SII - Informatika Způsob vyhodnocení: Při vyhodnocení budou za nesprávné odpovědi strhnuty body. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá: a) sekundární klíč b)
VíceTransformace konceptuálního modelu na relační
Transformace konceptuálního modelu na relační Michal Valenta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze c Michal Valenta, 2016 BI-DBS, LS 2015/16
VíceJaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):
Mezi příkazy pro manipulaci s daty (DML) patří : 1. SELECT 2. ALTER 3. DELETE 4. REVOKE Jaké vlastnosti má identifikující relace: 1. Je relace, která se využívá pouze v případě modelovaní odvozených entit
Více6. SQL složitější dotazy, QBE
6. SQL složitější dotazy, QBE Příklady : Veškeré příklady budou dotazy nad databází KONTAKTY nebo KNIHOVNA nebo FIRMA Databáze KONTAKTY OSOBA (Id_osoba, Příjmení, Jméno, Narození, Město, Ulice, PSČ) EMAIL
VíceText úlohy. Systémový katalog (DICTIONARY):
Úloha 1 Částečně správně Bodů 050 / 100 Systémový katalog (DICTIONARY): a Se skládá z tablek a pohledů uložených v tabulkovém SYSTEM b Všechny tabulky vlastní uživatel SYS c Se skládá z tablek a pohledů
VíceObchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava
Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Šablona 32 VY_32_INOVACE_038.ICT.34 Tvorba webových stránek SQL stručné minimum OA a JŠ Jihlava, VY_32_INOVACE_038.ICT.34 Číslo
VíceDatabázové systémy I
2015 Databázové systémy I PROJEKT 2 ČÁST MIROSLAV POKORNÝ Stránka 0 z 21 Zadání Implementujte datový model vytvořený v první části projektu do relační databáze a vytvořte pohledy a uloženou proceduru dle
Více- sloupcové integritní omezení
CREATE TABLE - CREATE TABLE = definice tabulek a jejich IO - ALTER TABLE = změna definice schématu - aktualizace - INSERT INTO = vkládání - UPDATE = modifikace - DELETE = mazání CREATE TABLE Základní konstrukce
VíceZákladní přehled SQL příkazů
Základní přehled SQL příkazů SELECT Základní použití Příkaz SELECT slouží k získání dat z tabulky nebo pohledu v požadované podobě. Získání všech řádků a sloupců z tabulky SELECT * FROM Person.Contact
VíceUDBS Cvičení 10 Funkční závislosti
UDBS Cvičení 10 Funkční závislosti Ing. Miroslav Valečko Zimní semestr 2014/2015 25. 11. 2014 Návrh schématu databáze Existuje mnoho způsobů, jak navrhnout schéma databáze Některá jsou lepší, jiná zase
VíceJazyk SQL 3 - DML, DDL, TCL, DCL
Jazyk SQL 3 - DML, DDL, TCL, DCL Michal Valenta Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2012/13 https://edux.fit.cvut.cz/courses/bi-dbs/
VíceNORMALIZACE Část 2 1
NORMALIZACE Část 2 1 Úprava relačního schématu databáze NORMALIZACE Eliminaci aktualizačních anomálií zajišťujeme převedením relačního schématu do 3NF, resp. BCNF. (Normalizovat lze pomocí) DEKOMPOZICE
VíceSQL. strukturovaný dotazovací jazyk. Structured Query Language (SQL)
SQL strukturovaný dotazovací jazyk Structured Query Language (SQL) SQL - historie 1974-75 - IBM - 1.prototyp - SEQUEL od 1979 - do praxe - ORACLE (1979) IBM - SQL/DS (1981), DB/2 (1983) postupně přijímán
Více12. blok Fyzický návrh databáze
12. blok Fyzický návrh databáze Studijní cíl Tento studijní blok se zabývá metodologií fyzického návrhu databáze. Především se zabývá fází převodu logického modelu na model fyzický. Bude vysvětlen účel
VíceDatabázové modelování. Analýza Návrh konceptuálního schématu
Databázové modelování Analýza Návrh konceptuálního schématu 1 Vytváření IS Analýza Návrh Implementace Testování Předání SW Jednotlivé fáze mezi sebou iterují 2 Proč modelovat/analyzovat? Standardizované
VíceDatabáze I. Přednáška 6
Databáze I Přednáška 6 SQL aritmetika v dotazech SQL lze přímo uvádět aritmetické výrazy násobení, dělení, sčítání, odčítání příklad z minulé přednášky: zdvojnásobení platu všem zaměstnancům UPDATE ZAMESTNANEC
VíceKonceptuální modelování. Pavel Tyl 21. 3. 2013
Konceptuální modelování Pavel Tyl 21. 3. 2013 Vytváření IS Vytváření IS Analýza Návrh Implementace Testování Předání Jednotlivé fáze mezi sebou iterují Proč modelovat a analyzovat? Standardizované pracovní
VíceMarketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)
Marketingová komunikace Kombinované studium Skupina N9KMK3PH (vm3aph) 2. a 3. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Co nás čeká: 2. soustředění 16.1.2009
VíceDatabázové systémy I
Databázové systémy I Přednáška č. 8 Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky jiri.zechmeister@upce.cz Skupinové a souhrnné dotazy opakování Obsah Pohledy syntaxe použití význam Vnořené
VíceÚvod do databázových systémů 10. cvičení
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů 10. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2012 Opakování Univerzální
VíceZáklady databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19
3 Obsah Novinky v tomto vydání 10 Význam základních principů 11 Výuka principů nezávisle na databázových produktech 12 Klíčové pojmy, kontrolní otázky, cvičení, případové studie a projekty 12 Software,
VíceAnalýza a modelování dat 3. přednáška. Helena Palovská
Analýza a modelování dat 3. přednáška Helena Palovská Historie databázových modelů Relační model dat Codd, E.F. (1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM
VíceDatabázové systémy. * relační kalkuly. Tomáš Skopal. - relační model
Databázové systémy Tomáš Skopal - relační model * relační kalkuly Osnova přednášky relační kalkuly doménový n-ticový Relační kalkuly využití aparátu predikátové logiky 1. řádu pro dotazování rozšíření
VíceStored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports
, Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Demo-cvičení pro IDS 9. dubna 2014 Marek Rychlý Stored Procedures & Database Triggers, Demo-cvičení
VíceÚvod do databázových systémů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování 4 fáze vytváření
VíceObsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel
Obsah přednášky Databázové systémy Konceptuální model databáze Codd a návrh relační databáze fáze návrhu pojem konceptuální model základní pojmy entity, relace, atributy, IO kardinalita, 2 historie: RDBMS
VíceDATABÁZOVÉ A INFORMAČNÍ SYSTÉMY
Databázové a informační systémy 1/9 DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY Katedra informatiky FEI VŠB Technická univerzita Ostrava 2012/2013 Databázové a informační systémy 2/9 TABULKA ST U D E N T Pokud nebude
VícePG 9.5 novinky ve vývoji aplikací
PG 9.5 novinky ve vývoji aplikací P2D2 2016 Antonín Houska 18. února 2016 Část I GROUPING SETS, ROLLUP, CUBE Agregace Seskupení řádků tabulky (joinu) do podmnožin podle určitého kĺıče. Za každou podmnožinu
VíceTemporální databáze. Jan Kolárik Miroslav Macík
Temporální databáze Jan Kolárik Miroslav Macík 2012 Úvod jak zachytit časově proměnnou povahu jevů konvenční databáze stav pouze v jednom bodě časové linie aktuální obsah ~ statický snímek (snapshot) temporální
VíceMarketingová komunikace. 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)
Marketingová komunikace Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) 2. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Minulé soustředění úvod
VíceNávrh databázového modelu
Návrh databázového modelu Informační a znalostní systémy 1 2 Konflikty 3 návrh musí pokrývat požadavky zadavatele návrhbyměl reflektovat i možné budoucí poslání návrh od shora dolů zdola nahoru Vývoj modelu
VíceDatabázové systémy trocha teorie
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ů
VíceÚvod do databázových systémů. Ing. Jan Šudřich
Ing. Jan Šudřich jan.sudrich@mail.vsfs.cz 1. Cíl předmětu: Úvod do databázových systémů Poskytnutí informací o vývoji databázových systémů Seznámení s nejčastějšími databázovými systémy Vysvětlení používaných
Více2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
VíceÚvod do databází. Modelování v řízení. Ing. Petr Kalčev
Úvod do databází Modelování v řízení Ing. Petr Kalčev Co je databáze? Množina záznamů a souborů, které jsou organizovány za určitým účelem. Jaké má mít přínosy? Rychlost Spolehlivost Přesnost Bezpečnost
Více5. POČÍTAČOVÉ CVIČENÍ
5. POČÍTAČOVÉ CVIČENÍ Databáze Databázi si můžeme představit jako místo, kam se ukládají všechny potřebné údaje. Přístup k údajům uloženým v databázi obstarává program, kterému se říká Systém Řízení Báze
VíceInovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.
Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky. Projekt ESF OP VK reg.č. CZ.1.07/2.2.00/28.0209 Elektronické opory a e-learning pro obory výpočtového
VíceDatabázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz
Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty
VíceInformační systémy ve zdravotnictví. 6. cvičení
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Informační systémy ve zdravotnictví 6. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2014 Opakování Relace
VíceInovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav
Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní
VíceUložené procedury Úvod ulehčit správu zabezpečení rychleji
Uložené procedury Úvod Uložená procedura (rutina) je sada příkazů SQL, které jsou uložené na databázovém serveru a vykonává se tak, že je zavolána prostřednictvím dotazu názvem, který jim byl přiřazen
VíceJazyk SQL slajdy k přednášce NDBI001
Jazyk SQL slajdy k přednášce NDBI001 Jaroslav Pokorný MFF UK, Praha pokorny@ksi.mff.cuni.cz Dotazovací jazyky 1 Přehled SQL92 1) jazyk pro definici dat, 2) interaktivní jazyk pro manipulaci dat, 3) jazyk
VíceSQL v14. 4D Developer konference. 4D Developer conference 2015 Prague, CZ Celebrating 30 years
SQL v14 4D Developer konference Obsah části SQL Porovnání 4D a SQL Nové příkazy SQL Upravené příkazy SQL Optimalizace SQL SQL v14 porovnání Definice dat - struktury Manipulace s daty Definice dat Vytvoření
Více6. blok část B Vnořené dotazy
6. blok část B Vnořené dotazy Studijní cíl Tento blok je věnován práci s vnořenými dotazy. Popisuje rozdíl mezi korelovanými a nekorelovanými vnořenými dotazy a zobrazuje jejich použití. Doba nutná k nastudování
VíceInovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav
Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databáze Základní seznámení s MySQL
VíceDatabázové systémy. Cvičení 6: SQL
Databázové systémy Cvičení 6: SQL Co je SQL? SQL = Structured Query Language SQL je standardním (ANSI, ISO) textovým počítačovým jazykem SQL umožňuje jednoduchým způsobem přistupovat k datům v databázi
VíceKIV/ZIS cvičení 6. Tomáš Potužák
KIV/ZIS cvičení 6 Tomáš Potužák Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Slučování záznamů do skupin (1) Chceme zjistit informace obsažené ve více záznamech najednou Klauzule GROUP
VíceVkládání, aktualizace, mazání
Kapitola 4 Vkládání, aktualizace, mazání Tématem několika předchozích kapitol byly základní techniky pokládání dotazů, které se všechny zaměřovaly na zisk dat z databáze. V kapitole čtvrté půjde o něco
VíceKapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů
- 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa
VíceHranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek
Hranová konzistence Arc consistency AC Nejprve se zabýváme binárními CSP podmínka odpovídá hraně v grafu podmínek Hrana (V i, V j ) je hranově konzistentní, právě když pro každou hodnotu x z aktuální domény
VíceInformační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází
1 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Požadavky kreditového systému. Relační datový model, relace, atributy,
VíceUNIVERZITA PALACKÉHO V OLOMOUCI
UNIVERZITA PALACKÉHO V OLOMOUCI PEDAGOGICKÁ FAKULTA Bakalářská práce 2014 Lenka Koutná UNIVERZITA PALACKÉHO V OLOMOUCI PEDAGOGICKÁ FAKULTA Katedra technické a informační výchovy Bakalářská práce Lenka
VíceOracle XML DB. Tomáš Nykodým
Oracle XML DB Tomáš Nykodým xnykodym@fi.muni.cz Osnova Oracle XML DB Architektura Oracle XML DB Hlavní rysy Oracle XML DB Hlavní rysy Oracle XML DB - pokračování XMLType XML Repository Využívání databázových
VíceDotazovací jazyk SQL I
Dotazovací jazyk SQL I Historický vývoj I IBM - 70. léta - prototyp relačního DBMS - System R 80. léta - základ 2 komerčních DBMS: SQL/DS, DB2 SQL jako standard Standardizační instituce ANSI: American
VíceZápadočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června 2007. krovacek@students.zcu.cz
Databáze čajových sáčků Martina Málková Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky Databázové systémy 2 9. června 2007 krovacek@students.zcu.cz 1 1 Datová analýza V původním
Více