Veze, linkovi
Kompjuter biblioteka
Korpa

 

Access

ALGORITMI

Alternativna učenja

Analiza podataka

Android

Animacija

Antropologija

Apple - MAC OS X

Arheologija

Arhitektura

Astrologija

Astronomija

Audio kursevi + knjige

Audio, Multimedia, Video

Autobiografija

AutoCad, ArchiCAD, SolidWorks, Catia, Pro/Engineer

Automobili

Bajke

Baze podataka

Biografija

Biološke nauke

Blockchain

Botanika

C, C++ i C#

ChatGPT

CSS

Dečije knjige

Delphi

Digitalna fotografija

Dizajn

Django

Domaće pripovetke

Domaći roman

Drama

E-knjiga

E-komerc

ECDL

Ekologija

Ekonomija

Elektrotehnika

Enciklopedija

Esejistika

Etika

Fantastika

Film

Filologija

Filozofija

Fizika

Fotografija

FULL STACK DEVELOPMENT

Funkcionalno programiranje

Generativna veštačka inteligencija

Geografija

Geologija

Git i GitHub

GOOGLE

GPT

Grafika, Dizajn, Štampa

Građevinarstvo

Hardver

Hemija

Hidrotehnika

Hobi

Horor

Humor

Internet

Intervju

Istorija

Istorija i teorija književnosti

Istorija umetnosti

Istorijski roman

Java

JavaScript

Joomla

jQuery

Knjiga posle posla - Beletristika i ostala izdanja

Knjižare i naše knjige

Književna kritika

Kuvari, hrana i piće

Leksikografija

Lingvistika

Ljubavni roman

logo

Magija

Marketing

Mašinsko učenje

Mašinstvo

Matematika

Medicina

Memoari

Menadžment

Modeliranje podataka

Monografija

Mreže

MS Office

Muzika

Nagrađivanje knjige

Naučna fantastika

Obrada teksta

OFFICE 2013

OpenOffice.org

Operativni sistemi

Oracle

Organizacione nauke

Pedagogija

PHP I MYSQL

Pisci u medijima

Ples

Poezija

Politika

Poljoprivreda

Popularna medicina

Popularna nauka

Popularna psihologija

Posao

Poslovanje

Pozorište

Pravo

Pravoslavlje

Primenjene nauke

Pripovetke

Prirodne nauke

Priručnik

Programiranje

Projektovanje softvera

Psihologija

Publicistika

Putopis

Python programiranje

Računarstvo u oblaku

Raspberry PI

Razvoj

Rečnici

Religija

Robotika

Roman

Ruby i Ruby on Rails

Satira

Saveti

Serija Roberta C. Martina

Sertifikati

Slikarstvo

Socijalna mreža - Facebook

Sociologija

Sport

Sport i hobi

SQL

Statistika

Strip

Tabele

Tableti

Tehnologija

Telekomunikacije

Triler

Turizam

Twitter

Udžbenici

Umetnost

Unix, Linux

Urbanizam

UX DIZAJN

Veštačka inteligencija

Visual Basic .NET, VBA, V. Studio

Web design

Windows

Windows 7

Windows 8

WordPress

Zaštita i sigurnost

Zoologija

 

Saveti – SQL

Ukupno: 23, strana 1 od 2

7 esencijalnih alata za upravljanje SQL-om za administratore baza podataka

 

 

 

Alati za upravljanje SQL-om su esencijalni za administratore baza podataka i developere, pružajući funkcionalnosti kao što su automatsko dovršavanje koda, proveru sintakse i grafički prikaz SQL infrastrukture. Ovi alati mogu pojednostaviti upravljanje bazama podataka, poboljšati efikasnost i osigurati tačnost SQL upita. Evo sedam najboljih alata za upravljanje SQL-om koji se ističu u industriji. 1. MySQL Workbench MySQL Workbench je jedinstveni vizuelni alat dizajniran za arhitekte baza podataka, developere i administratore baza podataka. Nudi modeliranje podataka, SQL razvoj i sveobuhvatne administrativne alate za konfiguraciju servera, administraciju korisnika, backup i još mnogo toga. Ključne karakteristike: Vizuelni dizajn baze podataka: omogućava korisnicima da grafički kreiraju, modeliraju i upravljaju bazama podataka. SQL razvoj: pruža moćan SQL editor sa automatskim dovršavanjem koda, isticanjem sintakse i mogućnostima izvršavanja upita. Administracija baze podataka: omogućava jednostavnu konfiguraciju servera, administraciju korisnika i praćenje performansi. Prednosti: Multiplatformski: dostupan za Linux, macOS i Windows. Korisnički prijateljski interfejs: intuitivan interfejs koji olakšava početnicima da se snađu. Obimna dokumentacija: sveobuhvatni vodiči i tutorijali su dostupni. 2. JetBrains DataGrip JetBrains DataGrip je napredni SQL IDE koji podržava širok spektar baza podataka. Pruža inteligentnu pomoć pri kodiranju, pomaže u pisanju tačnih SQL upita i predlaže najbolja rešenja za vaš kod. Ključne karakteristike: Pametno automatsko dovršavanje koda: razume i predlaže tačno dovršavanje u odgovarajućem kontekstu. Provera sintakse: detektuje greške u realnom vremenu i predlaže popravke. Povezivanje sa bazom podataka: podržava više sistema baza podataka, uključujući MySQL, PostgreSQL, SQL Server i Oracle. Prednosti: Prilagodljiv interfejs: omogućava prilagođavanje prema vašem radnom toku. Efikasno izvršavanje upita: optimizuje i ubrzava izvršavanje upita. Integracija sa verziranjem koda: integracija sa VCS-ovima kao što su Git i SVN. 3. Microsoft SQL Server Management Studio (SSMS) Microsoft SQL Server Management Studio (SSMS) je sveobuhvatan alat za upravljanje SQL Server okruženjima. Uključuje skript editore i grafičke alate za pojednostavljenje upravljanja bazama podataka i njihovim objektima. Ključne karakteristike: Sveobuhvatno upravljanje: potpuna podrška za upravljanje SQL Server i Azure SQL bazama podataka. Integrisano debugovanje: ugrađeni alati za debugovanje SQL upita. Alati za performanse: uključuje alate za praćenje i optimizaciju performansi baze podataka. Prednosti: Integracija sa Microsoft-om: besprekorno se integriše sa ostalim Microsoft proizvodima. Korisnički prijateljski GUI: intuitivan grafički interfejs za jednostavnu navigaciju i rad. Bogat skup funkcija: obiman skup funkcija za upravljanje i razvoj baza podataka. 4. DBeaver DBeaver je besplatan i open-source SQL klijent koji podržava različite baze podataka. Dizajniran je za developere, SQL programere, administratore baza podataka i analitičare. Ključne karakteristike: Podrška za više platformi: radi na Windows, macOS i Linux. ER dijagrami: generiše dijagrame entiteta i relacija za bolji dizajn baza podataka. Prenos i migracija podataka: podržava prenos podataka između različitih formata i baza podataka. Prednosti: Open source: besplatan za korišćenje sa aktivnom zajednicom za podršku. Obimna podrška za pluginove: brojni pluginovi dostupni za proširenje funkcionalnosti. Korisnički prijateljski: jednostavan za postavljanje i korišćenje, čak i za početnike. 5. Navicat Navicat je moćan alat za upravljanje i razvoj baza podataka koji podržava različite baze podataka, uključujući MySQL, MariaDB, SQL Server, Oracle, PostgreSQL i SQLite. Ključne karakteristike: Dizajn i modeliranje baza podataka: napredni alati za dizajn i modeliranje baza podataka. Manipulacija podacima: sveobuhvatni alati za uvoz, izvoz, sinhronizaciju i backup podataka. SQL editovanje: napredni SQL editor sa automatskim dovršavanjem koda, isticanjem sintakse i kreiranjem upita. Prednosti: Multiplatformski: dostupan za Windows, macOS i Linux. Fleksibilno licenciranje: nudi različite opcije licenciranja koje odgovaraju različitim potrebama. Intuitivan interfejs: čist i intuitivan interfejs za jednostavnu navigaciju. 6. Toad for SQL Server Toad for SQL Server je sveobuhvatan alat za upravljanje, razvoj i optimizaciju SQL Server-a. Pomaže administratorima baza podataka i developerima da efikasnije upravljaju SQL Server okruženjima. Ključne karakteristike: Optimizacija SQL-a: alati za optimizaciju SQL upita i podešavanje performansi. Poređenje baza podataka: poredi i sinhronizuje šeme baza podataka i podatke. Automatizacija: automatizuje rutinske zadatke radi poboljšanja produktivnosti. Prednosti: Štednja vremena: automatizuje ponavljajuće zadatke, štedeći vreme i trud. Sveobuhvatan alat: pruža sve potrebne alate za upravljanje bazom podataka u jednom paketu. Korisnički prijateljski: jednostavan za korišćenje sa jasnim interfejsom. 7. HeidiSQL HeidiSQL je lagan, besplatan i open-source alat dizajniran za upravljanje MySQL, MariaDB, PostgreSQL i SQL Server bazama podataka. Poznat je po svojoj jednostavnosti i efikasnosti. Ključne karakteristike: Lagan i brz: optimizovan za performanse uz minimalno korišćenje resursa. Izvoz/uvoz podataka: podržava izvoz i uvoz podataka u različitim formatima. Kreator upita: vizuelni kreator upita za pojednostavljeno kreiranje SQL upita. Prednosti: Besplatan za korišćenje: potpuno besplatan i open-source. Prenosiva verzija: dostupan u prenosivoj verziji za korišćenje bez instalacije. Aktivan razvoj: redovna ažuriranja i aktivna zajednica.
 
   

