JavaRush /Java Blog /Random-TK /Öndüriji bilen söhbetdeşlik: maglumat bazasynyň soraglary...

Öndüriji bilen söhbetdeşlik: maglumat bazasynyň soraglarynyň derňewi

Toparda çap edildi
Hemmäňize salam! Biziň hemmämiz bu ýerde bir maksat - Java döredijiler bolmak ugrunda işleýäris . Hünärmen bolmak ýolundaky iň möhüm basgançak, tehniki söhbetdeşlikdir. Düzgün bolşy ýaly, söhbetdeş esasy soraglardan birnäçe sorag berýär. Bu makalada şeýle möhüm mowzuklaryň biri - maglumat bazalary barada gürleşeris . Iň köp ýaýran soraglara seredeliň we materiallara çuňňur göz aýlamazdan jogap bermäge synanyşalyň, sebäbi bu ýagdaýda kitabyň göwrümi bize ýeterlik bolmaz! Geliň, gideli.Öndüriji bilen söhbetdeşlik: maglumat bazasynyň soraglarynyň derňewi - 1

1. Maglumatlar bazalary näme? Olar haýsy görnüşlere bölünýärler?

DBMS näme diýmek?

Öndüriji bilen söhbetdeşlik: maglumat bazasynyň soraglarynyň derňewi - 2Maglumatlar bazasy (DB), esasan, uly göwrümli maglumatlary saklamak, üýtgetmek we gaýtadan işlemek üçin döredilen guramaçylykly gurluşdyr. Başgaça aýdylanda, maglumatlar binýady gurluşly maglumat saklaýjydyr. Mysal üçin, telefon kitaby.

Maglumat bazasynyň görnüşleri

  1. Baglanyşyk bazasy, olaryň arasynda öňünden kesgitlenen gatnaşyklar bilen maglumatlaryň ýygyndysydyr. Maglumatlar sütünlerden we hatarlardan ybarat tablisalar toplumy hökmünde saklanýar. Tablisa maglumatlar bazasynda görkezilen obýektler barada maglumatlary saklaýar. Her tablisanyň sütüni belli bir maglumat görnüşini saklaýar we her öýjük atribut bahasyny saklaýar.
  2. Baglanyşyksyz ulgamlar (NoSQL), çeýe shemalary bolan belli bir maglumat modelleri üçin döredilen ulgamlardyr. Başgaça aýdylanda, bular maglumatlary tablisa shemalary, hatarlar we sütünler görnüşinde däl-de, başga formatlarda saklaýan maglumat bazalarydyr.
Baglanyşyksyz maglumat bazalary hakda has giňişleýin maglumaty şu makalada okap bilersiňiz: Döredijiler üçin NoSQL üçin gollanma . Maglumatlar bazasyny dolandyrmak ulgamy (DBMS) ulanyjy maglumatlar bazalaryny (DB) döredip we olar boýunça dürli amallary amala aşyryp bilýän programma üpjünçiliginiň toplumydyr: goşmak, täzelemek, ýok etmek, saýlamak we ş.m. DBMS howpsuzlygy, bitewiligi, howpsuzlygy kepillendirýär maglumatlary saklamak we maglumatlar binýadyny dolandyrmaga ygtyýar bermäge mümkinçilik berýär. Mysal üçin, MySql baglanyşyk bazasyna ýa-da baglanyşyksyz maglumat bazasyna MongoDB-e girmegi üpjün edýän DBMS.

2. Kadalaşdyrmak näme? Kadalaşdyrylan görnüş? Kadalaşdyrmagyň näçe görnüşi bar? Ilkinji üçüsiniň adyny aýdyň.

