VERÎL9NL9R BAZASININ YARADILMASINDA SQL DiLi BiR VASÎTa KiMi
SEVINC 9L9KB9R QIZI ÇABANOVA
ADPU, Komputer elmlari kafedrasinin ba§ muallimi
Annotasiya: Mdqalddd muasir Verilanlar Bazasinin îdaraetma Sistemlarinin istifadasinin prinsiplari tasvir edilir, SQL sorgu dilinin asas operatorlari atrafli muzakira edilir, operatorlarin har biri uçun sorgu numunalari verilir.
Açar sôzlsr: Verilanlar bazasi, SQL sorgu dili, verilanlar bazasinin idaraetma sistemi, sorgu.
Annotation: This article describes the principles of use with modern database management systems, as well as describes in detail the basic operators of the SQL query language, for each of which examples of queries are given.
Keywords: database, SQL query language, database management system, query.
informasiya texnologiyalari asrinda informasiyanin emali texnologiyalarina sahib olmayan mutaxassis tasavvur etmak mumkun deyil. informasiya axinlarinda vaziyyatdan va oriyentasiyadan asili olmayaraq, istanilan profilli mutaxassis informasiya camiyyatinin inki§afi ila alaqadar boyuk dayiçikliklara maruz qalmi§ fardi komputerlardan istifada etmakla informasiyani emal etmayi bacarmalidir. indi malumatlarin emali uçun kifayat qadar çox sayda proqram mahsullari ila yana§i onlarla i§lamak imkanlari ila bagli suallar da movcuddur. Bela proqram mahsullarina SQL proqramlaçdirma dilinda alaqali verilanlar bazalari ila içlayan verilanlar bazasi idaraetma sistemlari daxildir[3].
informasiya sisteminin tarkibina bir va ya çabaka formasinda taçkil olunmuç bir neça komputer, bir va ya bir neça verilanlar (informasiya) bazasi, verilanlar bazasinin idaraetma sistemi, tatbiqi proqramlar dasti, istifadaçilarla rahat va sada dialoqu tamin edan interfeys va xidmati heyat daxildir. Tatbiq sahasindan asili olaraq informasiya sistemlari funksiyalarina, arxitekturalarina, reallaçdirilma saviyyalarina gora farqlana bilarlar. Lakin istanilan informasiya sistemina xas olan umumi xususiyyatlar var: - informasiya sisteminin yerina yetirdiyi asas funksiyalar (informasiyanin toplanmasi, saxlanmasi, axtari§i, emali) eynidir. Odur ki, har bir informasiya sisteminin asasisini verilanlarin saxlanmasini va onlara muraciati tamin edan muhit - Verilanlar bazasi ta§kil edir.
Xidmat sahalarinda ela bir boyuk taçkilat tapmaq mumkun deyildir ki, orada VB-dan istifada edilmasin. Buna misal olaraq olkamizda Dovlat imtahan Markazini (DiM), Azersell, Baksell operatorlarini, butun bank sistemlarini, §ahar infrastrukturlarini, aerovagzali, supermarket §abakalarini va baçqa farqli sahalari gostarmak olar. VB yaratmaq uçun kifayat qadar verilanlar bazasini idaraetma sistemlari (VBiS) movcuddur, hatta, Ms Excel ofis proqrami ila da baza yaratmaq mumkundur.
VB ila içlamak uçun SQL dilini bilmak zaruri §artlardan biridir.
Bu dildan (VBiS R) ilk olaraq 1974-cu ilda iBM oz layihasi uçun istifada etmiçdir. 9vval bu dil SEQUEL(Structured English Query Language) adlanirdi, daha sonra isa bizim adat etdiyimiz SQL kimi adlanmaga baçladi.
SQL dili yeni universal sorgu dilidir, onun komayi ila mutaxassis boyuk hacmli malumatlarla tez va asanliqla i§laya bilar. Bu gun verilanlar bazalari insan hayatinda kifayat qadar geni§ yayilib va onlarin toplanmasi va emali asasinda faaliyyat gostaran aksar muasir informasiya sistemlarinin tarkib hissasina çevrilib. Mahz buna gora da talabalari SQL sorgu dili ila tani§ etmak, onlarda onunla içlamak uçun bir sira bilik, bacariq va bacariqlarin formalaçdirilmasina ehtiyac var. SQL, alaqali verilanlar bazalarinda malumatlari idara etmak va ya manipulyasiya etmak uçun istifada olunan sorgu dilidir. Hal-hazirda bu dil çox populyardir, çunki butun iT §irkatlari verilanlar bazasi ila içlayir va içlayan §axs dilin asaslarini bilmalidir [1].
SQL dili an sada pulsuz MS SQL Serverindan tutmu§ Oracle, MySQL, DB2 kimi an mürakkab DBMS-lara qadar bugünkü an ma§hur verilanlar bazasi idaraetma sistemlarinda istifada olunur. Bütün SQL dili operatorlarini bir ne9a nova bolmak olar:
• verilanlar bazasi obyektlarinin tayin edilmasi ü9ün operatorlar;
• malumatlarin manipulyasiya operatorlari;
• malumatlarin mühafizasi va idara olunmasi operatorlari;
• seans parametrlari operatorlari;
• verilanlar bazasi haqqinda malumat operatorlari.
Galin onlara daha yaxindan nazar salaq.
Verilanlar bazasi obyektlarinin müayyan edilmasi ü9ün olan operatorlara verilanlar bazasinin ozünün yaradilmasi va ya silinmasina cavabdeh olan bütün operatorlar, ham9inin orada yerla§an cadvallar daxildir [3]. Verilanlar bazasi yaratmaq ü9ün biza CREATE SCHEMA operatoru lazimdir. CREATE SCHEMA cari verilanlar bazasinda yeni sxem yaradir. Sxemin adi cari verilanlar bazasinda movcud olan digar sxemlarin adlarindan farqli olmalidir.
Cadval yaratmaq va ya silmak ü9ün CREATE TABLE va DROP TABLE operatorlarindan istifada edirik [2].
Bir misal verak. Tutaq ki, verilanlar bazasi var va biz bu bazada 2 sütundan ibarat olan "Fakulta" (Facultet) cadvalini yaratmaliyiq. Birinci sütun "ixtisas kodu" (kod_spec) adlanir va 6 simvolla, 2-ci sütun isa "ixtisasin adi" (name_spec) adlanir va 40 simvolla mahdudla§ir. Üstalik, bu iki sütunun he9 birinda null qiymati ola bilmaz.
A§agidaki kodu aliriq:
CREATE TABLE Facultet (kod_spec char(6) not null, name_cpec varchar(40) not null)
Sonra "Facultet" cadvalinda asas a9ari tayin edirik. Bu, "ixtisas kodu" sütunu olacaq:
ALTER TABLE facultet add constraint PK_kod_spec asas a9ar(kod_spec) "Fakülta" bütün cadvalini silin:
DROP TABLE facultet
Manipulyasiya operatorlarina verilanlar bazasinda dayarlari manipulyasiya etmak ü9ün istifada olunan a9ar sozlar daxildir [1 ].
Verilanlarla i§layarkan an 9ox yayilmi§ operator SELECT operatorudur [1]. SELECT ifadasi verilanlar bazasindan malumatlari se9mak ü9ün istifada olunur. Bir misal verak. "Fakülta" cadvalindan bütün malumatlari gostarmaliyik. Sorguda ulduz i§arasi fakülta cadvalinda saxlanilan bütün malumatlari nazarda tutur:
SELECT* FROM Facultet
Tacrübadan goründüyü kimi, verilanlar bazasinda verilanlar 9ox vaxt konkret sütundan nümuna gotürülür, onda biz a§agidakilari alda edirik:
Tutaq ki, biz Facultet cadvalinin kod_spec sütunundan se9im etmaliyik: SELECT kod_spec
FROM facultet
Se9imda 9ox vaxt verilanlari müayyan edilmi§ §arta uygun süzgacdan ke9irmak lazim galir, bunun ü9ün SQL dilinin ozünamaxsus WHERE operatoru var.
Misal gostarak:
Biz fakülta cadvalindan kod_spec sütunundan se9mali va yalniz orta ixtisas tahsilina aid olan, yani 09 raqamlari ila balayan ixtisaslari gostarmaliyik: SELECT kod_spec FROM facultet WHERE kod_spec = 09.*
Qeyd edak ki, SQL dilinin müqayisa operatorlari bütün proqramla§dirma dillari ila eynidir. SQL dilinin ba§qa bir xüsusiyyati registr hassasliginin olmamasidir, yani verilanlar bazasi idaraetma sistemlari konkret sozün va ya operatorun hansi harfla (boyük va ya ki9ik harfla) yazilmasina ahamiyyat vermir, bu da istifada9ilarin i§ini xeyli asanla§dirir. Verilanlarin manipulyasiyasinin digar mühüm operatoru INSERT operatorudur. INSERT ila biz artiq doldurulmu§ verilanlar bazasi cadvallarina satirlar daxil eda bilarik. Üstalik, ham bir, ham da bir ne9a [1].
Masalan, name_cpec sütunundan sonra fakülta cadvalina col_chel sütununu daxil etmak lazimdir va bu sütunda qeydiyyatdan keçmi§ talabalarin sayi öz aksini tapmalidir:
INSERT INTO facultet (name_cpec, col_chel)
Ba§qa bir operator UPDATE mövcud malumatlari yenilamak va ya dayiçdirmak imkani verir:
Masalan, kod_spec sütununda "02/09/03" tarixini "02/09/07" ila avaz etmak lazimdir:
UPDATE facultet SET kod_spec = «09.02.03» WHERE facultet. kod_spec = 09.02.07
DELETE operatoru göstarilan §artlara va ya bütün satir va sütunlara uygun olaraq cadvaldan bütün malumatlari silir. Misal ^ün. Biz verilanlar bazasindaki fakülta cadvalindan kod_spec sütunundaki "02/09/03" a barabar olan bütün tarixlari silmaliyik:
DELETE FROM facultet WHERE facultet. kod_spec = 02/09/03
Yaxud fakülte cadvalindan kod_spec sütununda 02/09/03-a barabar olmayan tarixlari silmak lazimdir:
DELETE FROM facultet WHERE facultet. kod_spec <> 02/09/03
SQL dili ali maktablarin bir çox ixtisaslarinda tadris olunur. Biz da maqalamizda SQL dilinda an çox rast galinan, qarçiya çixan sual va masalalari ara§dirmi§iq:
SQL dilinda hansi JOÍN tiplari var?
Cavab: INNER, JOIN LEFT, JOIN RIGHT, JOIN FULL, JOIN CROSS
• NULL va 0 (sifir) bir-birindan na ila farqlanir?
Cavab: övvala 0 - adaddir, NULL adad deyil, ikincisi, NULL onu göstarir ki, bu haqda malumat ya malum deyil, ya da yoxdur.
• "Order by" hansi parametrlarla xarakteriza olunur?
Cavab: ASC va DESC
• Cadvallarin birlaçdirilmasinda hansi operatorlarin olmasi mütlaqdir?
Cavab: SELECT, JOÍN, FROM
• UNION operatoru na ^ündür?
Cavab: ögar cadvalin eyni sayda sütunu, atributlarinin tipi ox§ar va yerlaçmasi eyni ardicilliqladirsa o zaman bu cadvallari UNION operatoru vasitasila birlaçdirmak olar.
• VARCHAR ila NVARCHAR-in farqi nadir?
Cavab: VARCHAR qiymati ASCII formatinda, NVARCHAR isa Unicode formatinda saxlayir. VARCHAR adatan elektron ünvanlara tatbiq olunur.
• DELETE amri ila TRUNCATE amri arasindaki farqi izah edin.
Cavab: DELETE amri - DML - amaliyyatidir va bu amrla cadvaldan har hansi bir §arta göra yazini silirik. Masalan, DELETE FROM table_name WHERE condition Bu zaman silinmani geri qaytarmaq mümkündür. TRUNCATE isa DDL - amaliyyatidir va cadvali tamamila dayiçir va bu amri lagv elamak mümkün deyil. TRUNCATE TABLE table_name
• ÍNSERT ÍNTO SELECT operatoru na ^ündür?
Cavab: Bu operator bir cadvaldan verilanlarin suratini ba§qa cadvala qoyur va bu zaman verilanlarin tipi har iki cadvalda uygun olmalidir. Masalan, ÍNSERT ÍNTO second_table SELECT * FROM first_table WHERE condition;
• Cüt va ya tak id-si olan yazilari neca seçmak olar?
Cavab: SELECT * FROM sample WHERE id % 2 ! = 0; 0gar 2-ya bolmada qaliq 0-a barabardirsa id cut, aks halda tak olur. • Email unvani sahasinda dublikatlari neca tapmaq olar? Cavab: SELECT email, COUNT (email) FROM customers GROUP BY email HAViNG COiNT (email) > 1;
9D9BiYYAT SiYAHISI:
1. Digo S. M. Verilanlar bazalari: dizayn va istifada / S. M. Digo. — M.: Maliyya va Statistika, 2005. - 153 s.
2. Kolisnichenko D. V. PHP va MySQL. Veb proqramlarinin inki§afi / D. V. Kolisnichenko. -Sankt-Peterburq: HV-Peterburq, 2015. - 593 s. 3.
3. Connolly T. Databases: dizayn, hayata ke9irma, dastak / T. Connolly, K. Begg, A. Strachan. -M.: Williams, 2003. - 327 s.