Apache Presto distribuirani SQL upitni mehanizam

 

 

 

Apache Presto predstavlja distribuirani SQL upitni mehanizam (distributed SQL query engine) dizajniran za brzu obradu velikih količina podataka, što ga čini ključnim alatom u današnjem svetu gde je efikasno upravljanje ogromnim skupovima podataka postalo neizbežno. Razvijen u početku od strane Facebook-a radi zadovoljenja sopstvenih potreba za obradom masivnih skupova podataka, Presto je brzo evoluirao i postao izbor mnogih u industriji zahvaljujući svojoj izuzetnoj fleksibilnosti i efikasnosti. Jedna od glavnih prednosti Apache Presto-a je podrška za više izvora podataka (support for multiple data sources), uključujući distribuirane sisteme datoteka poput HDFS-a (HDFS), relacione baze podataka i usluge cloud skladištenja (cloud storage services). Ova sposobnost omogućava korisnicima da izvršavaju upite preko heterogenih izvora podataka bez potrebe za premestanjem ili transformacijom podataka unapred. Dodatno, funkcionalnost federacije podataka (data federation) omogućava korisnicima da izvrše upite koji obuhvataju više izvora podataka u okviru jednog SQL upita, što značajno pojednostavljuje analizu raznovrsnih podataka. U pogledu performansi i optimizacije, Presto koristi model obrade u memoriji (in-memory processing model) i paralelizuje upite preko klastera kako bi ubrzao odziv. Uključuje i napredne optimizacije kao što su distribuirano planiranje upita (distributed query planning) i tehnike smanjenja kao što je predikatsko propuštanje (predicate pushdown), što povećava efikasnost upita. Kada je reč o fleksibilnosti i skalabilnosti, Presto se lako skalira dodavanjem čvorova u klaster, omogućavajući time lakše upravljanje povećanjem opterećenja podataka. Podržava i širok spektar analitičkih upita, od jednostavnih ad hoc upita do kompleksnih analiza, čineći ga korisnim za razne analitičke primene. Presto takođe nudi dobru kompatibilnost sa SQL-om (SQL compatibility), podržavajući složene funkcije, spajanja, agregacije i podupite, što ga čini lako prilagodljivim za one koji su već upoznati sa SQL-om. Mogućnost proširenja i prilagođavanja kroz korisnički definisane funkcije i dodatke omogućava korisnicima da prilagode Presto svojim specifičnim potrebama. Uprkos svim ovim prednostima, Presto se suočava sa izazovima kada je reč o obradi zadataka koji zahtevaju velike izračunavanja ili obradu serija podataka (batch data processing), gde alati poput Apache Spark-a mogu biti prikladniji. Pored toga, Presto zahteva adekvatno održavanje i konfiguraciju, što može biti izazov za timove s ograničenim resursima. U zaključku, Apache Presto predstavlja moćan alat za brzu i fleksibilnu analizu velikih skupova podataka (large volumes of data), sa širokim spektrom mogućnosti koje ga čine vrednim izborom u ekosistemu velikih podataka (Big Data ecosystem).
 
   

Da li da koristite SQL, R ili Python za analizu podataka

 

 

 

Pri odlučivanju da li koristiti SQL, R ili Python za analizu, razmotrite sledeće faktore: Vrsta i izvor podataka: SQL je najbolji izbor ako su vaši podaci već smešteni u relacionoj bazi podataka i potrebno je izvršiti kompleksne upite ili manipulacije podacima direktno na serveru baze. R i Python su bolji za analizu podataka koji su smešteni u različitim formatima ili izvorima, poput tekstualnih datoteka, Excel tabela, web scrapinga ili API-ja. Cilj analize: Ako je cilj analize složena statistička obrada, modeliranje ili vizualizacija, R može biti bolji izbor zbog svoje specijalizacije u statističkim metodama i bogate kolekcije paketa za vizualizaciju. Za projekte koji uključuju mašinsko učenje, obradu prirodnog jezika ili duboko učenje, Python nudi obilje biblioteka kao što su scikit-learn, TensorFlow i PyTorch. Složenost i performanse: Ako je potrebno optimizovati performanse pri radu s velikim količinama podataka, SQL je često efikasniji jer procesiranje podataka vrši direktno baza podataka, što može smanjiti opterećenje na aplikaciji ili mreži. Za složene analitičke obrade koje prevazilaze standardne upite, R i Python pružaju fleksibilnost u obradi podataka, statističkoj analizi i primeni algoritama. Integracija i skalabilnost: Python se ističe kada je potrebna integracija analize podataka s web aplikacijama ili automatizacijom zadataka, zahvaljujući svojoj svestranosti i podršci za razne okvire. U slučaju da je analiza deo većeg sistema za obradu podataka ili ETL (Extract, Transform, Load) procesa, SQL može biti prirodan izbor za manipulaciju podacima unutar baze. Znanje i veštine tima: Razmotrite postojeće veštine i iskustvo tima. Ako tim već ima eksperte za SQL, možda će biti efikasnije koristiti SQL za upravljanje podacima. Ako tim ima jake analitičke sposobnosti u R-u ili Pythonu, može biti korisno iskoristiti te veštine za složenije analize. Zajednica i resursi: Razmotrite veličinu i aktivnost zajednice oko svakog alata. Veća i aktivnija zajednica može značiti bolju podršku, više resursa za učenje i širi raspon dostupnih biblioteka i alata. Kombinovanje više alata može biti najefikasniji pristup, koristeći svaki alat za ono što najbolje radi. Na primer, podaci se mogu preuzeti i predobraditi koristeći SQL, analizirati u R-u ili Pythonu, a rezultati se zatim mogu vratiti u bazu podataka ili predstaviti kroz aplikaciju napravljenu u Pythonu.
 
   

IDEJA: Vertikalni prevod

 

 

 

Zašto televozori nemaju tu mogućnost da se prevod nekog filma ili serije „okrene” vertikalno na levu ili desnu stranu ekrana (na levoj strani odozgo na dole a na desnoj obrnuto) ili da se „okrene” cela slika zajedno sa prevodom . Tada bi bilo lako da se ležeći, paralelno sa televizorom, gleda film ili serija i čita prevod. Da li i Vi imate neku ideju? Izvor: Whynot. net Pripremio: Milenko Kusurović
 
   

KAKO DA instalirate Apache na svoj računar

 

 

 

Da biste napravili server na svom računaru, prvo morate instalirati Apache Webserver. Prvo ga skinite sa www. apache. org . Nakon što skinete najnoviju verziju Apache web servera (Win32 verziju), na red dolazi instalacija. Nakon što pokrenete. exe file koji ste upravo skinuli sa neta, moraćete izabrati u koji direktorijum želite da instalirate Apache. Apache vam predlaže da ga automatski instalirate u C:Program FilesApache GroupApache . Ako koristite NT ili Win2000+, Apache će vas pitati da li želite da ga instalirate kao servis. Ako ga instalirate kao servis, Apache će se automatski uključiti pri svakom startu Windowsa i sve vreme će raditi u pozadini. Jedini trag o Apacheu ćete naći u Task Manageru, koji možete otvoriti sa CTRL+ALT+DEL . Ako ga ne instalirate kao servis, moraćete ga svaki put pokretati ručno klikom na ikonicu Start Apache koja će se nalaziti u Start meniju nakon instalacije. Time je instalacija praktično završena. Da biste proverili da li je Apache korektno instaliran, pokrenite Apache (ako nije instaliran kao servis) i upišite u vašem pretraživaču adresu http://127. 0. 0. 1/ . Ako se otvori  stranica na kojoj piše " If you can see this, it means that the installation of the Apache web server software on this system was successful . . . ", onda ste očigledno pravilno instalirali Apache server. Stranica koja se otvorila nalazi se u direktorijumu C:Program FilesApache GroupApachehtdocs. To je nakon instalacije vaš root direktorijum za web dokumente. Radi preglednosti i lakšeg rada promenite root direktorijum, kao i još nekoliko sitnica. Konfiguracija Apache servera funkcioniše veoma jednostavno koristeci httpd. conf file, koji se nalazi u C:Program FilesApache GroupApacheconf direktorijumu. httpd. conf file možete otvoriti pomoću bilo kojeg editora. Možete ga urediti takođe u Windows Notepadu. Kliknite na httpd. conf desnim tasterom miša i odaberite u meniju opciju Open with. Trebalo bi konfigurisati sledeće opcije: ServerAdmin - tu upišite vašu e-mail adresu. ServerName - tu upišite ime servera. Obično stoji localhost, ali vi možete upisati šta želite. Ako upišete npr. localhost, onda ćete u pretraživaču uvek pozivati vaš root direktorijum sa http://localhost/. DirectoryIndex - tu upišite index. html index. htm index. php index. php3. DocumentRoot - root direktorijum za vaše internet dokumente/stranice. Možete izabrati posebnu particiju/disk za to -> D:/sajt (pre toga napravite direktorijum D:/sajt). i naravno upišite ga pod znacima navoda. - tu bi takođe trebalo upisati vaš root direktorijum, odnosno D:/sajt, takođe pod znacima navoda. Ovim je instalacija Apachea završena.
 
   

KAKO DA nađete ljude onlajn

 

 

 

Da biste pronašli ljude online, postoje različite strategije i alati koje možete koristiti u zavisnosti od toga koga tražite i zbog čega. Evo nekoliko metoda koje vam mogu pomoći u potrazi: Društvene mreže: Koristite platforme kao što su Facebook, LinkedIn, Instagram i Twitter za pretragu ljudi po imenu, lokaciji, zanimanju ili interesovanjima. Mnoge društvene mreže nude napredne opcije pretrage koje vam omogućavaju da suzite rezultate. Pretraživači: Unesite ime osobe u pretraživače poput Google-a, Bing-a ili Yahoo-a. Možete koristiti navodnike ("Ime Prezime") za precizniju pretragu. Takođe, pokušajte dodati dodatne informacije koje znate, poput mesta stanovanja, zanimanja ili drugih relevantnih detalja. Alumni mreže i školski direktorijumi: Ako tražite bivšeg školskog druga ili kolegu s fakulteta, alumni mreže i školski direktorijumi mogu biti korisni. Mnoge obrazovne institucije imaju online platforme gde se bivši učenici mogu povezivati i deliti kontakt informacije. Specijalizovani sajtovi za pronalaženje ljudi: Postoje sajtovi kao što su Pipl, Spokeo i ZabaSearch koji omogućavaju pretragu osoba na osnovu dostupnih javnih zapisa. Imajte na umu da ovi sajtovi mogu imati ograničenja u zavisnosti od vaše lokacije i zakona o privatnosti. Online forumi i zajednice: Ako osoba ima specifične interese ili hobije, možda je aktivna u relevantnim online forumima ili zajednicama. Potražite forume vezane za te interese i koristite funkciju pretrage na tim sajtovima. Blogs i lične veb stranice: Neki ljudi imaju lične blogove ili veb stranice. Probajte da ih nađete preko Google-a ili drugih pretraživača koristeći njihovo ime u kombinaciji sa terminima kao što su "blog" ili "lična veb stranica". Alumni grupe na društvenim mrežama: Grupisane po obrazovnim institucijama, ove grupe na platformama kao što su Facebook ili LinkedIn mogu vam pomoći da se povežete sa bivšim školskim drugovima. Uvek vodite računa o privatnosti i etici prilikom pretrage ljudi online. Poštujte tuđu privatnost i budite svesni da neke informacije možda nisu javno dostupne ili je njihovo deljenje bez pristanka osobe neetičko.
 
   

KAKO DA onemogućite lokalni administratorski nalog u Windows-u

 

 

 

Ovaj korak-po-korak članak opisuje kako da onemogućite lokalni administratorski nalog. Ova informacija se ne odnosi na domenski administratorski nalog u Active Directory domenu. Važna napomenaPre nego što da onemogućite lokalni administratorski nalog, uverite se da postoji najmanje još jedan lokalni ili mrežni korisnik koji može da pristupi računaru sa administratorskim pravima. U suprotnom, kasnije nećete moći da vratite ovu akciju unazad. 1. Prijavite se kao administrator, ili kao korisnik sa administratorskim pravima. 2. Kliknite desnim tasterom miša na My Computer, a zatim kliknite na Manage. 3. U levom delu ekrana, proširite Local Users and Groups a zatim kliknite naUsers. 4. U desnom delu ekrana, dvokliknite na nalog Administrator. 5. Na kartici General selektujte opciju Account is disabled a zatim kliknite naOK. 6. Ugasite Computer Management konzolu. Novo podešavanje će imate efekta sledeći put kada pokušate da se prijavite na ovaj računar. Kako da zabranite pristup lokalnom administratoru u Windowsu 2000 U Windowsu 2000, nije moguće onemogućiti built-in naloge. Ipak, možete zabraniti pristup lokalnom administratorskom nalogu tako što ćete podesiti lokalna sigurnosna podešavanja. NapomenaPre nego što ispratite sledeće korake, uverite se da postoji najmanje još jedan lokalni ili mrežni korisnik koji može da pristupi računaru sa administratorskim pravima. 1. Prijavite se kao administrator, ili kao korisnik sa administratorskim pravima. 2. Kliknite na Start, pokažite na Programs, zatim na Administrative Tools, a zatim kliknite na Local Security Policy. 3. U levom delu ekrana, proširite Local Policies a zatim kliknite na User Rights Assignment. 4. U desnom delu ekrana, dvokliknite naDeny access to this computer from the network. 5. U Local Security Policy Setting, kliknite na Add. 6. U polju Users and Groups kliknite na nalog Administrator a zatim kliknite na Add. 7. Kliknite na OK, kliknite na OK, a zatim ugasite Local Security Settings konzolu. Morate restartovati računar da bi nova sigurnosna podešavanja imala efekta. Pripremio: Milenko Kusurović
 
   

KAKO DA poboljšate performanse preko My Computer

 

 

 

1. Desni klik na „My Computer” ikonu2. Kliknite na „Advanced”3. Pogledajte pod „Performance” i otvorite „Settings”4. Isključite sve ili neke od sledećih opcija: • Fade or slide menus into view• Fade or slide ToolTips into view• Fade out menu items after clicking• Show Shadows under menus• Slide open combo boxes• Slide taskbar buttons• Use a background image for each folder type• Use common tasks in folders Vaš XP će izgledati isto kao pre, ali će raditi malo brže. Pripremio: Milenko Kusurović
 
   

Kako DA se Apache konektuje na bežičnu bazu podataka pod SELinuxom

 

 

 

Korak 1 Prvo treba da verifikujete da je omogućen SELinux. Kod: Trebalo bi da se pojavi Enforcing. Korak 2 Ako vidite drugačiji rezultat, pokušajte: Kod:  [root@www ~]# setenforce 1 Ako se javlja greška, onda vam SELinux nije uključen. Treba da odete na /etc/selinux/config i izmenite fajl da biste pokrenuli SELinux. Kad ga uključite, moraćete da rebutujete linux server da bi se promene učitale. Korak 3 Kad omogućite SELinux. , uradite sledeće: podesite SELinux. da dozvoli daljinske konekcije za HTTP Kod: setsebool -P httpd_can_network_connect=1 Korak 4 To je to. Gotovo. Dijana Petrićević
 
   

KAKO DA – uklonite duplikate iz tabela, SQL

 

 

 

U ovom prilogu prikazaćemo vam metod upotrebe jedne privremene tabele u svrhu uklanjanja dupliciranih slogova u tabeli. Ponekad će vam zatrebati mogućnost uklanjanja dupliciranih slogova (onih koji imaju iste vrednosti nekih ili svih atributa). Uklanjanje viška istih slogova, sa zadržavanjem samo jednog sloga, može se izvršiti na više načina, a mi ćemo vam prikazati metod sa upotrebom jedne privremene (temporary) tabele. Za potrebe primera kreiraćemo tabelu sa dva polja i dva ista sloga. Recimo, tabela “Linkovi” može ovako da izgleda (SELECT * FROM Linkovi;): naziv URL———————————————-Krstarica www. krstarica. comYahoo www. yahoo. comKrstarica www. krstarica. com———————————————- Da bismo uklonili ponavljanje istog sloga (Krstarica), uradićemo sledeće: • Kreiraćemo privremenu tabelu selektovanjem samo različitih slogova osnovne tabele (”Linkovi“). CREATE TABLE Linkovi_Priv ASSELECT DISTINCT naziv, URLFROM Linkovi; • Možemo proveriti stanje u novonastaloj tabeli i uveriti se da sada nema dupliciranih slogova: SELECT *FROM Linkovi_Priv; Rezultat će biti: naziv URL———————————————-Krstarica www. krstarica. comYahoo www. yahoo. com———————————————- • Vršimo brisanje osnovne tabele iz baze, instrukcijom DROP: DROP TABLE Linkovi; • I na kraju, vršimo preimenovanje privremene tabele (Linkovi_Priv) u osnovnu (Linkovi), instrukcijom ALTER: ALTER TABLE Linkovi_Priv RENAME TO Linkovi; Ne zaboravite samo da ponovo kreirate sve potrebne indekse, i dozvole za rad i pristup novoj tabeli (kao na izbrisanoj originalnoj tabeli). Pripremio: Milenko Kusurović
 
   

NoSQL i NewSQL baze podataka

 

 

 

Hajde da objasnimo NoSQL i NewSQL baze podataka na jednostavan način, bez previše tehničkog žargona: NoSQL baze podataka Definicija i svrha: NoSQL ("Not Only SQL") baze su dizajnirane da budu fleksibilnije u odnosu na tradicionalne, SQL baze podataka. Glavna ideja je da se olakša rad sa velikim količinama podataka i da se podrže različiti formati podataka, posebno kada su u pitanju veliki i složeni sistemi. Karakteristike i prednosti: Fleksibilnost: NoSQL baze dozvoljavaju skladištenje različitih tipova podataka, uključujući neustrukturirane podatke kao što su tekstovi, slike, videi. Brzina i skalabilnost: One su brze i lako se šire (skaliraju) kako bi podržale velike količine podataka i veliki broj korisnika. Primeri NoSQL baza: Popularne NoSQL baze uključuju MongoDB, Cassandra, i Redis. Upotreba i Industrije: NoSQL se često koristi u big data analitikama, društvenim mrežama, i aplikacijama koje zahtevaju brzo obradu velikih količina podataka. NewSQL baze podataka Definicija i svrha: NewSQL baze su nastale kao odgovor na potrebu za bazama koje mogu da podrže velike količine transakcija (kao NoSQL) ali i da pružaju strogu strukturu i pouzdanost tradicionalnih SQL baza. Karakteristike i prednosti: ACID svojstva: NewSQL baze čuvaju klasična svojstva transakcija kao što su konzistentnost, izolacija, i trajnost. Performanse i skalabilnost: Ove baze nude visoke performanse čak i sa složenim upitima i velikim opterećenjima. Primeri NewSQL baza: Google Spanner i CockroachDB su primeri NewSQL baza. Upotreba i industrije: NewSQL se koristi u situacijama gde su potrebne brze i pouzdane transakcije, kao što su finansijske usluge, e-trgovina, i online igre. Poređenje NoSQL i NewSQL Modeli podataka: NoSQL: Različiti modeli kao što su dokumenti, graf, ključ-vrednost. NewSQL: Tradicionalni tabelarni model sa dodatkom performansi i skalabilnosti. Skalabilnost i performanse: NoSQL: Izuzetno skalabilan za velike količine podataka. NewSQL: Visoke performanse za kompleksne transakcije. Izazovi i ograničenja: NoSQL: Može biti izazovno održavati konzistentnost podataka. NewSQL: Može biti manje fleksibilan u pogledu skladištenja različitih tipova podataka. Trendovi i razvoj: Obe tehnologije se neprestano razvijaju, prilagođavajući se savremenim potrebama tržišta. Teorija CAP i ACID svojstva CAP teorema (Konzistentnost, Dostupnost, Tolerancija na Particionisanje): NoSQL: Često se fokusira na dostupnost i toleranciju na particionisanje, što može uticati na konzistentnost. NewSQL: Pokušava da balansira sve tri komponente CAP teoreme. ACID svojstva (Atomarnost, Konzistentnost, Izolovanost, Trajnost): NoSQL: Neke NoSQL baze mogu žrtvovati neka ACID svojstva radi bolje performanse ili fleksibilnosti. NewSQL: U potpunosti podržava ACID svojstva, garantujući sigurnost i pouzdanost transakcija. Shardovanje i fleksibilnost sheme Distribuiranje: Metoda distribuiranja podataka preko više servera kako bi se povećale performanse. Koristi se u oba tipa baza. Fleksibilnost sheme u NoSQL omogućava skladištenje različitih tipova podataka bez strogo definisane strukture. Praktična primena Brojne kompanije uspešno koriste NoSQL i NewSQL, uključujući tehnološke gigante, finansijske institucije, i e-trgovinu. Izbor između NoSQL i NewSQL Prilikom izbora između NoSQL i NewSQL, važno je razmotriti vrstu podataka, potrebe za skalabilnošću, zahteve za transakcijama, i tehničku ekspertizu. Budućnost NoSQL i NewSQL Baza Očekuje se dalji razvoj i optimizacija oba tipa baza, usmerena ka zadovoljavanju rastućih i diversifikovanih potreba tržišta.
 
   

NoSQL weekly 278

 

 

 

Articles, Tutorials and Talks A tale of troubleshooting database performance, with Cassandra and sysdig In this article, I'll show you  a Cassandra performance issue that we recently dealt with, and I want to cover how we spotted the problem, what kind of troubleshooting we did to better understand it, and how we eventually solved it. RDBMS & Graphs: Drivers for Connecting to a Graph Database This week, we'll discuss the language drivers and APIs specific to Neo4j with plenty of resources for further exploration. At this point, if you are curious about other, non-Neo4j graph databases, we encourage you to explore the available drivers within their respective communities. DynamoDB Design Patterns and Best Practices In this talk, we'll walk you through common NoSQL design patterns for a variety of applications to help you learn how to design a schema, store, and retrieve data with DynamoDB. We will discuss best practices with DynamoDB to develop IoT, AdTech, and gaming apps. Redis Performance Monitoring with the ELK Stack This post looks at how you can do Redis performance monitoring using the ELK Stack to ship, analyze, and visualize the data. Analyze a Time Series in Real Time with AWS Lambda, Amazon Kinesis and Amazon DynamoDB Streams This post explains how to perform time-series analysis on a stream of Amazon Kinesis records, without the need for any servers or clusters, using AWS Lambda, Amazon Kinesis Streams, Amazon DynamoDB and Amazon CloudWatch.   We demonstrate how to do time-series analysis on live web analytics events stored in Amazon Kinesis Streams and present the results in near real-time for use cases like live key performance indicators, ad-hoc analytics, and quality assurance, as used in our AWS-based data science and analytics  RAVEN (Reporting, Analytics, Visualization, Experimental, Networks) platform at JustGiving. Churn Prediction with PySpark using MLlib and ML Packages The prediction process is heavily data driven and often utilizes advanced machine learning techniques. In this post, we'll take a look at what types of customer data are typically used, do some preliminary analysis of the data, and generate churn prediction models - all with PySpark and its machine learning frameworks. SASIIndex SASIIndex, or "SASI" for short, is an implementation of Cassandra's Index interface that can be used as an alternative to the existing implementations. This post goes on describe how to get up and running with SASI, demonstrates usage with examples, and provides some details on its implementation. Building an Async Networking Layer for mongos      How to design an HBase data model for recommendations      Getting Started with Couchbase and Spark on Apache Zeppelin Strong consistency in Manhattan Financial Markets are Graphs Using Neo4j to Take Us to the Stars Books Spark: Big Data Cluster Computing in Production "Spark: Big Data Cluster Computing in Production" goes beyond general Spark overviews to provide targeted guidance toward using lightning-fast big-data clustering in production. Written by an expert team well-known in the big data community, this book walks you through the challenges in moving from proof-of-concept or demo Spark applications to live Spark in production. Real use cases provide deep insight into common problems, limitations, challenges, and opportunities, while expert tips and tricks help you get the most out of Spark performance. Coverage includes Spark SQL, Tachyon, Kerberos, ML Lib, YARN, and Mesos, with clear, actionable guidance on resource scheduling, db connectors, streaming, security, and much more. Interesting Projects, Tools and Libraries Chronicle-Map Replicate your Key Value Store across your network, with consistency, persistance and performance. mailcap A mail capture and archival server for RethinkDB. DalmatinerDB DalmatinerDB is a metric database written in pure Erlang. It takes advantage of some special properties of metrics to make some tradeoffs. The goal is to make a store for metric data (time, value of a metric) that is fast, has a low overhead, and is easy to query and manage. HDocDB HDocDB is a client layer for using HBase as a store for JSON documents. It implements many of the interfaces in the OJAI framework. Upcoming Events and Webinars Webinar: Continuous Applications: Spark, Kafka, Beam, and Beyond After this webcast, you'll be able to: Comprehend various streaming concepts like watermarks, triggers and how they affect system requirements and design Understand complexities of continuous applications architectures and design trade-offs involved Develop complex big data applications beyond simple aggregations with simplicity, completeness and changing semantics Webinar: Low-latency ingestion and analytics with Apache Kafka and Apache Apex (Hadoop) This talk will cover a fully fault tolerant, scalable, and operational ingestion from Kafka using Apache Apex application, running natively in Hadoop. The talks will deep dive into technical details of the connectors in Apache Malhar. Details of production use cases will also be discussed. Webinar: Data Modeling, Data Querying, and NoSQL: A Deep Dive Attend and learn: How a flexible data model and structured query language simplifies development Best practices for data modeling -- when to embed data; when to reference it How to do SQL-like queries on semi-structured data Webinar: MongoDB and Analytics: Building Solutions with the MongoDB BI Connector In this webinar, we will cover the architecture needed to use the BI Connector with MongoDB. We will also demonstrate how to build reports with your data.
 
   

O virusima 1/5 – šta su virusi, crvi i trojanski konji?

 

 

 

Virusi, crvi i trojanski konji su zlonamerni programi koji mogu da izazovu štetu na vašem računaru i podacima koje imate na njemu. Oni takođe mogu da uspore Internet vezu, pa čak i da koriste vaš računar za dalje širenje na računare vaših prijatelja, porodice, kolega, kao i na ostatak Weba. Dobra vest je to što, uz malu prevencije i malo razmišljanja, postoji manje šansi da ćete postati žrtva ovih pretnji. Zamislite to kao zaključavanje ulaznih vrata na stanu. Pročitajte ovaj tekst do kraja da biste saznali sve o odlikama virusa, crva i trojanskih konja i o razlikama između njih. Šta je virus?Virus je deo računarskog koda koji se prikači na program ili datoteku tako da može da se prenosi sa računara na računar, šireći pri tom zarazu. Virusi mogu da oštete vaš softver, hardver i vaše datoteke. Virus je kôd napisan sa jasnom namenom da sam sebe umnožava. Virus pokušava da se širi od računara do računara tako što se kači na neki program. Isto kao što opasnost kod ljudskih virusa varira od Ebole do jednodnevnog gripa, tako i među računarskim virusima postoje oni koji su samo mala smetnja pri radu do onih koji su potpuno destruktivni. Dobra vest je to što se pravi virus ne širi bez ljudskih postupaka koji bi ga pokretali, kao što su deljenje datoteke ili slanje e-poruke. Pripremio: Milenko Kusurović
 
   

Postgres Weekly 171

 

 

 

Postgres The Good Parts: Arrays Postgres is packed with great datatypes, one of them that may not get quite as much attention as JSONB is the Array type. This post starts with the basics then digs into some more advanced uses and operators of it to make things more practical. RYAN KELLY Problems with Concurrent Postgres Indexes (and How to Solve Them) If you’re not familiar with concurrent indexing in Postgres, first off you should give them a look. Second, you should know they’re not without their issues which are walked through here. KEN ALEX FASSONE   #TUTORIAL  Frustrating Proprietary Licences Pushing Moves to PostgreSQL Several European institutions have cited complex licences from their traditional proprietary suppliers as an important reason to deploy PostgreSQL instead. ADRIAN OFFERMAN   #NEWS  Find Your Perfect Company Match You're smart, you're efficient. Why job hunt the old way? Try Hired and get your profile in front of thousands of top tech companies. HIRED. ​COM    #SPONSORED  Announcing Citus 5. 2 Citus 5. 2 is out which is an extension which makes it simple to shard your database, allowing you to scale out. The 5. 2 release includes better ORM support, broader SQL coverage, and improved transactional semantics on a single shard. CITUS DATA   #NEWS  Optimising PostgreSQL Database Queries using Indexes An intro to indexes, what they are, how to create, as well as some more customized approaches. All of this with a focus on improving your apps performance. REDPANTHERS   #TUTORIAL  Weighted Random Sampling with Postgres Generating random data isn’t too hard, but generating a realistic sampling based on some weighting can be. This post walks you through how to do this in SQL, perfect for fake datasets. MARCO SANTONI   #TUTORIAL  Walbouncer: A Proxy for Selective PostgreSQL Replication With support for Postgres 9. 5, Walbouncer is a standalone replication proxy, enabling selective replication by forwarding data only for specific databases/tablespaces to the connected replicas. KAAREL MOPPEL   #TOOLS  Send slow queries to Slack, PagerDuty, HipChat, or/and email Make the most of log_min_duration_statement. Get notified instantly or receive a daily summary (free). PAPERTRAIL   #TOOLS  #SPONSORED  JsQuery: JSON Query Language with GIN Indexing Support POSTGRES PROFESSIONAL   #CODE 
 
   

Primeri iz realnog života u kojima se koriste određeni SQL operatori

 

 

 

Primeri realnih situacija u kojima se često koriste određeni SQL operatori uključuju: Operator "=" - Provera jednakosti: U aplikacijama za upravljanje korisnicima, možete koristiti operator "=" da proverite da li korisničko ime i lozinka koje je korisnik unio odgovaraju podacima u bazi podataka kako biste omogućili pristup. Operator "LIKE" - Pretraga uzoraka: U e-trgovini, možete koristiti "LIKE" operator da pronađete proizvode sa sličnim imenima ili opisima. Na primer, traženje "crvena haljina%" može vratiti sve crvene haljine. Operator "IN" - Filtriranje po vrednostima: U sistemu za praćenje inventara, možete koristiti "IN" operator da pronađete sve proizvode koji pripadaju određenoj kategoriji ili brendu. Na primer, "WHERE kategorija IN ('elektronika', 'odeća')". Operator "BETWEEN" - Filtriranje po opsegu: U hotelskom rezervacionom sistemu, možete koristiti "BETWEEN" operator da pronađete sve raspoložive sobe u određenom datumskom opsegu. Operator "AND" - Kombinovanje uslova: U sistemima za praćenje narudžbina, možete koristiti "AND" operator da pronađete narudžbine koje ispunjavaju više uslova istovremeno. Na primer, "WHERE status = 'isporučeno' AND datum >= '2024-01-01'". Operator "OR" - Alternativni uslovi: U sistemu za pretragu vesti, možete koristiti "OR" operator da omogućite korisnicima da pretražuju vesti koje sadrže jedan od nekoliko ključnih reči. Na primer, "WHERE naslov LIKE '%sport%' OR sadržaj LIKE '%sport%'". Operator "COUNT" - Agregacija podataka: U sistemu za analizu anketa, možete koristiti "COUNT" operator da brojite koliko puta se određeni odgovor javlja u anketi kako biste dobili statistiku. Operator "CASE" - Uslovna logika: U aplikacijama za obračun plata, možete koristiti "CASE" operator da izračunate različite bonuse ili doprinose zaposlenima u zavisnosti od njihovih radnih uspeha ili dužine staža. Ovi primeri ilustruju kako se različiti SQL operatori primenjuju u stvarnim scenarijima kako bi se obavile različite operacije nad podacima u bazama podataka.  
 
   

Razlika između naredbe i klauzule u SQL-u

 

 

 

Razlika između naredbe (command) i klauzule (clause) u SQL-u leži u njihovim funkcijama i kontekstu upotrebe: Naredba (Command): Definicija: Naredba u SQL-u je kompletna instrukcija koja se izvršava da bi se obavila određena operacija. Naredbe su osnovni gradivni elementi SQL jezika. Primena: Naredbe se koriste za različite operacije kao što su upravljanje podacima (INSERT, SELECT, UPDATE, DELETE), definisanje struktura podataka (CREATE, ALTER, DROP), kontrola transakcija (BEGIN, COMMIT, ROLLBACK) i kontrola pristupa (GRANT, REVOKE). Primer: SELECT, UPDATE, DELETE, CREATE TABLE su sve primeri SQL naredbi. Svaka od ovih naredbi predstavlja samostalnu instrukciju koja obavlja određenu funkciju u bazi podataka. Klauzula (Clause): Definicija: Klauzula je deo SQL naredbe koja precizira kako će se ta naredba izvršiti ili na koji deo podataka se odnosi. Klauzule su komponente unutar SQL naredbi koje dodaju specifične uslove ili modifikacije naredbi. Primena: Klauzule se koriste unutar SQL naredbi da definišu specifične aspekte izvršenja naredbe, kao što su izbor podataka, uslovi filtriranja, sortiranje rezultata, itd. Primer: U naredbi SELECT ime, prezime FROM studenti WHERE godina_studija = 'Prva';, WHERE je klauzula koja definiše uslov pod kojim će se podaci dohvatiti. Klauzule kao što su WHERE, ORDER BY, GROUP BY su često korišćene u SQL naredbama. Ukratko, naredba je SQL instrukcija koja obavlja neku funkciju, dok je klauzula deo naredbe koji specificira kako i na koje podatke će se ta naredba primeniti. Razumevanje ove razlike je ključno za pisanje preciznih i efikasnih SQL upita.
 
   