Kadalaşdyrmak, maglumatlar bazasyndaky maglumatlary guramak we düzmek prosesi bolup, garaşlylygyň artykmaçlygyny we laýyk gelmezligini aradan aýyrmak arkaly has uly maglumat bazasynyň çeýeligini üpjün edýär. Adaty görnüş , gurluşyň ýönekeýligi we dogrulygy taýdan häsiýetlendirilýän kadalaşdyrmak kontekstinde göz öňünde tutulýan tablisanyň häsiýetidir. Adaty görnüş, tablisanyň kanagatlandyrmaly talaplary toplumy hökmünde kesgitlenýär. Jemi alty sany adaty görnüş bar, ýöne iş ýüzünde ilkinji üçden köp ulanylmaýar:
  1. Ilkinji adaty görnüş:
    • Attribhli häsiýetler ýönekeý (ýagny atom we bölünmez);
    • Datahli maglumatlar skalar (ýagny polo positiveitel);
    • Dublikat hatarlar ýok (munuň üçin her hatar üçin esasy açar döredilýär).
  2. Ikinji adaty görnüş:
    • Ilkinji adaty görnüşiň şertleri ýerine ýetirilýär;
    • Her bir açar däl atribut esasy açary görkezýär.
  3. Üçünji adaty görnüş:
    • Ikinji adaty toparyň şertleri ýerine ýetirilýär;
    • Düwürtik däl meýdanlar beýleki açar meýdanlaryndan garaşsyz: olar diňe esasy açar bilen baglanyşykly bolup biler.

3. Denormalizasiýa

Denormalizasiýa , maglumatlar bazasyny kadalaşdyrmagyň görnüşlerini bilkastlaýyn azaltmak ýa-da bozmak, adatça artykmaç maglumatlary goşmak bilen maglumatlar bazasyndan okamagy çaltlaşdyrmak. Umuman aýdanyňda, bu kadalaşmagyň tersine. Adaty görnüşler teoriýasy iş ýüzünde hemişe ulanylmaýandygy sebäpli şeýle bolýar. Mysal üçin, atom däl gymmatlyklar elmydama “erbet” däl: käwagt hatda tersine. Käbir ýagdaýlarda, esasanam köp mukdarda maglumat işlenende talaplar ýerine ýetirilende goşmaça goşulmalar zerurdyr. Bu netijede öndürijiligi gowulaşdyryp biler. Analitika üçin niýetlenen maglumat bazalary, talaplaryň ýerine ýetirilişini çaltlaşdyrmak üçin köplenç kadalaşdyrylýar. Mysal üçin, açar däl sütünleriň biri-biri bilen baglanyşykly boljak hasabatlary üçin köplenç käbir maglumatlary alarsyňyz. Adatylaşdyrmagyň üçünji görnüşini bilkastlaýyn aýyrýarsyňyz we nusga almagy aňsatlaşdyrmak üçin hemme zady bir tablisada birleşdirýärsiňiz - beýleki tablisalara goşmaça soraglar bermeli bolmaz.

4. Indeksler

Indeks, tablisa ýa-da maglumatlary gözlemegi çaltlaşdyrýan belli bir sütün bilen baglanyşykly bahalaryň tertipleşdirilen toplumydyr. Thisagny, bu indeksiň bir görnüşi: familiýa gözlänimizde bize kömek edýän telefon kitabynda elipbiý ýaly. Dogry ulanylsa, bu aýratynlyk uly maglumat bazalary bilen işleýän wagtyňyz öndürijiligi ep-esli gowulaşdyryp biler. Ora-da ony gaty peseldip bilersiňiz. Gözlegleri çaltlaşdyrmak üçin bu düwmeler gözlegiň ýerine ýetirilen deňagramly agaç gurluşynda saklanýar. Düzgün bolşy ýaly, köplenç gözlenýän meýdanlara indeksler girizilmeli. Iň azyndan 10 müň ýazgy bar bolanyndan has ir indeks döretmek hakda pikirlenmeli. Otherwiseogsam, göze görnüp duran netijäni görmersiňiz, sebäbi wagtyndan öň optimizasiýa erbet . Indeks ulgamyň işine nähili täsir edip biler? Täze maglumatlar girizilende ýa-da köne maglumatlar öçürilende deňagramly agaç gurluşy gaýtadan hasaplanar. Aslynda, maglumatlar we indeksler näçe köp bolsa, şonça-da agaçlary sanamaly. Theagdaýy göz öňüne getiriň: bu tablisada takmynan 20,000 ýazgy we 7 indeks bar. Dataagny, maglumatlar girizilende, hersinde 20,000 ýazgy bolan 7 agajy täzeden hasaplamaly. Gaty aýtsak, maglumatlaryň ýygy-ýygydan goşuljak / pozuljak tablisalary üçin indeksleri ulanmak asla maslahat berilmeýär. Ahyrynda, bahasy köplenç tapylýan sütünler üçin indeksleriň beýle täsirli bolmajakdygyny belläsim gelýär null, şonuň üçin olary şeýle sütünlere goşmagyň gadyry ýok.

