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ı
17
• Tek–Katmanlı, İki–Katmanlı ve Çok–Katmanlı Mimariler
18
• Dağıtık Veritabanları
20
• Federe Veritabanları
21
• Nesne–Yönelimli VTYS
22
o VERİTABANI NESNELERİ (DATABASE OBJECTS)
23
o VERİ ERİŞİM TEKNOLOJİLERİ
23
• ADO (ActiveX Data Objects)
25
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ı
40
Bire–bir (1:1) İlişkiler
41
Bire–çok (1:*, 1:M) İlişkiler
41
Çoğa–çok (*:*, M:N) İlişkiler
41
İlişkilerdeki Nitelikler
42
İlişkilerin Derecesi
43
Özyineli (Recursive) İlişkiler
45
• Zayıf ve Güçlü Varlık Kümeleri
46
• Genelleştirme ve Özelleştirme
48
Süper Sınıflar ve Alt Sınıflar
49
Dışlama (Exclusion) Kısıtı
52
• Kullanılan Notasyonlar
55
• Kullanılan Notasyonlar
60
Özel olmayan ilişkiler
62
o BİRLEŞİK MODELLEME DİLİ (UML)
63
• Kullanılan Notasyonlar
64
• İkili İlişki (Association)
68
• İlişki Sınıfları (Association Classes)
70
• Parça–Bütün İlişkiler
70
• Veritabanı Tasarım Aşamaları
73
• E–R’den SQL’e Eşleştirme
75
Üçlü İlişkilerin Ayrıştırılması
80
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ışı
122
o Normalizasyon Adımları
125
• Birinci Normal Form
126
• Boyce–Codd Normal Form
130
• Dördüncü Normal Form
131
o İlişkilerin Ayrıştırılması
132
• BCNF Ayrıştırma Algoritması
134
BÖLÜM 5. SQL: VERİ TANIMLAMA DİLİ (DDL)
137
o KATILIMLI SQL (EMBEDDED SQL)
139
o GENEL YAZIM KURALLARI
141
o VERİ TANIMLAMA DİLİ (DDL)
142
Veriler Üzerinde Yapılan Kısıtlamalar
149
Tabloda Düzenlemeler Yapmak
153
Görünümler Üzerinde Düzenlemeler
158
Görünümlerin Silinmesi
159
Görünümler ile Güvenlik
159
o VERİ KONTROL DİLİ (DCL)
160
• VERİTABANI GÜVENLİĞİ
162
Kullanıcılar (Users)
163
Ayrıcalıklar (Privileges)
164
Kullanıcı Eklemek (MySQL)
165
o HAREKET İŞLEME DİLİ (TCL)
166
BÖLÜM 6. SQL: VERİ İŞLEME DİLİ (DML)
169
o SEÇME SORGUSU (SELECT)
170
• Sütun Başlığının Değiştirilmesi (as)
173
• Çıktıda Literal Değerlerin Kullanılması
174
• Sayısal Bilgi Çıktılarının Düzenlenmesi
175
• Tekrarlı Kayıtların Ortadan Kaldırılması (distinct)
176
• Sorgu Sonuçlarının Sıralanması (order by)
176
• Gruplandırarak Sorgulama (group by)
177
• Bir Koşula Bağlı Olarak Sorgulama (where)
178
• Aritmetiksel Operatörler
179
• Karşılaştırma Operatörleri
180
• Mantıksal Operatörler
180
• Karakter Katarlarını Birleştirme
181
o SİLME SORGUSU (DELETE)
185
o EKLEME SORGUSU (INSERT)
186
o GÜNCELLEŞTİRME SORGUSU (UPDATE)
187
o KÜMELEME FONKSİYONLARI
190
• Sözcüğünün Kullanımı
196
• Having Sözcüğünün Kullanımı
198
BÖLÜM 7. TABLOLARIN BAĞLANMASI ve ALTSORGULAR
203
• Eşit Olmayan Bağlantı
209
• Kendisi (Self) ile Bağlantı
215
• Kesişim (Intersect)
219
• Alt Sorgular ile Kümeleme Fonksiyonlarının Kullanımı
226
• Alt Sorgularda IN Sözcüğünün Kullanımı
227
• Altsorgular İle ANY ve ALL Kullanımı
228
• İlişkisel Altsorgular
230
• Altsorgular ile EXISTS ve NOT EXISTS Kullanımı
235
• Altsorgu Sonuçlarını Aritmetiksel Olarak Kullanma
238
• Ekleme İşlemlerinde Altsorguların Kullanımı
238
• Güncelleme İşlemlerinde Altsorguların Kullanımı
238
• Silme İşlemlerinde Altsorguların Kullanımı
238
BÖLÜM 8. VERİTABANI PROGRAMLAMA
241
o KULLANILAN VERİTABANI SİSTEMLERİ
242
• Microsoft SQL Server
242
SQL Server Management Studio (SSMS)
243
o T–SQL ve MySQL İLE PROGRAMLAMA
251
• Skalar Fonksiyonlar
260
• Tablo–Değerli Fonksiyonlar
260
• Sistem Fonksiyonları
261
• Hesaplanmış Alanlar
261
o SAKLI PROSEDÜRLER (STORED PROCEDURES)
262
• Saklı Prosedür Türleri
263
• Saklı Prosedürün Silinmesi/Düzenlenmesi
264
• Saklı Prosedürlerde Parametre Kullanımı
265
o TETİKLEYİCİLER (TRIGGERS)
269
• T–SQL’de inserted ve deleted tabloları
271
• MySQL’de new ve old tabloları
273
• Tetikleyiciler ile İlgili İşlemler
274
• After ve Instead Of Tetikleyici Türleri
277
BÖLÜM 9. HAREKETLER VE SORGU İŞLEME
283
o Eş Zamanlı Çalışma Anomalileri
287
• Kayıp Güncelleme (Lost Update)
287
• Kirli Okuma (Dirty Read)
287
• Tekrarlanamayan Okuma (Non–repeatable Read)
288
• Hayalet Okuma (Phantom Read)
288
o Hareketlerin Yalıtım Seviyeleri
289
o Serileştirilebilir İşletim Planı
291
o SORGU İŞLEME ve OPTİMİZASYON
294
• Optimizasyon ve Sorgu Ağaçları
296
BÖLÜM 10. VERİ AMBARI SİSTEMLERİ
305
o İŞ ZEKASI SİSTEMLERİ
306
o VERİ AMBARI (DATA WAREHOUSE)
307
• Veri Pazarı (Data Mart)
308
Kartanesi (Snowflake)
311
o Veri Ambarı Mimarileri
316
o Veri Küpleri (Data Cube)
317
• Özet Görünüm (Materialized View) Kullanımı
322
BÖLÜM 11. NoSQL SİSTEMLERİ
325
• Serileştirme (Serialization)
331
• SQL – NoSQL Karşılaştırma
334
• NoSQL Veritabanı Türleri
335
o MongoDB (Doküman Yönelimli Veri Modeli)
336
• Doküman Veritabanı Terminolojisi
336
• Kayıtların Güncellenmesi
341
• Kayıtların Silinmesi
341
• MongoDB ile İçe/Dışa Aktarma
342
o Cassandra (Geniş–Sütun Yönelimli Veri Modeli)
342
• Sütun Veritabanı Terminolojisi
343
o Redis (Anahtar–Değer Yönelimli Veri Modeli)
344
o Neo4J (Grafik Yönelimli Veri Modeli)
350
• Arayüz ve İlk Veritabanı
350
• Grafik Veritabanı Terminolojisi
352
• Düğüm ve İlişkileri Listelemek
355
o BULUT BİLİŞİM (CLOUD COMPUTING)
356
• Bulut Bilişim Katmanları
357
o KİTAPTA KULLANILAN ÖRNEK VERİTABANLARI
360
• DB_EMPDEPT Veritabanı
360
İlişkisel Şema ve Diyagram
360
• DB_OGROTO Veritabanı
364
İlişkisel Şema ve Diyagram
364
• DB_MUSOTO Veritabanı
372
İlişkisel Şema ve Diyagram
372
DDL ve DML İfadeleri
374
DML İfadeleri ve Örnek Veriler
375
• AdventureWorks Veritabanı
378