Plná funkční závislost je stav normalizace databáze, který odpovídá normalizačnímu standardu Second Normal Form (2NF). Stručně to znamená, že splňuje požadavky First Normal Form (1NF) a všechny neklíčové atributy jsou plně funkčně závislé na primárním klíči. To není tak složité, jak to může znít. Podívejme se na to podrobněji.
Shrnutí první normální formy
Předtím, než může být databáze plně funkčně závislá, musí nejprve vyhovovat First Normal Form. To vše znamená, že každý atribut musí obsahovat jednu atomovou hodnotu. Například následující tabulka není v souladu s 1NF, protože zaměstnanec Tina je propojen se dvěma místy, obě v jedné buňce:
Zaměstnanec | Umístění |
John | Los Angeles |
Tina | Los Angeles, Chicago |
Povolení tohoto návrhu by mohlo negativně ovlivnit aktualizace dat nebo položky. Chcete-li zajistit soulad s 1NF, uspořádejte tabulku tak, aby všechny atributy (nebo buňky sloupců) obsahovaly jednu hodnotu:
Zaměstnanec | Umístění |
John | Los Angeles |
Tina | Los Angeles |
Tina | Chicago |
Ale 1NF stále není dost, aby se zabránilo problémům s daty.
Jak 2NF pracuje na zajištění plné závislosti
Chcete-li být plně závislí, musí všechny klíčové atributy, které nejsou kandidáty, záviset na primárním klíči. Atribut kandidátského klíče je jakýkoli klíč (například primární nebo cizí klíč) používaný k jedinečné identifikaci záznamu databáze. Návrháři databází používají k popisu závislých vztahů mezi atributy notaci: Pokud atribut A určuje hodnotu B, zapíšeme to A -> B, což znamená, že B je funkčně závislý na A. V tomto vztahu A určuje hodnotu B, zatímco B závisí na A. Například v následujících odděleních zaměstnanců stůl, ID zaměstnance a DeptID jsou oba kandidátské klíče: ID zaměstnance je primární klíč tabulky while DeptID je cizí klíč. Jakékoli další atributy – v tomto případě Jméno zaměstnance a DeptName—Musí záviset na primárním klíči, aby byla získána jeho hodnota
ID zaměstnance | Jméno zaměstnance | DeptID | DeptName |
Emp1 | John | Dept001 | Finance |
Emp2 | Tina | Dept003 | Odbyt |
Emp3 | Carlos | Dept001 | Finance |
V tomto případě tabulka není plně závislá, protože zatímco název zaměstnance závisí na primárním klíči ID zaměstnance„ DeptName záleží místo toho na DeptID. Tomu se říká částečná závislost. Aby tato tabulka vyhovovala 2NF, musíme data rozdělit do dvou tabulek: tabulka Zaměstnanci a tabulka Oddělení. Tady je tabulka Zaměstnanci:
ID zaměstnance | Jméno zaměstnance | DeptID |
Emp1 | John | Dept001 |
Emp2 | Tina | Dept003 |
Emp3 | Carlos | Dept001 |
Odstraníme DeptName atribut z tabulky Zaměstnanci a vytvořte novou tabulku Oddělení:
DeptID | DeptName |
Dept001 | Finance |
Dept002 | Lidské zdroje |
Dept003 | Odbyt |
Nyní jsou vztahy mezi tabulkami plně závislé nebo ve 2NF.
Proč je důležitá úplná závislost
Plná závislost mezi atributy databáze pomáhá zajistit integritu dat a vyhnout se anomáliím dat. Zvažte například tabulku v části výše, která dodržuje pouze 1NF. Tady to je, znovu:
Zaměstnanec | Umístění |
John | Los Angeles |
Tina | Los Angeles |
Tina | Chicago |
Tina má dva záznamy. Pokud aktualizujeme jeden, aniž bychom si uvědomili, že existují dva, výsledkem by byla nekonzistentní data. Nebo co když chceme do této tabulky přidat zaměstnance, ale místo ještě neznáme? Mohlo by nám být zakázáno dokonce přidat nového zaměstnance, pokud Umístění atribut neumožňuje hodnoty NULL. Plná závislost však není celý obraz, pokud jde o normalizaci. Musíte se ujistit, že vaše databáze je ve třetím normálním formátu (3NF). Více od Lifewire
-
Uvedení databáze do třetí normální formy (3NF)
-
Vložení databáze do první normální formy
-
Osobní vztahy v databázi
-
Základy normalizace databáze
-
Co je to přechodná závislost v databázi
-
Co jsou to závislosti na databázi?
-
Co je databázový vztah?
-
Glosář běžných termínů v databázi
-
Co je Boyce-Codd normální forma (BCNF)?
-
Funkční závislost v databázi
-
Atribut databáze definuje vlastnosti tabulky
-
Vícehodnotová závislost při návrhu databáze
-
Fakta vs. Dimenzionální tabulky v databázi
-
Jak referenční integrita zajišťuje konzistenci databáze
-
Determinanty a jejich role v databázi
-
Úvod do databázových vztahů
Vaše práva na soukromí
Lifewire a naši partneři třetích stran používají soubory cookie a zpracovávají osobní údaje, jako jsou jedinečné identifikátory, na základě vašeho souhlasu s ukládáním a / nebo přístupem k informacím v zařízení, zobrazováním personalizovaných reklam a pro měření obsahu, přehled publika a vývoj produktů. Chcete-li změnit nebo odvolat váš výběr souhlasu pro Lifewire.com, včetně vašeho práva vznést námitku, kde je použit oprávněný zájem, klikněte níže. Nastavení můžete kdykoli aktualizovat pomocí odkazu „Ochrana osobních údajů v EU“ v dolní části jakékoli stránky. Tyto volby budou globálně signalizovány našim partnerům a nebudou mít vliv na data procházení. Seznam partnerů (prodejců)
My a naši partneři zpracováváme údaje pro:
Aktivně pro identifikaci skenujte vlastnosti zařízení. Používejte přesná geolokační data. Ukládejte a / nebo přistupujte k informacím na zařízení. Vyberte přizpůsobený obsah. Vytvořte si osobní profil obsahu. Měření výkonu reklamy. Vyberte základní reklamy. Vytvořte si přizpůsobený profil reklam. Vyberte přizpůsobené reklamy. Aplikujte průzkum trhu a získejte informace o publiku. Měření výkonu obsahu. Vyvíjejte a vylepšujte produkty. Seznam partnerů (prodejců)