SQL-de toparlanan we toparlanmadyk indeksleriň arasynda näme tapawut bar?

Toparlanan:

  • Saýlanan meýdan üçin fiziki tertibi üpjün edýär;
  • Tablisada toparlaýyn indeks bar bolsa, toparlanandyr diýilýär;
  • Her tablisada birden köp indeks gerek däl;
  • MySQL-da ulanyjy tarapyndan toparlaýyn indeks aç-açan kesgitlenmeýär, sebäbi stoluňyzda PRIMARY Açar sözüni kesgitlemeýän bolsaňyz, MySQL UNIQUEähli esasy sütünleriň ýerleşýän ýerini görkezýär NOT NULLwe InnoDB ony toparlaýyn görkeziji hökmünde ulanýar.

Topar däl:

  • Her tablisada 999-a çenli toparlanmadyk indeks mümkin;
  • Tablisadaky hakyky maglumatlar bilen hatarlara görkeziji bar;
  • Fiziki tertip bermeýär;
  • Toplum däl indeksler üçin tertipleşdirilen maglumatlar bilen aýratyn tablisalar bar, ýagny indeksiň ýerleşýän bir sütüni üçin bir tablisa bar, şonuň üçin belli bir meýdanyň bölegi bolmadyk maglumatlary soranyňyzda, talap ilki bilen ýerine ýetiriler. bu tablisadaky meýdan, we diňe şondan soň asyl tablisadaky hatara garşy goşmaça talap.
Toplum däl indeks döretmek:
CREATE INDEX index_name ON table_name(column_name)

6. Birleşdirilen indeks näme?

Kompozit indeks - bir wagtyň özünde birnäçe sütüne ibermek bilen gurulýar. Başgaça aýdylanda, bu birnäçe sütünden ybarat çylşyrymly indeksdir. Şeýle görkezijiler bir talapda birden köp sütün peýda bolanda ulanylýar. Birleşdirilen indeks döretmek:
CREATE INDEX index_name ON table_name(first_column_name, second_column_name, third_column_name)
Adatça, bu görkezijiler birnäçe sütündäki maglumatlar logiki taýdan baglanyşykly bolanda ulanylýar.

7. Örtük görkezijisi näme? Üýtgeşik görkeziji?

Örtük görkezijisi , tablisanyň özüne girmän bir soraga jogap bermek üçin ýeterlikdir. Bu görkezijini ulanyp, maglumatlaryň ähli hataryny alyp bilersiňiz, ýöne aslynda bu hökman däl. Çeşme tablisasyna gönüden-göni gitmeli däl we diňe indeks ulanyp jogap berip bilersiňiz, indeksleri ýapmak ulanmak birneme çalt. Şol bir wagtyň özünde, sütünler näçe köp bolsa, indeksiň özi has kyn we haýal boljakdygyny ýatdan çykarmaň. Şonuň üçin muny hyýanatçylykly ulanmaly däl. Oveokarda özboluşly bolup bilýän, toparlanmadyk we toparlanmadyk indeksler hakda gürleşdik . Bu, indeks açary üçin iki meýdanyň deň bahasynyň ýokdugyny aňladýar. Otherwiseogsam, indeks üýtgeşik bolmaz, sebäbi birnäçe hatarda birmeňzeş baha bolup biler. Özboluşly toparlanmadyk indeks döretmegiň mysaly:
CREATE UNIQUE INDEX index_name ON table_name(column_name)

