{"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\/sq\/blog\/administrirovanie\/effektivnyj-poisk-funkczionalnyh-zavisimostej-v-bazah-dannyh","title":{"rendered":"K\u00ebrko efikasitetin e var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>K\u00ebrkimi i var\u00ebsive funksionale n\u00eb t\u00eb dh\u00ebna p\u00ebrdoret n\u00eb drejtime t\u00eb ndryshme t\u00eb analiz\u00ebs s\u00eb t\u00eb dh\u00ebnave: menaxhimi i bazave t\u00eb dh\u00ebnash, pastrimi i t\u00eb dh\u00ebnave, inxhinieria e prap\u00eb e bazave t\u00eb dh\u00ebnash dhe eksplorimi i t\u00eb dh\u00ebnave. P\u00ebr vet\u00eb var\u00ebsit\u00eb, ne kemi publikuar tashm\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/JetBrains-education\/blog\/473882\/\">artikullin<\/a><\/noindex> Anastasija Birillo dhe Nikita Bobrov. K\u00ebt\u00eb her\u00eb Anastasija \u2014 e diplomuara e k\u00ebtij viti nga Qendra e Shkencave Kompjuterike \u2014 ndan zhvillimin e k\u00ebtij projekti n\u00eb kuad\u00ebr t\u00eb NIR-it, t\u00eb cilin ajo e mbrojti n\u00eb qend\u00ebr. <\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrko efikasitetin e var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave\" 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>Zgjedhja e detyr\u00ebs <\/h3>\n<p>\nGjat\u00eb studimeve n\u00eb Qendr\u00ebn CS fillova t\u00eb studioj thell\u00ebsisht bazat e t\u00eb dh\u00ebnave, sidomos k\u00ebrkimin e var\u00ebsive funksionale dhe diferenciale. Kjo tem\u00eb ishte e lidhur me tem\u00ebn e pun\u00ebs sime t\u00eb kursit n\u00eb universitet, k\u00ebshtu q\u00eb gjat\u00eb pun\u00ebs mbi pun\u00ebn e kursit fillova t\u00eb lexoj artikuj mbi var\u00ebsi t\u00eb ndryshme n\u00eb bazat e t\u00eb dh\u00ebnave. Nga ajo shkrova nj\u00eb p\u00ebrmbledhje t\u00eb k\u00ebsaj fushe \u2014 nj\u00eb nga punimet e mia t\u00eb para <noindex><a rel=\"nofollow\" href=\"https:\/\/seim-conf.org\/media\/materials\/2017\/proceedings\/SEIM-2017_Full_Papers.pdf#page=44\">artikujsh<\/a><\/noindex> n\u00eb gjuh\u00ebn angleze dhe e dor\u00ebzova n\u00eb konferenc\u00ebn SEIM-2017. Isha shum\u00eb e lumtur kur m\u00ebsova se ajo ishte pranuar, dhe vendosa t\u00eb thellohem n\u00eb tem\u00eb. Koncepti vet\u00eb nuk \u00ebsht\u00eb i ri \u2014 ai filloi t\u00eb aplikohej q\u00eb n\u00eb vitet '90, por edhe tani gjen aplikim n\u00eb shum\u00eb fusha. <\/p>\n<p>N\u00eb semestrin e dyt\u00eb t\u00eb studimeve n\u00eb qend\u00ebr, fillova nj\u00eb projekt k\u00ebrkimor p\u00ebr p\u00ebrmir\u00ebsimin e algoritmeve t\u00eb gjetjes s\u00eb var\u00ebsive funksionale. Punova mbi t\u00eb s\u00eb bashku me studentin e doktorat\u00ebs nga SPbGU, Nikita Bobrov, n\u00eb baz\u00ebn e JetBrains Research. <\/p>\n<h3>K\u00ebrkimi i var\u00ebsive funksionale dhe kompleksiteti i llogaritjes<\/h3>\n<p>\nProblemi kryesor \u00ebsht\u00eb kompleksiteti i llogaritjes. Numri i var\u00ebsive minimale dhe jo triviale t\u00eb mundshme \u00ebsht\u00eb i kufizuar nga vlera <img decoding=\"async\" alt=\"K\u00ebrko efikasitetin e var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave\" src=\"\/wp-content\/uploads\/2020\/06\/bdd1d2928000d8128ba21920e9b4c765.jpg\" style=\"display:block;margin: 0 auto;\" \/>, ku <img decoding=\"async\" alt=\"K\u00ebrko efikasitetin e var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave\" src=\"\/wp-content\/uploads\/2020\/06\/6211a4051b8b98e32312948027b4a5f3.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u2014 numri i atributeve t\u00eb tabel\u00ebs. Koha e funksionimit t\u00eb algoritmeve varet jo vet\u00ebm nga numri i atributeve, por edhe nga numri i rreshtave. N\u00eb vitet '90, algoritmet p\u00ebr gjetjen e var\u00ebsive funksionale n\u00eb nj\u00eb PC t\u00eb zakonsh\u00ebm mund t\u00eb p\u00ebrpunonin grupe t\u00eb dh\u00ebnash q\u00eb p\u00ebrmbanin deri n\u00eb 20 atribute dhe dhjet\u00ebra mij\u00ebra rreshta, p\u00ebr disa or\u00eb. Algoritmet moderne, q\u00eb funksionojn\u00eb n\u00eb procesor\u00eb me shum\u00eb b\u00ebrthama, zbulojn\u00eb var\u00ebsi p\u00ebr grupe t\u00eb dh\u00ebnash q\u00eb p\u00ebrb\u00ebhen nga qindra atribute (deri n\u00eb 200) dhe qindra mij\u00ebra rreshta, p\u00ebraf\u00ebrsisht n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb. Megjithat\u00eb, kjo nuk \u00ebsht\u00eb e mjaftueshme: kjo koh\u00eb \u00ebsht\u00eb e papranueshme p\u00ebr shumic\u00ebn e aplikacioneve reale. Prandaj, ne po zhvillonim qasje p\u00ebr t\u00eb p\u00ebrshpejtuar algoritmet ekzistuese. <\/p>\n<h3>Skematiket e keshtjellave p\u00ebr nd\u00ebrprerjen e pjes\u00ebve<\/h3>\n<p>\nN\u00eb pjes\u00ebn e par\u00eb t\u00eb pun\u00ebs, ne zhvilluam skemat e keshtjellave p\u00ebr klas\u00ebn e algoritmeve q\u00eb p\u00ebrdorin metod\u00ebn e nd\u00ebrprerjes s\u00eb pjes\u00ebve. Nj\u00eb pjes\u00eb p\u00ebr atributin p\u00ebrfaq\u00ebson nj\u00eb grup listash, ku \u00e7do list\u00eb p\u00ebrmban numra rreshtash me vlera t\u00eb nj\u00ebjta p\u00ebr k\u00ebt\u00eb atribut. \u00c7do list\u00eb e till\u00eb quhet klaster. Shum\u00eb algoritme moderne p\u00ebrdorin pjes\u00ebt p\u00ebr t\u00eb p\u00ebrcaktuar n\u00ebse mbahen var\u00ebsit\u00eb apo jo, konkretisht ndjekin lemm\u00ebn: Var\u00ebsia <img decoding=\"async\" alt=\"K\u00ebrko efikasitetin e var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave\" src=\"\/wp-content\/uploads\/2020\/06\/fa2667dcc78cded2d42bbf0a415d4de6.jpg\" style=\"display:block;margin: 0 auto;\" \/> mbahet n\u00ebse <img decoding=\"async\" alt=\"K\u00ebrko efikasitetin e var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave\" src=\"\/wp-content\/uploads\/2020\/06\/b314fd0e7dbd225098198e48d5b28d38.jpg\" style=\"display:block;margin: 0 auto;\" \/>. K\u00ebtu <img decoding=\"async\" alt=\"K\u00ebrko efikasitetin e var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave\" src=\"\/wp-content\/uploads\/2020\/06\/ef197235c0b8f15673c5179423349e21.jpg\" style=\"display:block;margin: 0 auto;\" \/> pjesa sh\u00ebnohet dhe p\u00ebrdoret koncepti i madh\u00ebsis\u00eb s\u00eb pjes\u00ebs - numri i klastereve n\u00eb t\u00eb. Algoritmet q\u00eb p\u00ebrdorin pjes\u00eb, n\u00eb rast t\u00eb shkeljes s\u00eb var\u00ebsis\u00eb, shtojn\u00eb atribute t\u00eb tjera n\u00eb an\u00ebn e majt\u00eb t\u00eb var\u00ebsis\u00eb, pas s\u00eb cil\u00ebs rib\u00ebjn\u00eb at\u00eb duke kryer operacionin e nd\u00ebrveprimit t\u00eb pjes\u00ebve. Ky operacion n\u00eb artikuj quhet specializim. Por ne v\u00ebrejt\u00ebm se pjes\u00ebt p\u00ebr var\u00ebsit\u00eb, t\u00eb cilat do t\u00eb mbahen vet\u00ebm pas disa raundesh specializimi, mund t\u00eb ri-p\u00ebrdoren aktivisht, \u00e7ka mund t\u00eb reduktoj\u00eb ndjesh\u00ebm koh\u00ebn e funksionimit t\u00eb algorithmeve, pasi operacioni i nd\u00ebrveprimit \u00ebsht\u00eb i shtrenjt\u00eb. <\/p>\n<p>Prandaj ne ofruam nj\u00eb heuristik\u00eb t\u00eb bazuar n\u00eb Entropin\u00eb e Shannon-it dhe paqart\u00ebsin\u00eb e Gini-it, si dhe metrik\u00ebn ton\u00eb, t\u00eb cil\u00ebn e quajti Obstruksion Entropia. Ajo \u00ebsht\u00eb nj\u00eb modifikim i vog\u00ebl i Entropis\u00eb s\u00eb Shannon-it dhe rritet nd\u00ebrsa rritet unik\u00ebsia e grumbullit t\u00eb t\u00eb dh\u00ebnave. Heuristika e propozuar duket si m\u00eb posht\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrko efikasitetin e var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave\" src=\"\/wp-content\/uploads\/2020\/06\/4d9750c9f41679ae013ee7118928566b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>K\u00ebtu <img decoding=\"async\" alt=\"K\u00ebrko efikasitetin e var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave\" src=\"\/wp-content\/uploads\/2020\/06\/f3e620ccc932916349b338f613723542.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u2014 shkalla e unik\u00ebsis\u00eb s\u00eb pjes\u00ebs s\u00eb sapo llogaritur <img decoding=\"async\" alt=\"K\u00ebrko efikasitetin e var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave\" src=\"\/wp-content\/uploads\/2020\/06\/4a43e7b49fc30d8a928fb365567c724a.jpg\" style=\"display:block;margin: 0 auto;\" \/>, dhe <img decoding=\"async\" alt=\"K\u00ebrko efikasitetin e var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave\" src=\"\/wp-content\/uploads\/2020\/06\/c21371f6b9ec89f5d93917e3c3c7df07.jpg\" style=\"display:block;margin: 0 auto;\" \/> \u00ebsht\u00eb nj\u00eb mediane e shkall\u00ebs s\u00eb ve\u00e7ant\u00eb t\u00eb unik\u00ebsis\u00eb p\u00ebr atributet e ve\u00e7anta. Si metrik\u00eb unik\u00ebsie jan\u00eb provuar t\u00eb tre metrikat e p\u00ebrshkruara m\u00eb sip\u00ebr. Gjithashtu, mund t\u00eb v\u00ebrehet se n\u00eb heuristik\u00eb ka dy modifikator\u00eb. Modifikatori i par\u00eb tregojn\u00eb sa af\u00ebr \u00ebsht\u00eb partitimi aktual me \u00e7el\u00ebsin primar dhe lejon ruajtjen m\u00eb t\u00eb madhe t\u00eb atyre partitimeve q\u00eb jan\u00eb larg \u00e7el\u00ebsit potencial. Modifikatori i dyt\u00eb lejon ndjekjen e p\u00ebrdorimit t\u00eb caches dhe k\u00ebshtu nxit shtimin e m\u00eb shum\u00eb partitimeve n\u00eb cache kur ka hap\u00ebsir\u00eb t\u00eb lir\u00eb. Zgjidhja e suksesshme e k\u00ebtij problemi ka lejuar p\u00ebrshpejtimin e algoritmit PYRO me 10-40% n\u00eb var\u00ebsi t\u00eb datasets. Vlen t\u00eb theksohet se algoritmi PYRO \u00ebsht\u00eb m\u00eb i suksesshmi n\u00eb k\u00ebt\u00eb fush\u00eb. <\/p>\n<p>N\u00eb pamjen m\u00eb posht\u00eb mund t\u00eb shihni rezultatet e aplikimit t\u00eb heuristik\u00ebs s\u00eb propozuar krahasuar me qasjen baz\u00eb t\u00eb caches, e cila \u00ebsht\u00eb e bazuar n\u00eb hedhjen e nj\u00eb monedhe. E vertikala X \u00ebsht\u00eb logaritmike.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrko efikasitetin e var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave\" src=\"\/wp-content\/uploads\/2020\/06\/3d6fe6a57237b27e76e6833965dc9c93.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Nj\u00eb m\u00ebnyr\u00eb alternative p\u00ebr ruajtjen e partitimeve<\/h3>\n<p>\nM\u00eb pas ofruam nj\u00eb m\u00ebnyr\u00eb alternative p\u00ebr ruajtjen e particioneve. Particionet p\u00ebrb\u00ebjn\u00eb nj\u00eb grup klaster\u00ebsh, n\u00eb secilin prej t\u00eb cil\u00ebve ruhet numrat e tupleve me vlera t\u00eb nj\u00ebjta p\u00ebr atributet e caktuara. K\u00ebta klaster\u00eb mund t\u00eb p\u00ebrmbajn\u00eb sekonda t\u00eb gjata numrash t\u00eb tupleve, p\u00ebr shembull, n\u00ebse t\u00eb dh\u00ebnat n\u00eb tabel\u00eb jan\u00eb t\u00eb renditura. Prandaj, ofruam nj\u00eb skem\u00eb kompresimi p\u00ebr ruajtjen e particioneve, p\u00ebkat\u00ebsisht ruajtjen intervale t\u00eb vlerave n\u00eb klaster\u00ebt e particioneve:<\/p>\n<p>$$display$$pi(X) = {{underbrace{1, 2, 3, 4, 5}_{Intervali~i~Par\u00eb}, underbrace{7, 8}_{Intervali~i~Dyt\u00eb}, 10}}\\ downarrow{Kompresimi}\\ pi(X) = {{underbrace{$, 1, 5}_{Intervali~i~Par\u00eb}, underbrace{7, 8}_{Intervali~i~Dyt\u00eb}, 10}}$$display$$<\/p>\n<p>Ky metod arriti t\u00eb reduktoj\u00eb konsumimin e memories gjat\u00eb pun\u00ebs s\u00eb algoritmit TANE nga 1 deri n\u00eb 25%. Algoritmi TANE \u00ebsht\u00eb nj\u00eb algorit\u00ebm klasik p\u00ebr gjetjen e FQ, ai p\u00ebrdor partit\u00eb gjat\u00eb pun\u00ebs s\u00eb tij. N\u00eb kuadrin e praktik\u00ebs, ishte zgjedhur pik\u00ebrisht algoritmi TANE, pasi implementimi i ruajtjes intervale n\u00eb t\u00eb ishte ndjesh\u00ebm m\u00eb i leht\u00eb, sesa p\u00ebr shembull, n\u00eb PYRO, p\u00ebr t\u00eb vler\u00ebsuar n\u00ebse qasja e propozuar funksionon. Rezultatet e marra jan\u00eb paraqitur n\u00eb figur\u00ebn m\u00eb posht\u00eb. Eksi X \u00ebsht\u00eb logaritmike.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00ebrko efikasitetin e var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave\" src=\"\/wp-content\/uploads\/2020\/06\/609a547d3d19b6e2c54ed70481ff6cdb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Konferenca ADBIS-2019<\/h3>\n<p>\nSip ligjit t\u00eb hulumtimit t\u00eb b\u00ebr\u00eb n\u00eb Shtator 2019, un\u00eb prezantova nj\u00eb artikull <noindex><a rel=\"nofollow\" href=\"https:\/\/link.springer.com\/chapter\/10.1007\/978-3-030-30278-8_7\">Smart Caching p\u00ebr Zbulimin Efikas t\u00eb Var\u00ebsive Funksionale<\/a><\/noindex> n\u00eb konferenc\u00ebn 23rd European Conference on Advances in Databases and Information Systems (ADBIS-2019). Gjat\u00eb prezantimit, puna u vler\u00ebsua nga Bernhard Thalheim, nj\u00eb figur\u00eb e r\u00ebnd\u00ebsishme n\u00eb fush\u00ebn e bazave t\u00eb t\u00eb dh\u00ebnave. Rezultatet e hulumtimit ishin baza e disertacionit tim n\u00eb masterin e matematik\u00ebs dhe mekanik\u00ebs n\u00eb SPbGU, gjat\u00eb t\u00eb cilit t\u00eb dy qasjet e propozuara (kashimi dhe kompresimi) u implementuan n\u00eb t\u00eb dy algoritmet: TANE dhe PYRO. N\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb, rezultatet treguan se qasjet e propozuara jan\u00eb universale, pasi t\u00eb dy algoritmet p\u00ebr t\u00eb dy qasjet treguan nj\u00eb reduktim t\u00eb duksh\u00ebm t\u00eb memories s\u00eb konsumuar, si dhe nj\u00eb ulje t\u00eb konsiderueshme t\u00eb koh\u00ebs s\u00eb ekzekutimit t\u00eb algoritmeve.<br \/>\n<br \/>Burimi: <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.0.1 - 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\/sq\/blog\/administrirovanie\/effektivnyj-poisk-funkczionalnyh-zavisimostej-v-bazah-dannyh\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\/sq\/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\udd47K\u00ebrkimi efektiv i var\u00ebsive funksionale n\u00eb bazat e t\u00eb dh\u00ebnave | ProHoster","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.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/effektivnyj-poisk-funkczionalnyh-zavisimostej-v-bazah-dannyh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/86335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=86335"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/86335\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/86336"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=86335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=86335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=86335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}