{"id":86335,"date":"2020-06-24T07:42:54","date_gmt":"2020-06-24T05:42:54","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/effektivnyj-poisk-funkczionalnyh-zavisimostej-v-bazah-dannyh"},"modified":"2020-06-24T07:42:54","modified_gmt":"2020-06-24T05:42:54","slug":"effektivnyj-poisk-funkczionalnyh-zavisimostej-v-bazah-dannyh","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/effektivnyj-poisk-funkczionalnyh-zavisimostej-v-bazah-dannyh","title":{"rendered":"Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se az adatok elemz\u00e9s\u00e9nek k\u00fcl\u00f6nb\u00f6z\u0151 ter\u00fcletein alkalmazhat\u00f3: adatb\u00e1zis-kezel\u00e9s, adatgy\u0171jt\u00e9s, adatb\u00e1zisok visszafejt\u00e9se \u00e9s adatfelt\u00e1r\u00e1s. Magukr\u00f3l a f\u00fcgg\u0151s\u00e9gekr\u0151l m\u00e1r publik\u00e1ltunk. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/JetBrains-education\/blog\/473882\/\">cikket<\/a><\/noindex> Anaszt\u00e1zia Birillo \u00e9s Nyikita Bobrov. Ez\u00fattal Anaszt\u00e1zia \u2014 a Computer Science Center idei v\u00e9gz\u0151se \u2014 osztja meg ennek a munk\u00e1nak a fejl\u0151d\u00e9s\u00e9t a NIR keretein bel\u00fcl, amelyet a k\u00f6zpontban v\u00e9dett. <\/p>\n<p><img decoding=\"async\" alt=\"Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban\" src=\"\/wp-content\/uploads\/2020\/06\/5c88e821622e91c2058b0c11b6718bc9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>A feladat kiv\u00e1laszt\u00e1sa <\/h3>\n<p>\nA CS k\u00f6zpontban v\u00e9gzett tanulm\u00e1nyom alatt m\u00e9lyebben kezdtem el foglalkozni az adatb\u00e1zisokkal, nevezetesen a funkcion\u00e1lis \u00e9s k\u00fcl\u00f6nb\u00f6z\u0151 f\u00fcgg\u0151s\u00e9gek keres\u00e9s\u00e9vel. Ez a t\u00e9ma kapcsol\u00f3dott a f\u0151iskolai dolgozatom t\u00e9m\u00e1j\u00e1hoz, \u00edgy a dolgozatom \u00edr\u00e1sa sor\u00e1n elkezdtem cikkeket olvasni az adatb\u00e1zisokban tal\u00e1lhat\u00f3 k\u00fcl\u00f6nb\u00f6z\u0151 f\u00fcgg\u0151s\u00e9gekr\u0151l. \u00cdrtam egy \u00f6sszefoglal\u00f3t err\u0151l a ter\u00fcletr\u0151l \u2014 az egyik els\u0151 \u00edr\u00e1som <noindex><a rel=\"nofollow\" href=\"https:\/\/seim-conf.org\/media\/materials\/2017\/proceedings\/SEIM-2017_Full_Papers.pdf#page=44\">cikk\u00fcnkben<\/a><\/noindex> angol nyelven, \u00e9s beny\u00fajtottam a SEIM-2017 konferenci\u00e1ra. Nagyon \u00f6r\u00fcltem, amikor megtudtam, hogy elfogadt\u00e1k, \u00e9s \u00fagy d\u00f6nt\u00f6ttem, hogy m\u00e9lyebben belemer\u00fcl\u00f6k a t\u00e9m\u00e1ba. Maga a koncepci\u00f3 nem \u00faj \u2014 a '90-es \u00e9vek \u00f3ta alkalmazz\u00e1k, de manaps\u00e1g is sok ter\u00fcleten hasznos\u00edtj\u00e1k. <\/p>\n<p>A k\u00f6zpontban elt\u00f6lt\u00f6tt m\u00e1sodik f\u00e9l\u00e9vben tudom\u00e1nyos kutat\u00e1si projektbe kezdtem a funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9si algoritmusainak jav\u00edt\u00e1s\u00e1ra. Ezen dolgoztam Szentp\u00e9terv\u00e1ri \u00c1llami Egyetem PhD hallgat\u00f3j\u00e1val, Nyikita Bobrovval, a JetBrains Research keretein bel\u00fcl. <\/p>\n<h3>A funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9s\u00e9nek sz\u00e1m\u00edt\u00e1si neh\u00e9zs\u00e9ge<\/h3>\n<p>\nA f\u0151 probl\u00e9ma a sz\u00e1m\u00edt\u00e1si neh\u00e9zs\u00e9g. A lehets\u00e9ges minim\u00e1lis \u00e9s nem triv\u00e1lis f\u00fcgg\u0151s\u00e9gek sz\u00e1ma fentr\u0151l a k\u00f6vetkez\u0151 \u00e9rt\u00e9kkel korl\u00e1tozott <img decoding=\"async\" alt=\"Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban\" src=\"\/wp-content\/uploads\/2020\/06\/bdd1d2928000d8128ba21920e9b4c765.jpg\" style=\"display:block;margin: 0 auto;\" \/>, ahol <img decoding=\"async\" alt=\"Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban\" src=\"\/wp-content\/uploads\/2020\/06\/6211a4051b8b98e32312948027b4a5f3.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u2014 a t\u00e1bl\u00e1zat attrib\u00fatumainak sz\u00e1ma. Az algoritmusok fut\u00e1si ideje nemcsak az attrib\u00fatumok sz\u00e1m\u00e1t\u00f3l, hanem a sorok sz\u00e1m\u00e1t\u00f3l is f\u00fcgg. A '90-es \u00e9vekben a funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9s\u00e9re haszn\u00e1lt algoritmusok egy hagyom\u00e1nyos asztali sz\u00e1m\u00edt\u00f3g\u00e9pen ak\u00e1r 20 attrib\u00fatumot \u00e9s t\u00f6bb t\u00edzezer sort tartalmaz\u00f3 adathalmokat dolgozhattak fel, ak\u00e1r t\u00f6bb \u00f3r\u00e1n kereszt\u00fcl. A modern algoritmusok, amelyek t\u00f6bbmagos processzorokon m\u0171k\u00f6dnek, f\u00fcgg\u0151s\u00e9geket fedeznek fel olyan adathalmazon, amely ak\u00e1r 200 attrib\u00fatumb\u00f3l \u00e9s sz\u00e1mos sz\u00e1zezer sorb\u00f3l \u00e1ll, k\u00f6r\u00fclbel\u00fcl ugyanannyi id\u0151 alatt. Ennek ellen\u00e9re ez nem elegend\u0151: ez az id\u0151 a legt\u00f6bb val\u00f3s alkalmaz\u00e1s sz\u00e1m\u00e1ra elfogadhatatlan. Ez\u00e9rt megold\u00e1sokat dolgoztunk ki a megl\u00e9v\u0151 algoritmusok felgyors\u00edt\u00e1s\u00e1ra. <\/p>\n<h3>Part\u00edci\u00f3s keresztez\u0151d\u00e9shez k\u00e9sz\u00fclt cache-el\u00e9si s\u00e9ma<\/h3>\n<p>\nA munka els\u0151 r\u00e9sz\u00e9ben kifejlesztett\u00fck a cache-el\u00e9si s\u00e9m\u00e1kat az algoritmusok oszt\u00e1ly\u00e1hoz, amelyek a part\u00edci\u00f3k met\u00f3dus\u00e1t alkalmazz\u00e1k. A part\u00edci\u00f3 egy attrib\u00fatum sz\u00e1m\u00e1ra egy list\u00e1kb\u00f3l \u00e1ll\u00f3 halmazt jelent, ahol minden lista azonos \u00e9rt\u00e9kekkel rendelkez\u0151 sorok sz\u00e1mait tartalmazza az adott attrib\u00fatum eset\u00e9ben. Minden ilyen list\u00e1t klaszternek nevez\u00fcnk. Sok modern algoritmus haszn\u00e1l part\u00edci\u00f3kat annak meghat\u00e1roz\u00e1s\u00e1hoz, hogy a f\u00fcgg\u0151s\u00e9g fennmarad-e vagy sem, \u00e9s k\u00f6veti azt a lemm\u00e1t: A f\u00fcgg\u0151s\u00e9g <img decoding=\"async\" alt=\"Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban\" src=\"\/wp-content\/uploads\/2020\/06\/fa2667dcc78cded2d42bbf0a415d4de6.jpg\" style=\"display:block;margin: 0 auto;\" \/> fennmarad, ha <img decoding=\"async\" alt=\"Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban\" src=\"\/wp-content\/uploads\/2020\/06\/b314fd0e7dbd225098198e48d5b28d38.jpg\" style=\"display:block;margin: 0 auto;\" \/>. Itt a part\u00edci\u00f3t jel\u00f6lj\u00fck, \u00e9s haszn\u00e1ljuk a part\u00edci\u00f3 m\u00e9rete fogalm\u00e1t \u2013 a benne l\u00e9v\u0151 klaszterek sz\u00e1m\u00e1t. Azok az algoritmusok, amelyek part\u00edci\u00f3kat haszn\u00e1lnak, ha a f\u00fcgg\u0151s\u00e9g megs\u00e9rt\u00e9sre ker\u00fcl, tov\u00e1bbi attrib\u00fatumokat adnak a f\u00fcgg\u0151s\u00e9g bal oldal\u00e1hoz, majd \u00fajrasz\u00e1molj\u00e1k azt, v\u00e9grehajtva a part\u00edci\u00f3k metsze\u0301se m\u0171velet\u00e9t. Ezt a m\u0171veletet az irodalomban specializ\u00e1ci\u00f3nak nevezik. De \u00e9szrevett\u00fck, hogy a f\u00fcgg\u0151s\u00e9gekhez tartoz\u00f3 part\u00edci\u00f3k, amelyek csak n\u00e9h\u00e1ny k\u00f6rt k\u00f6vet\u0151en fognak fennmaradni, akt\u00edvan \u00fajrahaszn\u00e1lhat\u00f3k, ami jelent\u0151sen cs\u00f6kkentheti az algoritmusok fut\u00e1si idej\u00e9t, mivel a m\u0171velet k\u00f6lts\u00e9ges. <img decoding=\"async\" alt=\"Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban\" src=\"\/wp-content\/uploads\/2020\/06\/ef197235c0b8f15673c5179423349e21.jpg\" style=\"display:block;margin: 0 auto;\" \/> Ez\u00e9rt javasoltuk egy heurisztik\u00e1t, amely Shannon entr\u00f3pi\u00e1j\u00e1n \u00e9s Ginny bizonytalans\u00e1g\u00e1n, valamint a mi metrik\u00e1nkon alapul, amelyet Visszafel\u00e9 Entr\u00f3pi\u00e1nak nevezt\u00fcnk el. Ez egy csek\u00e9ly m\u00e9rt\u00e9kben m\u00f3dos\u00edtott Shannon entr\u00f3pia, \u00e9s n\u0151, ahogy a adat\u00e1llom\u00e1ny egyedis\u00e9g n\u00f6vekszik. A javasolt heurisztika a k\u00f6vetkez\u0151k\u00e9ppen n\u00e9z ki: <\/p>\n<p>\u2014 a nemr\u00e9giben kisz\u00e1molt part\u00edci\u00f3 egyed\u00fcl\u00e1ll\u00f3s\u00e1g\u00e1nak foka<\/p>\n<p><img decoding=\"async\" alt=\"Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban\" src=\"\/wp-content\/uploads\/2020\/06\/4d9750c9f41679ae013ee7118928566b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Itt <img decoding=\"async\" alt=\"Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban\" src=\"\/wp-content\/uploads\/2020\/06\/f3e620ccc932916349b338f613723542.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u2014 a nemr\u00e9giben kisz\u00e1m\u00edtott part\u00edci\u00f3 egyedis\u00e9g\u00e9nek foka <img decoding=\"async\" alt=\"Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban\" src=\"\/wp-content\/uploads\/2020\/06\/4a43e7b49fc30d8a928fb365567c724a.jpg\" style=\"display:block;margin: 0 auto;\" \/>, \u00e9s <img decoding=\"async\" alt=\"Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban\" src=\"\/wp-content\/uploads\/2020\/06\/c21371f6b9ec89f5d93917e3c3c7df07.jpg\" style=\"display:block;margin: 0 auto;\" \/> a medi\u00e1n szintje az egyedi attrib\u00fatumok eset\u00e9ben. Az egyedis\u00e9g m\u00e9r\u00e9s\u00e9re az \u00f6sszes h\u00e1rom, kor\u00e1bban eml\u00edtett mutat\u00f3t kipr\u00f3b\u00e1lt\u00e1k. Megjegyzend\u0151, hogy a heurisztik\u00e1ban k\u00e9t m\u00f3dos\u00edt\u00f3 is van. Az els\u0151 megmutatja, mennyire k\u00f6zel \u00e1ll az aktu\u00e1lis part\u00edci\u00f3 az els\u0151dleges kulcshoz, \u00e9s lehet\u0151v\u00e9 teszi, hogy nagyobb m\u00e9rt\u00e9kben gyors\u00edt\u00f3t\u00e1razza azokat a part\u00edci\u00f3kat, amelyek t\u00e1vol vannak a potenci\u00e1lis kulcst\u00f3l. A m\u00e1sodik m\u00f3dos\u00edt\u00f3 lehet\u0151v\u00e9 teszi a gyors\u00edt\u00f3t\u00e1r foglalts\u00e1g\u00e1nak nyomon k\u00f6vet\u00e9s\u00e9t, ez\u00e1ltal \u00f6szt\u00f6n\u00f6zve a tov\u00e1bbi part\u00edci\u00f3k gyors\u00edt\u00f3t\u00e1rba helyez\u00e9s\u00e9t, amikor m\u00e9g van szabad hely. E feladat sikeres megold\u00e1sa 10-40%-kal gyors\u00edtotta fel a PYRO algoritmust, az adathalmazonk\u00e9nt v\u00e1ltoz\u00f3 m\u00e9rt\u00e9kben. \u00c9rdemes megjegyezni, hogy a PYRO algoritmus a ter\u00fcleten a legjobban teljes\u00edt\u0151. <\/p>\n<p>Az al\u00e1bbi \u00e1br\u00e1n l\u00e1that\u00f3 a javasolt heurisztika alkalmaz\u00e1s\u00e1nak eredm\u00e9nye a v\u00e9letlenszer\u0171 mintav\u00e9telez\u00e9sen alapul\u00f3 alapvet\u0151 megk\u00f6zel\u00edt\u00e9ssel \u00f6sszehasonl\u00edtva. Az X tengely logaritmikus.<\/p>\n<p><img decoding=\"async\" alt=\"Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban\" src=\"\/wp-content\/uploads\/2020\/06\/3d6fe6a57237b27e76e6833965dc9c93.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Alternat\u00edv part\u00edci\u00f3t\u00e1rol\u00e1si m\u00f3dszer<\/h3>\n<p>\nEzut\u00e1n alternat\u00edv part\u00edci\u00f3t\u00e1rol\u00e1si m\u00f3dot javasoltunk. A part\u00edci\u00f3k klaszterek halmazak\u00e9nt m\u0171k\u00f6dnek, melyekben az azonos attrib\u00fatumokkal rendelkez\u0151 tuple-\u00f6k sz\u00e1m\u00e1t t\u00e1rolj\u00e1k. Ezek a klaszterek hossz\u00fa tuple sz\u00e1mokat tartalmazhatnak, p\u00e9ld\u00e1ul ha a t\u00e1bl\u00e1zat adatai rendezettek. Ez\u00e9rt javasoltunk egy t\u00f6m\u00f6r\u00edt\u00e9si s\u00e9m\u00e1t a part\u00edci\u00f3k t\u00e1rol\u00e1s\u00e1ra, nevezetesen az attrib\u00fatumok klasztereiben l\u00e9v\u0151 \u00e9rt\u00e9kek intervallumos t\u00e1rol\u00e1s\u00e1t:<\/p>\n<p>$$display$$pi(X) = {{underbrace{1, 2, 3, 4, 5}_{Els\u0151~intervallum}, underbrace{7, 8}_{M\u00e1sodik~intervallum}, 10}}\\ downarrow{T\u00f6m\u00f6r\u00edt\u00e9s}\\ pi(X) = {{underbrace{$, 1, 5}_{Els\u0151~intervallum}, underbrace{7, 8}_{M\u00e1sodik~intervallum}, 10}}$$display$$<\/p>\n<p>Ez a m\u00f3dszer 1-25% k\u00f6z\u00f6tti mem\u00f3riafogyaszt\u00e1s-cs\u00f6kken\u00e9st tudott el\u00e9rni a TANE algoritmus v\u00e9grehajt\u00e1sa sor\u00e1n. A TANE algoritmus egy klasszikus algoritmus a funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9s\u00e9re, amely part\u00edci\u00f3kat haszn\u00e1l a m\u0171k\u00f6d\u00e9se sor\u00e1n. A gyakorlat sor\u00e1n \u00e9ppen a TANE algoritmust v\u00e1lasztott\u00e1k, mivel az intervallumos t\u00e1rol\u00e1s bevezet\u00e9se sokkal egyszer\u0171bb volt, mint p\u00e9ld\u00e1ul a PYRO eset\u00e9ben, hogy felm\u00e9rj\u00fck, m\u0171k\u00f6dik-e a javasolt megk\u00f6zel\u00edt\u00e9s. Az el\u00e9rt eredm\u00e9nyek az al\u00e1bbi \u00e1br\u00e1n l\u00e1that\u00f3k. Az X tengely logaritmikus.<\/p>\n<p><img decoding=\"async\" alt=\"Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban\" src=\"\/wp-content\/uploads\/2020\/06\/609a547d3d19b6e2c54ed70481ff6cdb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>ADBIS-2019 konferencia<\/h3>\n<p>\nA 2019 szeptemberi kutat\u00e1s eredm\u00e9nyei alapj\u00e1n egy cikket mutattam be <noindex><a rel=\"nofollow\" href=\"https:\/\/link.springer.com\/chapter\/10.1007\/978-3-030-30278-8_7\">Intelligens gyors\u00edt\u00f3t\u00e1raz\u00e1s a funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek hat\u00e9kony felfedez\u00e9s\u00e9hez<\/a><\/noindex> a 23. Eur\u00f3pai Adatb\u00e1zisok \u00e9s Inform\u00e1ci\u00f3s Rendszerek Konferenci\u00e1j\u00e1n (ADBIS-2019) bemutatott munka sor\u00e1n Bernhard Thalheim, a adatb\u00e1zisok ter\u00fclet\u00e9nek kiemelked\u0151 alakja m\u00e9ltatta a munk\u00e1t. A kutat\u00e1si eredm\u00e9nyek k\u00e9pezt\u00e9k az alapj\u00e1t a P\u00e9ld\u00e1ny Mesterk\u00e9pz\u00e9semhez a SPbGU matematikai \u00e9s mechanikai kar\u00e1n, ahol mindk\u00e9t javasolt megk\u00f6zel\u00edt\u00e9st (gyors\u00edt\u00f3t\u00e1r-kezel\u00e9s \u00e9s t\u00f6m\u00f6r\u00edt\u00e9s) be\u00e9p\u00edtettem a TANE \u00e9s PYRO algoritmusokba. Az eredm\u00e9nyek azt mutatt\u00e1k, hogy a javasolt megold\u00e1sok univerz\u00e1lisak, mivel mindk\u00e9t algoritmus eset\u00e9ben jelent\u0151s mem\u00f3ria-cs\u00f6kkent\u00e9st \u00e9s a m\u0171k\u00f6d\u00e9si id\u0151 jelent\u0151s cs\u00f6kken\u00e9s\u00e9t figyelt\u00fck meg.<br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/JetBrains-education\/blog\/507716\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0438\u0441\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445: \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0440\u0435\u0432\u0451\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u044d\u043a\u0441\u043f\u043b\u043e\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u043e \u0441\u0430\u043c\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u044b \u0443\u0436\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0438 \u0441\u0442\u0430\u0442\u044c\u044e \u0410\u043d\u0430\u0441\u0442\u0430\u0441\u0438\u0438 \u0411\u0438\u0440\u0438\u043b\u043b\u043e \u0438 \u041d\u0438\u043a\u0438\u0442\u044b \u0411\u043e\u0431\u0440\u043e\u0432\u0430. \u0412 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0410\u043d\u0430\u0441\u0442\u0430\u0441\u0438\u044f \u2014 \u0432\u044b\u043f\u0443\u0441\u043a\u043d\u0438\u0446\u0430 Computer Science Center \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u2014 \u0434\u0435\u043b\u0438\u0442\u0441\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c \u044d\u0442\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u041d\u0418\u0420, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043e\u043d\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":86336,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-86335","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0438\u0441\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445: \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0440\u0435\u0432\u0451\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u044d\u043a\u0441\u043f\u043b\u043e\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/effektivnyj-poisk-funkczionalnyh-zavisimostej-v-bazah-dannyh\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u0431\u0430\u0437\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0438\u0441\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445: \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0440\u0435\u0432\u0451\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u044d\u043a\u0441\u043f\u043b\u043e\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/effektivnyj-poisk-funkczionalnyh-zavisimostej-v-bazah-dannyh\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-24T05:42:54+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-24T05:42:54+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Hat\u00e9kony funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se adatb\u00e1zisokban | ProHoster","description":"A funkcion\u00e1lis f\u00fcgg\u0151s\u00e9gek keres\u00e9se az adatokban a k\u00f6vetkez\u0151 ter\u00fcleteken alkalmazhat\u00f3: adatb\u00e1zisok kezel\u00e9se, adattiszt\u00edt\u00e1s, adatb\u00e1zisok visszafejleszt\u00e9se \u00e9s adatelemz\u00e9s.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/effektivnyj-poisk-funkczionalnyh-zavisimostej-v-bazah-dannyh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u042d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u0431\u0430\u0437\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 | ProHoster","og:description":"\u041f\u043e\u0438\u0441\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445: \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0440\u0435\u0432\u0451\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u044d\u043a\u0441\u043f\u043b\u043e\u0440\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445.","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/effektivnyj-poisk-funkczionalnyh-zavisimostej-v-bazah-dannyh","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-24T05:42:54+00:00","article:modified_time":"2020-06-24T05:42:54+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"86335","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:17:33","updated":"2022-09-27 17:20:14","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/86335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=86335"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/86335\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/86336"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=86335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=86335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=86335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}