Přechodná závislost - Transitive dependency - Wikipedia
A tranzitivní závislost je funkční závislost který platí na základě tranzitivita mezi různými softwarovými komponentami.
Počítačové programy
V počítačový program přímá závislost je funkce exportovaná a knihovna nebo API, nebo nějaký softwarová součást na který odkazuje přímo samotný program. Transitivní závislost je jakákoli závislost, která je vyvolána komponentami, na které program přímo odkazuje. volání na a log () Funkce obvykle vyvolá přechodnou závislost na knihovně, která spravuje I / O tak, aby zapisovala zprávu protokolu do souboru.
Závislosti a přechodné závislosti lze vyřešit v různých časech, v závislosti na tom, jak počítačový program je sestaven a / nebo proveden: např. A překladač může mít fáze spojení kde jsou závislosti vyřešeny. Systém sestavení někdy dokonce umožňuje správu tranzitivních závislostí[1].
Podobně, když a počítač používá služby, a počítačový program může záviset na službě, která by měla být spuštěna před spuštěním programu. Transitivní závislostí je v takovém případě jakákoli jiná služba, na které závisí služba, na které přímo závisíme, např. A webový prohlížeč záleží na a Služba rozlišení doménových jmen převést web URL v IP adresa; DNS bude záviset na síťové službě pro přístup ke vzdálenému serveru jmen. Zaváděcí systém Linux systemd je založen na sadě konfigurací, které prohlásit závislosti modulů, které mají být spuštěny: v době bootování systemd analyzuje všechny tranzitivní závislosti, aby rozhodl o pořadí spuštění každého modulu.
Systémy pro správu databází
Nechť A, B a C určí tři odlišné (ale ne nutně disjunktní) sady atributů relace. Předpokládejme, že platí všechny tři následující podmínky:
- A → B
- Není tomu tak, že B → A
- B → C
Poté funkční závislost A → C (která vyplývá z 1 a 3 pomocí axiom přechodnosti ) je přechodná závislost.
v normalizace databáze, jedna z důležitých vlastností třetí normální forma je to, že vylučuje určité typy tranzitivních závislostí. E.F.Codd, vynálezce relační model, představil v roce 1971 pojmy tranzitivní závislosti a třetí normální forma.[2]
Příklad
K tranzitivní závislosti dochází v následujícím vztahu:
Rezervovat | Žánr | Autor | Autor národnosti |
---|---|---|---|
Dvacet tisíc mil pod mořem | Sci-fi | Jules Verne | francouzština |
Cesta do středu Země | Sci-fi | Jules Verne | francouzština |
Listy trávy | Poezie | Walt Whitman | americký |
Anna Karenina | Literární fikce | Lev Tolstoj | ruština |
Zpověď | Náboženská autobiografie | Lev Tolstoj | ruština |
Platí funkční závislost {Kniha} → {Autor národnosti}; to znamená, že pokud knihu známe, známe státní příslušnost autora. Dále:
- {Kniha} → {Autor}
- {Author} ne → {Book}
- {Autor} → {Autor národnosti}
{Book} → {Author Nationality} je tedy přechodná závislost.
Došlo k přechodné závislosti, protože neklíčový atribut (Author) určoval jiný neklíčový atribut (Author Nationality).
Poznámky
- ^ „Správa tranzitivních závislostí“. gradle.org. Citováno 21. února 2019.
- ^ Codd, E. F. „Další normalizace relačního modelu databáze.“ (Prezentováno na Courant Computer Science Symposia Series 6, „Data Base Systems,“ New York City, 24. – 25. Května, 1971.) IBM Research Report RJ909 (31. srpna 1971). Publikováno v Randall J. Rustin (ed.), Databázové systémy: Courant Computer Science Symposia Series 6. Prentice-Hall, 1972. Viz strany 45–51, které pojednávají o třetí normální formě a přechodné závislosti.