Təsəvvür elə, sənə tələbələrlə bağlı CSV-fayl göndəriblər, məsələn, başqa bir bazadan və ya xarici tətbiqdən. Hər bir sətri əl ilə köçürmək? Yox, sağ ol. Elə bu anda kütləvi məlumat yükləməyə ehtiyac yaranır.
Budur, kütləvi məlumat yükləmənin səni xilas etdiyi bir neçə ssenari:
- Məlumatların miqrasiyası: məlumatları bir sistemdən digərinə köçürmək lazımdır. Məsələn, Excel-dən və ya başqa bir bazadan PostgreSQL-ə.
- Baza məlumatlarının ilkin doldurulması: bazanı ilkin məlumatlarla doldurmaq, məsələn, şəhərlərin, kursların və ya məhsul kateqoriyalarının siyahısı.
- Xarici sistemlərlə inteqrasiya: mütəmadi olaraq yeni məlumatların əlavə olunması, məsələn, üçüncü tərəfdən fayl vasitəsilə məlumatların yenilənməsi.
- Böyük həcmdə məlumatların yenilənməsi: köhnəlmiş məlumatları yeniləri ilə əvəz etmək lazımdır.
Hələlik hər şey aydındır? Əgər bəli, davam edirik!
Kütləvi məlumat yükləməyə əsas yanaşmalar
Detallara keçməzdən əvvəl, gəlin qısa şəkildə baxaq, ümumiyyətlə, bazaya bir-iki sətr yox, birdən çox məlumatı necə əlavə etmək olar. Biz SQL-sorğularla bunu necə etmək olar baxacağıq, sonra isə daha rahat və müasir üsul — fayllardan məlumat yükləməyə nəzər salacağıq.
Məlumat əlavə etmək üçün SQL-sorğular
Artıq bilirsən ki, məlumat əlavə etmək üçün INSERT INTO komandası istifadə olunur. Bu, az sayda sətr üçün əladır. Məsələn:
INSERT INTO students (id, name, age, course)
VALUES (1, 'Otto Lin', 20, 'Proqramlaşdırma');
Amma söhbət onlarla, yüzlərlə və ya minlərlə sətrdən gedirsə, bu üsul səmərəsiz olur. Əlbəttə, bunu kod səviyyəsində avtomatlaşdıra bilərsən, amma əl ilə bu qədər sətri əlavə etmək çətin və narahatdır.
Fayllardan yükləmə
Məhz buna görə tez-tez CSV (Comma-Separated Values) kimi fayllardan məlumat yükləmədən istifadə olunur. Bu, sadə mətn formatıdır, hər sətr ayrıca bir qeyd, dəyərlər isə vergül və ya nöqtəli vergüllə ayrılır.
CSV-faylın nümunə məzmunu:
id,name,age,course
1,Otto Lin,20,Proqramlaşdırma
2,Maria Chi,21,Dizayn
3,Alex Ming,19,Riyaziyyat
Belə format həm insan, həm də proqramlar üçün rahat oxunur. CSV-ni Excel-də aça, Python və ya başqa dildə işləyə və asanlıqla bazaya import edə bilərsən. Fayldan kütləvi məlumat yükləmək əl ilə əlavə etməyə nisbətən xeyli sürətlidir və məlumat daxil edərkən səhv ehtimalını azaldır.
Kütləvi yükləməyə hazırlıq
Uğurlu yükləmənin sirri hazırlıqdır. Biz bazanı məlumat qəbuluna hazırlayacağıq, strukturun uyğunluğunu və məlumatların düzgünlüyünü yoxlayacağıq.
Cədvəl strukturunun yoxlanılması
Əvvəlcə əmin ol ki, bazanda faylın strukturuna uyğun cədvəl var. Məsələn, tələbələri yükləyirsənsə, uyğun sütunları olan cədvəlin olmalıdır.
Tələbələr üçün məlumat yükləmək üçün cədvəl nümunəsi:
CREATE TABLE students (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER NOT NULL,
course TEXT
);
Vacib məqamlar:
- Sütunlardakı data tiplərinin fayldakı məlumatlarla uyğun olduğuna əmin ol. Əgər
agerəqəmdirsə, CSV-də də həmin sütunda yalnız rəqəmlər olmalıdır. - Məhdudiyyətli sütunlar (
NOT NULL,UNIQUE) üçün məlumatları xüsusi diqqətlə hazırlamaq lazımdır.
Məlumatların yoxlanılması
İndi isə qısa olaraq məlumatlar barədə. Yükləməzdən əvvəl bunları yoxla:
- Boş sətrlər və ya səhv dəyərlərin olmaması. Məsələn, bu sətir:
12,,20,Proqramlaşdırmaxəta verəcək, çünkinamebizdə məcburi sahədir.
Ayırıcıların uyğunluğu. Əgər CSV-də vergül (
,) istifadə olunubsa, düzgün qurulduğuna əmin ol. Əgər vergül əvəzinə nöqtəli vergül (;) istifadə olunubsa, bunu yükləmə zamanı göstərmək lazımdır.Kodlaşdırma. PostgreSQL faylları UTF-8-də gözləyir. Əgər fayl başqa kodlaşdırmadadırsa (məsələn, Windows-1251), onu çevirmək lazımdır.
Bir balaca proqramçı zarafatı
Proqramçılar niyə CSV istifadə etməyi bu qədər sevirlər? Çünki uzun saatlar JSON ilə işlədikdən sonra nəhayət "sadə" məlumat görürlər... ta ki, mətnin içində vergülə rast gələnə qədər.
Kütləvi yükləmənin praktik tətbiqi
Real layihələrdə kütləvi yükləmə hər yerdə istifadə olunur. Məsələn:
- Onlayn mağazanın məhsul kataloqunu yeniləyərkən. Minlərlə məhsul olan CSV-fayl bir neçə saniyəyə yüklənir.
- Müştəriləri bir CRM-dən digərinə köçürəndə. Müştərilər, onların ünvanları və sifarişləri barədə bütün məlumatlar CSV-dən PostgreSQL-ə yüklənir.
- Analitikada, ay ərzində satış məlumatlarını analiz üçün yükləmək lazım olanda.
İndi artıq bilirsən ki, bu nə üçündür və necə hazırlaşmaq lazımdır, keçə bilərik məlumat yükləmək üçün konkret alətlərə, məsələn, COPY komandasına. Amma bu barədə növbəti dərsdə danışacağıq.
GO TO FULL VERSION