Ferhat İşyapan

20.09.2025

SQL'in Hikayesi: Veritabanı Devriminin 50+ Yıllık Serüveni

Selam millet! Bu yazıda hepimizin günlük hayatta sıkça karşılaştığı, ama belki de tam olarak ne olduğunu bilmediği iki kavramdan bahsedeceğiz: İlişkisel Veritabanları ve SQL. Bugün, bu ikilinin nasıl ortaya çıktığını, veri dünyasında nasıl bir devrim yarattığını ve günümüze kadar nasıl geldiğini keşfedeceğiz! 🗄️

⚡ Hızlı Gerçek

SQL 50+ yaşında olmasına rağmen hala dünyanın en çok kullanılan programlama dilleri arasında. Stack Overflow'un 2023 anketine göre %51.7 ile 3. sırada! Bu başarının sırrı nedir? Hemen öğrenelim...

📼 Veri Depolamanın İlk Adımları: Kartlar ve Dosyalar

Veri depolama ihtiyacı, insanoğlunun bilgi biriktirmeye başladığı ilk zamanlardan beri var. Ancak modern anlamda veritabanlarına giden yol, 20. yüzyılın ortalarında hız kazandı.

🕰️ 1960'lar: Karanlık Çağlar

😰 Eski Yöntemlerin Zorlukları

📊 Delikli Kartlar
  • Her kayıt ayrı kart
  • Fiziksel sıralama zorunluluğu
  • Kart kaybı = veri kaybı
  • Hatalara çok açık
📁 Düz Dosyalar
  • Sabit genişlikli alanlar
  • İlişki kurma imkansız
  • Veri tekrarı (redundancy)
  • Güncellemeler çok zor

🏫 Gerçek Hayat Örneği: Okul Kayıt Sistemi

1960'larda bir üniversitede öğrenci kayıt sistemi şöyle çalışırdı:

  • Öğrenci dosyası: Ad, soyad, numara, adres
  • Ders dosyası: Ders kodu, ders adı, kredi
  • Not dosyası: Öğrenci numarası, ders kodu, not
  • Sorun: Bir öğrencinin adresini değiştirmek için 3 farklı dosyayı manuel güncelleme!

🏗️ Hiyerarşik ve Ağ Modelleri

1960'ların sonunda iki önemli model ortaya çıktı:

🌳 Hiyerarşik Model

  • IBM IMS (1968)
  • Parent-child ilişkileri
  • Ağaç yapısı
  • Sorun: Sadece 1-to-many ilişki

🕸️ Ağ Model

  • CODASYL (1969)
  • Many-to-many ilişkiler
  • Pointer tabanlı
  • Sorun: Çok karmaşık

👨‍🔬 Dr. Edgar F. Codd ve İlişkisel Modelin Doğuşu

İşte tam da bu karmaşanın ortasında, 1970 yılında, IBM'de çalışan bir bilgisayar bilimci sahneye çıktı: Dr. Edgar F. Codd.

📜 Tarihi Makale: 1970

"A Relational Model of Data for Large Shared Data Banks"

Bu 37 sayfalık makale, bilgisayar bilimlerinin en etkili makalelerinden biri olarak kabul edilir. Codd'un vizyonu şuydu: Veriyi matematiksel ilişkiler ve set teorisi üzerine kurmak.

🧮 İlişkisel Modelin Temel Prensipleri

📊 Codd'un 12 Kuralı (Özet)

🏗️ Yapısal

  • Tüm veri tablolar halinde
  • Her tablo relation
  • Satırlar = tuple'lar
  • Sütunlar = attribute'ler

🎯 Bütünlük

  • Primary key zorunluluğu
  • Referential integrity
  • Domain constraints
  • NULL değer yönetimi

🔍 Manipülasyon

  • High-level query language
  • Set-based operations
  • Data independence
  • View mechanism

🔗 İlişkisel Modelin Devrimci Yönleri

✨ Normalizasyon: Veri Tekrarını Önleme Sanatı

Codd aynı zamanda normalizasyon teorisini de geliştirdi:

  • 1NF (First Normal Form): Atomic values, tekrar eden gruplar yok
  • 2NF (Second Normal Form): 1NF + partial dependency yok
  • 3NF (Third Normal Form): 2NF + transitive dependency yok
  • BCNF (Boyce-Codd Normal Form): 3NF + determinant tüm candidate key'ler

💬 SQL'in Yükselişi: Veriyle Konuşmanın Dili

İlişkisel model harikaydı, ama bu veritabanlarıyla nasıl konuşacaktık? İşte burada da 1970'lerin başında yine IBM'de geliştirilen bir dil devreye girdi.

📅 SQL'in Doğuş Hikayesi

1974

System R Projesi Başladı

IBM'de Codd'un teorilerini gerçekleştirmek için

1975

SEQUEL Doğdu

Structured English Query Language

1979

Trademark Sorunu

SEQUEL ismi kullanılamayınca SQL (Structured Query Language) oldu

1982

System R Tamamlandı

İlk tam işlevsel SQL implementasyonu

🔤 SQL'in Dil Felsefesi

💭 Tasarım Prensipleri

  • Declarative (Bildirimsel): "Ne" istediğinizi söyleyin, "nasıl" yapılacağını değil
  • English-like (İngilizce benzeri): Doğal dile yakın syntax
  • Set-based (Küme tabanlı): Tek seferde çok sayıda kayıt işleme
  • Portable (Taşınabilir): Farklı sistemlerde çalışabilir

💻 SQL Örnekleri

-- Basit sorgulama SELECT isim, soyisim, yas FROM ogrenciler WHERE yas > 20; -- Tablolar arası ilişki SELECT o.isim, d.ders_adi, n.not FROM ogrenciler o JOIN notlar n ON o.id = n.ogrenci_id JOIN dersler d ON n.ders_id = d.id WHERE n.not >= 85; -- Gruplama ve aggregation SELECT d.ders_adi, AVG(n.not) as ortalama FROM dersler d JOIN notlar n ON d.id = n.ders_id GROUP BY d.ders_adi HAVING AVG(n.not) > 75;

🏭 Endüstri Standardı Olma Yolculuğu

Dr. Codd'un makalesi ve SQL'in ortaya çıkışı, bilgisayar dünyasında büyük bir yankı uyandırdı. Farklı şirketler, ilişkisel veritabanı yönetim sistemleri (RDBMS) geliştirmeye başladılar.

🚀 Ticari RDBMS'lerin Yükselişi

🔮 Oracle (1977)

  • Kurucu: Larry Ellison, Bob Miner, Ed Oates
  • İlk: Ticari SQL veritabanı
  • Özellik: IBM'den önce piyasaya çıktı!
  • Bugün: Enterprise'da lider

🔵 IBM DB2 (1982)

  • Temel: System R projesi
  • Özellik: İlk SQL standardını destekledi
  • Platform: Mainframe'den cloud'a
  • Güçlü: Enterprise transaction processing

