Neler yeni

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Merhaba Değerli Ziyaretçimiz, ForumaGel ailesi seni bekliyor! 🌟 Aramıza katılarak güçlü ve samimi topluluğumuzun bir parçası olabilirsin. Burada her üye değerli, her katkı kıymetli. Şimdi üye ol, bizimle birlikte gelişmenin ve keyifli sohbetlerin tadını çıkar! Sevgi ve Saygılarla, ForumaGel Yönetimi ❤️
Yan Yana Banner
Yan Yana Banner
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.
Web uygulamaları (örn: PHP ile yazdıklarınız), mobil uygulamalar veya masaüstü yazılımları genellikle kullanıcı, ürün, sipariş gibi verileri saklamak için bir veritabanına ihtiyaç duyar.

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.
 

Şu an konuyu görüntüleyenler

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

Zevkini yansıtan rengi seç

Geniş / Dar görünüm

Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

Izgara görünümlü forum listesi

Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

Resimli ızgara modu

Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

Kenar çubuğunu kapat

Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

Sabit kenar çubuğu

Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

Köşe kıvrımlarını kapat

Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

Geri