BÖLÜM 1. VERİTABANI SİSTEMLERİNE GİRİŞ
1
o GENEL KAVRAMLAR VE YENİ YAKLAŞIMLAR
2
Yapısal ve Yapısal Olmayan
6
Nesnelerin Interneti
10
o VERİTABANI YÖNETİM SİSTEMLERİ
12
• İstemci/Sunucu (Client/Server) Veritabanları
18
• Tek–Katmanlı, İki–Katmanlı ve Çok–Katmanlı Mimariler
19
• Dağıtık Veritabanları
21
• Federe Veritabanları
22
• Nesne–Yönelimli VTYS
23
o VERİTABANI NESNELERİ (DATABASE OBJECTS)
24
o VERİ ERİŞİM TEKNOLOJİLERİ
24
• ADO (ActiveX Data Objects)
26
BÖLÜM 2. VERİ MODELLEME
29
• Veri Modellerinin Geçmişi
30
• Nesne Yönelimli Model
33
• Varlık–İlişki Modeli (E–R Modeli)
34
Farklı E–R Notasyonları
36
• Kullanılan Notasyonlar
36
Birleşik (Composite) Nitelik
38
Çok Değerli (Multi–Valued) Nitelik
39
Türetilmiş (Derived) Nitelik
39
Anahtar (Key) Nitelik
40
İlişkiler Arasındaki Çoğulculuk (Multiplicity) Kısıtları
41
Bire–bir (1:1) İlişkiler
41
Bire–çok (1:*, 1:M) İlişkiler
41
Çoğa–çok (*:*, M:N) İlişkiler
42
İlişkilerdeki Nitelikler
42
İlişkilerin Derecesi
43
Özyineli (Recursive) İlişkiler
45
• Zayıf ve Güçlü Varlık Kümeleri
47
• Genelleştirme ve Özelleştirme
48
Süper Sınıflar ve Alt Sınıflar
50
Dışlama (Exclusion) Kısıtı
53
• Kullanılan Notasyonlar
56
• Kullanılan Notasyonlar
61
Özel olmayan ilişkiler
63
o BİRLEŞİK MODELLEME DİLİ (UML)
64
• Kullanılan Notasyonlar
65
• İkili İlişki (Association)
69
• İlişki Sınıfları (Association Classes)
71
• Parça–Bütün İlişkiler
71
• Veritabanı Tasarım Aşamaları
74
• E–R’den SQL’e Eşleştirme
76
Üçlü İlişkilerin Ayrıştırılması
81
BÖLÜM 3. İLİŞKİSEL VERİ MODELİ
83
o VERİTABANLARI İÇİN MATEMATİK
84
• Metotlar ile Kümeleri Belirtme
85
• Fonksiyonlarda Etki–Alanı ve Değer
87
• İlişkisel Veritabanı
90
• İlişkiler Üzerinde Küme İşlemleri
108
• Kümeleme Fonksiyonları
111
BÖLÜM 4. NORMALİZASYON
113
o Normalizasyon Nedir?
114
o Avantajları ve Dezavantajları
114
o Fonksiyonel Bağımlılık (Functional Dependency)
114
• Çıkarsama Kuralları (inference)
117
• Fonksiyonel Bağımlılık Kümesinin Kapanışı
121
• Nitelik Kümesinin Kapanışı
123
o Normalizasyon Adımları
125
• Birinci Normal Form
127
• Boyce–Codd Normal Form
130
• Dördüncü Normal Form
132
o İlişkilerin Ayrıştırılması
135
• BCNF Ayrıştırma Algoritması
137
BÖLÜM 5. SQL: VERİ TANIMLAMA DİLİ (DDL)
141
o KATILIMLI SQL (EMBEDDED SQL)
143
o GENEL YAZIM KURALLARI
145
o VERİ TANIMLAMA DİLİ (DDL)
146
Veriler Üzerinde Yapılan Kısıtlamalar
154
Tabloda Düzenlemeler Yapmak
158
Görünümler Üzerinde Düzenlemeler
163
Görünümlerin Silinmesi
164
Görünümler ile Güvenlik
164
o VERİ KONTROL DİLİ (DCL)
165
• VERİTABANI GÜVENLİĞİ
167
Kullanıcılar (Users)
168
Ayrıcalıklar (Privileges)
169
Sütunlar Üzerindeki Ayrıcalıklar
170
Kullanıcı Eklemek (MySQL)
170
o HAREKET İŞLEME DİLİ (TCL)
170
BÖLÜM 6. SQL: VERİ İŞLEME DİLİ (DML)
173
o SEÇME SORGUSU (SELECT)
174
• Sütun Başlığının Değiştirilmesi (as)
177
• Çıktıda Literal Değerlerin Kullanılması
178
• Sayısal Bilgi Çıktılarının Düzenlenmesi
179
• Tekrarlı Kayıtların Ortadan Kaldırılması (distinct)
180
• Sorgu Sonuçlarının Sıralanması (order by)
180
• Gruplandırarak Sorgulama (group by)
181
• Bir Koşula Bağlı Olarak Sorgulama (where)
182
• Aritmetiksel Operatörler
183
• Karşılaştırma Operatörleri
184
• Mantıksal Operatörler
184
• Karakter Katarlarını Birleştirme
185
o SİLME SORGUSU (DELETE)
190
o EKLEME SORGUSU (INSERT)
191
o GÜNCELLEŞTİRME SORGUSU (UPDATE)
192
o KÜMELEME FONKSİYONLARI
195
• Sözcüğünün Kullanımı
201
• Having Sözcüğünün Kullanımı
203
BÖLÜM 7. TABLOLARIN BAĞLANMASI ve ALTSORGULAR
207
• Eşit Olmayan Bağlantı
213
• Kendisi (Self) ile Bağlantı
219
• Kesişim (Intersect)
223
• Alt Sorgular ile Kümeleme Fonksiyonlarının Kullanımı
230
• Alt Sorgularda IN Sözcüğünün Kullanımı
231
• Altsorgular İle ANY ve ALL Kullanımı
232
• İlişkisel Altsorgular
234
• Altsorgular ile EXISTS ve NOT EXISTS Kullanımı
239
• Altsorgu Sonuçlarını Aritmetiksel Olarak Kullanma
242
• Ekleme İşlemlerinde Altsorguların Kullanımı
242
• Güncelleme İşlemlerinde Altsorguların Kullanımı
242
• Silme İşlemlerinde Altsorguların Kullanımı
242
BÖLÜM 8. VERİTABANI PROGRAMLAMA
245
o KULLANILAN VERİTABANI SİSTEMLERİ
246
• Microsoft SQL Server
246
SQL Server Management Studio (SSMS)
247
o T–SQL, MySQL ve PostgreSQL İLE PROGRAMLAMA
257
• Değişkenler (T–SQL)
258
• Değişkenler (PL/pgSQL)
260
• Akış Kontrol Dili (T–SQL)
262
• Akış Kontrol Dili (PL/pgSQL)
267
• Skalar Fonksiyonlar
270
• Tablo–Değerli Fonksiyonlar
271
• Sistem Fonksiyonları
271
• Hesaplanmış Alanlar
272
• PL/pgSQL Fonksiyonları
272
o SAKLI PROSEDÜRLER (STORED PROCEDURES)
274
• Saklı Prosedür Türleri
276
• Saklı Prosedürün Silinmesi/Düzenlenmesi
277
• Saklı Prosedürlerde Parametre Kullanımı
277
o TETİKLEYİCİLER (TRIGGERS)
287
• T–SQL’de inserted ve deleted tabloları
289
• MySQL’de new ve old tabloları
291
• PostgreSQL’de new ve old tabloları
292
• Tetikleyiciler ile İlgili İşlemler
294
• After ve Instead Of Tetikleyici Türleri
298
BÖLÜM 9. HAREKETLER VE SORGU İŞLEME
305
o Eş Zamanlı Çalışma Anomalileri
309
• Kayıp Güncelleme (Lost Update)
309
• Kirli Okuma (Dirty Read)
309
• Tekrarlanamayan Okuma (Non–repeatable Read)
310
• Hayalet Okuma (Phantom Read)
310
o Hareketlerin Yalıtım Seviyeleri
311
o Serileştirilebilir İşletim Planı
314
o SORGU İŞLEME ve OPTİMİZASYON
318
• Optimizasyon ve Sorgu Ağaçları
319
BÖLÜM 10. VERİ AMBARI SİSTEMLERİ
329
o İŞ ZEKASI SİSTEMLERİ
330
o VERİ AMBARI (DATA WAREHOUSE)
331
• Veri Pazarı (Data Mart)
332
Kartanesi (Snowflake)
335
o Veri Ambarı Mimarileri
340
o Veri Küpleri (Data Cube)
341
• Özet Görünüm (Materialized View) Kullanımı
346
BÖLÜM 11. NoSQL SİSTEMLERİ
349
• Serileştirme (Serialization)
355
• SQL – NoSQL Karşılaştırma
358
• NoSQL Veritabanı Türleri
359
o MongoDB (Doküman Yönelimli Veri Modeli)
360
• Doküman Veritabanı Terminolojisi
360
• Kayıtların Güncellenmesi
365
• Kayıtların Silinmesi
365
• MongoDB ile İçe/Dışa Aktarma
366
o Cassandra (Geniş–Sütun Yönelimli Veri Modeli)
366
• Sütun Veritabanı Terminolojisi
367
o Redis (Anahtar–Değer Yönelimli Veri Modeli)
368
o Neo4J (Grafik Yönelimli Veri Modeli)
374
• Arayüz ve İlk Veritabanı
374
• Grafik Veritabanı Terminolojisi
376
• Düğüm ve İlişkileri Listelemek
379
o BULUT BİLİŞİM (CLOUD COMPUTING)
380
• Bulut Bilişim Katmanları
381
o KİTAPTA KULLANILAN ÖRNEK VERİTABANLARI
384
• DB_EMPDEPT Veritabanı
384
İlişkisel Şema ve Diyagram
384
• DB_OGROTO Veritabanı
388
İlişkisel Şema ve Diyagram
389
• DB_MUSOTO Veritabanı
396
İlişkisel Şema ve Diyagram
396
DDL ve DML İfadeleri
398
DML İfadeleri ve Örnek Veriler
399
• AdventureWorks Veritabanı
402