Kas ir funkcionālā atkarība?
Funkcionālā atkarība (FD) ir ierobežojums, kas nosaka viena atribūta saistību ar citu atribūtu datu bāzes pārvaldības sistēmā (DBVS). Funkcionālā atkarība palīdz uzturēt datu kvalitāti datu bāzē. Tam ir būtiska loma, lai atrastu atšķirību starp labu un sliktu datu bāzes dizainu.
Funkcionālo atkarību apzīmē ar bultiņu "→". X funkcionālo atkarību no Y attēlo X → Y. Ar piemēru sapratīsim funkcionālo atkarību DBVS.
Piemērs:
Darbinieka numurs | darbinieka vārds | Alga | Pilsēta |
1 | Dana | 50000 | Sanfrancisko |
2 | Francisks | 38000 | Londona |
3 | Endrjū | 25000 | Tokija |
Šajā piemērā, ja mēs zinām darbinieka numura vērtību, mēs varam iegūt darbinieka vārdu, pilsētu, algu utt. Ar to mēs varam teikt, ka pilsēta, darbinieka vārds un alga ir funkcionāli atkarīga no darbinieka numura.
Šajā apmācībā jūs uzzināsiet:
- Pamatjēdzieni
- Funkcionālo atkarību noteikumi
- Funkcionālo atkarību veidi DBVS
- Daudzvērtību atkarība DBVS
- Triviālā funkcionālā atkarība DBVS
- Nav triviāla Funkcionālā atkarība DBVS
- Transitīvā atkarība DBVS
- Kas ir normalizācija?
- Funkcionālās atkarības priekšrocības
Pamatjēdzieni
Šeit ir daži galvenie funkcionālās atkarības datu bāzē termini:
Pamatjēdzieni | Apraksts |
Aksioma | Aksiomas ir secinājumu noteikumu kopums, ko izmanto, lai secinātu visas relāciju datu bāzes funkcionālās atkarības. |
Sadalīšanās | Tas ir noteikums, kas iesaka, ja jums ir tabula, kurā, šķiet, ir divas entītijas, kuras nosaka viena un tā pati primārā atslēga, tad apsveriet iespēju tās sadalīt divās dažādās tabulās. |
Atkarīgais | Tas tiek parādīts funkcionālās atkarības diagrammas labajā pusē. |
Noteicošais | Tas tiek parādīts funkcionālās atkarības diagrammas kreisajā pusē. |
Savienība | Tas liek domāt, ka, ja divas tabulas ir atsevišķas un PK ir vienādas, jums jāapsver to ievietošana. kopā |
Funkcionālo atkarību noteikumi
Zemāk ir trīs vissvarīgākie noteikumi par funkcionālo atkarību datu bāzē:
- Refleksīvs noteikums -. Ja X ir atribūtu kopa un Y ir X apakškopa_, tad X pieder Y vērtība.
- Palielināšanas noteikums: kad x -> y ir spēkā un c ir atribūtu kopa, tad ir spēkā arī ac -> bc. Tas ir atribūtu pievienošana, kas nemaina pamata atkarības.
- Transitivitātes noteikums: Šis noteikums ir ļoti līdzīgs algebras transitīvajam likumam, ja x -> y ir un y -> z, tad arī x -> z ir spēkā. X -> y tiek saukts kā funkcionāli, kas nosaka y.
Funkcionālo atkarību veidi DBVS
DBVS galvenokārt ir četri funkcionālās atkarības veidi. Tālāk ir norādīti DBVS funkcionālo atkarību veidi:
- Daudzvērtīga atkarība
- Trivial funkcionālā atkarība
- Netrivāla funkcionālā atkarība
- Transitīvā atkarība
Daudzvērtīga atkarība DBVS
Daudzvērtību atkarība rodas situācijā, kad vienā tabulā ir vairāki neatkarīgi daudzvērtīgi atribūti. Daudzvērtīga atkarība ir pilnīgs ierobežojums starp diviem attiecībās esošo atribūtu kopumiem. Tas prasa, lai attiecībās būtu noteiktas kopas. Apsveriet šo daudzvērtīgo atkarības piemēru, lai saprastu.
Piemērs:
Automašīnas_modelis | Mafs_gads | Krāsa |
H001 | 2017. gads | Metālisks |
H001 | 2017. gads | Zaļš |
H005 | 2018. gads | Metālisks |
H005 | 2018. gads | Zils |
H010 | 2015. gads | Metālisks |
H033 | 2012. gads | Pelēks |
Šajā piemērā maf_gads un krāsa ir neatkarīgi viens no otra, bet ir atkarīgi no car_model. Šajā piemērā šīs divas kolonnas tiek uzskatītas par daudzvērtīgām, kas atkarīgas no car_model.
Šo atkarību var attēlot šādi:
car_model -> maf_gads
car_model-> krāsa
Triviālā funkcionālā atkarība DBVS
Triviālā atkarība ir atribūtu kopums, ko sauc par triviālu, ja atribūtu kopa ir iekļauta šajā atribūtā.
Tātad, X -> Y ir niecīga funkcionāla atkarība, ja Y ir X apakškopa. Sapratīsim ar Trivial funkcionālās atkarības piemēru.
Piemēram:
Emp_id | Emp_name |
AS555 | Harijs |
AS811 | Džordžs |
AS999 | Kevins |
Apsveriet šo tabulu ar divām kolonnām Emp_id un Emp_name.
{Emp_id, Emp_name} -> Emp_id ir niecīga funkcionāla atkarība, jo Emp_id ir {Emp_id, Emp_name} apakškopa.
Netrivāla funkcionālā atkarība DBVS
Funkcionālā atkarība, kas pazīstama arī kā neaktīva atkarība, rodas, ja A-> B ir taisnība, kur B nav A apakškopa. Attiecībās, ja atribūts B nav atribūta A apakškopa, tad tas tiek uzskatīts par nebūtisku atkarība.
Uzņēmums | Izpilddirektors | Vecums |
Microsoft | Satja Nadella | 51 |
Sundars Pičai | 46 | |
Apple | Tims Kuks | 57 |
Piemērs:
(Uzņēmums} -> {CEO} (ja mēs zinām uzņēmumu, mēs zinām izpilddirektora vārdu)
Bet izpilddirektors nav uzņēmuma apakškopa, un tāpēc tā ir nebūtiska funkcionālā atkarība.
Transitīvā atkarība DBVS
Transitīvā atkarība ir funkcionālās atkarības veids, kas notiek, kad t netieši veido divas funkcionālās atkarības. Sapratīsim, izmantojot šādu piemēru Transitīvās atkarības.
Piemērs:
Uzņēmums | Izpilddirektors | Vecums |
Microsoft | Satja Nadella | 51 |
Sundars Pičai | 46 | |
Alibaba | Džeks Ma | 54. lpp |
{Uzņēmums} -> {CEO} (ja mēs zinām kompāniju, mēs zinām tās izpilddirektora vārdu)
{CEO} -> {Age} Ja mēs zinām izpilddirektoru, mēs zinām Age
Tāpēc saskaņā ar tranzītiskās atkarības noteikuma noteikumu:
Uzņēmumam {Company} -> {Age} ir jābūt, tas ir jēga, jo, ja mēs zinām uzņēmuma nosaukumu, mēs varam uzzināt viņa vecumu.
Piezīme. Jums jāatceras, ka transitīvā atkarība var notikt tikai trīs vai vairāk atribūtu attiecībās.
Kas ir normalizācija?
Normalizācija ir datu sakārtošanas metode datu bāzē, kas palīdz izvairīties no datu dublēšanas, ievietošanas, atjaunināšanas un dzēšanas anomālijām. Tas ir attiecību shēmu analīzes process, pamatojoties uz to atšķirīgajām funkcionālajām atkarībām un primāro atslēgu.
Normalizācija ir raksturīga relāciju datu bāzes teorijai. Tas var radīt tādu pašu datu dublēšanu datu bāzē, kā rezultātā var tikt izveidotas papildu tabulas.
Funkcionālās atkarības priekšrocības
- Funkcionālā atkarība ļauj izvairīties no datu dublēšanas. Tāpēc tie paši dati neatkārtojas vairākās vietās šajā datubāzē
- Tas palīdz uzturēt datu kvalitāti datu bāzē
- Tas palīdz noteikt definētas datubāzu nozīmes un ierobežojumus
- Tas palīdz jums noteikt sliktu dizainu
- Tas palīdz jums atrast faktus par datu bāzes noformējumu
Kopsavilkums
- Funkcionālā atkarība ir tad, kad viens atribūts nosaka citu atribūtu DBVS sistēmā.
- Aksioma, sadalīšanās, atkarīgais, noteicošais, savienība ir galvenie funkcionālās atkarības termini
- Četri funkcionālās atkarības veidi ir 1) daudzvērtīgs 2) triviāls 3) triviāls 4) transitīvs
- Daudzvērtību atkarība rodas situācijā, kad vienā tabulā ir vairāki neatkarīgi daudzvērtīgi atribūti
- Triviālā atkarība rodas, ja atribūtu kopa, ko sauc par triviālu, ja atribūtu kopa ir iekļauta šajā atribūtā
- Netrīviskā atkarība rodas, ja A-> B ir taisnība, kur B nav A apakškopa
- Transitīvs ir funkcionālās atkarības veids, kas notiek, ja to netieši veido divas funkcionālās atkarības
- Normalizācija ir datu sakārtošanas metode datu bāzē, kas palīdz izvairīties no datu dublēšanas