SQL veri tabanı nasıl oluşturulur ?

Najeti

Global Mod
Global Mod
SQL Veri Tabanı Oluşturma Macerası: Kodların Arasında Kaybolmadan Düzen Kurmak

Bir gün bilgisayarımın karşısına geçtim ve kendime dedim ki: “Bugün hayatımı düzene sokacağım.” Büyük bir hedef gibi duruyor, değil mi? Sonra fark ettim ki masaüstümde aynı isimle kaydedilmiş 17 tane “son_liste.xlsx” dosyası var. İşte o an anladım: İnsan hayatında bile veri tabanı mantığına ihtiyaç duyuyor olabilir. Çünkü düzensiz bilgi, tıpkı çekmecede birbirine dolanmış kablolar gibidir; aradığınız şeyi bulana kadar sabrınız emekli olur.

SQL veri tabanı oluşturmak da aslında bilgileri akıllıca düzenleme sanatıdır. Birçok kişi SQL kelimesini görünce sanki bilgisayar ekranında gizemli sembollerle çalışan bir hacker dünyasına giriyormuş gibi hisseder. Oysa temel mantık oldukça basittir: Bilgileri saklamak, düzenlemek, aramak ve gerektiğinde hızlıca kullanmak.

Peki gerçekten iyi bir veri tabanı nasıl oluşturulur? Gelin bu süreci biraz teknik, biraz eğlenceli ve bolca gerçek hayat örnekleriyle inceleyelim.

Veri Tabanı Nedir? Önce Evimizi Düzenleyelim

Bir veri tabanını büyük ve düzenli bir arşiv odası gibi düşünebiliriz. Fakat bu odada klasörler yerine tablolar, dosyalar yerine kayıtlar bulunur.

Örneğin bir online alışveriş sitesi düşünelim. Bu sitenin müşterileri, ürünleri, siparişleri ve ödeme bilgileri vardır. Eğer bütün bilgiler tek bir devasa Excel dosyasına yazılsaydı kısa sürede kaos başlardı.

Bir müşterinin adı değiştiğinde nereden değiştirecektik? Aynı ürün yüzlerce kez tekrarlandıysa stok bilgisini nasıl güncelleyecektik? İşte SQL veri tabanları bu karmaşayı önlemek için ortaya çıkar.

SQL (Structured Query Language), yani Yapılandırılmış Sorgu Dili, veri tabanlarıyla konuşmamızı sağlayan bir dildir. Bilgisayara “şu bilgiyi getir”, “bunu ekle”, “şunu güncelle” gibi komutlar vermemizi sağlar.

Bir anlamda SQL, insan ile veri dünyası arasındaki tercümandır.

İlk Adım: Veri Tabanı Planlamak ve Strateji Kurmak

İyi bir veri tabanı oluşturmanın ilk kuralı hemen kod yazmaya başlamamaktır. Evet, kulağa garip geliyor ama bazen en iyi başlangıç klavyeye dokunmamaktır.

Bir mimar nasıl bina yapmadan önce proje çizerse, veri tabanı uzmanı da önce yapıyı planlar.

Örneğin bir kütüphane sistemi tasarlayalım:

- Kitaplar

- Üyeler

- Ödünç alma işlemleri

- Yazar bilgileri

Bu bilgileri nasıl ayıracağımıza karar vermeliyiz.

Burada farklı insanların farklı düşünme biçimleri devreye girebilir. Bazı kişiler problemi daha çok çözüm odaklı ve stratejik ele alabilir; önce sistemin nasıl çalışacağını, hangi tabloların gerekli olduğunu ve gelecekte nasıl büyüyeceğini planlar. Bazıları ise kullanıcı deneyimine, insanların bu sistemi nasıl kullanacağına ve ihtiyaçların nasıl değişeceğine daha fazla odaklanabilir.

Örneğin bir yazılım ekibinde Mehmet, “Bu tablo yapısı ileride milyonlarca kaydı kaldırabilir mi?” diye düşünürken, Elif “Kütüphaneci bu ekranı kullanırken zorlanır mı?” diye sorabilir. Burada amaç birinin diğerinden üstün olması değil, farklı bakış açılarını birleştirerek daha güçlü bir sistem oluşturmaktır.

Çünkü iyi veri tabanları sadece bilgisayarları değil, insanları da düşünür.

SQL Veri Tabanı Oluşturma: İlk Komutlarla Tanışma

Bir SQL veri tabanı oluşturmak için kullanılan temel komutlardan biri CREATE DATABASE komutudur.

Örneğin:

CREATE DATABASE Kutuphane;

Bu komut “Kutuphane” isimli yeni bir veri tabanı oluşturur.

Daha sonra bu veri tabanının içinde tablolar oluşturulur.

Örneğin:

CREATE TABLE Kitaplar (

KitapID INT PRIMARY KEY,

KitapAdi VARCHAR(100),

Yazar VARCHAR(100),

YayimYili INT

);

Burada bir kitap tablosu oluşturduk. Tablo içinde kitabın kimliği, adı, yazarı ve yayın yılı gibi bilgiler tutuluyor.

Buradaki PRIMARY KEY kısmı oldukça önemlidir. Çünkü her kaydın benzersiz olmasını sağlar.

Bir bakıma veri tabanının “kimlik kontrol noktasıdır.” Eğer herkes aynı kimlikle sisteme girseydi büyük bir karışıklık yaşanırdı.

Tablolar Arası İlişkiler: Veri Dünyasının Arkadaşlık Haritası

SQL veri tabanlarının en güçlü özelliklerinden biri tablolar arasındaki ilişkilerdir.

Gerçek hayatta da bilgiler birbirinden tamamen bağımsız değildir.

