CodeGym /Kurslar /SQL SELF /Məlumat bazaları ilə tanışlıq

Məlumat bazaları ilə tanışlıq

SQL SELF
Səviyyə , Dərs
Mövcuddur

Salam, dostlar! Bu gün biz SQL üzrə yeni möhtəşəm kursa başlayırıq.

Kurs tamamilə SQL bilməyən, amma bunu dəyişmək istəyən insanlar (sən robot deyilsən ki?) üçün nəzərdə tutulub🧠. Sən ən əsaslardan başlayacaqsan, sonda isə stored procedures, nested transactions, triggers və reportların avtomatlaşdırılması ilə bitirəcəksən.

Kursda səni yüzlərlə praktiki tapşırıq gözləyir, bunlar nəzəriyyə ilə real SQL tətbiqi arasında möhkəm körpü qurmağa kömək edəcək. Və ən sonda səni böyük 100+ cədvəlli final layihəsi😅 gözləyir.

Məqsədimiz — sənə SQL ilə istənilən data məsələsini həll etmək üçün tam rahatlıq verməkdir. Kursu bitirəndə SQL sənin üçün intuitiv və rahat alət olacaq. Sən query yazmaq, məlumat bazası dizaynı və ya çətin analitik məsələləri həll etmək üçün çox düşünməyəcəksən — hər şey asan və təbii alınacaq.

Materialın təqdimatına yanaşma

Kurs ərzində bəzi mövzular qısa şəkildə qeyd olunacaq, sonra isə ayrıca leksiyalarda ətraflı izah ediləcək. Məsələn, relational data model ilə tanışlıq zamanı table-lar arasındakı əlaqələrdən yan keçmək mümkün deyil. Eyni zamanda, ilk mərhələlərdə çox sadə database sxemləri və ya nümunələr göstərə bilərik, artıq detallar olmadan, yəni yükləməmək üçün.

Bu yanaşma materialı mərhələli öyrənmək üçün lazımdır — bir mövzunu açmaq üçün tez-tez digər mövzulardan baza təsəvvür vermək lazımdır. Ona görə də narahat olma, bütün boşluqları öyrənmə zamanı dolduracağıq.

Kursun strukturu

Kurs səviyyələr üzrə təşkil olunub, hər səviyyədə bir neçə leksiya var. Leksiyalarda səni nəzəriyyə, praktiki tapşırıqlar və materialı möhkəmləndirmək üçün testlər gözləyir.

İlk səviyyələrdə bütün tapşırıqları birbaşa saytda həll edə bilərsən — əlavə proqramlar yükləməyə ehtiyac yoxdur. Bir neçə səviyyədən sonra isə addım-addım PostgreSQL, professional IDE və lazım olan pluginləri quraşdıracağıq. Hər şey ardıcıllıqla və rahat şəkildə.

Niyə məhz PostgreSQL?

PostgreSQL — qabaqcıl və çox məşhur database-dir, onun imkanları istənilən layihə üçün kifayət edəcək. Onu banklar, startuplar, mağazalar, oyun studiyaları istifadə edir. Onunla istəsən Instagram, istəsən də qəhvə maşınlarını idarə edən atom elektrik stansiyası yarada bilərsən. Əgər daha çox istəsən, PostgreSQL-dən sonra "ağır" Microsoft SQL Server və ya hətta Oracle DB(!)-yə keçmək çox asandır.

Biz hər şeyi PostgreSQL 17 database nümunəsində edəcəyik. Sənə də bunu məsləhət görürük!

Bunların hamısı gələcəkdə səni gözləyir, amma bu gün ən başdan başlayırıq...

Bəs bu database-lər kimdir axı?

Təsəvvür et ki, bütün vacib datanı — şifrələr, alış-veriş siyahısı, keçmiş sevgililərin nömrələri və sevimli reseptlər — hamısını "heyat.xlsx"📉 adlı nəhəng bir Excel cədvəlində saxlayırsan. Hər gün bu cədvəl böyüyür, yavaşlayır, pozulur və bir anda başa düşürsən: böyümək vaxtıdır və datanı daha rahat formatda saxlamaq lazımdır. Database-lərə keçmək vaxtıdır.

Database — sadəcə cədvəl deyil. Bu, Excel kimidir, amma Super-Excel: o, datanı tez tapır, filterləyir, yeniləyir. Milyonlarla sətrdən qorxmur, yavaşlamır və "fayl zədələnib" demir 💔. Bir sözlə, bu elə bir köməkçidir ki, 2019-un köhnə, yaxşı, covid-dən əvvəlki dövründə rast gəldiyin o nömrəni harada saxladığını heç vaxt unutmaz.

Bunlar mənə niyə lazımdır?

— deyə soruşacaqsan. Ümumiyyətlə lazımdırmı? Axı mən heç istifadə etmirəm... Əminsən?

Telefonundakı hər şey database-də saxlanılır. Şəkillər, mesajlar, məktublar və qeydlər — HƏR ŞEY database-dədir. Hətta artıq cloud-a keçmisənsə belə, rahatlaşmaq tezdir — indi datan cloud-da da həmin database-lərdə saxlanılır😬. Bütün internet, bütün dünya dataları database-lərdə saxlanılır. Və əgər sən IT-də işləyirsənsə, bu faktla yaxşı pul qazana bilərsən 💰.

Yox, doğrudan belədir! Bax indi:

  1. Online mağazalar: səbətə məhsul əlavə edəndə database işə düşür, seçimini saxlayır və sonra ödəniş üçün göndərir.
  2. Sosial şəbəkələr: like-lar, şərhlər, dostlar — hamısı database-də saxlanılır.
  3. Bank sistemi: database-lər balansı izləməyə, transaction-ları aparmağa və informasiyaya ani çıxış təmin etməyə imkan verir.

Bütün bunlar database-lər sayəsində mümkündür, onlar təmin edir:

  • Saxlanma: data itmir, sanki sənəd dolu bir qutu kimi.
  • İdarəetmə: data təşkil olunub, strukturlaşdırılıb və əlçatandır.
  • Çıxarış: konkret informasiyanı tez və asan tapmaq olur.

Database-in əsas elementləri

Database bir neçə əsas "kərpic" üzərində qurulub, indi onlarla tanış olacaqsan. Bu mərhələdə sadə müqayisə edək — database Excel-dəki cədvəllərə bənzəyir (amma çox daha yaxşıdır!).

Cədvəllər

Excel-də bir cədvəl təsəvvür et: sətirlər və sütunlar var, hər şey səliqəlidir. Database-də də cədvəl belə işləyir. Cədvəl — database-də datanın əsas saxlanma strukturudur.

Hər cədvəl:

  • Öz adına malikdir (məsələn, students və ya courses).
  • Sətirlər və sütunlardan ibarətdir.

Sətirlər

Sətirlər — saxladığın qeydlər və ya obyektlərdir. Bir sətir — bir obyekt/entity-dir, məsələn, tələbə haqqında məlumat.

Database-də tələbələr haqqında bir sətir nümunəsi:

id: 1, name: Alek, age: 20, group: A1

Sütunlar

Sütunlar — obyektin xüsusiyyətləri və ya atributlarıdır. Onlara bəzən kolonka da deyirlər. Məsələn:

  • id — tələbənin unikal nömrəsi.
  • name — onun adı.
  • age — yaşı.
  • group — oxuduğu qrupun adı.

Bu yanaşma datanı hissələrə bölməyə və harada nə axtarmaq lazım olduğunu dəqiq bilməyə imkan verir.

Bizim students cədvəlimiz belə görünür:

Bu praktikada necə işləyir?

Excel cədvəlləri üçün proqramımız var (yəni Microsoft Excel özü) və onun sənədləri. Database-lərdə də belədir. Database proqramına DBMS (Database Management System) deyilir, onun "sənədləri" isə sadəcə database-lər adlanır.

DBMS imkan verir:

  1. Cədvəllərə yeni sətir əlavə etmək (məsələn, yeni tələbə).
  2. İstənilən sütunda datanı dəyişmək.
  3. Məlumat axtarmaq, məsələn: "A1 qrupundakı bütün tələbələri tap".
  4. Artıq lazım olmayan sətirləri silmək.