8. Esasy açar näme

Esasy açar, maglumatlar bazasynyň tablisasyndaky her hatary kesgitleýän tablisadaky meýdan. Tablisada diňe şeýle meýdan bolup biler we ähli gymmatlyklar özboluşly bolmaly. Size hiç zat ýatlatmadyňyzmy? Galyberse-de, esasy açar üýtgeşik, toparlananÖndüriji bilen söhbetdeşlik: maglumat bazasynyň soraglarynyň derňewi - 3 indeksden başga zat däl . Düzgün bolşy ýaly, tablisa döredilende esasy düwmeler döredilýär:
CREATE TABLE table_name(
column_name int PRIMARY KEY,..)
Bu sütüne çäklendirme awtomatiki usulda goşular - NOT NULL. Şeýle hem, eýýäm döredilen tablisanyň açaryny belläp bilersiňiz:
ALTER TABLE table_name ADD PRIMARY KEY (column_name);
Esasy açar ýokarda görkezilen tertipde goşulsa, esasy açar ( column_name) hökmünde görkezilen meýdanlaryň bahalary, null bahalaryň ýokdugyna göz ýetirilýär (çäklendirme hem goşular - NOT NULL).

Daşary ýurt açary näme?

Daşary ýurt açary, tablisalaryň arasyndaky baglanyşygy üpjün etmek üçin döredilen emläk. Adatça, daşary ýurt açary subtable sütünlere goýulýar we esasy tablisadaky sütünleriň birine yşarat edýär. Tablisa döredilende kesgitlenip bilner:
CREATE TABLE table_name{
column_name int,..
FOREIGN KEY(column_name) REFERENCES another_table_name(another_table_column_name) }
Tablisa döredilenden soň:
ALTER TABLE table_name
ADD FOREIGN KEY(column_name) REFERENCES another_table_name(another_table_column_name));
Daşary ýurt açarynyň özüni alyp barşyny kesgitläp bilersiňiz. Manipulýasiýa aşakdaky görnüşlerde bolup ON DELETEbiler ON UPDATE: Mümkin özüni alyp barş mümkinçilikleri:
  • CASCADE- bu häsiýet bilen baglanyşykly tablisadaky setirler esasy tablisada ýok edilende ýa-da üýtgedilende awtomatiki usulda ýok ediler ýa-da üýtgediler;
  • SET NULL- bu emläk bilen baglanyşykly hatar esasy tablisadan öçürilende ýa-da täzelenende, NULLdaşary ýurt açar sütüniniň bahasy kesgitlener;
  • NO ACTION- garaşly tablisada baglanyşykly hatarlar bar bolsa, esasy tablisadaky hatarlary ýok etmek ýa-da üýtgetmek synanyşyklaryny ret edýär;
  • RESTRICT- ekwiwalent NO ACTION;
  • SET DEFAULT- bu emläk bilen baglanyşykly tablisa esasy tablisadan öçürilende ýa-da täzelenende, daşary ýurt açar sütüni üçin deslapky baha (bar bolsa) kesgitlener.
Ulanylyş mysaly:
CREATE TABLE table_name{
column_name int,..
FOREIGN KEY(column_name) REFERENCES another_table_name(another_table_column_name) ON UPDATE CASCADE ON DELETE CASCADE }
ON DELETEÖzüňi alyp barşyň we aç-açan kesgitlenmedik bolsa ON UPDATE, özüňi alyp barşyň kesgitlener RESTRICT.

10. Tablisalaryň arasyndaky baglanyşyk görnüşleri (Goşul)