Raznovrsne primene Common Table Expressions (CTE) u SQL-u

 

 

 

Raznovrsne primene Common Table Expressions (CTE) u SQL-u Rekurzivni upiti: CTE-ovi se mogu koristiti za rekurzivni upiti, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Složene analize i obrade: CTE-ovi se mogu koristiti za složene analize i obrade, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Zamena za privremene tabele: CTE-ovi se mogu koristiti za zamena za privremene tabele, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Obrada podskupova podataka: CTE-ovi se mogu koristiti za obrada podskupova podataka, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Složeno filtriranje i sortiranje: CTE-ovi se mogu koristiti za složeno filtriranje i sortiranje, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Analiza trendova: CTE-ovi se mogu koristiti za analiza trendova, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Kombinovanje više izvora podataka: CTE-ovi se mogu koristiti za kombinovanje više izvora podataka, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Prilagođavanje izveštaja: CTE-ovi se mogu koristiti za prilagođavanje izveštaja, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Upravljanje verzijama podataka: CTE-ovi se mogu koristiti za upravljanje verzijama podataka, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Složene uslove filtriranja: CTE-ovi se mogu koristiti za složene uslove filtriranja, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Optimizacija upita: CTE-ovi se mogu koristiti za optimizacija upita, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Priprema podataka za mašinsko učenje: CTE-ovi se mogu koristiti za priprema podataka za mašinsko učenje, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Implementacija poslovnih pravila: CTE-ovi se mogu koristiti za implementacija poslovnih pravila, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Simulacije i modeliranje: CTE-ovi se mogu koristiti za simulacije i modeliranje, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Složeno rangiranje: CTE-ovi se mogu koristiti za složeno rangiranje, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Dinamička normalizacija podataka: CTE-ovi se mogu koristiti za dinamička normalizacija podataka, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Analiza odstupanja: CTE-ovi se mogu koristiti za analiza odstupanja, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Temporalne analize: CTE-ovi se mogu koristiti za temporalne analize, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Obrada geoprostornih podataka: CTE-ovi se mogu koristiti za obrada geoprostornih podataka, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Izgradnja kompleksnih uslovnih izveštaja: CTE-ovi se mogu koristiti za izgradnja kompleksnih uslovnih izveštaja, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Data mining i obrada teksta: CTE-ovi se mogu koristiti za data mining i obrada teksta, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Konsolidacija i sinteza podataka: CTE-ovi se mogu koristiti za konsolidacija i sinteza podataka, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Prototipiranje i testiranje: CTE-ovi se mogu koristiti za prototipiranje i testiranje, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Detekcija i rešavanje konflikata podataka: CTE-ovi se mogu koristiti za detekcija i rešavanje konflikata podataka, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Analiza vremenskih intervala: CTE-ovi se mogu koristiti za analiza vremenskih intervala, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Povezivanje neseciranih podataka: CTE-ovi se mogu koristiti za povezivanje neseciranih podataka, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Razvoj prediktivnih modela: CTE-ovi se mogu koristiti za razvoj prediktivnih modela, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Optimizacija skladištenja podataka: CTE-ovi se mogu koristiti za optimizacija skladištenja podataka, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Planiranje resursa i kapaciteta: CTE-ovi se mogu koristiti za planiranje resursa i kapaciteta, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Analiza promena stanja: CTE-ovi se mogu koristiti za analiza promena stanja, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Upravljanje verzijama sadržaja: CTE-ovi se mogu koristiti za upravljanje verzijama sadržaja, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Složene analize performansi: CTE-ovi se mogu koristiti za složene analize performansi, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Izvođenje složenih logičkih operacija: CTE-ovi se mogu koristiti za izvođenje složenih logičkih operacija, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Izolacija i analiza specifičnih segmenata podataka: CTE-ovi se mogu koristiti za izolacija i analiza specifičnih segmenata podataka, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Kreiranje složenih merila za ocenjivanje: CTE-ovi se mogu koristiti za kreiranje složenih merila za ocenjivanje, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Preprocesiranje podataka za vizuelnu analitiku: CTE-ovi se mogu koristiti za preprocesiranje podataka za vizuelnu analitiku, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Optimizacija lanca snabdevanja: CTE-ovi se mogu koristiti za optimizacija lanca snabdevanja, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Strategije dinamičkog cenovnika: CTE-ovi se mogu koristiti za strategije dinamičkog cenovnika, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Analiza rizika i usaglašenosti: CTE-ovi se mogu koristiti za analiza rizika i usaglašenosti, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Prediktivna održavanja: CTE-ovi se mogu koristiti za prediktivna održavanja, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Analiza sentimenta: CTE-ovi se mogu koristiti za analiza sentimenta, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Upravljanje energijom i resursima: CTE-ovi se mogu koristiti za upravljanje energijom i resursima, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka. Bioinformatika i genomska analiza: CTE-ovi se mogu koristiti za bioinformatika i genomska analiza, omogućavajući efikasniju i strukturiraniju obradu i analizu podataka.  
 
   

SQL i podupiti

 

 

 

Podupiti u SQL-u su, u suštini, upiti unutar drugih SQL upita. Oni omogućavaju izvođenje složenijih analiza i operacija nad podacima, dajući vam mogućnost da izdvojite, filtrirate ili uporedite podatke koji zavise od rezultata drugog upita. Definicija i svrha podupita: Podupit je SQL upit unutar drugog SQL upita. Glavna svrha podupita je da omogući analizu podataka na više nivoa, dajući vam fleksibilnost da koristite rezultate jednog upita kao ulazne podatke za drugi. Koristi podupita: - Omogućavaju izvođenje složenih uslova filtriranja. - Pomažu u izvođenju analiza koje zavise od podataka iz drugih delova baze. - Smanjuju potrebu za privremenim tabelama. Sintaksa i struktura: Osnovna sintaksa podupita je: SQL code SELECT kolona1 FROM tabela1 WHERE kolona2 (operator) (SELECT kolona3 FROM tabela2 WHERE uslov); Vrste podupita: - Skalarni podupiti: Vraćaju tačno jednu vrednost (jedan red i jedna kolona). - Podupiti sa jednim redom: Vraćaju jedan red sa više kolona. - Podupiti sa više redova: Vraćaju više redova, koji se mogu koristiti sa operatorima kao što su IN, ANY, ALL. Kako pisati podupite: U WHERE klauzuli: Za filtriranje redova glavnog upita. U FROM klauzuli: Podupiti mogu biti izvori podataka kao i tabele. U SELECT klauzuli: Za izračunavanje vrednosti koje zavise od podataka iz drugih tabela. Primeri: Odaberite sve zaposlene koji rade u odeljenju sa više od 10 zaposlenih. SQL code SELECT ime FROM zaposleni WHERE odeljenjeID IN (SELECT odeljenjeID FROM odeljenja WHERE brojZaposlenih > 10); Odaberite odeljenje sa najvećim brojem zaposlenih. SQL code SELECT odeljenjeID, brojZaposlenih FROM odeljenja WHERE brojZaposlenih = (SELECT MAX(brojZaposlenih) FROM odeljenja); Česte greške i kako ih izbeći: - Korišćenje podupita kada bi JOIN bio efikasniji. - Neoptimalno korišćenje indeksa, što usporava izvođenje. - Zaboravljanje da podupiti sa više redova zahtevaju operatori kao što su IN, ANY, ili ALL. Najbolje prakse za optimizaciju: - Koristite EXISTS umesto IN kada proveravate postojanje, jer je često brže. - Ograničite upotrebu podupita samo kada je to zaista potrebno. - Razmislite o korišćenju JOIN-a umesto podupita za bolju performansu kada je to moguće.  
 
   