DBMS vasitəsilə data ilə işləmə prosesi

Sən, istifadəçi və ya developer kimi, datanın saxlandığı fayllarla birbaşa işləmirsən. Əvəzində, "sorğu"nu — nə istədiyini və ya dəyişmək istədiyini — DBMS-ə göndərirsən. Ən çox istifadə olunan sorğu dili — SQL-dir və biz də onu öyrənəcəyik. DBMS sənin SQL sorğunu qəbul edir, "başa düşür", database-ə müraciət edir, lazım olan əməliyyatları yerinə yetirir və nəticəni sənə qaytarır.

Database ilə işləmənin çox sadə sxemi:

  1. İstifadəçi sorğu yaradır.
  2. Sorğu DBMS-ə ötürülür.
  3. DBMS database-ə müraciət edir.
  4. Database məlumatı DBMS-ə qaytarır.
  5. DBMS sorğuya əsasən datanı emal edir.
  6. Nəticə istifadəçiyə qaytarılır.

Database-lər nəyə lazımdır?

İndi bəziləriniz düşünə bilər: "Bu sadəcə təkmilləşdirilmiş Excel-dir, niyə bu qədər çətinləşdiririk?"

Bax, database-lərin lazım olmasının bir neçə səbəbi:

  1. Böyük həcmdə data ilə işləmək. Təsəvvür et, milyonlarla istifadəçinin datasını idarə etməlisən. Excel cədvəlləri bunu qaldırmaz.
  2. Məlumata rahat çıxış. Əgər sorğu belədirsə: "A1 qrupundan 20 yaşdan yuxarı bütün tələbələri tap", database bunu bir neçə millisaniyəyə edəcək. Excel-də isə... uğurlar.
  3. Datanın təşkili və bütövlüyü. Database-lər informasiyanın təşkil olunmuş və ziddiyyətsiz qalacağına zəmanət verir.
  4. Çoxistifadəçili çıxış. Sən və həmkarın eyni database ilə konflikt olmadan işləyə bilərsiniz. Onun strukturu bunu təmin edir.

Təsəvvür et, online mağaza yaradırsan. Məhsullar (adlar, qiymətlər, kateqoriyalar), müştərilər (adlar, kontaktlar) və sifarişlər (kim, nə və nə vaxt alıb) haqqında məlumat saxlamaq lazımdır. Bütün bunları bir böyük cədvələ yığsan, tezliklə o, həddindən artıq böyük olacaq, data təkrarlanacaq və orada nəsə tapmaq və ya yeniləmək çətin olacaq.

Database-lər daha ağıllı həll təklif edir: məlumatı məntiqi bloklara (cədvəllərə) bölmək. Hər cədvəl bir obyekt növü haqqında data saxlayacaq (məsələn, yalnız məhsullar və ya yalnız istifadəçilər). Əsas odur ki, bu cədvəlləri bir-biri ilə əlaqələndirmək olar, məsələn, hansı istifadəçi hansı məhsulu sifariş edib.

Bütün bunlar sənə niyə lazımdır?

Əgər hər hansı backend yazırsansa və ya data ilə işləyirsənsə — database həmişə yanında olacaq.

Və bax, kimə bu mütləq lazım olacaq:

  • 💻 Web developer-lərə — istifadəçiləri, postları, səbətləri və ümumiyyətlə hər şeyi saxlamaq üçün.
  • 📊 Analitiklərə — lazım olan rəqəmləri çıxarmaq və reportlar qurmaq üçün.
  • 🛠️ Admin-lərə — database-lər yavaşlamasın və çökməsin deyə.
  • 🧠 Proqramçılara — tətbiqlər sadəcə yaşamasın, ağıllı və dinamik olsun deyə.

Və bəli — müsahibələrdə database-ləri sevirlər. Demək olar ki, həmişə səndən SQL query yazmağı və ya JOIN nədir izah etməyi istəyəcəklər.

Ona görə də, irəli getmək istəyirsənsə — database-lərlə dostlaşmaq yaxşıdır. Bu, səni həqiqətən özünə güvənən developer edən əsas skill-lərdən biridir.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION