Limonatacının sipariş defteri: ilk veritabanın
The lemonade stand order book
Bu derste neler öğreneceksin
- Postgres i Dockerda calistirir
- Ilk tabloyu olusturur
- Ilk 5 satiri ekler
Limonatacının Defteri: İlk Veritabanın
Bir zamanlar küçük bir limonatacı varmış. Adı Elif. İlk hafta elinde bir okul defteri vardı. İçinde tek sayfa açık: “Müşteri — Ne içti — Kaç TL”. Beş müşteri yazmıştı. Kolaydı.
Sonra Instagram’dan sipariş gelmeye başladı. Defter yetmedi. Elif bir Excel açtı, sonra o da yetersiz kaldı. “Bir bilgisayar programı kursam mı?” dedi. Programcı ablası gülümsedi: “Sana veritabanı lazım.”
Veritabanı, büyük bir dijital defter. İçinde tablolar var, her tabloda satırlar ve sütunlar var. İstersen bin satır, istersen milyon satır — hiç yorulmaz. Biz de bugün Elif’in ilk veritabanını kuracağız.
Veritabanı = Dijital Defter
Düşün: gerçek defterde sayfalar, her sayfada satırlar, her satırda hücreler var. Veritabanında da tablo sayfaların karşılığı, satır bir kayıt, sütun ise o kayıdın bir özelliği (isim, fiyat, tarih gibi). Bugünkü hedefimiz: bir tane tablo açıp içine 5 müşteri yazmak.
Postgres’i Docker’da Çalıştır
Veritabanı programına Postgres diyoruz (adı “post-gress” gibi okunur). Onu bilgisayarına normal program gibi kurmak zor. Ama bizde var: Docker. Hatırla: Docker yemek kutusu gibidir, içinde her şey hazır gelir.
Terminali aç ve şunu yaz:
docker run -it \
-e POSTGRES_USER="elif" \
-e POSTGRES_PASSWORD="limonata" \
-e POSTGRES_DB="limonata_db" \
-p 5432:5432 \
postgres:18
Birkaç saniye bekle. Ekranda “database system is ready to accept connections” yazısını görünce veritabanın çalışıyor demektir. Tebrikler, ilk veritabanını kurdun!
Tablo Oluştur
Şimdi yeni bir terminal aç ve şunu yaz (ilk terminal çalışmaya devam edecek):
docker run -it --rm \
--network host \
postgres:18 \
psql -h localhost -U elif -d limonata_db
Şifre sorunca limonata yaz. Artık veritabanının içindesin. Psql diye bir komut satırı aracı bu. Burada SQL konuşuyoruz.
Önce müşteriler adında bir tablo açalım:
CREATE TABLE musteriler (
id SERIAL PRIMARY KEY,
isim TEXT NOT NULL,
icecek TEXT NOT NULL,
fiyat NUMERIC(5,2) NOT NULL,
tarih DATE NOT NULL DEFAULT CURRENT_DATE
);
Bu komut dedi ki: “Bana musteriler adlı bir tablo kur. İçinde 4 sütun olsun: id (otomatik artar), isim, içecek, fiyat, tarih.”
İlk 5 Satırı Ekle
Şimdi o defteri dolduralım:
INSERT INTO musteriler (isim, icecek, fiyat) VALUES
('Ayşe', 'Limonata', 25.00),
('Mehmet', 'Nane Limonata', 30.00),
('Zeynep', 'Çilekli Limonata', 35.00),
('Ali', 'Klasik Limonata', 25.00),
('Elif', 'Buzlu Limonata', 28.00);
Beş satır ekledin. Kontrol etmek için:
SELECT * FROM musteriler;
Ekranda bir tablo göreceksin. Tebrikler! İlk veritabanın hazır.
Küçük Ödev
- Bir satır daha ekle: kendi adınla, istediğin bir içecek, istediğin fiyat.
SELECT * FROM musteriler;çalıştır ve 6 satır gör.- Bir terminalde
docker psyaz. Orada “postgres” yazan bir kutu görmelisin. O senin veritabanın.