Maybaygiare.org

Blog Network

ce este cardinalitatea într-o bază de date?

bazele de date au mult jargon, iar cardinalitatea este unul dintre acele cuvinte pe care oamenii cu experiență tind să uite că nu le știau odată. Dar dacă nu o cunoașteți—și durează ceva timp pentru a vă simți confortabil cu cardinalitatea—este foarte confuz atunci când DBA o aruncă doar în mijlocul unei propoziții fără a încetini! Nu te teme: te-am prins, cum se spune.Cardinalitatea înseamnă două lucruri în bazele de date. Pentru scopurile noastre, unul contează mult mai mult decât celălalt. Să o facem mai întâi pe cea simplă și apoi să săpăm în cea care contează pentru performanța interogării.Definiția cardinalității care contează foarte mult pentru performanța interogării este cardinalitatea datelor. Este vorba despre câte valori distincte sunt într-o coloană.Primul sens al cardinalității este atunci când proiectați baza de date—ceea ce se numește modelare a datelor. În acest sens, cardinalitatea înseamnă dacă o relație este unu-la-unu, mulți-la-unu sau mulți-La-mulți. Deci chiar vorbești despre cardinalitatea relației.Definitia dictionarului Oficial, non-database este matematica: numărul de valori dintr-un set. Când se aplică bazelor de date, semnificația este puțin diferită: este numărul de valori distincte dintr-o coloană de tabel, în raport cu numărul de rânduri din tabel. Valorile repetate din coloană nu contează.De obicei, nu vorbim despre cardinalitate ca număr. Este mai frecvent să vorbim pur și simplu despre cardinalitatea” înaltă „și” scăzută”. O mulțime de valori distincte este cardinalitate ridicată; o mulțime de valori repetate este cardinalitate scăzută.Imaginați-vă un tabel de descriere a produsului într-o bază de date de comerț electronic:ProductID coloana va fi extrem de cardinală, deoarece este probabil cheia primară a tabelului respectiv, deci este total unică. Dacă există o mie de rânduri în tabel, vor exista o mie de valori diferite ProductID. ColoanaCategory va avea o mulțime de repetări și va fi cardinalitate scăzută sau medie: poate 50 sau 100 de valori diferiteCategoryName este probabil o cardinalitate ridicată, cu excepția cazului în care există mai mult în acest tabel decât se vede (cum ar fi mai multe rânduri pentru diferite culori ale produsului și alte variații).Cardinalitatea influențează foarte mult performanța, deoarece influențează planul de execuție a interogării. Planificatorul va examina Statisticile coloanelor și le va folosi pentru a afla câte valori este probabil să se potrivească o interogare, printre altele. În funcție de ceea ce găsește, poate utiliza diferite planuri de execuție a interogării pentru a încerca să obțină cea mai bună performanță. Dar acesta este un subiect pentru o altă postare pe blog, deoarece este nevoie de un pic de muncă pentru a explain.So acum, data viitoare când cineva aruncă „cardinalitate ridicată” într-o propoziție fără să se oprească, știi că înseamnă cu adevărat „o mulțime de valori diferite.”Și acolo îl ai!

Lasă un răspuns

Adresa ta de email nu va fi publicată.