Tablisalaryň arasyndaky baglanyşyk umumy maglumatlara (meýdanlara) esaslanýar. JOINBu , bir tablisadaky hatarlara beýleki hatarlara gabat gelýän operasiýa ulanyp bolýar . Kartalaşdyrmak, iki tablisanyň sütünleri ýanaşyk bolar ýaly edilýär, ýöne aýratyn tablisalardan alyp bolýar. Üç tablisa üçin umumy meýdanlarymyz bar bolsa, olaryň maglumatlaryny bir umumy tablisa hökmünde görkezip bileris. Şeýle-de bolsa, birleşdirilen tablisalar näçe az bolsa, talap has çalt işlejekdigini göz öňünde tutmalydyrys. Diýmek, görnüşleri JOIN:
  • INNER JOIN- ikinji tablisadaky käbir maglumatlara gabat gelýän diňe birinji tablisadaky maglumatlary görkezýän baglanyşyk. Galanlary aşak düşýär.Öndüriji bilen söhbetdeşlik: maglumat bazasynyň soraglarynyň derňewi - 4
  • LEFT JOIN- birinji tablisadaky ähli maglumatlary we ikinjisinden degişli maglumatlary görkezýän baglanyşyk, bar bolsa. Degişli maglumatlar ýok bolsa, ikinji tablisadaky maglumatlar üçin meýdanlar boş bolar.Öndüriji bilen söhbetdeşlik: maglumat bazasynyň soraglarynyň derňewi - 5
  • RIGHT JOIN- ikinji tablisadaky ähli maglumatlary we birinjiden degişli maglumatlary görkezýän baglanyşyk. Degişli maglumatlar ýok bolsa, birinji tablisadaky maglumatlar üçin meýdanlar boş bolar.Öndüriji bilen söhbetdeşlik: maglumat bazasynyň soraglarynyň derňewi - 6
  • FULL JOIN- birinji we ikinji tablisalardan ähli maglumatlary görkezýän baglanyşyk. Beýleki tablisada baglanyşykly maglumatlar ýok bolsa, şol maglumatlar üçin meýdanlar boş bolar.Öndüriji bilen söhbetdeşlik: maglumat bazasynyň soraglarynyň derňewi - 7
  • CROSS JOIN- birinji tablisanyň her hatary ikinji tablisanyň her hataryna birleşdirilen haç birleşmesi. Twoagny, iki tablisanyň hersinde 3 hatar bar bolsa, bu goşulandan soň 9 hatar netijäni alarys.Öndüriji bilen söhbetdeşlik: maglumat bazasynyň soraglarynyň derňewi - 8
Mysal Join(inner):
SELECT *
FROM first_table
INNER JOIN second_table ON first_table.some_column = second_table.some_column

11. Maglumatlar bazasyndaky ACID häsiýeti näme?

J - Atomlyk , hiç bir amalyň ulgamda bölekleýin berilmezligini üpjün edýär. Itsa-da onuň ähli hyzmatdaşlygy ýerine ýetirilýär, ýa-da ýok. Mysal üçin, bankdan pul başga bir hasaby geçirmek iki amaly öz içine alýar:
  1. Pul hasabyny bank hasabyna geçiriň.
  2. Bank hasabyndan belli bir hasaby geçiriň.
Emma islendik zat bolup biler. Mysal üçin, banka giderler, soň käbir ýalňyşlyk ýüze çykar we ikinji amal gutarmaz. Ora-da tersine: diňe ikinji operasiýa ediler. Şonuň üçin bu hereketler bir amalyň içinde amala aşyrylýar we netije ýa-da hiç zat däl. C - yzygiderlilik : Her bir üstünlikli geleşik elmydama diňe çözülýän netijeleri ýazýar. Bu, ähli çäklendirmeleriň ýerine ýetirilmegini üpjün edýär (mysal üçin NOT NULL), ýogsam geleşik yzyna gaýtarylar. We - izolýasiýa : geleşik ýerine ýetirilende paralel amallar onuň netijesine täsir etmeli däldir. Bu bize ahyrky däl ýagdaýlary hemmelerden gizlemek ukybyny berýär. Aslynda, şonuň üçin şowsuz geleşikler hiç zady bozup bilmez. Biraz pes bolsa, amallaryň izolýasiýa derejeleri bilen tanyşarys. D - Çydamlylyk : Eger geleşik gutaran bolsa, onda edilen üýtgeşmeleriň käbir şowsuzlyklar sebäpli ýatyrylmajakdygyna ynanyp bilersiňiz.

