+ All Categories
Home > Documents > Integrita dat datab áze Oracle

Integrita dat datab áze Oracle

Date post: 23-Feb-2016
Category:
Upload: wynona
View: 70 times
Download: 1 times
Share this document with a friend
Description:
Integrita dat datab áze Oracle. Lubom ír Andrle lubomir.andrle @ unicorn.eu 4 . přednáška 21 .10.201 3. Obsah. Data integrity Integrity constraints Reference integrity Triggers Jak přistupovat k řešení data integrity. DATA integrity. Data integrity. - PowerPoint PPT Presentation
30
Integrita dat databáze Oracle Lubomír Andrle [email protected] 4. přednáška 21.10.2013
Transcript
Page 1: Integrita dat datab áze  Oracle

Integrita dat databáze Oracle

Lubomír [email protected]

4. přednáška21.10.2013

Page 2: Integrita dat datab áze  Oracle

Obsah

• Data integrity– Integrity constraints– Reference integrity– Triggers

• Jak přistupovat k řešení data integrity

Page 3: Integrita dat datab áze  Oracle

DATA INTEGRITY

Page 4: Integrita dat datab áze  Oracle

Data integrity• Integrita databáze znamená, že databáze vyhovuje zadaným

pravidlům – integritním omezením (wiki)

• Důvody vzniků nekonzistencí– nedostatečná aktualizace dat– vložení nesprávných hodnot• Vložená data neodpovídají realitě

– referenční integrita• Při rušení řádku v jedné tabulce může nastat situace,

kdy v jiné tabulce zůstanou informace, které se k tomuto řádku vztahují (odkazují)

Page 5: Integrita dat datab áze  Oracle

Zajištění data integrity

• Volba správného datového typu– Číslo je opravdu číslo, apod.

• Použití mechanismu Integrity constraints• Využití triggerů

Page 6: Integrita dat datab áze  Oracle

Integrity constraints

• NOT NULL• UNIQUE KEY• PRIMARY KEY• FOREIGN KEY• CHECK

Page 7: Integrita dat datab áze  Oracle

NOT NULL constraint

• Zamezuje vložení NULL hodnoty do daného sloupce

Page 8: Integrita dat datab áze  Oracle

UNIQUE KEY constraint

• Zamezuje vložení dvakrát stejné hodnoty do daného sloupce

Page 9: Integrita dat datab áze  Oracle

COMPOSITE UNIQUE KEY

• Lze definovat tzv. Složený Unique Key– Skládá se z více sloupců

Page 10: Integrita dat datab áze  Oracle

PRIMARY KEY constraint

• Každá tabulka musí mít definován právě jeden Primary Key (PK) constraint

• Implementace PK constraint garantuje– V rámci jedné tabulky neexistují dva řádky se

stejným PK– PK neumožňuje vložit hodnotu NULL

Page 11: Integrita dat datab áze  Oracle

PRIMARY KEY (PK)

• Sloupce definující PK constranit se nazývají Primary Key Columns

• Úloha PK– Každý řádek je

jednoznačně identifikován

– Neexistují duplicitní řádky v jedné tabulce

Page 12: Integrita dat datab áze  Oracle

PRIMARY KEY Indexes

• Každý PK constraints používá Index– Unique index

• I pro složené PK je vytvořen složený Index

Page 13: Integrita dat datab áze  Oracle

CHECK constraint

• Omezení definováno speciální podmínkou

Page 14: Integrita dat datab áze  Oracle

Jak definovat contraints

• Při založení a úpravě tabulek– CREATE a ALTER TABLE

• Pozor na zanedbání definice constraints!– Ošetření na úrovni business vrstvy není dostačující• Lze využít jako doplněk DB constraints

Page 15: Integrita dat datab áze  Oracle

Integrity contraints a výkon

• Každý constraint má dopad na práci s řádky• Pořadí náročnosti– NOT NULL– UNIQUE– PRIMARY KEY– FOREIGN KEY– CHECK– TRIGGERS

Page 16: Integrita dat datab áze  Oracle

REFERENCE INTEGRITY

Page 17: Integrita dat datab áze  Oracle

Co je referenční integrita• Jedná se o požadavek, aby pro pole záznamu, jež má

obsahovat odkaz na jiný záznam někde v databázi, takový odkazovaný záznam skutečně existoval, tedy aby takový odkaz nevedl „do prázdna“ a nejednalo se o tzv. databázového sirotka (wiki)

Page 18: Integrita dat datab áze  Oracle

Referenční integrita - Reference integrity

• Každá reference mezi tabulkami podléhá určitým pravidlům

• Úkolem referenční integrity je tyto pravidla dodržovat a udržovat– Reference integrity constraints

Page 19: Integrita dat datab áze  Oracle

Reference integrity constraints

• Foreign Key (FK)– Sloupec, který určuje danou referenci

• Reference Key– Unique nebo primary key, který je referencován

právě cizím klíčem (FK)• Závislá tabulka (child)– Tabulka obsahující FK

• Referencovaná tabulka (parent)

Page 20: Integrita dat datab áze  Oracle

Foreign Key

• Dvě úrovně zadání– Hodnota odpovídá odkazované hodnotě– Obsahuje NULL hodnotu

• Možnost využití DELETE CASCADE

Page 21: Integrita dat datab áze  Oracle

Foreign Key

Page 22: Integrita dat datab áze  Oracle

Foreign Key – reference v 1 tabulce

Page 23: Integrita dat datab áze  Oracle

Foreign Key III

• Porovnání zámků při indexovaném FK

Page 24: Integrita dat datab áze  Oracle

Další možnosti constraints

• Možnost definovat typ vyhodnocení constraints – deferrable nebo not deferrable

• Stavy constraints– Enable, Disable– Validate, Novalidate

Page 25: Integrita dat datab áze  Oracle

Triggers

• Definice dalších integritní omezení• Komplexnější definice kontrol, jež se budou

provádět při každém pokusu o zápis záznamu do databáze

• Typ uložené procedury spouštěné za předem definovaných událostí– Insert, Update, Delete

Page 26: Integrita dat datab áze  Oracle

Triggers

Page 27: Integrita dat datab áze  Oracle

JAK PŘISTUPOVAT K ŘEŠENÍ DATA INTEGRITY

Page 28: Integrita dat datab áze  Oracle

Best practices

• Constraints používejte vždy!• Výjimky– Dávkový import dat– Rozsáhlé datové modely, kde je již v době návrhu

počítáno s absencí některých constraints

Page 29: Integrita dat datab áze  Oracle

Informace• http://docs.oracle.com/cd/B19306_01/server.102/b14220/data_int.htm#i4665

Page 30: Integrita dat datab áze  Oracle

Q&A


Recommended