Veritabanı Yönetimi

SQL (Structured Query Language),

ilişkisel veritabanı yönetim sistemlerinde (RDBMS) veritabanlarıyla etkileşimde bulunmak için kullanılan bir dilidir.

Temel olarak, veritabanlarını oluşturmak, güncellemek, sorgulamak ve yönetmek için kullanılır. İşte SQL temelleri:

1. **Veritabanı Oluşturma:**
SQL ile bir veritabanı oluşturmak için `CREATE DATABASE` ifadesini kullanabiliriz. Örneğin:
“`sql
CREATE DATABASE mydatabase;
“`

2. **Tablo Oluşturma:**
Veritabanında bilgileri saklamak için tablolar oluştururuz. `CREATE TABLE` ifadesi kullanılır. Örneğin:
“`sql
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100),
salary DECIMAL(10, 2)
);
“`

3. **Veri Ekleme:**
`INSERT INTO` ifadesi ile tabloya yeni kayıtlar ekleyebiliriz.
“`sql
INSERT INTO employees (id, name, salary) VALUES (1, ‘John Doe’, 50000);
“`

4. **Veri Sorgulama:**
Tablodan veri almak için `SELECT` ifadesi kullanılır.
“`sql
SELECT * FROM employees WHERE salary > 45000;
“`

İlgili Makaleler

5. **Veri Güncelleme:**
Varolan verileri güncellemek için `UPDATE` kullanılır.
“`sql
UPDATE employees SET salary = 55000 WHERE id = 1;
“`

6. **Veri Silme:**
`DELETE` ifadesi ile tablodan veri silebiliriz.
“`sql
DELETE FROM employees WHERE id = 1;
“`

7. **Veritabanı İlişkileri:**
İlişkisel veritabanlarında, tablolar arasında ilişkiler kurabiliriz. Bu ilişkiler, `PRIMARY KEY` ve `FOREIGN KEY` kullanılarak tanımlanır.

8. **Veri Sıralama ve Filtreleme:**
`ORDER BY` ifadesi ile sıralama yapabilir ve `WHERE` ifadesi ile filtreleme yapabiliriz.

9. **Toplulaştırma Fonksiyonları:**
SQL, toplulaştırma fonksiyonları (SUM, AVG, COUNT, MAX, MIN) kullanarak verileri toplayabilir ve analiz edebilir.

10. **İndeksleme:**
Performansı artırmak için `INDEX` kullanarak tabloları indeksleyebiliriz.

11. **Transaksiyonlar:**
Veritabanı işlemlerini gruplamak ve güvence altına almak için `BEGIN TRANSACTION`, `COMMIT` ve `ROLLBACK` ifadelerini kullanabiliriz.

SQL, veritabanı yönetim sistemlerinde geniş bir kullanım bulur ve programlama dilleri arasında geniş bir entegrasyona sahiptir. Bu temel bilgiler, SQL’i anlamanıza ve etkili bir şekilde kullanmanıza yardımcı olacaktır.

Aşağıda temel SQL konularını örneklerle detaylandırdım:

1. **Veritabanı ve Tablo Oluşturma:**
“`sql
— Veritabanı oluşturma
CREATE DATABASE okul;

— Oluşturulan veritabanına bağlanma
USE okul;

— Öğrenci tablosu oluşturma
CREATE TABLE ogrenciler (
ogrenci_id INT PRIMARY KEY,
ad VARCHAR(50),
soyad VARCHAR(50),
dogum_tarihi DATE
);
“`

2. **Veri Ekleme:**
“`sql
— Öğrenci ekleme
INSERT INTO ogrenciler (ogrenci_id, ad, soyad, dogum_tarihi)
VALUES (1, ‘Ali’, ‘Yılmaz’, ‘2000-05-15’);

INSERT INTO ogrenciler (ogrenci_id, ad, soyad, dogum_tarihi)
VALUES (2, ‘Ayşe’, ‘Demir’, ‘1999-08-22’);
“`

3. **Veri Sorgulama:**
“`sql
— Bütün öğrencileri getirme
SELECT * FROM ogrenciler;

— Belirli bir koşulu sağlayan öğrencileri getirme
SELECT * FROM ogrenciler WHERE dogum_tarihi > ‘2000-01-01’;
“`

4. **Veri Güncelleme:**
“`sql
— Öğrenci bilgilerini güncelleme
UPDATE ogrenciler SET ad = ‘Mehmet’ WHERE ogrenci_id = 1;
“`

5. **Veri Silme:**
“`sql
— Öğrenciyi silme
DELETE FROM ogrenciler WHERE ogrenci_id = 2;
“`

6. **Veritabanı İlişkileri:**
“`sql
— Bölüm tablosu oluşturma
CREATE TABLE bolumler (
bolum_id INT PRIMARY KEY,
bolum_adi VARCHAR(50)
);

— Öğrenci tablosuna bölüm_id sütunu ekleme
ALTER TABLE ogrenciler ADD COLUMN bolum_id INT;

— İki tablo arasında ilişki kurma
ALTER TABLE ogrenciler ADD FOREIGN KEY (bolum_id) REFERENCES bolumler(bolum_id);
“`

7. **Veri Sıralama ve Filtreleme:**
“`sql
— Öğrencileri adlarına göre sıralama
SELECT * FROM ogrenciler ORDER BY ad;

— Belirli bir kriteri sağlayan öğrencileri getirme
SELECT * FROM ogrenciler WHERE soyad = ‘Yılmaz’;
“`

8. **Toplulaştırma Fonksiyonları:**
“`sql
— Öğrenci sayısını bulma
SELECT COUNT(*) FROM ogrenciler;

— Ortalama yaş bulma
SELECT AVG(YEAR(CURRENT_DATE) – YEAR(dogum_tarihi)) AS ortalama_yas FROM ogrenciler;
“`

Bu örnekler, SQL’in temel kavramlarını anlamanıza yardımcı olacaktır. Her bir konu daha fazla detay ve karmaşıklık içerebilir, ancak bu örneklerle başlangıç yapabilir ve SQL becerilerinizi geliştirebilirsiniz.