12. Geleşikleriň izolýasiýa derejeleri

Her izolýasiýa derejesi käbir hereketlere (mümkinçiliklere) rugsat berýär / gadagan edýär:
  • fantom okamak - şol bir amalyň içinde, şol bir maglumat haýyşy başga (paralel) geleşik tarapyndan maglumatlaryň goşulmagy sebäpli ýüze çykýan dürli netijeleri berýär.
  • gaýtalanmaýan okalma - şol bir amalyň içinde, şol bir maglumat haýyşy başga bir (paralel) amal arkaly maglumatlaryň üýtgemegi ýa-da pozulmagy sebäpli ýüze çykýan dürli netijeleri berýär.
  • "hapa" okamak - soňundan yzyna gaýtarylmajak geleşik bilen goşulan ýa-da üýtgedilen maglumatlary okamak;
  • ýitirilen täzelenme - dürli amallar şol bir wagtyň özünde maglumatlaryň bir toparyny üýtgedeninde, iň soňkusyndan başga ähli üýtgeşmeler ýitýär (köp okalýan “ýaryş ýagdaýyna” meňzeýär).
Amatly bolmak üçin, izolýasiýa derejelerini we olaryň mümkinçiliklerini tablisada göz öňünde tutýarys:
Izolýasiýa derejeleri Fantom okamak Gaýtalanmaýan okamak “Hapa” okamak ýitirilen täzelenme
SERIALIZABLE + + + +
REPEATABLE_READ - + + +
READ_COMMITTED - - + +
Oka_UNCOMMITTED - - - +

13. SQL sanjym näme?

SQL sanjymy , web sahypasyny döwmegiň usullaryndan biridir, manysy käbir SQL kodlaryny GETtalaplar POSTýa-da gutapjyklar arkaly maglumatlara sanjym etmekdir. Web sahypasy şeýle sanjymlary ýerine ýetirýän bolsa, maglumatlar bazasyna girip, programmany döwüp bolýar. Mysal üçin, käbir üýtgeýjiniň adyny bilýäris. column_nameGörnüşi bilen aýdalyň boolean. Ulgam sanjymlara sezewar bolsa, OR column_name=truemaglumatlar bazasyndan zerur zatlary goşup, ýazyp bileris. OROR şert döreder we soňundan aňlatmamyz hemişe bolar true, bu bolsa bizi hasam öňe sürer. SQL sanjymy ýaly web sahypasyna hüjüm, SQL talaplarynda ulanylýan gelýän maglumatlaryň nädogry işlenmegi sebäpli mümkindir. JDBC ulanyp maglumat bazasyna birikdirilende dürli ulanýarsyňyz Statements. PreparedStatementHowpsuzlygy ýokarlandyrmak üçin adaty biriniň ýerine ulanmaly Statement, sebäbi ulanylanda Statementtalap setirleri we bahalary sanjymlary mümkin edip, diňe goşulýar. Öz gezeginde PreparedStatementbelli bir haýyş şablony bar we sitata bellikleri görkezilen maglumatlar oňa girizilýär. Netijede, SQL sanjymlary diňe käbir meýdanyň setir görnüşi hökmünde kabul ediler. SQL sanjymlaryndan goramak üçin yzygiderli aňlatmalara esaslanan çekleri ulanyp bilersiňiz ( bu makalada yzygiderli aňlatmalar hakda has köp okap bilersiňiz ). Собеседование разработчика: разбор вопросов по базам данных - 9Başga bir wariant, gelýän parametrleriň nyşanlarynyň sanyna çäklendirmek: mysal üçin, 9999-dan köp bolmadyk belgini almaly bolsaňyz, dört sany simwolyň çägi bolar. SQL sanjymlaryny ulanyp haker howpuny azaldar. Java-da howpsuzlyk barada "Java-da howpsuzlyk: iň oňat tejribe" makalasyndan öwrenip bilersiňiz .

