1 / 30

Integrita dat datab áze Oracle

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.

wynona
Download Presentation

Integrita dat datab áze Oracle

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Integritadatdatabáze Oracle Lubomír Andrle lubomir.andrle@unicorn.eu 4. přednáška 21.10.2013

  2. Obsah • Data integrity • Integrity constraints • Reference integrity • Triggers • Jak přistupovat k řešení data integrity

  3. DATA integrity

  4. 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í)

  5. 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ů

  6. Integrity constraints • NOT NULL • UNIQUE KEY • PRIMARY KEY • FOREIGN KEY • CHECK

  7. NOT NULL constraint • Zamezuje vložení NULL hodnoty do daného sloupce

  8. UNIQUE KEY constraint • Zamezuje vložení dvakrát stejné hodnoty do daného sloupce

  9. COMPOSITE UNIQUE KEY • Lze definovat tzv. Složený UniqueKey • Skládá se z více sloupců

  10. PRIMARY KEY constraint • Každá tabulka musí mít definován právě jeden PrimaryKey (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

  11. PRIMARY KEY (PK) • Sloupce definující PK constranit se nazývají PrimaryKeyColumns • Úloha PK • Každý řádek je jednoznačně identifikován • Neexistují duplicitní řádky v jedné tabulce

  12. PRIMARY KEY Indexes • Každý PK constraints používá Index • Unique index • I pro složené PK je vytvořen složený Index

  13. CHECK constraint • Omezení definováno speciální podmínkou

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

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

  16. Reference integrity

  17. 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)

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

  19. Reference integrity constraints • ForeignKey (FK) • Sloupec, který určuje danou referenci • Reference Key • Unique nebo primarykey, který je referencován právě cizím klíčem (FK) • Závislá tabulka (child) • Tabulka obsahující FK • Referencovaná tabulka (parent)

  20. ForeignKey • Dvě úrovně zadání • Hodnota odpovídá odkazované hodnotě • Obsahuje NULL hodnotu • Možnost využití DELETE CASCADE

  21. ForeignKey

  22. ForeignKey – reference v 1 tabulce

  23. ForeignKey III • Porovnání zámků při indexovaném FK

  24. Další možnosti constraints • Možnost definovat typ vyhodnocení constraints • deferrable nebo not deferrable • Stavy constraints • Enable, Disable • Validate, Novalidate

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

  26. Triggers

  27. Jak přistupovat k řešení data integrity

  28. Bestpractices • 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

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

  30. Q&A

More Related