Bir öğrenci vardır, o öğrencinin dersleri vardır. Bir müşteri vardır, onun siparişleri vardır. Bir doktor vardır, onun hastaları vardır.

SQL dünyasında bu bağlantılar FOREIGN KEY kullanılarak oluşturulur.

Örneğin:

Müşteriler tablosu:

- MusteriID

- Ad

- Soyad

Siparişler tablosu:

- SiparisID

- MusteriID

- Tarih

Burada MusteriID iki tabloyu birbirine bağlar.

Bunu arkadaş grubu gibi düşünebiliriz. Herkes kendi hayatına sahiptir ama bazı noktalar onları birbirine bağlar. Veri tabanları da aynı mantıkla çalışır.

Normalizasyon: Veri Tabanının Dağınık Odasını Toplamak

Yeni başlayanların sık yaptığı hatalardan biri bilgileri gereksiz şekilde tekrar etmektir.

Örneğin:

Sipariş tablosuna sürekli müşterinin adı, adresi, telefon numarası yazılırsa veri tekrarı oluşur.

Bir müşterinin telefon numarası değiştiğinde yüzlerce kaydı güncellemek gerekir.

Normalizasyon sayesinde bilgiler daha düzenli hale getirilir.

Amaç şudur:

- Gereksiz tekrarları azaltmak

- Veri bütünlüğünü korumak

- Güncelleme işlemlerini kolaylaştırmak

Kısacası veri tabanı da tıpkı bir ev gibidir. Her şeyi aynı odaya doldurursanız zamanla hareket edecek yer kalmaz.

Gerçek Hayattan Bir Deneyim: Küçük Hatalar Büyük Sorunlara Dönüşebilir

Bir yazılım projesinde en sık karşılaşılan sorunlardan biri kötü tasarlanmış veri tabanıdır.

Başlangıçta küçük görünen hatalar büyüdükçe ciddi problemlere dönüşür.

Örneğin bir restoran uygulamasında müşterilerin sipariş bilgileri yanlış yapılandırılmışsa:

- Aynı sipariş iki kez görünebilir.

- Stok bilgisi yanlış hesaplanabilir.

- Müşteri geçmişi kaybolabilir.

Bu yüzden veri tabanı oluştururken sadece “bugün çalışıyor mu?” diye bakmak yeterli değildir.

Asıl soru şudur:

“Altı ay sonra sistem büyüdüğünde hâlâ sağlıklı çalışacak mı?”

İşte profesyonel veri tabanı tasarımını amatör çalışmalardan ayıran nokta budur.

SQL Öğrenirken Yapılan Komik Hatalar

SQL öğrenen hemen herkesin başına gelen birkaç klasik durum vardır.

Birincisi, yanlışlıkla bütün verileri silme korkusu.

DELETE komutunu yazarken insanın eli bazen titrer. Çünkü tek bir yanlış satır binlerce kaydı etkileyebilir.

İkincisi, tablo isimlerini karıştırmaktır.

Bir gün “kullanicilar” diye tablo oluşturursunuz, ertesi gün neden “users” yazdığınızı hatırlamazsınız.

Üçüncüsü ise veri tabanıyla konuşmaya çalışmaktır.

Yeni başlayan bazı kişiler SQL sorgusu çalışmadığında bilgisayara bakıp “Ama ben sana ne istediğimi açıkça anlattım!” diye söylenebilir.

Aslında bu çok normaldir. Çünkü SQL sabırlı bir öğretmen gibidir. Hata yaptığınızda kızmaz, sadece “Bunu biraz daha doğru anlatır mısın?” der.

Güvenli ve Profesyonel Veri Tabanı İçin Önemli Noktalar

İyi bir SQL veri tabanı oluşturmak için sadece tabloları kurmak yeterli değildir.

Dikkat edilmesi gereken bazı noktalar vardır:

- Düzenli yedekleme yapılmalıdır.

- Kullanıcı yetkileri doğru ayarlanmalıdır.

- Hassas bilgiler korunmalıdır.

- Performans için indeksler kullanılmalıdır.

- Veri doğrulama kuralları oluşturulmalıdır.

Örneğin bir banka sistemi düşünelim. Müşteri bilgileri sadece düzenli tutulmakla kalmaz, aynı zamanda güvenlik açısından da korunmalıdır.

Veri tabanı uzmanlığı biraz da güvenilir bir kasiyer, dikkatli bir arşivci ve iyi bir organizasyon yöneticisinin birleşimi gibidir.

Sonuç: SQL Sadece Kod Değil, Düzenli Düşünme Sanatıdır

SQL veri tabanı oluşturmak aslında bilgisayara tablo yaptırmaktan çok daha fazlasıdır. Bu süreç, bilgiyi anlamayı, ihtiyaçları analiz etmeyi ve geleceği planlamayı gerektirir.

İyi bir veri tabanı, görünmeyen ama her şeyi ayakta tutan bir iskelet gibidir. Kullanıcı çoğu zaman onu fark etmez; fakat sistem hızlı, düzenli ve güvenilir çalışıyorsa arka planda doğru bir yapı vardır.

Belki de en güzel soru şudur:

“Hayatımızdaki bilgileri bile düzenlemekte zorlanırken, milyonlarca veriyi yöneten sistemleri nasıl oluşturuyoruz?”

Cevap aslında basit: Planlama, sabır, doğru araçlar ve sürekli öğrenme.

SQL öğrenen biri sadece bir programlama dili öğrenmez. Aynı zamanda karmaşık dünyaları düzenleme becerisi kazanır.

Ve belki de en eğlenceli tarafı şudur: Bir gün bilgisayarınızdaki dağınık dosyaları düzenlerken bile içinizden “Buna küçük bir veri tabanı kursam daha iyi olurdu” diye geçirebilirsiniz.
 
Üst