🟢 MySQL (1995)

  • Kurucu: Michael Widenius
  • Özellik: Açık kaynak, hızlı
  • Popülerlik: Web uygulamaları
  • Sahip: Oracle (2010'dan beri)

🔴 SQL Server (1989)

  • Microsoft: Windows ekosistemi
  • Köken: Sybase partnership
  • Güçlü: .NET integration
  • Cloud: Azure SQL Database

🐘 PostgreSQL (1986)

  • Köken: Berkeley Postgres projesi
  • Özellik: "Most advanced open source database"
  • Güçlü: JSON, GIS, extensibility
  • Trend: Developer'ların favorisi

❄️ Snowflake (2012)

  • Yenilik: Cloud-native data warehouse
  • Özellik: Separation of storage & compute
  • SQL: ANSI SQL standardı
  • Trend: Modern analytics

📜 SQL Standardizasyonu

🏛️ Resmi Standartlar

📋 SQL-86 (SQL1)

İlk ANSI/ISO standardı

⚡ SQL-89 (SQL1)

Minor revision

🚀 SQL-92 (SQL2)

Major expansion, outer joins

🔮 SQL:1999 (SQL3)

Object features, regex

📊 SQL:2003

Window functions, XML

⏰ SQL:2011

Temporal data

🌐 SQL:2016

JSON support

📊 SQL:2023

Graph queries, arrays

🌍 İlişkisel Veritabanları ve SQL Bugün

Peki günümüzde ilişkisel veritabanları ve SQL'in yeri ne? Hala veri depolamanın ve yönetimin omurgasını oluşturuyorlar!

📈 Günümüzde SQL Kullanım Alanları

🏦 Finans ve Bankacılık

  • ACID Properties: Para transferlerinde critical
  • Transaction Management: Atomicity garantisi
  • Compliance: SOX, Basel III gereksinimleri
  • Real-time: Fraud detection sistemleri

🛒 E-ticaret

  • Ürün Kataloğu: Çok boyutlu filtreleme
  • Sipariş Yönetimi: Karmaşık business logic
  • Stok Takibi: Real-time inventory
  • Reporting: Sales analytics

🏥 Sağlık

  • Hasta Kayıtları: Electronic health records
  • HIPAA Compliance: Veri güvenliği
  • Clinical Data: Lab sonuçları, teşhisler
  • Research: Epidemiyolojik çalışmalar

📱 Sosyal Medya

  • User Management: Milyarlarca kullanıcı
  • Friend Graphs: İlişki ağları
  • Content Delivery: Personalized feeds
  • Analytics: Engagement metrics

🆚 SQL vs NoSQL: Karşılaştırma

✅ SQL Avantajları

  • ACID Properties: Güçlü consistency
  • Complex Queries: JOIN, subquery, analytics
  • Maturity: 50 yıllık deneyim
  • Standardization: Vendor portability
  • Tooling: Zengin ekosistem
  • Skills: Yaygın bilgi

⚠️ SQL Sınırlamaları

  • Vertical Scaling: Scale-up zorluğu
  • Schema Rigidity: Değişikliklere direnç
  • Performance: Very large data sets
  • Impedance Mismatch: OOP uyumsuzluğu
  • Unstructured Data: JSON, document handling

🔄 Modern SQL Evolutions

🚀 SQL'in Modern Özellikleri

-- Window Functions (SQL:2003) SELECT name, salary, AVG(salary) OVER (PARTITION BY department) as dept_avg FROM employees; -- JSON Support (SQL:2016) SELECT JSON_EXTRACT(profile, '$.skills') as skills FROM users WHERE JSON_CONTAINS(profile, '"SQL"', '$.skills'); -- Common Table Expressions (CTE) WITH RECURSIVE fibonacci(n, fib_n, next_fib_n) AS ( SELECT 1, 0, 1 UNION ALL SELECT n + 1, next_fib_n, fib_n + next_fib_n FROM fibonacci WHERE n < 10 ) SELECT * FROM fibonacci;

🔮 SQL'in Geleceği

SQL 50+ yaşında olmasına rağmen hala gelişmeye devam ediyor. İşte gelecekteki trendler:

🤖 AI Integration

Natural language to SQL, automated query optimization

☁️ Cloud-Native

Serverless SQL, auto-scaling, separation of storage & compute

🌐 Multi-Model

SQL + Graph + Document + Time-series in one system

⚡ Real-time Analytics

Streaming SQL, continuous queries, real-time OLAP

🔒 Privacy-First

Differential privacy, zero-knowledge queries

📊 Vector Databases

SQL for ML embeddings, similarity search

🎯 SQL Neden Hala Önemli?

  • Universal Language: Her veri profesyoneli bilmeli
  • Transferable Skills: Bir kez öğren, her yerde kullan
  • High ROI: Öğrenme yatırımının getirisi yüksek
  • Job Market: En çok aranan skill'lerden biri
  • Future-Proof: 50 yıldır burada, 50 yıl daha olacak

🎓 SQL Öğrenme Yol Haritası

📚 Seviye Seviye SQL

🥇 Beginner (0-3 ay)

  • SELECT, WHERE, ORDER BY
  • Basic JOINs (INNER, LEFT)
  • GROUP BY, HAVING
  • INSERT, UPDATE, DELETE
  • Basic functions (COUNT, SUM, AVG)

🥈 Intermediate (3-6 ay)

  • All JOIN types
  • Subqueries, CTEs
  • Window functions
  • CASE statements
  • String/Date functions

🥉 Advanced (6+ ay)

  • Query optimization
  • Index strategies
  • Stored procedures
  • Triggers, views
  • Performance tuning

💎 Expert (1+ yıl)

  • Database design
  • Normalization
  • Partitioning
  • Replication
  • Security & compliance

💡 Sonuç: 50 Yıllık Başarı Hikayesi

Dr. Edgar F. Codd'un dahiyane fikriyle başlayan ve SQL ile hayat bulan ilişkisel veritabanları, veri dünyasında gerçek bir devrim yarattı. Veriyi düzenli, erişilebilir ve yönetilebilir hale getirdiler.

🏆 SQL'in Mirasları

🎯 Standardizasyon

Vendor-agnostic skills

🌍 Democratization

Non-programmers can query

⚡ Performance

Optimized query execution

🔒 Reliability

ACID transactions

🎯 Kilit Çıkarımlar

  • Longevity: 50+ yıl sonra hala dominant
  • Evolution: Sürekli gelişmeye devam ediyor
  • Versatility: Her türlü uygulamada kullanılıyor
  • Learning Investment: Öğrenmeye değer, geleceği garantili
  • Foundation: Veri kariyerinin temeli

Bugün bile, bu ikili dijital dünyamızın sessiz kahramanları olmaya devam ediyor. Hala bir veri analisti, veri bilimci veya yazılım geliştiricisi olmak istiyorsanız, SQL bilmek olmazsa olmaz bir yetenek.

Umarım bu tarihsel yolculuktan keyif almışsınızdır ve ilişkisel veritabanları ile SQL'in önemini daha iyi kavramışsınızdır. Dr. Codd'un 1970'deki vizyonu, bugün hala geleceğimizi şekillendiriyor.

Sonuç: SQL sadece bir programlama dili değil - veri dünyasının lingua franca'sı, evrensel dili. Ve bu dil, hiç bu kadar güçlü olmamıştı! 🚀

🎥 Video İçeriklerimiz için YouTube'dan Takip Edin!

Bu konuları video formatında da açıklıyoruz. Daha fazla veri bilimi ve programlama içeriği için Verinin Mutfağı kanalımızı takip etmeyi unutmayın!

📺 Verinin Mutfağı YouTube Kanalı