8 dk okuma

Derin Dalış: SQL ve İlişkisel Veri Tabanı Rehberi

3 Mart 202211:30

SQL Database (Veri Tabanı) Nedir?

Bir çoğumuz, yazılım geliştirme serüvenimizde SQL veritabanıyla çalıştık. Çalışmayanlar da, adını öyle ya da böyle mutlaka duymuştur. Structured Query Language yani Yapısal Sorgulama Dili anlamına gelen SQL, veritabanı ile etkileşim kurmak için kullanılan bir dil kabul edilir. İlişkisel veritabanı yönetim sistemleri (RDBMS) için standart dil kabul edilir.

SQL ifadeleri, CRUD olarak kısaltılan operasyonları (Create Read Update Delete) gerçekleştirebilmemizi sağlar. Bir veritabanındaki verileri okuma, veri oluşturma, veri güncelleme veya bir veritabanından veri silme gibi operasyonları gerçekleştirmek için kullanılır. İlişkisel veritabanı yönetim sistemlerinde önde gelen teknolojiler MSSQL, Oracle SQL, MySQL ve PostgreSQL örnek verilebilir.

İlişkisel Veri Tabanı (RDBMS) Nedir?

İlişkisel veri tabanı ya da RDBMS (Relational Database Management Systems); ilişkili verilerin birbirleriyle bağlantı kurularak tasarlanmasını sağlayan bir veri tabanı yönetim sistemidir. Veri tabanları, satır ve sütunları içeren tablolardan oluşur ve bu tablolar birbirleriyle bağlantı kurularak veri yönetimini sağlar.

SQL İfadeleri

SELECT anahtar kelimesi, veritabanındaki verileri sorgulamak ve belirttiğimiz kriterlere göre elde etmek için kullanılır. Select anahtar sözcüğünden sonra tablo adı yazılır, istenilen sonuçların hangi tabloda sorgulanacağını belirtir. WHERE anahtar kelimesinden sonra koşul eklenir. Bu koşula göre hangi verilerin ya da satırların döndürüleceğini belirtir. (İsteğe bağlı olarak, zorunlu değildir.)

Örnek SQL İfadeleri

sql
1SELECT "kolonAdi" FROM "tabloAdi" WHERE "koşul"

Bu SQL ifadesi, "ogrenciler" tablosunda "ogrenci_Adi" kolonu 'Mustafa' değerine eşit olan tüm satırları getirir.

sql
1SELECT * FROM ogrenciler WHERE ogrenci_Adi = 'Mustafa'

Bu SQL ifadesi, "ogrenciler" tablosunda "ogrenci_Adi" kolonu 'Mustafa' olan kayıtların ogrenci_Adi, ogrenci_Soyadi, ogrenci_No kolonlarını getirir.

sql
1SELECT ogrenci_Adi, ogrenci_Soyadi, ogrenci_No
2FROM ogrenciler
3WHERE ogrenci_Adi LIKE 'Mustafa'

Bu SQL ifadesi, "ogrenciler" tablosunda "ogrenci_Adi" kolonu 'M' ile başlayan kayıtların ogrenci_Adi, ogrenci_Soyadi, ogrenci_No kolonlarını getirir.

sql
1SELECT ogrenci_Adi, ogrenci_Soyadi, ogrenci_No
2FROM ogrenciler
3WHERE ogrenci_Adi LIKE 'M%'

Bu SQL ifadesi, "ogrenciler" tablosunda "ogrenci_Adi" kolonu 'a' ile biten kayıtların ogrenci_Adi, ogrenci_Soyadi, ogrenci_No kolonlarını getirir.

sql
1SELECT ogrenci_Adi, ogrenci_Soyadi, ogrenci_No
2FROM ogrenciler
3WHERE ogrenci_Adi LIKE '%a'

Senaryo Üzerinden Örneklendirelim

Bir kitapçı dükkanının veritabanında şu tablolar olduğunu varsayalım:

  • Books: Kitapların bilgilerini içeren tablo.
  • Authors: Yazarların bilgilerini içeren tablo.
  • Orders: Siparişlerin bilgilerini içeren tablo.
  • Customers: Müşterilerin bilgilerini içeren tablo.

Tabloların Yapısı

Books

Books Tablosu
Column NameData Type
book_idINT
titleVARCHAR
author_idINT
priceDECIMAL
stockINT

Authors

Authors Tablosu
Column NameData Type
author_idINT
nameVARCHAR
countryVARCHAR

Orders

Orders Tablosu
Column NameData Type
order_idINT
customer_idINT
book_idINT
order_dateDATE
quantityINT

Customers

Customers Tablosu
Column NameData Type
customer_idINT
nameVARCHAR
emailVARCHAR
phoneVARCHAR

SQL Sorguları

1. Veri Ekleme

Kitap Ekleme

sql
1INSERT INTO Books (book_id, title, author_id, price, stock)
2VALUES (1, '1984', 1, 19.99, 50);

Yazar Ekleme

sql
1INSERT INTO Authors (author_id, name, country)
2VALUES (1, 'George Orwell', 'UK');

