- Katılım
- 7 Nis 2025
- Konular
- 367
- Mesajlar
- 780
- Çözümler
- 1
- Tepkime puanı
- 121
- Puan
- 93
- Konum
- İstanbul
- Web sitesi
- forumagel.com
Hazır Kod Bankası - Konu 6: Veritabanı (Database) Temelleri
Hazır Kod Bankası Serimizin Altıncı ve Son Konusu: Veritabanları!
Merhaba arkadaşlar! Serimizde HTML, CSS, Excel VBA, Visual Basic .NET ve PHP gibi farklı alanlara giriş yaptık. Şimdi tüm bu alanlarda (veya tek başına bile) bilginin düzenli ve kalıcı olarak saklanması için kritik öneme sahip olan bir konuya, Veritabanları (Databases)'ne geliyoruz.
Veritabanları, bilginin yapılandırılmış bir şekilde depolandığı, yönetildiği ve hızlı bir şekilde erişildiği sistemlerdir. İster bir web sitesinin kullanıcı listesi olsun, ister bir e-ticaret sitesinin ürün kataloğu, bir bankanın hesap bilgileri veya bir forumun tüm mesajları olsun, bu tür büyük ve ilişkili veri kümeleri veritabanlarında saklanır. Veritabanları, veri tekrarını azaltır, veri tutarlılığını sağlar ve bilgilere etkili bir şekilde sorgulama yapma imkanı sunar.
Bu konuda veritabanlarının temel kavramlarını (tablo, satır, sütun vb.) ve veritabanlarıyla etkileşim kurmak için kullanılan standart dil olan SQL (Structured Query Language - Yapısal Sorgu Dili)'in en temel komutlarını göreceğiz.
1. Veritabanı Nedir ve Neden Gereklidir?
En basit tanımıyla veritabanı, birbiriyle ilişkili bilgilerin düzenli bir şekilde toplandığı yerdir. Geleneksel dosyalarda (Excel, metin dosyaları gibi) veri saklamanın aksine, veritabanları:
- Yapılandırılmıştır: Veri belirli kurallara göre (tablolar, sütunlar) organize edilir.
- Kalıcıdır: Uygulama kapansa bile veri saklanır.
- Erişilebilirdir: Belirli sorgularla istenen verilere hızlıca ulaşılır.
- Yönetilebilirdir: Veriyi eklemek, silmek, güncellemek veya değiştirmek kolaydır.
- Bütünlüğü Korur: Veri tekrarını önler ve ilişkiler kurarak bilginin tutarlı kalmasını sağlar.
2. Temel Veritabanı Kavramları (İlişkisel Model)
En yaygın veritabanı türü İlişkisel Veritabanlarıdır (Relational Databases). Bunlar veriyi tablolar halinde saklar. Bir tabloyu basitçe bir Excel sayfasına benzetebiliriz:
- Tablo (Table): Belirli bir türdeki verileri (örn: Kullanıcılar tablosu, Ürünler tablosu) içeren ana yapıdır. Satırlardan ve sütunlardan oluşur.
- Satır (Row / Record): Tablodaki tek bir kayıttır. Örneğin "Kullanıcılar" tablosundaki bir satır, tek bir kullanıcının tüm bilgilerini içerir (adı, e-postası, yaşı vb.).
- Sütun (Column / Field): Tablodaki belirli bir veri alanıdır. Örneğin "Kullanıcılar" tablosunda "Ad", "E-posta", "Yaş" gibi sütunlar olabilir. Her sütun belirli bir veri tipini (metin, sayı, tarih vb.) tutar.
- Birincil Anahtar (Primary Key): Bir tablodaki her satırı benzersiz olarak tanımlayan bir veya daha fazla sütundur. Genellikle otomatik artan sayılar (ID) primary key olarak kullanılır (örn: Kullanıcı ID'si 1 olan sadece bir kişi olabilir). İlişkiler kurmak için çok önemlidir.
- İlişki (Relationship): Tablolar arasındaki mantıksal bağdır. Örneğin, "Kullanıcılar" tablosu ile "Siparişler" tablosu arasında bir ilişki kurulur. Bu ilişki sayesinde "kimin hangi siparişi verdiği" gibi bilgilere ulaşılır. En yaygın ilişki türü "Bire Çok"tur (Bir kullanıcı birden çok sipariş verebilir).
3. Veritabanlarının Dili: SQL
Veritabanları ile iletişim kurmak, yani veri eklemek, silmek, güncellemek veya en sık yapılan işlem olan veri okumak/sorgulamak için SQL (Structured Query Language) adı verilen standart bir dil kullanılır. Çoğu veritabanı sistemi (MySQL, PostgreSQL, SQL Server, Oracle vb.) SQL dilini destekler.
4. En Temel SQL Komutu: SELECT (Veri Sorgulama)
Veritabanlarından bilgi almak için `SELECT` komutu kullanılır.
a) Tablodaki Tüm Verileri Seçme:
[SQL]
SELECT * FROM tablo_adi;
[/SQL]
Açıklama: `*` (yıldız) tablodaki tüm sütunları seç demektir. `FROM` hangi tablodan veri çekileceğini belirtir.
Örnek: `SELECT * FROM Kullanicilar;` (Kullanicilar tablosundaki tüm sütunlardaki tüm veriyi getirir.)
b) Tablodan Belirli Sütunları Seçme:
[SQL]
SELECT sutun1, sutun2 FROM tablo_adi;
[/SQL]
Açıklama: Sadece istediğiniz sütunların adını virgülle ayırarak yazarsınız.
Örnek: `SELECT Ad, Eposta FROM Kullanicilar;` (Kullanicilar tablosundan sadece Ad ve Eposta sütunlarındaki veriyi getirir.)
c) Tekrarlayan Değerleri Kaldırma (DISTINCT): Bir sütundaki yalnızca benzersiz değerleri almak için kullanılır.
[SQL]
SELECT DISTINCT Sehir FROM Kullanicilar;
[/SQL]
Açıklama: Kullanicilar tablosunda hangi şehirlerin olduğunu, tekrar edenleri göstermeden listeler.
5. Verileri Filtreleme: WHERE Komutu
`WHERE` komutu, `SELECT` sorgusuna koşul ekleyerek sadece belirli şartlara uyan satırları almanızı sağlar.
[SQL]
SELECT sutunlar FROM tablo_adi WHERE kosul;
[/SQL]
Açıklama: `kosul` kısmına filtreleme kriterinizi yazarsınız.
Koşullarda Kullanılan Bazı Operatörler:
- `=` : Eşittir
- `>` : Büyüktür
- `<` : Küçüktür
- `>=` : Büyük veya eşittir
- `<=` : Küçük veya eşittir
- `!=` veya `<>` : Eşit değildir
- `LIKE` : Belirli bir desene uyanları seçme (örn: `WHERE Ad LIKE 'A%'` - A ile başlayan adlar)
- `AND` : İki koşulun da doğru olması
- `OR` : İki koşuldan birinin doğru olması
- `NOT` : Koşulun tersi
Örnekler:
[SQL]
-- Yaşı 30'dan büyük kullanıcıları seç
SELECT Ad, Yas FROM Kullanicilar WHERE Yas > 30;
-- Şehri 'İstanbul' olan kullanıcıları seç
SELECT * FROM Kullanicilar WHERE Sehir = 'İstanbul';
-- Yaşı 25'ten küçük VEYA şehri 'Ankara' olan kullanıcıları seç
SELECT Ad, Sehir, Yas FROM Kullanicilar WHERE Yas < 25 OR Sehir = 'Ankara';
-- Adı 'A' ile başlayan kullanıcıları seç
SELECT Ad, Soyad FROM Kullanicilar WHERE Ad LIKE 'A%';
[/SQL]
Not: Metin değerleri koşullarda genellikle tek tırnak içine yazılır.
Bu sadece SQL'in ve veritabanlarının buz dağının görünen kısmıdır. Veri ekleme (`INSERT INTO`), güncelleme (`UPDATE`), silme (`DELETE`), tablo oluşturma (`CREATE TABLE`) gibi birçok komut ve daha karmaşık sorgulama yöntemleri (JOIN, GROUP BY vb.) bulunmaktadır.
Sıra Sizde!
Veritabanı kavramları kafanızda netleşti mi? SQL komutlarının ne işe yaradığını anladınız mı? İnternetteki "SQL Tryit Editor" gibi araçları kullanarak basit `SELECT` ve `WHERE` sorguları yazmayı deneyebilirsiniz.
Veritabanları, tablolar, sütunlar, satırlar veya SQL komutları hakkında aklınıza takılan soruları bu konu altında sorabilirsiniz.
Hazır Kod Bankası Serisinin İlk Fazının Sonu!
Bu konu ile "Hazır Kod Bankası" serimizin başlangıçta planladığımız HTML, CSS, Excel VBA, Visual Basic (.NET), PHP ve Veritabanı temellerini kapsayan ilk fazını tamamlamış oluyoruz.
Umarım bu seri, yazılım dünyasına adım atmanız için sizlere bir başlangıç noktası sunmuş, farklı alanlara bir pencere açmış ve kod yazmaya karşı heyecanınızı artırmıştır. Bu serideki bilgiler, daha derinlemesine öğrenmek isteyeceğiniz alanları belirlemenize yardımcı olacaktır.
Serinin Geleceği ve Katkılarınız
Bu seri, sizlerden gelen geri bildirimler ve talepler doğrultusunda devam edebilir. Örneğin, ele aldığımız konuların daha ileri seviyelerine dalabilir (ileri CSS teknikleri, PHP ile veritabanı bağlantısı örnekleri, VB.NET ile dosya işlemleri, SQL'de JOIN komutları vb.) veya hiç değinmediğimiz yeni konulara (JavaScript, Python, mobil geliştirme temelleri, farklı veritabanı türleri gibi) giriş yapabiliriz.
Lütfen yorumlarınızda seriyi nasıl bulduğunuzu, en çok hangi konudan faydalandığınızı ve gelecekte hangi konuları görmek istediğinizi belirtin.
Bu seriye gösterdiğiniz ilgi ve katılımınız için hepinize teşekkür ederim! Birlikte öğrenmek ve paylaşmak harikaydı.
Başka serilerde veya bu serinin devamında görüşmek üzere! Kodla kalın!
Bu konu, "Hazır Kod Bankası" serisinin altıncı ve ilk fazının son parçasıdır ve "Yazılım Bilgi ve Yeni Başlayanlar İçin" kategorisi altında paylaşılmıştır.