Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Vysvetlite, čo sa myslí opakovaním informácií a neschopnosti reprezentovať, prečo každá z týchto vlastností môže naznačovať zlú relačnú databázu?

V návrhu relačnej databázy sú opakovanie informácií (redundancia údajov) a neschopnosť ľahko reprezentovať určité vzťahy ľahko silným ukazovateľom zlého dizajnu. Rozobrame prečo:

1. Opakovanie informácií (redundancia údajov):

* Čo to je: To znamená, že rovnaké údaje sú uložené na viacerých miestach v databáze. Napríklad, ak uložíte adresu zákazníka v tabuľke „zákazníkov“ a tabuľke „Objednávky“, máte redundanciu.

* Prečo je to zlé:

* Aktualizujte anomálie: Ak potrebujete aktualizovať adresu zákazníka, musíte ju zmeniť na každom * mieste, ktoré je uložený. Chýba dokonca jedna aktualizácia vedie k nezrovnalostiam a korupcii údajov. Predstavte si aktualizáciu adresy v tabuľke „Objednávky“, ale zabudnite ju aktualizovať v tabuľke „Zákazníci“ - teraz sú vaše údaje nespoľahlivé.

* vkladanie anomálií: Nemôžete pridať nového zákazníka, pokiaľ nezadá objednávku (pretože adresa musí niekde ísť). Podobne nemôžete pridať nový produkt, pokiaľ si ho zákazník neobjednáva. Databáza vás núti vytvárať zbytočné údaje iba na ukladanie základných faktov.

* anomálie delécie: Ak vymažete zákazníka, môžete neúmyselne odstrániť svoju históriu objednávky, ak sú informácie o adrese uložené iba v zázname o objednávke. Alebo, ak vymažete objednávku, neodstraňujete informácie o zákazníku, čo vedie k osirelým údajom.

* Skladovací odpad: Redundantné údaje spotrebúvajú nepotrebný diskový priestor a zvyšujú veľkosť databázy, čím sa zálohy a dopyty pomaly stanú pomalšími.

2. Neschopnosť reprezentovať vzťahy:

* Čo to je: Vzťahuje sa na situácie, keď štruktúra databázy efektívne nezachytáva vzťahy medzi rôznymi entitami (veci). Napríklad databáza by sa mohla snažiť reprezentovať vzťah mnohých k mnohým (ako sú študenti a kurzy, kde jeden študent môže absolvovať mnoho kurzov a jeden kurz môže mať veľa študentov) bez starostlivého dizajnu.

* Prečo je to zlé:

* Problémy s integritou údajov: Bez správneho spôsobu, ako reprezentovať vzťahy, je ťažšie presadzovať referenčnú integritu (uistiť sa, že vzťahy sú konzistentné). To môže viesť k osirelým záznamom (záznamy odkazujúce na neexistujúce údaje) alebo nezrovnalosti vo vzťahoch.

* Komplexné dotazy: Extrahovanie zmysluplných informácií si vyžaduje písanie zložitých a neefektívnych otázok, ktoré sa pripoja k viacerým tabuľkám a na spracovanie nezrovnalostí vytvorených zlou reprezentáciou vzťahov.

* Limited Funkčnosť: Databáza nemusí byť schopná ľahko vykonávať určité operácie, pretože vzťahy nie sú jasne definované. Napríklad by mohlo byť ťažké nájsť všetkých študentov zapísaných do konkrétneho kurzu, ak vzťah nie je správne modelovaný.

* Zložitá údržba: Modifikácia alebo rozširovanie databázy sa stáva nočnou morou, pretože nedostatok jasných vzťahov sťažuje porozumenie existujúcej štruktúry údajov a jej dôsledkov.

Stručne povedané, tak redundancia údajov a neschopnosť správne reprezentovať vzťahy vedú k databáze, ktorá je neefektívna, náchylná na chyby, ťažko sa udržiava a efektívne nepodporuje zamýšľanú obchodnú logiku. Cieľom dobrého dizajnu relačnej databázy je minimalizovať redundanciu a modelové vzťahy výslovne pomocou techník, ako je normalizácia a nadviazanie vzťahov medzi zahraničnými kľúčmi.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené