0Pricing
SQL Academy · Ders

Veri Türlerine Genel Bakış: INT VARCHAR DATE BOOLEAN

Temel SQL veri türlerini öğrenin: tam sayılar, varchar/text, tarihler ve zaman damgaları, boolean değerleri ve ondalık sayılar; her sütun için doğru türü seçin.

Veri Türlerine Genel Bakış: INT VARCHAR DATE BOOLEAN, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.

Türler Neden Önemlidir?

Her sütunun sabit bir türü vardır. Tür şunları belirler:

  • Hangi değerlerin geçerli olduğunu
  • Her satırın ne kadar depolama alanı kullandığını
  • Hangi işleçlerin ve işlevlerin uygulanabileceğini
  • Planlayıcının dizinleri ve birleştirmeleri nasıl seçtiğini

Tamsayı Türleri

PostgreSQL'in üç tamsayı boyutu vardır:

SMALLINT  -- 2 bytes,  -32768 to 32767
INTEGER   -- 4 bytes,  ±2.1 billion       (alias: INT)
BIGINT    -- 8 bytes,  ±9.2 quintillion

-- Auto-incrementing variants:
SMALLSERIAL  BIGSERIAL  SERIAL

Sayısal / Ondalık

Para ve kesin ondalık değerler için NUMERIC(precision, scale) kullanın — hiçbir zaman FLOAT kullanmayın.

CREATE TABLE invoices (
  id BIGSERIAL PRIMARY KEY,
  amount NUMERIC(12, 2) NOT NULL,   -- up to 10 digits + 2 decimals
  tax_rate NUMERIC(5, 4) NOT NULL   -- 0.0875 = 8.75%
);

FLOAT ve NUMERIC Karşılaştırması

REAL (4 bayt) ve DOUBLE PRECISION (8 bayt) kesin değildir — ikili kesirleri yuvarlarlar. Bilimsel hesaplamalar için uygundur, para içinse berbat bir seçimdir.

-- Inexact:
SELECT 0.1::FLOAT + 0.2::FLOAT;   -- 0.30000000000000004

-- Exact:
SELECT 0.1::NUMERIC + 0.2::NUMERIC;  -- 0.3

Metin Türleri: VARCHAR ve TEXT

PostgreSQL'in iki temel metin türü vardır:

-- VARCHAR(n) — variable-length, max n characters
email VARCHAR(255)

-- TEXT — variable-length, no declared limit
description TEXT

-- In PostgreSQL both have the same performance.
-- VARCHAR(n) just adds a length check.
-- CHAR(n) (fixed-length, blank-padded) — avoid.

Tarih ve Saat

Tarihleri dizge olarak saklamak yerine tarih/saat türlerini kullanın:

DATE         -- 2024-03-15
TIME         -- 14:30:00
TIMESTAMP    -- 2024-03-15 14:30:00      (no time zone)
TIMESTAMPTZ  -- 2024-03-15 14:30:00+02   (recommended)
INTERVAL     -- 1 day, 3 hours

-- Prefer TIMESTAMPTZ unless you have a strong reason not to.

BOOLEAN

BOOLEAN, TRUE, FALSE veya NULL değerlerini saklar.

CREATE TABLE tasks (
  id BIGSERIAL PRIMARY KEY,
  done BOOLEAN NOT NULL DEFAULT false
);

SELECT * FROM tasks WHERE done;        -- shorthand for done = true
SELECT * FROM tasks WHERE NOT done;

UUID

Küresel olarak benzersiz tanımlayıcılar için:

CREATE TABLE api_keys (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  user_id BIGINT NOT NULL,
  created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);

JSON ve JSONB

Yarı yapılandırılmış belgeler için:

-- JSON   — text, preserves whitespace, no index
-- JSONB  — binary, deduplicated keys, indexable with GIN

CREATE TABLE events (
  id BIGSERIAL PRIMARY KEY,
  payload JSONB NOT NULL
);

Diziler

PostgreSQL sütunları, herhangi bir temel türün dizileri olabilir:

CREATE TABLE posts (
  id BIGSERIAL PRIMARY KEY,
  title TEXT NOT NULL,
  tags TEXT[] NOT NULL DEFAULT '{}'
);

INSERT INTO posts (title, tags) VALUES
  ('Hello', ARRAY['sql', 'intro']);

SELECT * FROM posts WHERE 'sql' = ANY(tags);

Doğru Türü Seçme

Pratik kurallar:

  • Para → NUMERIC (hiçbir zaman FLOAT değil)
  • ID'ler → BIGSERIAL veya UUID
  • Tarihler → olaylar için TIMESTAMPTZ, takvim günleri için DATE
  • Kısa kodlar → VARCHAR(n); uzun metin → TEXT
  • Bayraklar → BOOLEAN

Özet

İhtiyacınızı karşılayan en dar türü seçin.

  • Doğru türler = daha küçük dizinler, daha iyi istatistikler, daha az hata
  • Kesin ondalık değerler için NUMERIC
  • Olay zaman damgaları için TIMESTAMPTZ
  • Tür bilgisi olan verileri dizge olarak saklamaktan kaçının — doğrulamayı ve dizinlemeyi kaybedersiniz

Hızlı Kontrol

Bir ürünün fiyatını saklamanız gerekiyor. Hangi türü seçmelisiniz?

Sıkça Sorulan Sorular

“Veri Türlerine Genel Bakış: INT VARCHAR DATE BOOLEAN” dersi ücretsiz mi?

Evet — “Veri Türlerine Genel Bakış: INT VARCHAR DATE BOOLEAN” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.

“Veri Türlerine Genel Bakış: INT VARCHAR DATE BOOLEAN” dersinde ne öğreneceğim?

Temel SQL veri türlerini öğrenin: tam sayılar, varchar/text, tarihler ve zaman damgaları, boolean değerleri ve ondalık sayılar; her sütun için doğru türü seçin. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

SQL Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Veri Türlerine Genel Bakış: INT VARCHAR DATE BOOLEAN” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. RDBMS Nedir ve Tablolar Neden Önemlidir
  2. Birincil Anahtarlar ve Benzersizlik
  3. NULL: Üçüncü Doğruluk Değeri
  4. Veri Türlerine Genel Bakış: INT VARCHAR DATE BOOLEAN
← SQL Academy Sayfasına Dön