CodeGym /Kurslar /SQL SELF /Cədvəllərin yaradılmasının əsasları: CREATE TABLE<...

Cədvəllərin yaradılmasının əsasları: CREATE TABLE

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

İlk leksiyalarda biz relasion verilənlər bazaları və PostgreSQL haqqında əsas bilikləri öyrəndik, psqlpgAdmin ilə işləməyi, həmçinin verilənlər bazalarını yaratmağı və idarə etməyi öyrəndik. İndi isə relasion verilənlər bazalarının əsas "tikinti materialı"na – cədvəllərə keçmək vaxtıdır. Məhz cədvəllər bütün məlumatı saxlayır, hansı ki, sonra filtrləyə, sıralaya və ya birləşdirə bilərik.

PostgreSQL-də cədvəlləri CREATE TABLE komandası ilə yaratmaq olar. Bu komanda cədvəlin strukturunu təsvir edir: onun adını, sütunlarını və onların data tiplərini.

Komandanın ümumi strukturu

Bax belə əsas sintaksis görünür:

CREATE TABLE cedvel (
    sutun1 data_tip constraints,
    sutun2 data_tip constraints,
    ...
);

Hissə-hissə baxaq:

  • cedvel – cədvəlin adı (məsələn, students).
  • sutun1 – sütunun adı (məsələn, id, name).
  • data_tip – sütunun data tipi (məsələn, INTEGER, VARCHAR).
  • constraints – data üçün məhdudiyyətlər (məsələn, NOT NULL, PRIMARY KEY).

İndi isə ilk cədvəlimizi yaradaq.

Cədvəl yaratmaq nümunəsi

Ssenari: tədris verilənlər bazasında tələbələr haqqında məlumat saxlamaq lazımdır. Bunun üçün students cədvəlini aşağıdakı sahələrlə yaradaq:

  • id: tələbənin unikal identifikatoru (avtomatik artır);
  • name: tələbənin adı (sətirin uzunluğu maksimum 100 simvol);
  • age: tələbənin yaşı (müsbət tam ədəd).
CREATE TABLE students (
    id SERIAL PRIMARY KEY,  -- tələbənin unikal ID-si
    name VARCHAR(100),      -- ad
    age INTEGER             -- yaş
);

Burada nə baş verir:

  1. id SERIAL PRIMARY KEY: id sütunu yaradılır, hansı ki, hər sətr üçün avtomatik unikal ədədlər (1, 2, 3...) generasiya edir. Həmçinin bu sütun cədvəlin əsas açarıdır.
  2. name VARCHAR(100): mətn sütunu yaradılır, burada VARCHAR(100) o deməkdir ki, sətir maksimum 100 simvol ola bilər.
  3. age INTEGER: yaş üçün ədədi sütun yaradılır.

İndi bu sorğunu psql və ya pgAdmin-də icra etsək, students cədvəli yaradılacaq.

Sütunlar üçün data tipləri

Cədvəl yaradanda hər sütun üçün düzgün data tipini seçmək vacibdir. PostgreSQL bir çox tip təklif edir, amma gəlin ən populyarlarından başlayaq.

Data tipi Təsviri Nümunə dəyərlər
INTEGER Tam ədədlər. Yaş, say və ya identifikatorlar üçün əladır. 1, 42, 100
VARCHAR(n) Maksimum n simvol uzunluğunda sətir. Məhdud uzunluqlu mətnlər üçün idealdır. 'Alice', 'Bob'
TEXT Məhdudiyyətsiz sətirlər. Uzun mətnlər üçün istifadə olunur (məsələn, məhsul təsviri). 'Çox uzun mətn...'
DATE Vaxtsız tarix. Doğum tarixi, hadisələr üçün istifadə olunur. 2023-10-12
BOOLEAN Loji tip: TRUE və ya FALSE. Flaglar üçün istifadə olunur (məsələn, tamamlanıb/yoxdur). TRUE, FALSE

Uyğun data tipini seçmək

  • Əgər ədəd saxlayırsansa – INTEGER istifadə et.
  • Məhdud uzunluqlu sətirlər üçün – VARCHAR(n) seçmək daha yaxşıdır.
  • Məhdudiyyətsiz mətn üçün – TEXT istifadə et.
  • Tarix və vaxt üçün DATE və ya TIMESTAMP istifadə et.

Nümunə: courses cədvəli yaradırıq

Tutaq ki, bazada kurslar haqqında da məlumat saxlamaq lazımdır. Hər kursun aşağıdakı sahələri var:

  • id: unikal identifikator;
  • name: kursun adı (maksimum 100 simvol sətir);
  • description: kursun təsviri (uzun mətn);
  • start_date: kursun başlama tarixi.

SQL kodu:

CREATE TABLE courses (
    id SERIAL PRIMARY KEY,      -- kursun unikal ID-si
    name VARCHAR(100),          -- kursun adı
    description TEXT,           -- təsviri
    start_date DATE             -- start tarixi
);

Praktiki tapşırıq

İndi isə sənin növbəndir cədvəl yaratmağa! Tapşırıq belədir:

  1. teachers cədvəlini yarat:
    • id: unikal identifikator.
    • name: müəllimin adı (maksimum 50 simvol sətir).
    • subject: o, hansı fənni tədris edir (maksimum 50 simvol sətir).
    • hire_date: işə qəbul tarixi.

İcra üçün kod nümunəsi:

CREATE TABLE teachers (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50),
    subject VARCHAR(50),
    hire_date DATE
);

İcra etdikdən sonra \d teachers komandasını psql-də istifadə et ki, cədvəlin yaradıldığından əmin olasan.

Cədvəl yaradanda tipik səhvlər

Cədvəllərlə işləməyə başlayanda səhvlər ola bilər. Budur, bir neçə tipik vəziyyət:

Cədvəl və ya sütun adında səhv. PostgreSQL-də adlar böyük-kiçik hərf fərqini nəzərə almır, amma əgər adları " ilə yazırsansa, diqqətli olmalısan. Məsələn, CREATE TABLE "MyTable" "MyTable" adlı cədvəl yaradır, amma mytable onun adı kimi tanınmır.

Yanlış data tipi. Əgər mövcud olmayan data tipi göstərsən, sorğu səhvlə bitəcək.

CREATE TABLE example (
    column1 STRANGE_TYPE
);

Bu sorğu icra olunmayacaq, çünki STRANGE_TYPE mövcud deyil.

PRIMARY KEY unutmaq. Əgər əsas açarı əlavə etməyi unutsan, cədvəl yaradılacaq, amma sətrləri identifikasiya etmək çətin olacaq.

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