Danas svi mogu promatratibrzi rast količine digitalnih informacija. A budući da je većina ovih informacija važna, postaje neophodno sačuvati ih na digitalnim medijima za kasniju upotrebu. U ovoj se situaciji mogu primijeniti suvremene tehnologije poput baza podataka. Omogućuju pouzdanu pohranu bilo kojih digitalnih podataka, a podacima se može pristupiti bilo gdje u svijetu. Jedna od razmatranih tehnologija je MySQL sustav upravljanja bazama podataka.
Relacijski sustav za upravljanje bazama podatakaMySQL je jedna od najpopularnijih i često korištenih tehnologija za pohranu podataka. Njegova je funkcionalnost superiorna u mnogim aspektima postojećim DBMS-ovima. Posebno je jedna od glavnih značajki mogućnost korištenja ugniježđenih MySQL upita.
Поэтому многие проекты, где важно время performanse i potrebno je osigurati pohranu podataka, kao i za obavljanje složenih uzoraka podataka, razvijeni su na temelju MySQL baze podataka. Većina tih događaja su internetske stranice. U isto vrijeme, MySQL se aktivno predstavlja u implementaciji kako malih (blogova, mjesta posjetnica, itd.), Tako i prilično velikih zadataka (internetske trgovine, pohrana podataka itd.). U oba slučaja koristi se MySQL upit za prikaz informacija na stranici web mjesta. U zahtjevu, programeri pokušavaju iskoristiti najviše dostupnih mogućnosti koje pruža sustav za upravljanje bazama podataka.
Za praktično skladištenje i naknadnu obradupodaci su nužno poredani. Struktura podataka omogućuje vam da odredite kako će izgledati tablice koje se koriste za pohranu podataka. Tablice baze podataka zbirka su polja (stupaca) odgovornih za svako određeno svojstvo podatkovnog objekta.
Na primjer, ako kreirate tablicu zaposlenikaodređena tvrtka, njena najjednostavnija struktura bit će sljedeća. Svakom zaposleniku dodijeljen je jedinstveni broj, koji se obično koristi kao primarni ključ tablice. Tada se u tablicu unose osobni podaci zaposlenika. To može biti bilo što: puno ime, naziv odjela za koji je dodijeljen, telefonski broj, adresa itd. Prema zahtjevima normalizacije (6 normalnih oblika baza podataka), kao i da bi se MySQL upiti mogli graditi na strukturiran način, polja tablice moraju biti atomska, odnosno ne smiju imati nabrajanja ili popise. Stoga u tablici u pravilu postoje zasebna polja za prezime, ime itd.
Employee_id | Prezime | Ime | Patronim | Odjel_id | Položaj | Telefon | Employer_id |
1 | Ivanov | Ivane | Ivanoviču | Administrator | Direktor | 495 **** | nula |
2 | Petrov | Peter | Petroviču | Administrator | Zamjenik direktor | 495 *** | 1 |
3 | Grishin | Gregory | Grigorievič | Prodajni | Glavni | 1 | |
... | ... | ... | ... | ... | ... | ... | ... |
59 | Sergeev | Sergej | Sergeeviču | Prodajni | Pomoćnik u prodaji. | 495 *** | 32 |
Iznad je trivijalan primjer strukturetablice baze podataka. Međutim, još uvijek ne u potpunosti ispunjava osnovne zahtjeve normalizacije. U stvarnim sustavima stvara se dodatna tablica odjeljenja. Stoga bi gornja tablica umjesto riječi u stupcu "Odjel" trebala sadržavati brojeve odjela.
Za dobivanje podataka iz tablica u DBMS-u koristi se posebna naredba MySQL - zahtjev Odaberi. Da biste osigurali ispravnost poslužitelja baze podatakareagirao na zahtjev, zahtjev mora biti pravilno oblikovan. Struktura zahtjeva formira se na sljedeći način. Svaki poziv poslužitelju baze podataka započinje s ključnom riječi Odaberi... Bilo je to od njega svi su u izgradnji u MySQL upiti. Složenost primjera može se razlikovati, ali princip gradnje vrlo je sličan.
Zatim morate navesti iz kojih polja želite odabrati informacije koje vas zanimaju. Popis polja događa se odvojenim zarezima nakon rečenice Odaberi... Nakon što su navedena sva obavezna polja, upit određuje objekt tablice iz kojeg će se izvršiti odabir, koristeći rečenicu iz i navodeći naziv tablice.
Da bi ograničili izbor, u MySQL upite dodaju se posebni operateri koje pruža DBMS. Za odabir podataka koji se ne ponavljaju (jedinstveni) koristi se prijedlog različit, a za postavljanje uvjeta, operater gdje... Kao primjer primjenjiv na gore navedenotablici, možete razmotriti zahtjev koji zahtijeva podatke o punom imenu. zaposlenici koji rade u odjelu "Prodaja". Struktura upita izgledat će kao u donjoj tablici.
Ali glavna značajka DBMS-a, kao što je naznačenogore, sposobnost obrade ugniježđenih MySQL upita. Kako bi to trebalo izgledati? Iz naziva je logično jasno da se radi o zahtjevu formiranom u određenoj hijerarhiji od dva ili više zahtjeva. Teorija koja stoji iza proučavanja posebnosti DBMS-a kaže da MySQL ne nameće ograničenja na broj MySQL upita koji se mogu ugnijezditi u glavni upit. Međutim, možete eksperimentirati u praksi i osigurati da će se nakon drugih deset ugniježđenih upita vrijeme odziva znatno povećati. U svakom slučaju, u praksi ne postoje zadaci koji zahtijevaju izuzetno složen MySQL upit. Upit može zahtijevati najviše 3-5 ugniježđenih hijerarhija.
Pri analiziranju pročitanih podataka, nekolikopitanja o tome gdje se mogu koristiti ugniježđeni upiti i je li moguće riješiti problem dijeljenjem u jednostavne bez kompliciranja strukture. U praksi se ugniježđeni upiti koriste za rješavanje složenih problema. Ova vrsta problema uključuje situacije kada se stanje ne zna unaprijed, prema čemu će daljnji odabir vrijednosti biti ograničen. Nemoguće je riješiti takve probleme ako samo koristite redoviti MySQL upit. Upit koji se sastoji od hijerarhija tražit će ograničenja koja se mogu mijenjati tijekom vremena ili možda neće biti poznata unaprijed.
Ako uzmemo u obzir gornju tablicu, ondasljedeći se primjer može navesti kao težak zadatak. Recimo da moramo saznati osnovne podatke o zaposlenicima koji su podređeni Grishinu Grigoryu Grigorievichu, koji je šef odjela prodaje. Prilikom formiranja zahtjeva ne znamo njegov identifikacijski broj. Stoga ga u početku moramo poznavati. Za to se koristi jednostavni upit za pronalaženje rješenja za glavni uvjet i nadopunu glavnog MySQL upita. Upit jasno pokazuje da podupit prima identifikacijski broj zaposlenika, što dalje određuje ograničenje glavnog upita:
U ovom slučaju, prijedlog bilo koji koristi se kako bi se eliminirala pojava pogrešaka ako postoji nekoliko zaposlenika s takvim inicijalima.
Rezimirajući, treba napomenuti da postojipostoje mnoge druge dodatne značajke koje uvelike olakšavaju izgradnju upita, jer je MySQL DBMS moćan alat s bogatim arsenalom alata za pohranu i obradu podataka.