Veritabanı Nedir? Ne İşe Yarar?
Veritabanı nedir, neden dosya yerine veritabanı kullanırız? Tablo, satır, sütun kavramları, SQL ve NoSQL farkı ve basit bir SQL örneği.

Veritabanı Nedir? Ne İşe Yarar?
Instagram'daki gönderilerin, e-ticaret sitesindeki ürünlerin ve okul sistemindeki notların hepsi bir yerde saklanır: veritabanında.
Okuma süresi: 3-5 dakika Seviye: Başlangıç Konu: Veritabanı, tablo, SQL
İçindekiler
- Veritabanı nedir?
- Dosya yerine neden veritabanı?
- Tablo, satır ve sütun
- SQL nedir?
- SQL ve NoSQL farkı
- İlişkiler
- Güvenlik
- Sık sorulan sorular
1. Veritabanı nedir?
Veritabanı (database), verilerin düzenli, kalıcı ve kolay erişilebilir şekilde saklandığı sistemdir. Verileri yönetmek için kullanılan yazılıma da DBMS (Veritabanı Yönetim Sistemi) denir.
2. Dosya yerine neden veritabanı?
Bir Excel veya metin dosyası küçük işler için yeterlidir. Ancak veri büyüdükçe sorun çıkar:
- Milyonlarca kaydı hızlı aramak zorlaşır.
- Aynı anda birçok kişi güvenli şekilde çalışamaz.
- Veri tutarlılığını korumak zordur.
- Yetkilendirme ve yedekleme sınırlıdır.
Veritabanı bu sorunları çözmek için tasarlanmıştır.
3. Tablo, satır ve sütun
İlişkisel veritabanlarında veri tablolarda tutulur.
| id | ad | sinif | not |
|---|---|---|---|
| 1 | Ayşe | 9-A | 85 |
| 2 | Mehmet | 9-B | 70 |
| 3 | Zeynep | 9-A | 92 |
- Tablo: Öğrenciler gibi bir konu başlığı.
- Satır (kayıt): Tek bir öğrenciye ait bilgiler.
- Sütun (alan): ad, sinif gibi bir özellik.
- Birincil anahtar (primary key): Her kaydı benzersiz kılan alan, burada
id.
4. SQL nedir?
SQL, ilişkisel veritabanlarıyla konuşmak için kullanılan sorgu dilidir. Birkaç temel komut:
-- Tüm öğrencileri getir
SELECT * FROM ogrenciler;
-- 9-A sınıfındakileri getir
SELECT ad, not FROM ogrenciler WHERE sinif = '9-A';
-- Yeni kayıt ekle
INSERT INTO ogrenciler (ad, sinif, not) VALUES ('Can', '9-B', 78);
-- Kaydı güncelle
UPDATE ogrenciler SET not = 80 WHERE id = 2;
-- Kaydı sil
DELETE FROM ogrenciler WHERE id = 3;
Dikkat: UPDATE ve DELETE komutlarında WHERE yazmayı unutursan tüm kayıtlar etkilenir.
5. SQL ve NoSQL farkı
| Özellik | SQL (ilişkisel) | NoSQL |
|---|---|---|
| Yapı | Tablolar | Doküman, anahtar-değer vb. |
| Şema | Genellikle sabit | Genellikle esnek |
| Örnekler | MySQL, PostgreSQL, SQLite | MongoDB, Redis |
| Uygun kullanım | Düzenli, ilişkili veri | Esnek ve büyük ölçekli veri |
Hangisi daha iyi diye bir kural yoktur; ihtiyaca göre seçilir. Başlangıç için SQLite veya MySQL iyi bir seçimdir.
6. İlişkiler
Veriler birbiriyle bağlantılı olabilir. Örneğin her sipariş bir müşteriye aittir. Bunun için bir tablodaki musteri_id alanı, başka bir tablodaki id değerine işaret eder (yabancı anahtar). Böylece aynı bilgiyi tekrar tekrar yazmak zorunda kalmazsın.
7. Güvenlik
- Parolaları düz metin olarak asla saklama; hash'leyerek sakla.
- Kullanıcıdan gelen veriyi doğrudan SQL'e yapıştırma (SQL Injection riski). Parametreli sorgu kullan.
- Düzenli yedek al.
- Yalnızca gereken kişilere erişim yetkisi ver.
8. Sık sorulan sorular
Veritabanı öğrenmek için programlama bilmeli miyim?
SQL'in temellerini programlamadan bağımsız öğrenebilirsin.
Hangi veritabanıyla başlamalıyım?
SQLite kurulum gerektirmediği için denemek için çok uygundur.
Veritabanı ile Excel arasındaki fark nedir?
Excel kişisel analiz için uygundur; veritabanı çok kullanıcılı, büyük ve güvenli sistemler için tasarlanmıştır.
Özet
| Terim | Anlamı |
|---|---|
| Veritabanı | Düzenli veri deposu |
| Tablo | Konuya göre veri grubu |
| SQL | Veritabanı sorgu dili |
| Primary key | Benzersiz kayıt kimliği |
Kendini dene
- Bir öğrenci tablosu çiz: en az 4 sütun düşün.
- SQLite ile bir tablo oluştur.
- SELECT ile kayıt getir.
- WHERE ile filtre uygula.
- Tablolar arasında ilişkiyi kâğıtta çiz.
Son söz: Veritabanı, uygulamaların hafızasıdır. SQL'in birkaç komutunu bilmek bile yazılım dünyasında sana büyük avantaj sağlar.
Bu yazı eğitim amaçlıdır. Ayrıntılar sürüme ve işletim sistemine göre farklılık gösterebilir.



