Razvoj baza podataka internetskih resursa praktički se ne razlikuje od standardnih baza podataka razvijenih u sustavu MS SQL SERVER. Obično se za takve resurse koristi jezik MY SQL, iako se može primijeniti na razvoj standardnih softverskih proizvoda za lokalnu uporabu. Ali članak u članku to neće učiniti.
Koncept riječi Pridružite se jezicima za razvoj baza podataka, bez obzira na to što je to jezik, standardni izrazi preuzeti su iz rječnika na engleskom jeziku (zato, pod uvjetom da znate engleski , bit će vam puno lakše raditi sa stolovima). Za provedbu povezivanja tablica u uzorku uzima se ista riječ - Pridruži se. U programskom jeziku My SQL baza podataka. Prijevod ove službene riječi je potpuno isti kao i na samom jeziku - "udruživanje". Tumačenje MySQL - Pridružite se, i bilo koji od njih, bit će potpuno isti. Ako dekriptirateOznaka, a posebno shema njezina rada, dobivamo sljedeće vrijednosti: konstrukti će vam omogućiti prikupljanje potrebnih polja iz različitih tablica ili pod-upita u jednom uzorku.
Vrste konstrukcija za udrugu
Izrada i popunjavanje tablica za buduću uporabu
U cjelini, dvije tablice će biti dovoljne da ilustriraju svoj rad kao primjer. Sada možete započeti naš praktični pregledstrukture.
Kada koristite MySQL konstrukt - Pridružite se nekoj treba uzeti u obzir neke njegove značajke. Ovaj dizajn će vam omogućiti da odaberete iz obje tablice samo one unose koji su također u prvoj i drugoj tablici. Kako to funkcionira? U prvoj tablici imamo glavni ključ - IDENTIFIER, koji ukazuje na serijski broj zapisa u tablici.
Prilikom izrade druge tablice, ovaj se ključ koristi kao serijski broj, primjer se može vidjeti na crtežima. Pri odabiru podataka operator Select će odrediti samo one unose čiji su redni brojevi isti - stoga su i oni u prvoj i drugoj tablici. Kada se koristi dizajn, potrebno je razumjeti koje podatke je potrebno dobiti. Najčešća pogreška, pogotovo kod početnika programera baze podataka, je neprimjerena i netočna upotreba dizajna Inner Join-a. Kao primjer, MySQL Inner Join, možete razmotriti skriptu koja će nam se vratiti iz prethodno opisanih i dovršenih tablica informacija o objektima i njihovim svojstvima. Ali ovdje može biti nekoliko načina za korištenje dizajna. U tom smislu, My SQL je vrlo fleksibilan jezik. Dakle, možete razmotriti primjere korištenja MySQL Inner Join. Kombinirajući tablice bez navođenja parametara. U ovom slučaju dobivamo rezultat takvog plana:
Ako kroz servisnu riječ spomenemo da je nužno uzeti u obzir glavne ključeve zapisa u tablicama, rezultat uzorka će se radikalno promijeniti. U ovom slučaju dobivamo uzorak koji vraća samo one retke koji imaju iste glavne ključeve.
Druga mogućnost je korištenje dizajna, kada je u upitu riječ "on" određuje polja za koja bi trebalo doći do spajanja tablica. U tom slučaju uzorak će vratiti sljedeće podatke:
Prilikom razmatranja drugog načina spajanja tablica pomoću konstrukcije MySQL-Join, možete primijetiti razliku u prikazanim podacima. Takav mehanizam je konstrukcija ljevice.
Korištenje lijevog dizajna MySQL-a ima neke značajke i, kao i Unutarnji, zahtijeva jasno razumijevanje rezultata koje trebate dobiti. U tom slučaju, prvo će se odabrati svi unosi iz prve tablice, a ubuduće će im se dodati i unosi iz druge tablice svojstava. U tom slučaju, ako postoji zapis u prvoj tablici, na primjer, "stolica", au drugoj tablici nema svojstva za nju, tada će operater lijevo prikazati ispred tog unosa vrijednost null, govoreći programeru da nema znakova ove vrste objekta. Koristeći ovaj dizajn će odrediti koja polja ili, na primjer, roba u trgovini nije izložena cijena, jamstveni rok, i tako dalje.
Za razmatranje građevinskog operatera lijevo Pridružite se MySQL-u u praksi, koristimo prethodno opisane tablice. Na primjer, morate odabrati cijeli popis stavki koje se nalaze u trgovini i provjeriti koje značajke ili svojstva nisu označene. U ovom slučaju, uzorak će prikazati svu robu, a za one koji nemaju svojstva, postavit će se prazne vrijednosti.
KakoParametar, pridruživanje može uključivati ne samo polja koja zahtijevaju povezivanje tablica, nego također može uključivati uvjetni operator Gdje. Primjerice, razmotrimo skriptu koja bi trebala vratiti samo one unose koji nemaju znak. U ovom slučaju, u dizajnu pridruživanja, morate dodati izraz stanja i odrediti što točno treba vratiti kao rezultat. Kada koristite u MySQL-u gdje je potrebno jasno shvatiti da će biti prikazani samo zapisi kojima pripada određeni uvjet, a uzorak će izgledati ovako:
Takvi zahtjevi omogućuju uzorkovanje specifičnih podataka koji se odnose na željeno stanje programera. Ove uvjete možete odrediti na nekoliko načina, dok maksimizirate parametre odabira podataka iz kombiniranih tablica.
Konstrukcija spajanja je u biti univerzalna. Omogućuje ne samo izradu raznih uzoraka, već i povezivanje na zahtjeve od jednog do nekoliko tablica, kako bi se u uzorak uneli dodatni uvjeti. Dizajn se također može koristiti za druge operacije s podacima. Da, Join može se koristiti za promjenu podataka u tablici. Točnije, pojasniti uvjete u tablici, ili u tim slučajevima, ako je potrebno ažurirati podatke u nekoliko tablica pod istim uvjetima. Primjerice, razmotrite takav problem. Prikazane su tri tablice u kojima postoje neki podaci. Morate promijeniti podatke u obje tablice koristeći jedan zahtjev. Upravo za rješenje ove vrste zadataka možete primijeniti naredbu Pridruži dizajn dizajna.Sam tip izgradnje pridruživanja ovisi, kao iu slučaju uzorka podataka, o rezultatu koji programer želi dobiti. Razmotrite najjednostavniji primjer. Isti upit morate ažurirati za iste uvjete. Takve upite se grade kako bi se optimizirao rad s bazom podataka. Zašto pisati različite upite za svaku tablicu, ako sve manipulacije podacima možete napraviti u jednom upitu? Primjer MySQL Update Join-a u našem slučaju bio bi:
Vrlo često, kada se radi s bazom podataka, potrebno je graditi upite ne samo s asocijacijom nekoliko tablica, već is korištenjem pod-upita. Takvi zadaci su prilično komplicirani za razumijevanje programera početničke baze podataka. Poteškoća je u tome što morate razmisliti o svakom koraku, odrediti koje podatke iz koje tablice ili upit trebate dobiti i kako će kasnije raditi s njima. Za određeno razumijevanje, možete razmotriti (u MySQL-u) primjere složenih upita. Ako ste novi u bazi podataka i tek počinjete raditi s njom, onda će takva obuka imati koristi. Idealna opcija će biti MySQL Left Left Primjeri.
Ovaj zahtjev vratit će nam 58 zapisa ugovora o prodaji, na kojima se nalazi stanje sredstava za odabrani datum. U ovom slučaju, to je trenutni datum. Također u uzorku je uvjet da naziv ugovora treba biti znak - "123". Prikazane informacije (podaci) prikazane na zaslonu imat će sortiranje - sortiranje prema broju ugovora. U sljedećem primjeru prikazat će se detalji svih uplata koje će biti izvršenenaveden je broj ugovora.
Kao što je već spomenuto, pri radu s bazama podataka možete kombinirati ne samo tablice nego i tablicu upita. Ovaj se dizajn uglavnom koristi za ubrzavanje upita i njegovo optimiziranje. Na primjer, ako trebate odabrati samo dva polja iz tablice koja ima nekoliko stotina polja i, recimo, tisuću zapisa, onda biste trebali koristiti upit koji vraća samo obavezna polja i kombinirati ga s osnovnim uzorkom podataka. Kao primjer MySQL Join Select, možete razmotriti zahtjev ove vrste:
Ovo nisu svi načini za korištenje standardnih MySQL konstrukata, već samo standardnih. Kako koristiti dizajn Pridružite se iu kojim ga vrstama rješava programer, ali vrijedi se sjetiti i uzeti u obzir koji rezultat treba dobiti kada se upit izvrši.
Korištenje unutarnjeg spajanja
Prilikom izrade druge tablice, ovaj se ključ koristi kao serijski broj, primjer se može vidjeti na crtežima. Pri odabiru podataka operator Select će odrediti samo one unose čiji su redni brojevi isti - stoga su i oni u prvoj i drugoj tablici. Kada se koristi dizajn, potrebno je razumjeti koje podatke je potrebno dobiti. Najčešća pogreška, pogotovo kod početnika programera baze podataka, je neprimjerena i netočna upotreba dizajna Inner Join-a. Kao primjer, MySQL Inner Join, možete razmotriti skriptu koja će nam se vratiti iz prethodno opisanih i dovršenih tablica informacija o objektima i njihovim svojstvima. Ali ovdje može biti nekoliko načina za korištenje dizajna. U tom smislu, My SQL je vrlo fleksibilan jezik. Dakle, možete razmotriti primjere korištenja MySQL Inner Join. Kombinirajući tablice bez navođenja parametara. U ovom slučaju dobivamo rezultat takvog plana:
Značajke lijevog pridruživanja
Korištenje lijevog dizajna MySQL-a ima neke značajke i, kao i Unutarnji, zahtijeva jasno razumijevanje rezultata koje trebate dobiti. U tom slučaju, prvo će se odabrati svi unosi iz prve tablice, a ubuduće će im se dodati i unosi iz druge tablice svojstava. U tom slučaju, ako postoji zapis u prvoj tablici, na primjer, "stolica", au drugoj tablici nema svojstva za nju, tada će operater lijevo prikazati ispred tog unosa vrijednost null, govoreći programeru da nema znakova ove vrste objekta. Koristeći ovaj dizajn će odrediti koja polja ili, na primjer, roba u trgovini nije izložena cijena, jamstveni rok, i tako dalje.