14. Saklanylýan amallar näme? Saklanan funksiýalar? Trigger?

SQL-de saklanylýan proseduralar , bir gezek düzülen we serwerde saklanýan SQL görkezmeleriniň toplumy bolan maglumatlar bazasyndaky bir zat. Bir söz bilen aýdylanda, bu Java-da usullaryň meňzeşidir. Saklanan proseduralar, adaty talaplar we adaty talaplar üçin elýeterli bolmadyk käbir hereketler boýunça maglumatlary ýerine ýetirip biler. Prosedura, bir gezek döredilen, soň bolsa argumentlerden geçip atlandyrylýan SQL birligi. Bu çemeleşmäniň artykmaçlygy, bu görkezmeleriň bir gezekden köp ulanylmagydyr. Saklanan amallar öndürijiligi gowulandyrýar, programmirleme mümkinçiliklerini ýokarlandyrýar we maglumat howpsuzlygy aýratynlyklaryny goldaýar. Prosedura döretmegi göz öňünde tutalyň:
CREATE PROCEDURE procedure_name (first_param some_type, second_param some_type..)
 begin
……...
 end
Prosedura jaň etmek:
CALL procedure_name (first_param, second_param…..);
Saklanan funksiýa, saklanylýan proseduranyň bir görnüşidir. Funksiýanyň arasyndaky tapawut, elmydama diňe bir bahany yzyna gaýtaryp berýär, prosedura elmydama gymmatlyklar toplumyny yzyna berýär. Saklanan proseduralary yzygiderli SQL bilen garyşdyryp bolmaýar, saklanylýan funksiýa bolsa - bu onuň artykmaçlygydyr. Beýleki tarapdan, saklanylýan funksiýalaryň proseduralardan has köp çäklendirmeleri bar. Saklanan funksiýany döretmek:
CREATE FUNCTION function_name (first_param, second_param…..)
RETURNS some_type
 begin
……...
RETURN some_value;
end
Saklanan funksiýa jaň etmek:
SELECT function_name(first_param, second_param…..);
Tüweleý, ulanyjy tarapyndan gönüden-göni çagyrylmaýan, maglumatlar üýtgedilende işjeňleşdirilen saklanylýan proseduranyň başga bir görnüşidir. .Agny, bu amal belli bir şertler berjaý edilende işjeňleşdirilýär, INSERTýa-da DELETEberlen UPDATEtablisanyň belli bir sütünindäki maglumatlar ýaly. BEFOREHaçan-da trigger atylanda açar sözler (baglanyşykly hadysadan öň ot ýakmak) ýa-da AFTER(wakadan soň) kesgitlenilýär .
CREATE TRIGGER trigger_name
ON table_name
AFTER INSERT
 begin
……...
 end

15. Amaly

Mümkin boldugyça, söhbetdeşlikde iň köp ýaýran SQL soragy tejribe bolar - meseläni çözmek. Haýsy meselelere duş geljekdigiňizi çaklamaga synanyşmagyň manysy ýok, sebäbi hemme zat ters adamyň hyýalynyň çylşyrymlylygyna baglydyr. Şonuň üçin ýeke-täk iş warianty dürli çylşyrymly SQL talaplarynda has gowulaşmak bolar. sql-ex.ru dürli meselelerde tejribe almak üçin çeşme bolup biler . Ilkinji ýigrimi tamamlanan işden soň, söhbetdeşiňiziň sizi islendik SQL meselesi bilen gorkuzmagy gaty kyn bolar. Собеседование разработчика: разбор вопросов по базам данных - 11Munuň hemmesi şu gün üçin: Bu makalany okanymdan soň maglumat bazalary baradaky soraglar hiç hili kynçylyk ýa-da kynçylyk döretmez diýip umyt edýärin. Üns bereniňiz üçin sag boluň we ýene-de görüşeris!
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION