Databázové systémy. Integritní omezení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 1 / 33
|
|
- Marek Valenta
- před 7 lety
- Počet zobrazení:
Transkript
1 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
2 Přednáška 9: Přehled 1 Relační algebra: výrazy relační algebry, formalizace relačního dotazování. 2 Integritní omezení: obecný pohled, vztah k relační algebře, vztah k relačnímu přiřazení, implementace v Tutorial D, implementace v SQL. 3 Důležité typy integritních omezení: omezení hodnot atributů, referenční integrita a cizí klíče, nadklíče a klíče. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 2 / 33
3 Motivace pro integritní omezení připomeňme (Přednáška 3): instance databáze, angl.: database instance Instance databáze je konečná množina relačních proměnných, jejich aktuálních hodnot a integritních omezení (zatím nepotřebujeme). dotaz, angl.: query Dotaz je částečná rekurzivní funkce z množiny všech instancí databáze do množiny všech relací (nad relačními schématy). úloha integritních omezení: Zajistit, aby bylo možné provádět pouze ta relační přiřazení (modifikace relačních proměnných), která zaručují, že databáze bude v konzistentním stavu všechna integritní omezení budou splněna. poznámka: užité pojmy nejprve formalizujeme,... V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 3 / 33
4 Relační algebra zatím jsme ukázali: formalizaci pojmu relace (a souvisejících pojmů) množinu relačních operací (některé odvoditelné z ostatních) korespondence v jazycích Tutorial D (dobrá) a SQL (slabší) nyní formalizujeme: skalární a relační výrazy relační algebry dva aspekty: syntaxe výrazů E, F, G,... (definujeme jejich přípustné tvary) sémantika výrazů E D, F D, G D,... (definujeme jejich interpretaci v instancích databáze) omezení úvah: pro naše účely zvolíme pouze fragment relačních operací V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 4 / 33
5 Definice (Syntaxe výrazů relační algebry) Relační výrazy (RV) relační algebry (RA) jsou: 1 { } je RV typu, 2 pokud je R relační typ, pak je R RV typu R, 3 pokud y D y, pak je [y:d] RV typu {y}, 4 pokud je r relační proměnná typu R, pak je r RV typu R, 5 pokud jsou E a F RV typu R, pak jsou i (E F) a (E \ F) RV typu R, 6 pokud je E RV typu R a S R, pak je π S (E) RV typu S, 7 pokud je E RV typu R, y R a z R D y, pak je σ y=z (E) RV typu R, 8 pokud jsou E a F RV typů R a S, pak je (E F) RV typu R S, 9 pokud je E RV typu R a f : R Y je injektivní, pak je ρ f (E) RV typu f(r). Skalární výrazy (SV) relační algebry jsou: 1 pokud jsou E a F RV téhož typu, pak je E F SV, 2 pokud jsou E a F RV téhož typu, pak je E = F SV. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 5 / 33
6 Definice (Sémantika relačních a skalárních výrazů RA) Nechť D je instance databáze. Pokud je G va tvaru 1 { }, pak G D je relace nad obsahující (TABLE_DEE) 2 R, pak G D je prázdná relace typu R, 3 [y:d], pak G D = {{ y, d }}, 4 r, pak G D je hodnota r v instanci D, 5 E F, pak G D = E D F D (analogicky pro \) 6 π S (E), pak G D = π S (E D ), 7 σ y=z (E), pak G D = σ y=z (E D ) 8 E F, pak G D = E D F D, 9 ρ f (E), pak G D = ρ f (E D ). Pro SV relační algebry říkáme, že 1 E F je pravdivý v D pokud E D F D, 2 E = F je pravdivý v D pokud E D = F D. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 6 / 33
7 Integritní omezení integritní omezení, angl.: integrity constraints Množina integritních omezení relační databáze je konečná množina skalárních výraz typu pravdivostní hodnota. Instance databáze splňuje danou množinu integritních omezení, pokud jsou všechny dané skalární výrazy pravdivé. dva základní tvary výrazů RA definujících integritní omezení 1 E = R, kde E je výraz RA typu R; 2 E F, kde E a F jsou výrazy RA stejného typu. poznámky: E = R interpretujeme: žádná hodnota nesmí splňovat R E F interpretujeme: každá hodnota splňující E splňuje i F vzájemná převoditelnost (E = R p. k. E R ; E F p. k. jako E \ F = R ) důsledek adjunkce \ a (Přednáška 3) V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 7 / 33
8 Poznámky k účelu integritních omezení původ pojmu: jedna z komponent relačního modelu dat (od počátku) Codd, E. F.: A relational model of data for large shared data banks Communications of the ACM 13: 6 (1970) integritní omezení efektivita: integritní omezení = prostředek zaručení konzistence dat součást logického modelu dat neplést s prostředky efektivity: indexy a pod. (záležitost fyzické vrstvy) jak formulovat: obecné pravidlo čím více, tím lépe je možné rozlišit: integritní omezení na straně serveru uživatele (klienta) na straně uživatele (klienta) se považuje za nedostatečné V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 8 / 33
9 Obecná integritní omezení v Tutorial D a SQL Tutorial D: CONSTRAINT jméno skalární-vyraz ; DROP CONSTRAINT jméno ; SQL: ALTER TABLE jméno-tabulky ADD CONSTRAINT jméno-omezení definice-omezení ; ALTER TABLE jméno-tabulky DROP CONSTRAINT jméno-omezení ; CREATE TABLE jméno-tabulky ( definice-atributu CONSTRAINT jméno-omezení 1 definice-omezení 1,. CONSTRAINT jméno-omezení n definice-omezení n ); V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 9 / 33
10 Příklad (Tutorial D: Obecná integritní omezení) VAR rt BASE RELATION {foo INT, bar INT, baz CHAR} KEY {foo}; CONSTRAINT rt_nnega IS_EMPTY (rt WHERE (foo < 0)); CONSTRAINT rt_fubar IS_EMPTY (rt WHERE (foo > bar)); INSERT rt RELATION {TUPLE {foo 10, bar 20, baz "aaa"}}; INSERT rt RELATION {TUPLE {foo -1, bar 20, baz "bbb"}}; /* fail */ INSERT rt RELATION {TUPLE {foo 30, bar 20, baz "ccc"}}; /* fail */ DROP CONSTRAINT rt_nnega; DROP CONSTRAINT rt_fubar; DROP VAR rt; V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 10 / 33
11 Příklad (SQL: Obecná integritní omezení) CREATE TABLE tab ( foo NUMERIC NOT NULL PRIMARY KEY, bar NUMERIC NOT NULL, baz VARCHAR NOT NULL); ALTER TABLE tab ADD CONSTRAINT tab_nnega CHECK (foo < 0); ALTER TABLE tab ADD CONSTRAINT tab_fubar CHECK (foo < bar); INSERT INTO tab VALUES (10, 20, aaa ); INSERT INTO tab VALUES (-1, 20, bbb ); /* fail */ INSERT INTO tab VALUES (30, 20, ccc ); /* fail */ ALTER TABLE tab DROP CONSTRAINT tab_nnega; ALTER TABLE tab DROP CONSTRAINT tab_fubar; V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 11 / 33
12 Omezení přípustných hodnot atributů jako integritní omezení motivace: Chceme vyjádřit, že pouze některé hodnoty daných typů jsou přípustnými hodnotami atributů relací (např. nezáporné hodnoty označující kvantitu). Tutorial D: TYPE jméno POSSREP { CONSTRAINT skalární-výraz }; CONSTRAINT jméno IS_EMPTY ( relační-výraz WHERE NOT podmínka ); SQL (jako v obecném tvaru pomocí klauzule CHECK): CHECK ( podmínka ) ALTER TABLE jméno-tabulky ADD CONSTRAINT jméno-omezení CHECK ( podmínka ); V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 12 / 33
13 Příklad (Tutorial D: Omezení přípustných hodnot) /* type definition, not an integrity constraint per se */ TYPE IPv4_Addr POSSREP { a INTEGER, b INTEGER, c INTEGER, d INTEGER CONSTRAINT AND {a >= 0, b >= 0, c >= 0, d >= 0, a <= 255, b <= 255, c <= 255, d <= 255}}; TYPE Cnt POSSREP {n INTEGER CONSTRAINT n >= 0}; Cnt (10) = Cnt (10) Cnt (-10) /* fails */ /* making constraint on integer values */ CONSTRAINT foo_in_rt_is_non_negative IS_EMPTY (rt WHERE foo < 0); /* equivalently */ CONSTRAINT foo_in_rt_is_non_negative rt = (rt WHERE foo >= 0); V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 13 / 33
14 Příklad (SQL: Omezení přípustných hodnot) CREATE TABLE tab ( foo NUMERIC NOT NULL PRIMARY KEY CHECK (foo >= 0), bar NUMERIC NOT NULL, CHECK (foo <= bar), baz VARCHAR NOT NULL); CREATE TABLE tab ( foo NUMERIC NOT NULL PRIMARY KEY CONSTRAINT c1 CHECK (foo >= 0), bar NUMERIC NOT NULL, CONSTRAINT c2 CHECK (foo <= bar), baz VARCHAR NOT NULL); poznámky k použití CHECK: na úrovni atributu může odkazovat pouze na hodnotu atributu (v každé n-tici) na úrovni tabulky může operovat s hodnotami všech atributů (každé z n-tic) nepodporuje vnořené dotazy (PostgreSQL,!!) V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 14 / 33
15 Opakování: Klíče (Přednáška 2) klíč, angl.: key Uvažujme relační proměnnou X typu R = {y 1,..., y n }. Množina klíčů proměnné X je libovolná neprázdná množina {K 1,..., K n } jejíž prvky jsou podmnožiny R a splňují podmínku, že K i K j pro každé i j. relační přiřazení, angl.: relational assignment Mějme relční proměnnou X typu R a nechť {K 1,..., K n } je množina klíčů proměnné X. Pak relaci D typu R lze přiřadit jako hodnotu proměnné X pokud je splněna následující podmínka: Pro každé i = 1,..., n a libovolné r 1, r 2 D platí: pokud r 1 (y) = r 2 (y) pro každý y K i, pak r 1 = r 2. V opačném případě říkáme, že D porušuje integritní omezení dané některým klíčem relační proměnné X. V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 15 / 33
16 Klíče jako integritní omezení předpoklad: relační proměnná r typu R množina atributů K R integritní omezení vyjadřující, že K je klíč r (lépe: nadklíč, Přednáška 8): pro R = {y 1,..., y k,..., y n } a K = {y 1,..., y k } uvažujeme σ y1 =y 1 c cy k=y k cn(y k+1=y k+1 c cyn=y n ) ( r ρy 1 y 1,...,y n yn (r) ) = R. předchozí výraz je pravdivý v D pokud pro každé dvě n-tice r, r r D platí: pokud r(k) = r (K), pak r = r. SQL (jako v obecném tvaru pomocí klauzule UNIQUE): UNIQUE ( atribut 1, atribut 2,...) V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 16 / 33
17 Příklad (Tutorial D: Integritní omezení pomocí klíčů) VAR rt BASE RELATION {foo INT, bar INT, baz INT, qux INT} KEY {qux}; /* define constraint: {foo, bar} is a key */ CONSTRAINT fubar_key IS_EMPTY ((rt TIMES (rt RENAME {PREFIX "" AS "n"})) WHERE AND {foo = nfoo, bar = nbar} AND NOT AND {baz = nbaz, qux = nqux}); /* alternatively, using WRAP */ CONSTRAINT fubar_key IS_EMPTY ((((rt WRAP ({baz, qux} AS a)) WRAP ({foo, bar} AS c)) JOIN ((rt WRAP ({baz, qux} AS b)) WRAP ({foo, bar} AS c))) WHERE NOT (a = b)); V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 17 / 33
18 Příklad (SQL: Integritní omezení pomocí klíčů) ALTER TABLE tab ADD CONSTRAINT fubar_key UNIQUE (foo, bar); CREATE OR REPLACE FUNCTION fubar_trg () RETURNS TRIGGER AS $$ BEGIN IF (0 < (SELECT count (*) FROM tab WHERE foo = NEW.foo AND bar = NEW.bar AND NOT (baz = NEW.baz AND qux = NEW.qux))) THEN RAISE EXCEPTION fubar_key constraint violated! ; END IF; RETURN NEW; END; $$ LANGUAGE plpgsql; CREATE TRIGGER fubar_key BEFORE INSERT OR UPDATE ON tab FOR EACH ROW EXECUTE PROCEDURE fubar_trg (); V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 18 / 33
19 Referenční integritní omezení motivace: Hodnoty atributů jedné relace se musí nacházet jako hodnoty (jiných) atributů jiné relace. referenční integritní omezení, angl.: referential integrity constraint Mějme relační proměnné r typu R a s typu S. Referenční integritní omezení je výraz ve tvaru ρ f (π R (r)) π S (s), kde R R a S S. omezení ρ f (π R (r)) π S (s) je splňeno v D pokud pro každou r r D platí, že existuje s s D tak, že r(f(y)) = s(y) pro každý atribut y S Příklad (Referenční integritní omezení) s (studenti), p (předměty), z (student má zapsaný předmět) ρ ID STUDENT_ID (π STUDENT_ID (z)) π ID (s) ρ ID COURSE_ID (π COURSE_ID (z)) π ID (p) V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 19 / 33
20 Příklad (Tutorial D: Referenční integritní omezení) VAR student BASE RELATION {id StudentId, name Name, major Major} KEY {id}; VAR course BASE RELATION {id CourseId, name Name, ver CourseVersion} KEY {id}; VAR enrolled BASE RELATION {student_id StudentId, course_id CourseId, year Year} KEY {student_id, course_id, year}; /* referential integrity constraints */ CONSTRAINT enrolled_student_fkey ((enrolled {student_id}) RENAME {student_id AS id}) <= student {id}; CONSTRAINT enrolled_course_fkey ((enrolled {course_id}) RENAME {course_id AS id}) <= course {id}; V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 20 / 33
21 Referenční integritní omezení v SQL SQL (částečně) implementuje pomocí cizích klíčů: pro ρ f (π R (r)) π S (s) je R cizí klíč relační proměnné r, který se odkazuje na atributy S proměnné s nutný předpoklad: S musí být klíč v s (PRIMARY KEY nebo UNIQUE,!!) jednoatributový cizí klíč (sloupcové omezení): REFERENCES jméno-tabulky ( atribut ) víceatributový cizí klíč (omezení v rámci celé tabulky): FOREIGN KEY ( r-atribut 1, r-atribut 2,...) REFERENCES jméno-tabulky ( s-atribut 1, s-atribut 2,...) poznámka: jako ostatní omezení lze použít s CONSTRAINT a ALTER TABLE V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 21 / 33
22 Příklad (SQL: Použití REFERENCES) CREATE TABLE student ( id NUMERIC NOT NULL PRIMARY KEY, name VARCHAR NOT NULL, major VARCHAR NOT NULL); CREATE TABLE course ( id NUMERIC NOT NULL PRIMARY KEY, name VARCHAR NOT NULL, ver NUMERIC NOT NULL); /* table with two foreign keys */ CREATE TABLE enrolled ( student_id NUMERIC NOT NULL REFERENCES student (id), course_id NUMERIC NOT NULL REFERENCES course (id), year NUMERIC NOT NULL, PRIMARY KEY (student_id, course_id, year)); V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 22 / 33
23 Příklad (SQL: Použití FOREIGN KEY a REFERENCES) CREATE TABLE student ( id NUMERIC NOT NULL PRIMARY KEY, name VARCHAR NOT NULL, major VARCHAR NOT NULL); CREATE TABLE course ( name VARCHAR NOT NULL, ver NUMERIC NOT NULL, PRIMARY KEY (name, ver)); CREATE TABLE enrolled ( student_id NUMERIC NOT NULL REFERENCES student (id), c_name VARCHAR NOT NULL, c_ver NUMERIC NOT NULL, FOREIGN KEY (c_name, c_ver) REFERENCES course (name, ver), year NUMERIC NOT NULL, PRIMARY KEY (student_id, c_name, c_ver, year)); V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 23 / 33
24 Příklad (SQL: Modifikace cizích klíčů pomocí ALTER TABLE) CREATE TABLE enrolled ( student_id NUMERIC NOT NULL, c_name VARCHAR NOT NULL, c_ver NUMERIC NOT NULL, year NUMERIC NOT NULL, PRIMARY KEY (student_id, c_name, c_ver, year)); /* foreign key referencing student ids */ ALTER TABLE enrolled ADD CONSTRAINT student_id_fkey FOREIGN KEY (student_id) REFERENCES student (id); /* foreign key referencing course names and versions */ ALTER TABLE enrolled ADD CONSTRAINT course_fkey FOREIGN KEY (c_name, c_ver) REFERENCES course (name, ver); V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 24 / 33
25 Chování cizích klíčů v SQL předpoklad: je dáno ρ y x (π {x} (r)) π {y} (s) modifikace proměnné r, které končí chybou: vložení hodnoty x do r, která se nenachází mezi hodnotami y z s příklad: vložení výsledku zkoušky pro ID, které nepatří žádnému studentovi jako v předchozím případě, pro UPDATE místo DELETE příklad: snaha modifikovat ID na hodnotu, která nepatří žádnému studentovi modifikace proměnné s, kdy je možné specifikovat chování: pokus smazat z s n-tici s, kde s(y) se stále používá v r příklad: smazání studenta, který má stále záznamy o zkoušce jako v předchozím případě, pro UPDATE místo DELETE příklad: modifikace ID studenta, který má záznamy o zkoušce V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 25 / 33
26 Možnosti reakcí na porušení omezení v SQL předpoklad: je dáno ρ y x (π {x} (r)) π {y} (s) snažíme se provést modifikaci s porušující toto omezení možné způsoby ošetření: 1 NO ACTION: implicitní chování okamžité zastavení, nahlášení chyby 2 RESTRICT: nahlášení chyby bez možnosti odložení kontroly (viz dále) 3 CASCADE: kaskádování nedojde k chybě, ale změna se propaguje do tabulek, ve kterých je hodnota přítomna jako cizí klíč: při DELETE se smažou odpovídající n-tice při UPDATE se adekvátně změní hodnoty 4 SET NULL: smazání hodnoty z n-tic hodnoty v tabulkách s cizím klíčem budou nedefinované (nebezpečné, Přednáška 5) 5 SET DEFAULT: nastavení na implicitní hodnotu pokud má atribut dánu implicitní hodnotu pomocí DEFAULT V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 26 / 33
27 Příklad (SQL: Reakce na porušení integritních omezení) CREATE TABLE enrolled ( student_id NUMERIC NOT NULL REFERENCES student (id) ON UPDATE CASCADE ON DELETE CASCADE, course_id NUMERIC NOT NULL REFERENCES course (id) ON DELETE RESTRICT ON UPDATE CASCADE, year NUMERIC NOT NULL, PRIMARY KEY (student_id, course_id, year)); /* the following removes tuples from enrolled referencing 666 */ DELETE FROM student WHERE id = 666; /* the following updates tuples in enrolled */ UPDATE student SET id = 777 WHERE id = 666; DROP TABLE student; /* fail */ DROP TABLE student RESTRICT; /* fail */ DROP TABLE student CASCADE; /* removes constraint, not values */ V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 27 / 33
28 Pozdržené vyhodnocování integritních omezení v SQL pro UNIQUE, PRIMARY KEY a REFERENCES je možné omezení deklarovat jako: 1 NOT DEFERRABLE (implicitní hodnota) platnost integritního omezení je testována bezprostředně po provedení modifikující operace 2 DEFERRABLE s uvedením následující specifikace: INITIALLY IMMEDIATE (implicitní hodnota) platnost integritního omezení je možné pozdržet v rámci jedné transakce, počáteční nastevení omezení ale je provádět kontrolu okamžitě INITIALLY DEFERRED platnost omezení je testována až na konci transakce modifikace režimu pozdržení v rámci transakce: SET CONSTRAINTS ALL DEFERRED; SET CONSTRAINTS ALL IMMEDIATE; SET CONSTRAINTS jméno 1, jméno 2,... DEFERRED; SET CONSTRAINTS jméno 1, jméno 2,... IMMEDIATE; V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 28 / 33
29 Příklad (SQL: Problém záměny hodnot primárního klíče bez pozdržení) CREATE TABLE foo ( x NUMERIC NOT NULL PRIMARY KEY, y VARCHAR NOT NULL); /* primary key violation and transaction rollback */ BEGIN; UPDATE foo SET x = 10 WHERE y = Blangis ; /* fails */ UPDATE foo SET x = 20 WHERE y = Abbe ; ROLLBACK; /* workaround (or, using deletes and inserts) */ BEGIN; UPDATE foo SET x = 666 WHERE y = Abbe ; UPDATE foo SET x = 10 WHERE y = Blangis ; UPDATE foo SET x = 20 WHERE y = Abbe ; COMMIT; V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 29 / 33
30 Příklad (SQL: Záměna hodnot primárního klíče s pozdržením) CREATE TABLE foo ( x NUMERIC NOT NULL PRIMARY KEY DEFERRABLE, y VARCHAR NOT NULL); /* primary key violation and transaction rollback */ BEGIN; UPDATE foo SET x = 10 WHERE y = Blangis ; /* fails */ UPDATE foo SET x = 20 WHERE y = Abbe ; ROLLBACK; /* making all initially immediate constraints deferred */ BEGIN; SET CONSTRAINTS ALL DEFERRED; UPDATE foo SET x = 10 WHERE y = Blangis ; UPDATE foo SET x = 20 WHERE y = Abbe ; COMMIT; /* success */ V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 30 / 33
31 Příklad (SQL: Rozdíl mezi NO ACTION a RESTRICT) CREATE TABLE foo ( x NUMERIC NOT NULL PRIMARY KEY); /* foreign key with NO ACTION */ CREATE TABLE bar ( x NUMERIC NOT NULL PRIMARY KEY REFERENCES foo (x) ON DELETE NO ACTION DEFERRABLE); /* foreign key with RESTRICT */ CREATE TABLE baz ( x NUMERIC NOT NULL PRIMARY KEY REFERENCES foo (x) ON DELETE RESTRICT DEFERRABLE); INSERT INTO foo VALUES (10), (20), (30); INSERT INTO bar VALUES (10), (20); INSERT INTO baz VALUES (10); V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 31 / 33
32 Příklad (SQL: Případ užití NO ACTION a RESTRICT) INSERT INTO foo VALUES (10), (20), (30); INSERT INTO bar VALUES (10), (20); INSERT INTO baz VALUES (10); BEGIN; SET CONSTRAINTS ALL DEFERRED; DELETE FROM foo WHERE x = 20; INSERT INTO foo VALUES (20); COMMIT; /* success */ /* RESTRICT in table "baz" cannot be deferred */ BEGIN; SET CONSTRAINTS ALL DEFERRED; DELETE FROM foo WHERE x = 10; /* fail */ INSERT INTO foo VALUES (10); ROLLBACK; V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 32 / 33
33 Přednáška 9: Závěr pojmy k zapamatování: relační algebra, relační a skalární výrazy integritní omezení, konzistence, referenční integrita, cizí klíče pozdržené vyhodnocení integritních omezení použité zdroje: Date C. J.: Database in Depth: Relational Theory for Practitioners O Reilly Media 2005, ISBN Date C. J., Darwen H.: Databases, Types and the Relational Model Addison Wesley 2006, ISBN Maier D: Theory of Relational Databases Computer Science Press 1983, ISBN V. Vychodil (KMI/DATA1, Přednáška 9) Integritní omezení Databázové systémy 33 / 33
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
Databázové systémy. Přirozené spojení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 4) Přirozené spojení Databázové systémy 1 / 41
Databázové systémy Přirozené spojení Vilém Vychodil KMI/DATA1, Přednáška 4 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 4) Přirozené spojení Databázové systémy 1 / 41 Přednáška 4: Přehled 1 Přirozené
Databázové systémy. Úvod do teorie normalizace. Vilém Vychodil
Databázové systémy Úvod do teorie normalizace Vilém Vychodil KMI/DATA1, Přednáška 12 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 12) Úvod do teorie normalizace Databázové systémy 1 / 10 Přednáška
Databázové systémy. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 1 / 37
Databázové systémy Základní relační operace Vilém Vychodil KMI/DATA1, Přednáška 3 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 1 / 37 Přednáška 3:
Databá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í
7. 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
7. 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
Kapitola 6: Omezení integrity. Omezení domény
- 6.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é
2. 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
Databá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
Informač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á
Dotazová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í
Databázové systémy. Agregace, sumarizace, vnořené dotazy. Vilém Vychodil
Databázové systémy Agregace, sumarizace, vnořené dotazy Vilém Vychodil KMI/DATA1, Přednáška 7 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 7) Agregace, sumarizace, vnořené dotazy Databázové systémy
PL/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
Databá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
Databázové systémy. Relační model dat. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 2) Relační model dat Databázové systémy 1 / 43
Databázové systémy Relační model dat Vilém Vychodil KMI/DATA1, Přednáška 2 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 2) Relační model dat Databázové systémy 1 / 43 Přednáška 2: Přehled 1 Základní
Databá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
6. 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
Kurz 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
Jazyk 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/
Primá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
InnoDB 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í
Databázové systémy. Ostatní typy spojení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 1 / 34
Databázové systémy Ostatní typy spojení Vilém Vychodil KMI/DATA1, Přednáška 5 Databázové systémy V. Vychodil (KMI/DATA1, Přednáška 5) Ostatní typy spojení Databázové systémy 1 / 34 Přednáška 5: Přehled
Stored 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í
Ú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
Fakulta 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í
Databá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
Normální formy, referenční integrita, návrh databáze, interakce s ostatními jazyky
Databázové systémy Normální formy, referenční integrita, návrh databáze, interakce s ostatními jazyky Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YDATA: Přednáška
Zá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
Obchodní 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
SQL. 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
Verzování a publikace dat na webu za pomoci PostgreSQL
Prague PostgreSQL Developers' Day 2013 Verzování a publikace dat na webu za pomoci PostgreSQL Jan Pěček Kdo jsem? Jan Pěček Programátor PostgreSQL Jyxo, s.r.o. (Blog.cz) MAFRA, a.s. - Internet Trading
Gymná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
Informač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é
Databá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í
SQL 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í
SII - 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)
4. 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...
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...
Ná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é
Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza
Databáze SQL SELECT David Hoksza http://siret.cz/hoksza Osnova Úvod do SQL Základní dotazování v SQL Cvičení základní dotazování v SQL Structured Query Language (SQL) SQL napodobuje jednoduché anglické
Konceptuá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í
Databá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
Zá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
Databá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
Databáze I. 1. přednáška. Helena Palovská
Databáze I 1. přednáška Helena Palovská palovska@vse.cz Co je databáze Mnoho dat Organizovaných používá se model uspořádání Řízený přístup k datům přijímá požadavky v jazyce modelu umožňuje sdílení dat
A5M33IZS 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
Transformace 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
8.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
PG 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
Databá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í
Databázové systémy úvod
Databázové systémy úvod 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 https://edux.fit.cvut.cz/courses/bi-dbs/
Semestrální práce z DAS2 a WWW
Univerzita Pardubice Fakulta elektrotechniky a informatiky Semestrální práce z DAS2 a WWW Databázová část Matěj Trakal 8.12.2009 Kapitola 1: Obsah KAPITOLA 1: OBSAH 2 KAPITOLA 2: ZÁKLADNÍ CHARAKTERISTIKA
Kapitola 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
RELAČ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í
Relač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,
Tabulka fotbalové ligy
Semestrální práce na X36DB2 Michal Rezler Jan Zmátlík Tabulka fotbalové ligy a tabulka střelců 8. prosinec 2011 Obsah 1 Zadání....................................................... 3 1.1 Stručný popis.............................................
Databá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á
Relace 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
SQL - 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
- 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
Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz
Databáze II 1. přednáška Helena Palovská palovska@vse.cz Program přednášky Úvod Třívrstvá architektura a O-R mapování Zabezpečení dat Role a přístupová práva Úvod Co je databáze Mnoho dat Organizovaných
Optimalizace dotazů a databázové transakce v Oracle
Optimalizace dotazů a databázové transakce v Oracle Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Demo-cvičení pro IDS 22. dubna 2015 Marek Rychlý
Databá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ů
Ú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í
Sada 1 - PHP. 14. Úvod do jazyka SQL
S třední škola stavební Jihlava Sada 1 - PHP 14. Úvod do jazyka SQL Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 - inovace a
Text ú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ů
DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný
DJ2 rekurze v SQL slajdy k přednášce NDBI001 Jaroslav Pokorný 1 Obsah 1. Úvod 2. Tvorba rekurzívních dotazů 3. Počítaní v rekurzi 4. Rekurzívní vyhledávání 5. Logické hierarchie 6. Zastavení rekurze 7.
Dotazovací 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
PostgreSQL. Podpora dědičnosti Rozšiřitelnost vlastní datové typy. Univerzální nasazení ve vědecké sféře
PostgreSQL Vzniká jako akademický projekt Experimentální vlastnosti Podpora dědičnosti Rozšiřitelnost vlastní datové typy Univerzální nasazení ve vědecké sféře Obsahuje podporu polí (časové řady) Geotypy
Inovace 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
Jazyk SQL databáze SQLite. připravil ing. petr polách
Jazyk SQL databáze SQLite připravil ing. petr polách SQL - úvod Structured Query Language (strukturovaný dotazovací jazyk 70. léta min. století) Standardizovaný dotazovací jazyk používaný pro práci s daty
MySQL sežere vaše data
MySQL sežere vaše data David Karban @davidkarban AWS Certified http://davidkarban.cz/ It s not a bug, it s a feature syndrome Pravděpodobně znáte indexy. Urychlují dotazy. Mohou být řazené, vzestupně i
Relač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)
Kód v databázi. RNDr. Ondřej Zýka
Kód v databázi RNDr. Ondřej Zýka 1 Obsah Jazyk Skripty Funkce Procedury Triggery Správa chyb Java, CLR, apod.. Dobré a špatné praktiky 2 PL/SQL Jazyk Oracle Inspirovaný jazykem ADA Objektový Samostatné
Dotazovací 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
1. Relační databázový model
1. Relační databázový model Poprvé představen 1969 (Dr. Edgar F. Codd) IBM Založeno na Teorii množin Predikátové logice prvního řádu Umožňuje vysoký stupeň nezávislosti dat základ pro zvládnutí sémantiky
Databázové systémy a SQL
Databázové systémy a SQL Daniel Klimeš Autor, Název akce 1 About me Daniel Klimeš Vzdělání: Obecná biologie PGS: onkologie Specializace: klinické databáze Databáze ORACLE klimes@iba.muni.cz Kotlářská 2,
Virtual private database. Antonín Steinhauser
Virtual private database Antonín Steinhauser Základní princip VPD Rozšíření bezpečnostní politiky Oracle o omezení na úrovni jednotlivých řádků a sloupců Pro uživatele, kterého se bezpečnostní politika
Analý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
4IT218 Databáze. 4IT218 Databáze
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
8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1
8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11
Jazyk 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
Vklá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
6. 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í
Operátory ROLLUP a CUBE
Operátory ROLLUP a CUBE Dotazovací jazyky, 2009 Marek Polák Martin Chytil Osnova přednášky o Analýza dat o Agregační funkce o GROUP BY a jeho problémy o Speciální hodnotový typ ALL o Operátor CUBE o Operátor
DUM 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í
Virtual Private Database (VPD) Jaroslav Kotrč
Virtual Private Database (VPD) Jaroslav Kotrč Co je VPD Bezpečnostní politika pro přístup k databázi na úrovni řádků a sloupců. Bezpečnost přímo nad tabulkami. Není způsob, jak to obejít. SQL dotaz upraven
Databázové systémy. Dotazovací jazyk SQL - III
Databázové systémy Dotazovací jazyk SQL - III Vnořený select: kam všude Vytvoření kopie existující tabulky I Vytvoření kopie existující tabulky II Integritní omezení III SQL tříhodnotová logika SQL tříhodnotová
Gymná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
J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu
8. Zpracování dotazu 8.1. Podstata optimalizace zpracování dotazu... 2 8.2. Postup optimalizace zpracování dotazu... 3 8.2.1. Implementace spojení... 5 8.2.2. Využití statistik databáze k odhadu ceny dotazu...11
Informační systémy 2008/2009. Radim Farana. Obsah. Skripty a dávky. Nastavení aktuální databáze. USE DatabaseName
8 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah MS SQL Server 2005, Jazyk Transact-SQL, syntaxe, proměnné, struktury,
12. 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
Co se stane po jeho vykonání? Vyberte libovolný počet možných odpovědí. Správná nemusí být žádná, ale také mohou být správné všechny.
1. Je spušťen následující anonymní PL/SQL blok: BEGIN INSERT INTO countries (id, name) VALUES ('XA', 'Xanadu'); INSERT INTO countries (id, name) VALUES ('NV','Neverland'); COMMIT; COMMIT; ROLLBACK; END;
Databá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é
Jazyk PL/SQL Úvod, blok
Jazyk PL/SQL Úvod, blok 1 Bc. Tomáš Romanovský Procedural Language for Structured Query Language Součást systému Oracle, rozšíření SQL o procedurální rysy Prostředky pro vytváření a spouštění programových
Užití SQL ve 4D v14-15
Užití ve v14-15 Úvod Definice dat a přístup k datům jsou kritické momenty v řízení databází. Uživatelé potřebují schopnost definovat strukturu pro ukládání dat. Uživatelé také chtějí možnost přistupovat
B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux
B0M33BDT Technologie pro velká data Supercvičení SQL, Python, Linux Sergej Stamenov, Jan Hučín 18. 10. 2017 Osnova cvičení Linux SQL Python 2 SQL pro uživatele aneb co potřebuje znát a umět bigdatový uživatel:
Vzorové příklady SQL. Tabulka: Kniha CREATE TABLE kniha (id INTEGER, název VARCHAR(50), PRIMARY KEY (id))
Vzorové příklady SQL Tabulka: Kniha CREATE TABLE kniha název VARCHAR(50, PRIMARY KEY (id Tabulka: Autoři CREATE TABLE autoři jméno VARCHAR(10, příjmení VARCHAR(20, titul VARCHAR(7, prostřední VARCHAR(10,
DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY
Databázové a informační systémy 1. Úvod, PL/SQL I 1/62 DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY Michal Krátký, Radim Bača Katedra informatiky FEI VŠB Technická univerzita Ostrava 2012/2013 Databázové a informační