Razvoj bilo koje baze podataka ne podrazumijevasamo stvaranje i popunjavanje tablica s različitim informacijama, ali i daljnji rad s podacima. Za pravilno izvršavanje raznih zadataka za odabir podataka iz tablica i generiranje izvješća, koristi se standardni odabrani konstrukt.
Ako uzmemo u obzir problem odabira podataka iliizgradnja određenog izvješća, možete odrediti razinu složenosti ove operacije. U pravilu, kada se radi o ozbiljnim (prema volumen) baze podataka, koje nastaju, primjerice, u online trgovinama ili velike tvrtke, odabir podataka nije ograničena na jedan stol. U pravilu, uzorak može biti od prilično velikog broja ne samo povezanim tablicama, ali i ugniježđena upite / pod-upita, što čini programer, ovisno o zadatku. Za uzorkovanje iz jedne tablice, možete koristiti najjednostavniji dizajn:
Odaberite * od Osobe |
gdje je osoba naziv tablice iz kojeg se mogu odabrati podaci.
Ako postoji potreba za odabirom podataka iz nekoliko tablica, možete upotrijebiti jednu od standardnih dizajna za kombiniranje nekoliko tablica.
Ako uzmemo u obzir upotrebu takvih struktura na početnoj razini, možemo razlikovati sljedeće mehanizme za povezivanje potrebnog broja tablica za uzorak:
Korištenje tablica pridruženih operatera u praksi se može naučiti s obzirom na upotrebu operatora SQL - Unutarnji priključak. Primjer njegove upotrebe izgledat će ovako:
Odaberite * od Osobe Unutarnji pridruživanje Pododjeljak na Su_Person = Pe_ID |
Može biti SQL jezik i operator Join Join Inner JoinKoristite ne samo za spajanje dviju ili više tablica, već i za povezivanje drugih podupita, što uvelike olakšava rad administratora baza podataka i, u pravilu, može znatno ubrzati izvršavanje određenih strukturno složenih upita.
Ako razmotrite povezivanje velikog broja podupita i sastavljanja podataka u redak jednog retka tablice, možete upotrijebiti i Unije i Unije sve operatore.
Primjena tih dizajna ovisit će o zadatku koji je dodijeljen razvojnom programeru i rezultatu koji on želi postići na kraju.
U većini slučajeva, spojiti nekolikotablice u SQL-u koriste operatera Unutarnje pridruživanje. Opis Unutarnjeg povezivanja u SQL-u prilično je jednostavan za razumijevanje prosječnog programera koji tek počinje razumjeti baze podataka. Ako uzmemo u obzir opis mehanizma rada ove konstrukcije, dobivamo sljedeću sliku. Logika operatora kao cjeline temelji se na mogućnosti presijecanja i uzorkovanja samo onih podataka koji postoje u svakoj tablici koja ulazi u upit.
Ako ovo djelo smatramo s točke gledišta grafičke interpretacije, dobivamo strukturu SQL Inner Join, čiji se primjer može prikazati uz pomoć sljedeće sheme:
Na primjer, imamo dvije tablice, čija shemaprikazana je na slici. Oni zauzvrat imaju drugačiji broj zapisa. U svakom od tablica postoje polja koja su međusobno povezana. Ako pokušavate objasniti rad operatera na temelju slike, povratni rezultat bit će u obliku skupa zapisa iz dvije tablice, gdje se brojevi srodnih polja podudaraju. Jednostavno rečeno, upit će vratiti samo one zapise (od tablice broj dva), čiji podaci su u tablici broj jedan.
Kao što je ranije spomenuto, operator Unutarnje pridruživanje, ito je njegova sintaksa koja je neuobičajeno jednostavna. Kako bi organizirali veze između tablica unutar jednog uzorka, bit će dovoljno zapamtiti i koristiti sljedeću glavnu shemu za izgradnju operatera, koja je zapisana u jednu liniju programa SQL koda:
Za komunikaciju u ovom operatoru, glavnitipke za stol. U pravilu, u skupini tablice koje pohranjuju podatke o zaposlenicima, što je prethodno opisano Person Pregrađivanje i imati barem jednu sličnu rekord. Zato bacimo pogled bliže izjave SQL Inner Join, čiji je primjer prikazan malo ranije.
Imamo tablicu osobu u kojoj pohranjujemoinformacije o svim zaposlenicima koji rade u tvrtki. Napominjemo da je glavni ključ ove tablice polje - Pe_ID. Samo na njemu i bit će hrpa.
Tablica druge podjele spremit će seInformacije o jedinicama u kojima zaposlenici rade. On je zauzvrat povezan uz pomoć polja Su_Person s tablicom Person. Što kažete? Na temelju sheme podataka možete reći da će tablica odjeljka za svaki unos u tablici Zaposlenici sadržavati informacije o odjelu u kojem rade. Za ovu je vezu potrebno raditi s operatorom Unutarnja veza.
Za razumljiviju upotrebu razmotrite izjavu SQL Inner Join (primjeri njegove upotrebe za jednu i dvije tablice). Ako uzmemo u obzir primjer za jednu tablicu, sve je sasvim jednostavno:
Odaberite * od Osobe Unutarnji pridruživanje Pododjeljak na Su_Person = Pe_ID |
SQL Inner Join operator, primjeri upotrebekoji za odabir podataka iz nekoliko tablica može biti organiziran kao gore, radi na nešto složenijem načelu. Za dvije tablice kompliciramo problem. Na primjer, imamo stol za odlazak koji sadrži informacije o svim odjelima u svakom odjelu. U ovoj tablici bilježi se broj odjela i broj zaposlenika, a uzorak podataka treba nadopuniti nazivom svakog odjela. Gledano prema naprijed, valja reći da se dvije metode mogu koristiti za rješavanje ovog problema.
Prvi način je povezivanje tablice s odjeljkom na uzorak. U tom slučaju, zahtjev možete organizirati na sljedeći način:
Odaberite Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name od osobe Unutarnji pridruživanje Pododjeljak na Su_Person = Pe_ID Unutarnja veza Odlazak na Su_Depart = Dep_ID i Pe_Depart = Dep_ID |
Druga metoda rješavanja problema je korištenjesubquery, u kojemu neće biti svi podaci, već samo potrebni podaci odabrani iz tablice odjela. To, za razliku od prve metode, smanjuje vrijeme upita.
Odaberite Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name od osobe Unutarnji pridruživanje Pododjeljak na Su_Person = Pe_ID Unutarnji pridruživanje (odaberite Dep_ID, Dep_Name, Pe_Depart od polaska) kao T na Su_Depart = Dep_ID i Pe_Depart = Dep_ID |
Valja napomenuti da ovaj dizajn nije uvijekmože ubrzati upit. Ponekad postoje slučajevi kada je potrebno privremeno uzorkovanje podataka u privremenoj tablici (ako je njihov volumen prevelik), a zatim se kombinira s glavnim uzorkom.
Upućivanje kompleksnih upita podrazumijevakoristiti za odabir podataka značajan broj međusobno povezanih tablica i podupita. Ti zahtjevi mogu zadovoljiti sintaksu SQL Unutarnje veze. Primjeri korištenja operatera u ovom slučaju mogu biti komplicirani ne samo uzorcima iz mnogih mjesta pohrane podataka, već i velikim brojem ugniježđenih podupita. Za određeni primjer, možete uzeti uzorak podataka iz tablica sustava (Unutra Pridružite SQL operateru). Primjer - 3 tablice - u ovom će slučaju imati prilično složenu strukturu.
U tom se slučaju dodaju još tri (na glavnu tablicu) i unose se nekoliko uvjeta za odabir podataka.
Prilikom korištenja operatora Unutarnji priključak jene zaboravite da složenija upit, to će se više provoditi, pa je vrijedno tražiti načine za brže izvršavanje i rješavanje zadatka.
Na kraju bih želio reći jedno: rad s bazama podataka nije najteža stvar u programiranju, pa ako želite apsolutno svi mogu svladati znanje o izgradnji baza podataka, a na kraju, stjecanje iskustva, moći ćete raditi s njima na profesionalnoj razini.
</ p>