Upotreba zaključavanja (locking) u SQL programskom jeziku

 

 

 

Upotreba zaključavanja (locking) u SQL programskom jeziku je ključna za upravljanje konkurentnim pristupom podacima u bazi podataka. Zaključavanje omogućava da se ograniče pristupi ili promene podataka dok drugi korisnici ili procesi rade sa istim podacima, čime se sprečava sukobljavanje (engl. "conflict") ili izgubljene izmene. Postoje različite vrste zaključavanja, uključujući: Shared (S) Locks: Ova vrsta zaključavanja omogućava čitanje podataka, ali sprečava pisanje podataka sve dok se zaključavanje ne oslobodi. Exclusive (X) Locks: Ova vrsta zaključavanja sprečava čitanje i pisanje podataka dok se zaključavanje ne oslobodi. Koristi se kada je potrebno izvršiti promene nad podacima. Intent Locks: Ova vrsta zaključavanja ukazuje na nameru da se zaključa resurs na određeni način. Na primer, postavljanje namenskog zaključavanja može biti korisno pri radu sa hijerarhijom objekata u bazi podataka. Schema Locks: Ova vrsta zaključavanja koristi se za zaključavanje šeme baze podataka ili njenih objekata, kao što su tabele ili pogledi. U SQL-u, zaključavanje se obično postavlja automatski u pozadini tokom izvršavanja transakcija ili upita, ali može se i eksplicitno kontrolisati pomoću naredbi poput LOCK TABLE ili hintova za zaključavanje u specifičnim upitima. Pravilno razumevanje i korišćenje zaključavanja ključno je za održavanje konzistentnosti i integriteta podataka u bazi podataka, posebno u okruženjima sa visokim nivoom konkurencije. Međutim, treba biti oprezan prilikom korišćenja zaključavanja kako bi se izbegle situacije sa blokiranim transakcijama ili dugotrajnim čekanjima. 10 šala o zaključavanju Zašto SQL programer ne voli da izlazi napolje? Zato što mu je kuća uvek zaključana - preferira zaključavanje na bazi podataka! Kako SQL baza podataka otvara vrata? Koristi ključ join-a! Zašto su SQL programeri odlični za sigurnost? Zato što su stručnjaci za zaključavanje! Kako SQL programer objašnjava ljubav? Pa, to je kao kada jedna transakcija čeka da druga transakcija oslobodi zaključavanje srca. Kako SQL programer izlazi iz sobe? Koristi COMMIT vrata! Zašto SQL baza podataka nikada ne ide na izlete? Zato što je previše zauzeta sa svojim transakcijama zaključavanja. Kako SQL baza podataka provodi vikend? U zaključanju sa svojim omiljenim transakcijama! Zašto SQL programer ne može da otvori svoju kuću? Zato što je zaboravio WHERE klauzulu! Kako SQL baza podataka pomaže u kućnim poslovima? Zaključava sve datoteke u pravilnom redu! Šta SQL programer kaže svom kućnom alarmu? ROLLBACK, nisam ja to!
 
   

Veseli profesor - Dizajniranje baze podataka kroz šalu

 

 

 

Dame i gospodo, dobro veče! Da li ste čuli za onu bazu podataka koja je bila toliko loše dizajnirana da je jedan SELECT upit trajao duže od moje prve veze? Ako niste, imam utisak da je moja prva veza bila građena po principima te baze - prepuna duplikata i neefikasnosti! Znate, dobar dizajn baze podataka je kao temelj vašeg doma. Ako stavite vrata gde treba prozor, nećete imati kuda da izbacite sve te suvišne indekse kada vam se nakupljaju! Ako je baza dobro dizajnirana: Performanse lete kao moj stric kad čuje da je ručak na stolu. Redundancija podataka je smanjena kao moje šanse za pravu ljubav na "brzim sastancima". Integritet podataka je postojan kao moja odluka da ne jedem posle 22 časa (što, priznajem, baš i ne uspevam često). Ali ako napravite grešku. . . o, greške u dizajnu baze su kao odluka da tango bude vaš prvi ples na venčanju a da niste imali ni jednu probu - neizbežno završava sa spoticanjem. Sada, indeksi su kao konobari na svadbi - kada su dobri, sve teče bez problema. Kada nisu, čekaćete na piće kao na sudnji dan, a vaš JOIN nikada neće biti gotov. Normalizacija? To je kao kada sređujete svoju sobu. Sve stavite na svoje mesto i lakše ćete pronaći šta vam treba. Ali ako preterate, završićete sa 50 fioka za čarape i nikada nećete znati gde su one crne koje vam trebaju. Primarni ključevi i strani ključevi su kao brak. Moraju savršeno da se slažu, ili nema sreće u zajedničkom životu redova u tabelama. Validacija podataka? To je kao da pustite mačku u kuću punu miševa i nadate se da neće biti haosa. A šta reći o bekapu i oporavku podataka? Zanemarite to i jednog dana probudićete se i shvatiti da su vaši podaci kao čarape posle pranja - polovina je nestala bez traga. Transakcije su tu da osiguraju da se u vašim upitima dogodi sve ili ništa, baš kao i kada pokušavate da izbegnete porodičnu večeru - sve mora da ide po planu ili ćete završiti slušajući tetku kako priča o svojim mačkama. . . opet. I na kraju, skalabilnost. Vaša baza treba da raste sa vašim poslom kao što se moj stomak širi za vreme praznika. Za kraj, administratori baza podataka su kao DJ-evi na vašem venčanju - ako ne znaju šta rade, očekujte remiks 'Bože pravde' sa 'Gangnam Style'. Hvala vam, lepo veče, i ne zaboravite da napravite bekap svojih podataka! Osim ako nisu fotografije iz osnovne škole - te slobodno izgubite. ----- Da li vam se ovakav način predavanja dopada?
 
   
Strane: 12

 

Veze, linkovi
Linkedin Twitter Facebook
 
     
 
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272
 
     
z