|
İÇİ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 15
• Veritabanı Mimarisi 16
Veritabanı Motoru 17
Veri Sözlüğü 17
• Veri Bütünlüğü 17
• Yerel Veritabanları 17
• İstemci/Sunucu (Client/Server) Veritabanları 18
• Tek–Katmanlı, İki–Katmanlı ve Çok–Katmanlı Mimariler 19
• Dağıtık Veritabanları 21
Yineleme ve Bölünme 21
• Federe Veritabanları 22
• Nesne–Yönelimli VTYS 23
o VERİTABANI NESNELERİ (DATABASE OBJECTS) 24
o VERİ ERİŞİM TEKNOLOJİLERİ 24
• ODBC, DAO, RDO 24
• OLE–DB 25
• ADO (ActiveX Data Objects) 26
• ADO.NET 26
o SORULAR İLE ÖZET 28
BÖLÜM 2. VERİ MODELLEME 29
o VERİ MODELLERİ 30
• Veri Modellerinin Geçmişi 30
• Hiyerarşik Model 31
• Ağ Modeli 32
• İ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 38
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ı 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
• Varolma Bağımlılığı 46
• 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
Kümeleme 52
Dışlama (Exclusion) Kısıtı 53
o CROW’S FOOT 56
• Kullanılan Notasyonlar 56
• Varlıklar 57
• İlişkiler 58
o IDEF1X 60
• Kullanılan Notasyonlar 61
• Varlıklar 62
• İlişkiler 62
Belirsiz ilişkiler 62
Belirli ilişkiler 62
Özel olmayan ilişkiler 63
Kategorik İlişkiler 63
o BİRLEŞİK MODELLEME DİLİ (UML) 64
• Kullanılan Notasyonlar 65
• Sınıflar 67
• İkili İlişki (Association) 69
• İlişki Sınıfları (Association Classes) 71
• Alt Sınıflar 71
• Parça–Bütün İlişkiler 71
o E–R’DEN SQL’E 74
• Veritabanı Tasarım Aşamaları 74
• E–R’den SQL’e Eşleştirme 76
Özyineli İlişki 77
Bire–Bir İlişki 78
Bire–Çok İlişki 78
Çoğa–çok İlişki 79
ISA dönüşümü 80
Üçlü İlişkilerin Ayrıştırılması 81
o SORULAR İLE ÖZET 82
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ışı 123
o Anomaliler 124
o Normalizasyon Adımları 125
• Birinci Normal Form 127
• İkinci Normal Form 128
• Üçüncü Normal Form 129
• 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
o SORULAR İLE ÖZET 139
BÖLÜM 5. SQL: VERİ TANIMLAMA DİLİ (DDL) 141
o SQL NEDİR? 142
o KATILIMLI SQL (EMBEDDED SQL) 143
o SQL KOMUT KÜMESİ 144
o GENEL YAZIM KURALLARI 145
o VERİ TANIMLAMA DİLİ (DDL) 146
• Komut Seti 147
• VERİ TİPLERİ 147
• NULL Değerler 149
• TABLOLAR 151
Referans Bütünlüğü 153
Veriler Üzerinde Yapılan Kısıtlamalar 154
Tabloda Düzenlemeler Yapmak 158
Tablo Silme 159
• İNDEKSLER 160
• GÖRÜNÜMLER 162
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
Roller (Roles) 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
o SORULAR İLE ÖZET 172
BÖLÜM 6. SQL: VERİ İŞLEME DİLİ (DML) 173
o DML KOMUTLARI 174
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
o OPERATÖRLER 183
• Aritmetiksel Operatörler 183
• Karşılaştırma Operatörleri 184
• Mantıksal Operatörler 184
• Karakter Katarlarını Birleştirme 185
• SQL Operatörleri 185
Between 185
in 186
like 187
is null 188
exists 189
some/any/all 189
o SİLME SORGUSU (DELETE) 190
o EKLEME SORGUSU (INSERT) 191
o GÜNCELLEŞTİRME SORGUSU (UPDATE) 192
o CRUD ve REST 193
o AD–HOC SORGU 194
o KÜMELEME FONKSİYONLARI 195
• AVG 196
• COUNT 196
• MAX 198
• MIN 199
• STDEV, VAR 199
• SUM 200
• Sözcüğünün Kullanımı 201
• Having Sözcüğünün Kullanımı 203
o SORULAR İLE ÖZET 206
BÖLÜM 7. TABLOLARIN BAĞLANMASI ve ALTSORGULAR 207
o TAKMA AD (ALIAS) 208
o BAĞLANTI TİPLERİ 209
• Kartezyen Bağlantı 209
• Eşit Bağlantı 210
• Eşit Olmayan Bağlantı 213
• İç Bağlantı 215
• Dış Bağlantı 217
• Kendisi (Self) ile Bağlantı 219
• Birleşim (union) 221
• Kesişim (Intersect) 223
• Fark (Except) 224
• Heterojen Bağlantı 224
o ALTSORGULAR 228
• 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
o SORULAR İLE ÖZET 243
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
• MySQL 251
MySQL Workbench 252
• PostgreSQL 252
o İLK VERİTABANI 254
• Veritabanı Silme 256
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
BEGIN END 262
IF ELSE 262
WHILE 263
CASE 264
GOTO 265
RETURN 265
TRY CATCH ve THROW 266
WAITFOR 266
WITH 267
• Akış Kontrol Dili (PL/pgSQL) 267
o FONKSİYONLAR 270
• 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
o İMLEÇ (CURSOR) 299
o SORULAR İLE ÖZET 304
BÖLÜM 9. HAREKETLER VE SORGU İŞLEME 305
o Hareket Nedir? 306
o ACID 308
o Eş Zamanlı Denetim 308
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 Kaynak Kilitleme 317
• Ölümcül Kilitlenme 317
o SORGU İŞLEME ve OPTİMİZASYON 318
• Optimizasyon ve Sorgu Ağaçları 319
o SORULAR İLE ÖZET 326
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
o BOYUTSAL MODELLEME 333
• Gerçek 333
• Boyut 333
• Zaman Boyutu 333
• Model Biçimleri 334
Yıldız (Star) 334
Kartanesi (Snowflake) 335
o OLTP ve OLAP 338
o Veri Ambarı Mimarileri 340
o Veri Küpleri (Data Cube) 341
o SQL ile OLAP 344
• GROUPING SET 344
• CUBE Operatörü 345
• ROLLUP 346
• Özet Görünüm (Materialized View) Kullanımı 346
o SORULAR İLE ÖZET 347
BÖLÜM 11. NoSQL SİSTEMLERİ 349
o BÜYÜK VERİ 350
• CAP Teoremi 351
• Base Model 352
o NoSQL SİSTEMLERİ 353
• 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
• İlk Veritabanı 361
• Sorgular 363
• 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
• String Yapılar 369
• List Yapısı 371
• Set Yapısı 372
• Hash Yapısı 372
o Neo4J (Grafik Yönelimli Veri Modeli) 374
• Arayüz ve İlk Veritabanı 374
• Grafik Veritabanı Terminolojisi 376
• İlişkiler 377
• Düğüm ve İlişkileri Listelemek 379
• Güncelleme 380
• Silme 380
o BULUT BİLİŞİM (CLOUD COMPUTING) 380
• Sanallaştırma 381
• Bulut Bilişim Katmanları 381
o SORULAR İLE ÖZET 382
BÖLÜM 12. EKLER 383
o KİTAPTA KULLANILAN ÖRNEK VERİTABANLARI 384
• DB_EMPDEPT Veritabanı 384
İlişkisel Şema ve Diyagram 384
DDL İfadeleri 384
Örnek Veriler 388
• DB_OGROTO Veritabanı 388
İlişkisel Şema ve Diyagram 389
DDL İfadeleri 390
Örnek Veriler 393
• DB_MUSOTO Veritabanı 396
İlişkisel Şema ve Diyagram 396
DDL ve DML İfadeleri 398
DML İfadeleri ve Örnek Veriler 399
• AdventureWorks Veritabanı 402
o SÖZLÜK 403
o KAYNAKÇA 408
o SYLLABUS 411
o DİZİN 415 |