MS–SQL ile Veritabanı ve Veritabanı Yönetim Sistemleri Doç. Dr. Emrah Aydemir  - Kitap

MS–SQL ile Veritabanı ve Veritabanı Yönetim Sistemleri

1. Baskı, 
Nisan 2023
Kitabın Detayları
Dili:
Türkçe
Ebat:
16x24
Sayfa:
250
Barkod:
9786253971359
Kapak Türü:
Karton Kapaklı
Fiyatı:
230,00
Temin süresi 2-3 gündür.
Kitabın Açıklaması
Bu kitap, veritabanı ile yazılım geliştirmek isteyenler ya da zaten veritabanını temel düzeyde bilip de yazılım geliştirirken bu alanda daha fazla profesyonel olmak isteyenler için yazılmıştır. Kitap öncelikle temel düzeyde veritabanı mantığı oluşturmak ile başlamaktadır. Ardından veritabanı sorgulama mantığı tüm detayları ile anlatılmıştır ve son olarak da kendisini daha ileri düzeyde geliştirmek isteyenler için veritabanı yetkileri ile veritabanı performansı anlatılmıştır. Tüm bunlar anlatılırken veritabanı güvenliği konularına da değinilmiştir. Böylece bu kitap; "Veritabanı I", "Veritabanı II", "Veritabanı ve Veri Yönetimi" gibi hem lisans hem lisansüstü derslerde kullanılabilir.
Yorumlar
Kitabın İçindekileri
İÇİNDEKİLER
BÖLÜM 1 
17
1. GENEL BİLGİLER VE GİRİŞ 
17
1.1. Veri Yönetim Yaklaşımları, Avantaj ve Dezavantajları 
17
1.2. Veritabanı ve Veritabanı Yönetim Sistemi 
18
1.3. Veritabanı Türleri 
18
1.4. Veritabanı Tasarımı 
19
1.5. Varlık İlişki Modelleri 
20
1.6. MS–SQL Server Veritabanı ve Kurulumu 
21
1.7. SQL Server Management Studio ve Kurulumu 
27
1.8. Basit Bir Veritabanı Oluşturma 
31
BÖLÜM 2 
35
2. İLİŞKİSEL VERİTABANI 
35
2.1. Tablo, Satır ve Sütun 
35
2.2. Veri Türleri 
36
2.3. Normalizasyon 
39
2.4. Kısıtlamalar 
40
2.4.1. Birincil ve İkincil Anahtar 
40
2.4.2. Varsayılan Değer ve Not Null 
42
2.4.3. Tekil Değer Özelliği 
43
2.4.4. Otomatik Artan Sayı 
44
2.4.5. Diğer Alan Özellikleri 
45
2.5. Veritabanında Yazım Kuralları 
46
BÖLÜM 3 
49
3. ÖRNEK VERİTABANI VE SORGULAMA DİLİ
OLARAK SQL 
49
3.1. Tablolar Arası İlişkiler 
51
3.2. Sorgulama Dili (SQL–Structed Query Language) 
54
3.2.1. Veri Tanımlama Dili (DDL–Data Definition
Language) 
56
3.2.1.1. Create Komutu 
56
3.2.1.2. Alter Komutu 
59
3.2.1.3. Komutu 
60
3.2.1.4. Truncate Komutu 
60
3.2.1.5. Yorum (Comment) Komutları 
61
3.2.1.6. Yeniden Adlandırma (sp_rename)
Komutları 
62
3.2.2. Veri Düzenleme Dili (DML–Data Manuplation
Language) 
62
3.2.2.1. Komutu 
62
3.2.2.2. Komutu 
63
3.2.2.3.Komutu 
64
3.2.3. Veri Sorgulama Dili (DQL–Data Query Language) 
64
3.2.3.1. Komutu 
64
3.2.4. Veri Kontrol Dili (DCL–Data Control Language) 
66
3.2.4.1. Grant Komutu 
66
3.2.4.2. Deny Komutu 
66
3.2.4.3. Revoke Komutu 
66
3.2.5. Veri Yönetim Komutları (DAC–Data Administration
Commands) 
67
3.2.5.1. Server Audit Komutu 
67
3.2.6. İşlem Kontrol Komutları (TCC–Transactional Control
Commands) 
67
3.2.6.1. Commit ve Rollback Komutu 
69
3.2.6.2. Savepoint Komutu 
70
3.2.6.3. Set Transaction Komutu 
70
3.3. Veritabanı Yedekleme ve Yedekten Geri Dönme 
72
3.4. Veritabanı veya Nesnelerin Oluşturulma Kodları 
77
BÖLÜM 4 
83
4. VERİ LİSTELEME SQL KOMUTLARI 
83
4.1. Verilerin Listelenmesi (Select) 
83
4.2. Listeleri Filtreleme 
84
4.2.1. Metin Veri Türüne Göre Filtreleme 
84
4.2.2. Sayı Veri Türüne Göre Filtreleme 
85
4.2.3. Tarih Veri Türüne Göre Filtreleme 
86
4.3. Listeleme Sorgularında Operatörler 
87
4.3.1. Karşılaştırma Operatörleri 
87
4.3.2. Mantıksal Operatörler 
88
4.3.3. İçinde ve İçinde Değil (IN, NOT IN) 
89
4.3.4. Arasında ve Arasında Değil (BETWEEN, NOT
BETWEEN) 
89
4.3.5. Metin İçinde ve Metin İçinde Değil (LIKE,
NOT LIKE) 
89
4.4. Listelerin Sıralanması (Order by) 
91
4.5. Verileri Tekrarsız Listeleme (Distinct) 
92
4.6. Sorgu Performansını Ölçme 
93
4.7. Tür Dönüşümleri (Cast, Convert, Parse) 
94
4.8. Tür Dönüşümlerinde Hata ve Performans Karşılaştırması 
99
4.9. Veri Formatlama (Format) 
101
BÖLÜM 5 
105
5. LİSTELERİN ÖZETLENMESİ SQL KOMUTLARI 
105
5.1. Verilerde Matematiksel İşlemler 
105
5.2. Verilerde Kümeleme 
106
5.2.1. Toplama Metodu (SUM) 
106
5.2.2. Ortalama Alma Metodu (AVG) 
106
5.2.3. En Küçük Değer Metodu (MIN) 
106
5.2.4. En Büyük Değer Metodu (MAX) 
107
5.2.5. Değer Sayma Metodu (COUNT) 
107
5.2.6. Varyans Metodu (VAR) 
107
5.2.7. Standart Sapma Metodu (STDEV) 
108
5.2.8. Diğer Kümeleme Metotları 
108
5.3. Gruplama İşlemi (GROUP BY) 
108
5.4. Gruplama Sonrası Filtreleme (HAVING) 
110
5.5. Metinler ile İlgili Metotlar 
111
5.5.1. Metinsel Birleştirme (+, CONCAT) 
111
5.5.2. Boşluk Silme Metodu (TRIM) 
111
5.5.3. Başta ve Sonda Boşluk Silme Metodu (LTRIM,
RTRIM) 
112
5.5.4. Büyük Harf ve Küçük Harf Metodu (UPPER ve
LOWER) 
112
5.5.5. Parçanın İndisini Alma (CHARINDEX) 
113
5.5.6. Parça Metin Alma (SUBSTRING) 
113
5.5.7. Soldan ve Sağdan Metin Alma (LEFT ve RIGHT) 
114
5.5.8. Uzunluk Alma (LEN) 
114
5.5.9. Metni Tersten Yazma (REVERSE) 
114
5.5.10. Metin Değiştirme () 
115
5.6. Metinleri Parçalama (STRING_SPLIT) 
115
5.7. Diğer Metinsel Metotlar 
115
5.8. Matematiksel Metotlar 
116
5.8.1. Mutlak Değer Alma (ABS) 
116
5.8.2. Karekök Alma (SQRT) 
117
5.8.3. Kare Alma (SQUARE) 
117
5.8.4. Rastgele Sayı Üretme (RAND) 
117
5.8.5. Üs Alma (POWER) 
118
5.8.6. Üst Sayıya Yuvarlama (CEILING) 
118
5.8.7. Alt Sayıya Yuvarlama (FLOOR) 
119
5.8.8. Yuvarlama (ROUND) 
119
5.8.9. Trigonometrik Metotlar (SIN, COS, TAN, COT) 
119
5.8.10. e Sayısının Üssü (EXP) 
119
5.8.11. Logaritma (LOG) 
120
5.8.12. Diğer Matematiksel Metotlar 
120
5.9. Tarih–Saat Metotları 
120
5.9.1. Tarih Parçası Alma (DAY, MONTH, YEAR,
DATEPART, DATENAME) 
120
5.9.2. Çalıştırma Zamanı Döndürme (getdate, sysdatetime,
sysdatetimeoffset) 
123
5.9.3. Zaman Oluşturma Metotları 
123
5.9.4. Tarihler Arası Fark Alma (DATEDIFF,
DATEDIFF_BIG) 
124
5.9.5. Tarihlere Süre Ekleme (DATEADD) 
125
5.10. Tarih Dönüştürme (SWITCHOFFSET, EOMONTH,
TODATETIMEOFFSET) 
125
5.10.1. Oturumun Sorgularının Formatını Öğrenme ve
Değiştirme (DATEFIRST, DATEFORMAT,
LANGUAGE) 
126
5.10.2. Zaman Verisi Kontrolü (ISDATE) 
127
5.11. Diğer Metotlar 
127
BÖLÜM 6 
129
6. İLİŞKİLİ TABLO SORGULARI 
129
6.1. Tabloları Birleştirme/İlişkilendirme 
129
6.1.1. Farklı İlişkilendirme Yöntemleri (Inner Join,
Left Join, Right Join, Full Outer Join) 
136
6.2. İç İçe SQL 
142
6.3. Sorgu Kümeleme Operatörleri 
143
6.3.1. Sorguları Birleştirme (UNION) 
143
6.3.2. Listeden Herhangi Biri (ANY, SOME, IN) 
144
6.3.3. Listeden Tümü Ya Da Hiçbiri (ALL) 
144
6.3.4. Listede Kayıt Var Ya Da Yoksa (EXISTS, NOT
EXISTS) 
145
6.3.5. İki Listeden Birinde Olup Diğerinde Olmayan
(EXCEPT) 
145
6.3.6. İki Listede Aynı Anda Olan (INTERSECT) 
146
BÖLÜM 7 
147
7. İLERİ DÜZEY T–SQL KODLARI 
147
7.1. Go Deyimi 
147
7.2. Değişkenler 
148
7.2.1. Değişken İsimlendirme Kuralları 
150
7.2.2. Sistem Değişkenleri 
151
7.3. Kontrol Deyimleri 
152
7.3.1. Begin–End 
152
7.3.2. IF–Else, IIF ve Case–When–Then 
152
7.3.3. While–Break–Continue 
157
7.3.4. Try–Catch 
159
7.3.5. Use ve Dbo 
161
7.3.6. Pivot ve Unpivot Tablolar Oluşturma 
161
7.3.7. Geçici Tablolar (Temp Table) Oluşturma 
166
7.3.8. Tablo İçeriği Kopyalama (INTO) 
168
7.3.9. Toplu Kayıt Girme (Bulk Insert) 
169
7.3.10. Dinamik SQL Sorgusu Çalıştırma 
173
BÖLÜM 8 
175
8. İLERİ VERİTABANI İŞLEMLERİ 
175
8.1. Görünüm Oluşturma ve Silme (VIEW) 
175
8.3. Stored Procedure Oluşturma 
185
8.4. Fonksiyon Oluşturma 
193
8.5. Trigger Oluşturma 
198
8.5.1. Sunucu Seviyesinde Trigger 
199
8.5.2. Veritabanı Seviyesinde Trigger 
200
8.5.3. Tablo/View Seviyesinde Trigger 
201
8.6. İmleç (Cursor) Kullanma 
204
8.6.1. İmleç Hareket Yönleri 
207
8.6.2. İmleç (cursor) Türleri 
208
8.7. Şifreli Sorgu Oluşturma (With Encryption) 
210
BÖLÜM 9 
213
9. GÜVENLİK 
213
9.1. SQL Enjeksiyon (SQL Injection) 
213
9.2. Verileri Şifreleme (Always Encrypted) 
215
9.2.1. Saydam Veri Şifreleme (Transparent Data
Encryption–TDE) 
215
9.2.2. Sütun Düzeyinde Şifreleme (Column Level
Encryption) 
217
9.2.3. Her Zaman Şifreli Veri Yapısı (Always Encrypted) 
220
9.3. Kimlik Doğrulama 
224
9.4. Kullanıcı Tanımlama, Güncelleme ve Silme 
225
9.4.1. Kullanıcı Yetkilendirme 
227
9.4.2. Veritabanı Düzeyinde İşlem Yetkilendirmeleri 
229
9.4.3. Nesne Özelinde Yetki Verme 
232
9.4.4. Satır Düzeyinde Yetkilendirme 
233
9.4.5. SQL Sunucu Erişimini Engelleme 
234
9.5. Kullanıcı Tanımlı Yetkiler 
235
BÖLÜM 10 
237
10. PERFORMANS 
237
10.1. Hibrit İşlem/Analitik Süreci (Hybrid Transactional ve
Analytical Processing– HTAP) 
237
store Indexes) 
238
10.3. Disk Tabloları ve Bellek İçi Tablolar 
238
10.4. Doğal Derlenmiş Saklı Yordamlar (Natively Complied
Stored Procedures) 
239
10.5. Geçici Veritabanı (TempDB) 
241
10.6. Akıllı Sorgu İşleme (Intelligent Query Processing–IQP) 
241
10.7. Hibrit Arabellek Havuzu (Hybrid Buffer Pool) 
243
10.8. Sorgu Depoları (Query Store) 
244
10.9. Automatic Tuning 
247
10.9.1. Automatic Plan Correction 
248
10.9.2. Automatic Index Management 
248