İÇİNDEKİLER
İÇİNDEKİLER
BÖLÜM 1. VERİTABANI SİSTEMLERİNE GİRİŞ 1
o GENEL KAVRAMLAR VE YENİ YAKLAŞIMLAR 2
• Veri Bilimi 2
• Veri ve Bilgi 2
• Veri Türleri 5
Yapısal ve Yapısal Olmayan 6
Nicel ve Nitel 6
• Veri Birimleri 7
• Üst–veri 8
• Veri Öğesi 8
• Veri Kümeleme 8
• Kayıt 8
• Anahtar 9
• Endüstri 4.0 10
Nesnelerin Interneti 10
Büyük Veri 11
Blokzincir 11
o VERİTABANI YÖNETİM SİSTEMLERİ 12
• Veritabanı Geçmişi 14
• Veritabanı Mimarisi 15
Veritabanı Motoru 16
Veri Sözlüğü 16
• Veri Bütünlüğü 16
• Yerel Veritabanları 16
• İstemci/Sunucu (Client/Server) Veritabanları 17
• Tek–Katmanlı, İki–Katmanlı ve Çok–Katmanlı Mimariler 18
• Dağıtık Veritabanları 20
Yineleme ve Bölünme 20
• Federe Veritabanları 21
• Nesne–Yönelimli VTYS 22
o VERİTABANI NESNELERİ (DATABASE OBJECTS) 23
o VERİ ERİŞİM TEKNOLOJİLERİ 23
• ODBC, DAO, RDO 23
• OLE–DB 24
• ADO (ActiveX Data Objects) 25
• ADO.NET 25
o SORULAR İLE ÖZET 27
BÖLÜM 2. VERİ MODELLEME 29
o VERİ MODELLERİ 30
• Veri Modellerinin Geçmişi 30
• Hiyerarşik Model 31
• Ağ Modeli 31
• İlişkisel Model 32
• Nesne Yönelimli Model 33
• Varlık–İlişki Modeli (E–R Modeli) 34
Varlık 35
Varlık Sınıfı 35
Nitelik 35
Etki–Alanı 36
Kardinalite 36
Farklı E–R Notasyonları 36
o CHEN 36
• Kullanılan Notasyonlar 36
• Nitelikler 37
Birleşik (Composite) Nitelik 38
Çok Değerli (Multi–Valued) Nitelik 39
Türetilmiş (Derived) Nitelik 39
Anahtar (Key) Nitelik 40
• İlişki Kümeleri 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
• Varolma Bağımlılığı 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
Kümeleme 51
Dışlama (Exclusion) Kısıtı 52
o CROW’S FOOT 55
• Kullanılan Notasyonlar 55
• Varlıklar 56
• İlişkiler 57
o IDEF1X 59
• Kullanılan Notasyonlar 60
• Varlıklar 61
• İlişkiler 61
Belirsiz ilişkiler 61
Belirli ilişkiler 61
Özel olmayan ilişkiler 62
Kategorik İlişkiler 62
o BİRLEŞİK MODELLEME DİLİ (UML) 63
• Kullanılan Notasyonlar 64
• Sınıflar 66
• İkili İlişki (Association) 68
• İlişki Sınıfları (Association Classes) 70
• Alt Sınıflar 70
• Parça–Bütün İlişkiler 70
o E–R’DEN SQL’E 73
• Veritabanı Tasarım Aşamaları 73
• E–R’den SQL’e Eşleştirme 75
Özyineli İlişki 76
Bire–Bir İlişki 77
Bire–Çok İlişki 77
Çoğa–çok İlişki 78
ISA dönüşümü 79
Üçlü İlişkilerin Ayrıştırılması 80
o SORULAR İLE ÖZET 81
BÖLÜM 3. İLİŞKİSEL VERİ MODELİ 83
o İLİŞKİSEL MODEL 84
o VERİTABANLARI İÇİN MATEMATİK 84
• Küme Teorisi 84
• Metotlar ile Kümeleri Belirtme 85
• Eleman Sayısı 85
• Alt Küme 86
• Kümenin Kuvveti 86
• Kartezyen Çarpım 86
• İkili İlişki 86
• Fonksiyon 87
• Fonksiyonlarda Etki–Alanı ve Değer 87
• Birim Fonksiyon 88
o İLİŞKİSEL MODEL 88
• İlişki 88
• Derece 90
• Kardinalite 90
• Çoklu (Tuple) 90
• Etki–Alanı 90
• İlişkisel Veritabanı 90
• Şema 92
o İLİŞKİSEL CEBİR 96
• Seçme 97
• İzdüşüm 98
• Yeniden Adlandır 99
• Çarpım 101
• Doğal Bağlantı 102
• Koşullu Bağlantı 102
• Eşit Bağlantı 103
• Dış Bağlantı 106
• Bölme 106
• İlişkiler Üzerinde Küme İşlemleri 108
• Silme 109
• Ekleme 110
• Güncelleme 110
• Kümeleme Fonksiyonları 111
o SORULAR İLE ÖZET 112
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
• Kanonik Örtü 120
• Fonksiyonel Bağımlılık Kümesinin Kapanışı 121
• Nitelik Kümesinin Kapanışı 122
o Anomaliler 124
o Normalizasyon Adımları 125
• Birinci Normal Form 126
• İkinci Normal Form 128
• Üçüncü Normal Form 129
• 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
o SORULAR İLE ÖZET 136
BÖLÜM 5. SQL: VERİ TANIMLAMA DİLİ (DDL) 137
o SQL NEDİR? 138
o KATILIMLI SQL (EMBEDDED SQL) 139
o SQL KOMUT KÜMESİ 140
o GENEL YAZIM KURALLARI 141
o VERİ TANIMLAMA DİLİ (DDL) 142
• Komut Seti 143
• VERİ TİPLERİ 143
• NULL Değerler 145
• TABLOLAR 146
Referans Bütünlüğü 148
Veriler Üzerinde Yapılan Kısıtlamalar 149
Tabloda Düzenlemeler Yapmak 153
Tablo Silme 155
• İNDEKSLER 155
• GÖRÜNÜMLER 157
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
Roller (Roles) 163
Ayrıcalıklar (Privileges) 164
Sütunlar Üzerindeki Ayrıcalıklar 165
Kullanıcı Eklemek (MySQL) 165
o HAREKET İŞLEME DİLİ (TCL) 166
o SORULAR İLE ÖZET 168
BÖLÜM 6. SQL: VERİ İŞLEME DİLİ (DML) 169
o DML KOMUTLARI 170
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
o OPERATÖRLER 179
• Aritmetiksel Operatörler 179
• Karşılaştırma Operatörleri 180
• Mantıksal Operatörler 180
• Karakter Katarlarını Birleştirme 181
• SQL Operatörleri 181
Between 181
in 182
like 183
is null 184
exists 185
some/any/all 185
o SİLME SORGUSU (DELETE) 185
o EKLEME SORGUSU (INSERT) 186
o GÜNCELLEŞTİRME SORGUSU (UPDATE) 187
o CRUD ve REST 188
o AD–HOC SORGU 190
o KÜMELEME FONKSİYONLARI 190
• AVG 191
• COUNT 192
• MAX 193
• MIN 194
• STDEV, VAR 194
• SUM 195
• Sözcüğünün Kullanımı 196
• Having Sözcüğünün Kullanımı 198
o SORULAR İLE ÖZET 202
BÖLÜM 7. TABLOLARIN BAĞLANMASI ve ALTSORGULAR 203
o TAKMA AD (ALIAS) 204
o BAĞLANTI TİPLERİ 205
• Kartezyen Bağlantı 205
• Eşit Bağlantı 206
• Eşit Olmayan Bağlantı 209
• İç Bağlantı 211
• Dış Bağlantı 213
• Kendisi (Self) ile Bağlantı 215
• Birleşim (union) 217
• Kesişim (Intersect) 219
• Fark (Except) 220
• Heterojen Bağlantı 220
o ALTSORGULAR 224
• 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
o SORULAR İLE ÖZET 239
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
• MySQL 247
MySQL Workbench 248
o İLK VERİTABANI 248
• Veritabanı Silme 250
o T–SQL ve MySQL İLE PROGRAMLAMA 251
• Değişkenler 252
• Akış Kontrol Dili 254
BEGIN END 254
IF ELSE 254
WHILE 255
CASE 256
GOTO 257
RETURN 257
TRY CATCH ve THROW 258
WAITFOR 258
WITH 259
o FONKSİYONLAR 259
• 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
o İMLEÇ (CURSOR) 278
o SORULAR İLE ÖZET 282
BÖLÜM 9. HAREKETLER VE SORGU İŞLEME 283
o Hareket Nedir? 284
o ACID 286
o Eş Zamanlı Denetim 286
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 Kaynak Kilitleme 293
• Ölümcül Kilitlenme 294
o SORGU İŞLEME ve OPTİMİZASYON 294
• Optimizasyon ve Sorgu Ağaçları 296
o SORULAR İLE ÖZET 302
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
o BOYUTSAL MODELLEME 309
• Gerçek 309
• Boyut 309
• Zaman Boyutu 309
• Model Biçimleri 310
Yıldız (Star) 310
Kartanesi (Snowflake) 311
o OLTP ve OLAP 314
o Veri Ambarı Mimarileri 316
o Veri Küpleri (Data Cube) 317
o SQL ile OLAP 320
• GROUPING SET 320
• CUBE Operatörü 321
• ROLLUP 322
• Özet Görünüm (Materialized View) Kullanımı 322
o SORULAR İLE ÖZET 323
BÖLÜM 11. NoSQL SİSTEMLERİ 325
o BÜYÜK VERİ 326
• CAP Teoremi 327
• Base Model 328
o NoSQL SİSTEMLERİ 329
• 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
• İlk Veritabanı 337
• Sorgular 339
• 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
• String Yapılar 345
• List Yapısı 347
• Set Yapısı 348
• Hash Yapısı 348
o Neo4J (Grafik Yönelimli Veri Modeli) 350
• Arayüz ve İlk Veritabanı 350
• Grafik Veritabanı Terminolojisi 352
• İlişkiler 353
• Düğüm ve İlişkileri Listelemek 355
• Güncelleme 356
• Silme 356
o BULUT BİLİŞİM (CLOUD COMPUTING) 356
• Sanallaştırma 357
• Bulut Bilişim Katmanları 357
o SORULAR İLE ÖZET 358
BÖLÜM 12. EKLER 359
o KİTAPTA KULLANILAN ÖRNEK VERİTABANLARI 360
• DB_EMPDEPT Veritabanı 360
İlişkisel Şema ve Diyagram 360
DDL İfadeleri 360
Örnek Veriler 364
• DB_OGROTO Veritabanı 364
İlişkisel Şema ve Diyagram 364
DDL İfadeleri 366
Örnek Veriler 369
• DB_MUSOTO Veritabanı 372
İlişkisel Şema ve Diyagram 372
DDL ve DML İfadeleri 374
DML İfadeleri ve Örnek Veriler 375
• AdventureWorks Veritabanı 378
o SÖZLÜK 379
o KAYNAKÇA 384
o SYLLABUS 387
o DİZİN 391 |