Müşteri Ekleme

sql
1INSERT INTO Customers (customer_id, name, email, phone)
2VALUES (1, 'John Doe', 'john.doe@example.com', '123-456-7890');

Sipariş Ekleme

sql
1INSERT INTO Orders (order_id, customer_id, book_id, order_date, quantity)
2VALUES (1, 1, 1, '2023-10-01', 2);

2. Veri Sorgulama

Tüm Kitapları Listeleme

sql
1SELECT * FROM Books;

Dönen sonuç:

sql
1-- Sonuç:
2-- book_id | title | author_id | price | stock
3-- --------+-------+-----------+-------+-------
4-- 1       | 1984  | 1         | 19.99 | 50

Belirli Bir Yazarın Kitaplarını Listeleme

sql
1SELECT Books.title, Authors.name
2FROM Books
3JOIN Authors ON Books.author_id = Authors.author_id
4WHERE Authors.name = 'George Orwell';
sql
1-- Sonuç:
2-- title | name
3-- ------+-----------
4-- 1984  | George Orwell

Belirli Bir Müşterinin Siparişlerini Listeleme

sql
1SELECT Orders.order_id, Books.title, Orders.quantity, Orders.order_date
2FROM Orders
3JOIN Books ON Orders.book_id = Books.book_id
4WHERE Orders.customer_id = 1;

Dönen sonuç:

sql
1-- Sonuç:
2-- order_id | title | quantity | order_date
3-- ---------+-------+----------+------------
4-- 1        | 1984  | 2        | 2023-10-01

3. Veri Güncelleme

Kitap Fiyatını Güncelleme

sql
1UPDATE Books
2SET price = 24.99
3WHERE book_id = 1;

Dönen sonuç:

sql
1-- Sonuç:
2-- book_id | title | author_id | price | stock
3-- --------+-------+-----------+-------+-------
4-- 1       | 1984  | 1         | 24.99 | 50

Müşteri E-postasını Güncelleme

sql
1UPDATE Customers
2SET email = 'john.newemail@example.com'
3WHERE customer_id = 1;

Dönen sonuç:

sql
1-- Sonuç:
2-- customer_id | name    | email                    | phone
3-- ------------+---------+--------------------------+--------
4-- 1           | John Doe | john.newemail@example.com | 123-456-7890

4. Veri Silme

Belirli Bir Kitabı Silme

sql
1DELETE FROM Books
2WHERE book_id = 1;

Belirli Bir Siparişi Silme

sql
1DELETE FROM Orders
2WHERE order_id = 1;

Bu örnekle senaryo ile, SQL sorgularının nasıl kullanıldığını ve veritabanı işlemlerinin nasıl gerçekleştirildiğini görmüş olduk.


Sonuç

Bu makalede SQL veritabanlarına dair genel bir tanım ve çalışma prensipleri ele alındı. SQL, yapılandırılmış bir şekilde veri depolama ve yönetimini sağlamak için kullanılan bir programlama dilidir. SQL veritabanları, verileri tablolar ve sütunlar şeklinde organize ederek, veri yönetim işlemlerinin daha kolay ve hızlı bir şekilde yapılmasını sağlar.

Ayrıca, makalede SQL veritabanlarının özellikleri, avantajları ve dezavantajları da ele alındı. SQL veritabanları, yüksek performans ve güvenilirlik sunmaları nedeniyle birçok farklı platformda desteklenmektedir. Ancak, büyük veri kümelerini yönetmek için ölçeklenebilirlik sorunları yaşanabilir ve bazı durumlarda ölçeklenebilirlik çözümleri gerekebilir. Sonuç olarak, SQL veritabanları modern bir veri yönetimi için vazgeçilmez bir rol oynamaktadır. Geliştiricilerin, veri tabanları oluştururken SQL programlama dilini kullanarak verilerini daha düzenli ve anlaşılır hale getirmeleri ve veri yönetim işlemlerini kolaylaştırmaları mümkündür. Her bir durumda farklı gereksinimler ve ihtiyaçlar olduğu için, veri tabanı seçiminde doğru tercih yapılması büyük öneme sahiptir.

Serinin devamına aşağıdan erişebilirsiniz. Şimdilik hoşça kalın!

Bu yazıyı paylaş

Link kopyalandı!
Mustafa Kürşad Başer

Mustafa Kürşad Başer

Yazılım Mühendisi — Dijital Zanaatkâr

Karmaşık sorunlara zarif çözümler üretmekten keyif alan, tutkulu bir yazılım mühendisi. Kodlamanın ötesinde, teknoloji, sanat ve insan bilincinin kesişim noktalarını keşfetmekle derinden ilgileniyor.

© 2025 Mustafa Kürşad BAŞER. Tüm hakları saklıdır.

Çerez Tercihleri

Size daha iyi bir deneyim sunabilmek için çerezleri kullanıyoruz. Analitik ve reklam amaçlı çerezler hakkında detaylı bilgi için ayarları özelleştirebilirsiniz.