JavaRush /Java Blog /Random-TK /Maglumatlar bazalaryny we SQL dilini seljerýäris - "Java ...

Maglumatlar bazalaryny we SQL dilini seljerýäris - "Java taslamasy A-dan Z"

Toparda çap edildi
Java taslamasyny döretmek baradaky seriýadan makala. Maksady esasy tehnologiýalary seljermek, netijesi telegramma bot ýazmak. Giriş bölümi şu ýerde . Aloha, programma inersenerleri. Bu gün maglumat bazalary we SQL dili hakda gürleşýäris. “Java-dan A-dan Z” taslamasy: maglumat bazalaryny we SQL dilini seljermek - 1Bu makala kim üçin niýetlenendir? Gyzyklanýanlaryň hemmesine hawa. Käbirleri syýahatyny şu makala bilen başlap bilerler, käbirleri gyzykly faktlar ýadyny täzeläp bilerler. Bu bölüm diňe teoretiki bolar. Maglumatlar bazalarynyň we SQL sintaksisiniň nämedigini aýtmazdan ozal, näme üçin öwrenjekdigimize düşünmeli we kesgitlemeli. Bu etapda, Diňe SQL maglumat bazalary hakda gürleşeris : Bu makalalar tapgyrynda NoSQL-i göz öňünde tutmarys.

Maglumat bazasy: bu näme

“Java-dan A-dan Z” taslamasy: maglumat bazalaryny we SQL dilini seljermek - 2Maglumatlar bazasy (mundan beýläk DB diýlip atlandyrylýar) , talap dilini alyp bolýan gurluşly maglumatlaryň saklanýan ýeri . Maglumatlar bazalary diňe bir saklap bolman, eýsem maglumatlary köp mukdarda gaýtadan işläp we üýtgedip biler. Bellik hökmünde: käbir ölçeglere esaslanyp Excel-de gymmatlyklar toplumyny çalt üýtgetmäge synanyşyň. Aslynda çylşyrymly zat ýok. Sanly däl hakyky dünýämizdäki ýaly däl. Mysal üçin, ýollaryň, köçeleriň, şäherleriň adyny üýtgetmek. Hemme zat wirtual bolup, maglumatlar bazasyna girizilen bolsa, kadalaşardy, iki ownuk-uşak bolardy. Bolşy ýaly, köp sanly saklaýyş serişdesi awtomatiki üýtgäp bilmeýändigi sebäpli ejir çekýär. Bu nukdaýnazardan, maglumatlar bazalary üçin SQL maglumatlar bazasyna düşünýän we şoňa görä jogap berýän dil. Diýeliň, şäheriň adyny üýtgetmek kyn bolmaz; Dnepropetrowskyň adyny Dnipro diýip üýtgetmek şuňa meňzeýär:
UPDATE city SET name = “Днипро” WHERE id = 1231;
Ulgamdan soňky ähli haýyşlar eýýäm bize zerur ady dörederdi.

Maglumatlar bazalary näme üçin zerur?

Öň hem aýdyşym ýaly, maglumat bazalaryny ulanyp maglumatlary saklap bilersiňiz. Emma bu maglumatlar näme? Hakyky durmuşdaky mysaldan peýdalanmak üçin käbir programmalar hakda gürleşip bileris. Mysal üçin, şol bir telegramma bot hakda. Boty näçe adamyň ulanýandygyny bilmek isleýäris. Muny nädip durmuşa geçirip bolar? Adaty Java programmasynda, ulanyjynyň lakamyny ýa-da söhbet ID-sini saklaýan köp sanly üýtgeşik element döredip bilersiňiz. Bu işlärmi? Islär. Java programmasy togtadylýança we täzeden başlan badyna üýtgeşik elementler toplumy boş bolar. .Agny, işleýän programmada saklanýan maglumatlar ýitdi. Bu barada näme edip bilersiňiz? Ulgam ýagdaýyny (maglumatlary) Java programmasyndan başga bir ýere geçirip bilersiňiz. Muny CSV formatda kompýuteriňizde adaty faýlda saklap bilersiňiz. Muny aýratyn bir faýlda bir setirde edip bilersiňiz. Muny edip, Java programmasy durmazdan ozal bu maglumatlary ýazyp bilersiňiz. Ordingazgynyň üstünlikli boljakdygyna kepillik 100% -e golaý däl, sebäbi serweriň set şnuruny çykaryp bilersiňiz we ýazgy bolmaz. Bu çemeleşmäniň möhüm kemçiligi bar: faýl derejesinde maglumat almak, jemlemek we gözlemek üçin hiç hili funksiýa ýok. Hawa, elbetde, bir faýly okap we onuň üçin obýektler döredip bilersiňiz, ýöne ähli maglumatlary her gezek programma goýmaly bolarsyňyz. Olaryň köpüsi bolup biler, mysal üçin, iki gigabaýt. Maglumatlar bazasynda maglumatlary saklamak arkaly munuň öňüni alyp bolar. Nädip? Tablisa we olaryň arasyndaky gatnaşyklar arkaly. Relhli baglanyşyk maglumatlar bazalaryna esaslanýar.

SQL: maglumat bazalaryna düşünýän dil

Maglumatlar bazasyny dolandyrmak ulgamlary bar (mundan beýläk DBMS diýilýär) we düşünýän dili SQL. SQL maglumat bazalaryny dolandyrmak we dolandyrmak üçin programmirleme dilidir. Munuň nähili işleýändigine düşünmek üçin surata seredeliň: “Java-dan A-dan Z” taslamasy: maglumat bazalaryny we SQL dilini seljermek - 3Ulanyjy SQL talaplaryny DBMS-e iberýär, DBMS näme edilmelidigine düşünýär, edýär we haýyş maglumat almak isleýän bolsa, yzyna gaýtaryp berýär. Şonuň üçin döredijiler hökmünde SQL talap dilini özleşdirmeli. “Aý, başga dil. Hudaýyň kömegi bilen men bu ýerde Java-a zordan düşünýärin, sen derrew maňa başga bir dil hödürleýärsiň ". Bu dogry däl: SQL maglumatlar bazalaryndan we umuman programmirlemekden gaty uzak hasapçylaryň bu dilde ýazmagy üçin DBMS üçin spesifikasiýa dili hökmünde oýlanyp tapyldy. Diýmek, öwrenmek beýle kyn bolmaz. Esasy zat TERJIME-TERJIME-TERJIME. Bu gün teoriýa bolar, ýöne indiki makala tejribe hakda bolar. Baglanyşyk bazasy iki ölçegli massiw tablisalarynyň we olaryň arasyndaky gatnaşyklaryň toplumy bolansoň, iş olaryň töwereginde işlär. Mysal hakda aýtsak, iki tablisany görkezip bileris - “Countriesurtlar” we “Şäherler” we olaryň nähili baglanyşygy. “Java-dan A-dan Z” taslamasy: maglumat bazalaryny we SQL dilini seljermek - 4Bu etapda, tablisadaky ýazgylaryň Java dünýäsinden käbir obýektler baradaky maglumatlardygyna düşünmek möhümdir. Mysal üçin, bu iki tablisany Java-da şeýle suratlandyryp bolar:
public class Country {
   private Long id;
   private String name;
}

public class City {

   private Long id;
   private String name;
   private Country country;
   private Integer population;
}
Bolýar, owadan dälmi? Maglumat bazasy islendik sanly tablisany saklap biler. Biziň ýagdaýymyzda olaryň ikisi bar.

Stol gurluşy

Her kim Excel tablisalaryna bir ýa-da beýleki görnüşde duş geldi diýip pikir edýärin we hatar we sütün adalgalaryna düşünýärsiňiz . Maglumatlar bazalarynyň içinde ýazgylar we meýdanlar barada has köp gürleşýäris: “Java-dan A-dan Z” taslamasy: maglumat bazalaryny we SQL dilini seljermek - 5Şeýlelik bilen, şäher synpynyň her bir obýektiniň maglumatlar bazasyndaky tablisadaky ýazgydygy ýüze çykýar.

Esasy açar

“Java-dan A-dan Z” taslamasy: maglumat bazalaryny we SQL dilini seljermek - 6Maglumatlar bazasyndaky meýdanlaryň birmeňzeş gymmatlyklary köplenç bolýar. Mysal üçin, birden köp adamyň adyny, familiýasyny we hatda atasynyň adyny tapyp boljak sosial ulgamlar. Baglanyşyk maglumatlar bazalary, ýazga girmek üçin ulanyp boljak özboluşly bir meýdan talap edýär. Bu ilkinji açar ýa-da başlangyç açar diýilýär. Adatça, ID (id) meýdany şeýle açar hökmünde ulanylýar - kesgitleýji üçin gysga. Şonuň üçin her tablisa şahsyýet meýdany goşmaly .“Java-dan A-dan Z” taslamasy: maglumat bazalaryny we SQL dilini seljermek - 7

Daşarky açar

Mysalymyzda, şeýle meýdan Countryurduň açaryny ulanýan Şäher tablisasynda. Munuň ýaly işleýär: her şäher öz ýurdy üçin özboluşly maglumat kesgitleýjisini bilýär, eger maglumat alyp, maglumatlar bazasynda bir sorag döredsek, ýurt barada giňişleýin maglumat alarys. Suratdan görnüşi ýaly, iki tablisanyň arasynda baglanyşyk bar: “Java-dan A-dan Z” taslamasy: maglumat bazalaryny we SQL dilini seljermek - 8Daşary ýurt açary prinsipi şu ýerde görkezilýär.

SQL-de haýsy bölümler bar?

Theeri gelende aýtsak, söhbetdeşlik wagtynda köplenç SQL-de haýsy amallaryň bardygyny soraýarlar:
  • DDL (Maglumatlary kesgitlemek dili), tablisalary, gurluşyny we başgalary üýtgedýän / döredýän operatorlar toparydyr. .Agny, tablisa döretmek, ony pozmak, tablisalarda meýdan döretmek / pozmak; täze esasy açary döretmek we ş.m.
  • DML (Maglumatlary dolandyrmak dili) maglumatlary üýtgetmegi dolandyrýan operatorlar toparydyr. Bularyň hemmesi maglumatlar bazasyndaky maglumatlary üýtgedýän amallar: goşmak, almak, üýtgetmek we pozmak;
  • DCL (Maglumatlara gözegçilik dili) ulanyjylaryň hereketleri ýerine ýetirmek hukugyny tassyklamagyň serişdesidir. Belli bir ulanyja DDL / DML amallaryny ýerine ýetirip bilmek üçin giriş we hukuklary üpjün etmek üçin amallar.

SQL-de haýsy maglumat görnüşleri bar

Tablisa maglumatlaryň käbir görnüşlerini saklap we gaýtadan işläp biler. Bu ýerdäki hemme zat Java-da ulanýan zatlarymyza meňzeýär. Esasylary hakda gürleşeliň. Olaryň diňe üçüsi bar, zerur we / ýa-da islenilende beýlekileri goşarys: “Java-dan A-dan Z” taslamasy: maglumat bazalaryny we SQL dilini seljermek - 9Suratdan görnüşi ýaly, şular:
  • INT - bitewi bahalar. Üýtgeşik kesgitleýji we ýönekeý bitewi san üçin ulanylýar;
  • WARCHAR biziň setirimiz ;
  • Sene biziň ýerli senämiz.
Şu wagta çenli hemme zat ýönekeý, şeýlemi? Tablisa döredilende meýdan görnüşleri görkezilýär. Meýdana başga bir görnüşiň bahasyny ýazyp bolmajakdygy düşnüklidir.

SQL operatorlary näme?

Operator, käbir hereketleri ýerine ýetirýän aýratyn buýrukdyr. Operatorlar sözlemlerden durýar, bu bolsa öz gezeginde talaplarda ulanylýan açar sözlerden durýar. Bir mysala seredeliň: “Java-dan A-dan Z” taslamasy: maglumat bazalaryny we SQL dilini seljermek - 10Bu ýerde has gyzykly, bu ýerde bir sorag eýýäm guruldy. Ol ýerde näme edýärler? Simpleönekeý, şeýle diýilýär: “Müşderiler tablisasyndan üç meýdan (Ady, Ageaşy we Döredilen senesi) alyň, diňe adyň rime deň bolan ýazgylaryny saýlaň.”

Netije

Bu makalada maglumat bazalaryny öwrenip başladyk. Munuň nämedigine we näme üçin mätäçdigimize düşündik. Soň bolsa, indiki makalada has jikme-jik gürleşjek SQL-iň ilkinji alamatlaryna geçdik. Hemişe bolşy ýaly, GitHub-da hasaba durmagy we bu seriýany we ol ýerde işleýän beýleki taslamalarymy yzarlamak üçin hasabymy yzarlamagy maslahat berýärin .

Öý işi

JRTB-daky makalalaryň bu tapgyryna gyzyklanma goşmak üçin wagtal-wagtal öý işlerine tabşyryklar berler. Mysal üçin, şu günki tabşyryk bolmasa, indiki makala düşünmek has kyn bolar, sebäbi ol ýerde tejribe köp bolar. Şonuň üçin wezipe MySQL DBMS-i kompýuteriňize gurmak we konsolyň üsti bilen ýa-da başga çözgütler arkaly maglumat bazasyna girmekdir. Okanyňyz üçin hemmäňize sag bolsun aýdýaryn, ýakyn wagtda görüşeris!

Tapgyryň ähli materiallarynyň sanawy bu makalanyň başynda.

Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION