Veritabanı Teorisi ve Uygulamaları

Dr. Ali NİZAM

 

 

 

 

 

 

 

 

 

akademik bilimsel ve üniversite kitaplarında Papatya

ISBN: 978-605-4220-94-6, Kasım 2015

460 sayfa, (16,5x24 cm2), 1. hamur kağıt


Veritabanı Teorisi Tasarımı ve Uygulamaları PDF içindekiler                     şimdi satın al


Bu kitabın amacı veritabanı konusunu en temelden başlayıp veritabanı teorisi düzeyine kadar ele almak ve ileri düzeyde veritabanı konularıyla ilişkilendirip veritabanı tasarımı ve uygulamalarının öğretilmesi üzerinedir. Kitabımız hem teoris hem de uygulamaya yönelik ciddi bir başvuru kitabıdır: Veritabanı kavramları, ilişkilsel veritabanı, standart SQL, biçimsel ilişkisel diller, ilişkisel cebir, veri model analizi, veri modeli tasarımı, veri tutarlıığı, kurtarma mekanizmaları, veritabanı depolama ve dosya organizasyonu, dizin yapıları, sorgu çalıştırma düzeyi, veritabanı sistem mimarileri, çeşitli veritabanı türleri, veritabanı güvenliği ve veritabanı yöneciliği konuları hem teorik açıdan hem de uygulamalı örnekleriyle ele alınmış ciddi bir kaynak kitaptır.

 Veritabanı konusunda böylesi ciddi bir kaynağın okuyucusuna kazandırmayı hedeflediği konular aşağıdaki gibi verilebilir:

  • Veritabanı mimari yapısını, dosya ve dizin organizasyonunu, farklı mimarileri ve güvenlik altyapısını öğrenmek

  • Veritabanı yönetim sistemi temel kavramlarını öğrenmek

  • Veri modelleme sürecini ve sürecin arka plandaki teorisini öğrenmek, gerçek hayattaki bir ihtiyacı modelleyebilmek

  • Veritabanına veri ekleme, değişiklik ve silme gibi temel işlemlerin SQL ve İlişkisel Cebir gibi biçimsel dillerle nasıl yapıldığını öğrenmek

  • Nesne tabanlı, XML,  büyük veri ve veri ambarı gibi veritabanı türleriyle ilgili bilgi sahibi olmak

  • Veritabanının işlemleri yürütürken arka planda bilgi işleme, eş zamanlılık, hareket yönetimi ve kurtarma nasıl çalıştığını açıklamak

Kitabımız veritabanı teorisi, sistemleri, tasarımı ve uygulaması konusunda ciddi bir kaynak eserdir; böylesi geniş kapsamlı bir kitap profesyonellerin yanıısıra üniversitelerin içerikli öğretim programı olan Bilgisayar Mühendisliği ve Yazılım Mühendisliği bölümlerinde okutulan  "veritabanı", "veritabanı sistemleri veya “veritabanı yönetim sistemleri” dersleri için önemli bir kaynak eserdir.


Türkiye'nin İnternet kitapçısı ---> www.tdk.com.tr


İÇİNDEKILER

 

Bölüm 1. BAŞLARKEN

1.1.      Kitabın Amacı Ve Anlatım Yöntemi

1.2.      Kitabın Hedef Kitlesi

1.3.      Kitabın İçeriği

1.4.      Özet

 

Bölüm 2. VERİTABANI KAVRAMI VE İLİŞKİSEL VERİTABANI

2.1.      Veri Kavramı

2.2.      Veri Tabanın Sağladığı Temel Fonksiyonlar

2.3.      Veritabanı Kullanıcıları

2.4.      Yazılım Geliştirme Sürecinde Veritabanı İşlemleri

2.5.      Veri Soyutlama Seviyeleri

2.6.      Veritabanı tarihsel Gelişimi

2.6.1.   Dosya Temelli Sistemler

2.6.2.   Hiyerarşik Veritabanı

2.6.3.   Ağ (Network) Veritabanı

2.7.      İlişkisel Veritabanı

2.7.1.   İlişkisel Veritabanının Temel Özellikleri

2.7.2.   İlişkisel Tablolar

2.7.3.   Kurallar

2.7.4.   İlişkiler ve Anahtar Alanlar

2.8.      Özet

2.9.      Sorular

 

Bölüm 3. STANDART SQL

3.1.      SQL (Structured Query Language) Yapısal Sorgulama Dili

3.1.1.   SQL’in Temel Özellikleri:

3.1.2.   SQL ile Yapılabilecekler

3.1.3.   Örneklerinde Kullanılacak Uygulama

3.2.      SQL’de Kullanılan Temel Komut Türleri ve Komutları

3.3.      Sorgulama (“SELECT”)

3.3.1.   Where (Gelen Sonuçları Kısıtlamak)

3.3.2.   Koşullu İfadeler

3.3.3.   Operatörler

3.4.      Veriyi Sıralama (Order By )

3.5.      Veri Grupları Üzerindeki İşlemler (Group By,  Having)

3.6.      Alt Sorgu

3.6.1.   Satır Sayısı Açısından Alt Sorgu Türleri

3.6.2.   Değer Geçişi Açısından Alt Sorgular

3.6.3.   Exists Kullanımı ile Alt Sorgular

3.6.4.   Kolon Sayısı Açısından Alt Sorgu Türleri

3.6.5.   Alt Sorguyu From Kısmında Kullanma

3.7.      Bileşke İşlemi

3.7.1.   Eşit veya Basit (Equijoins)

3.7.2.   Eşitlik Harici Operatörler (Non - Equijoin)

3.7.3.   Eşleşmeyen Kayıtların Getirilmesi (Left-Right Outer Join)

3.7.4.   Karşılıklı Olarak Eşleşmeyen Kayıtların Getirilmesi (Full Outher Join)

3.7.5.   Tablonun Kendisiyle Bileşke Yapılması (Self Join)

3.7.6.   Kartezyen Çarpım

3.8.      Küme Operatörleri

3.9.      Veri Yönetim İşlemleri

3.9.1.   Ekleme (“INSERT”)

3.9.2.   UPDATE

3.9.3.   Silme (DELETE)

3.10.    Hareket yönetimi

3.11.    Veritabanı Üzerinde Yapısal İşlemler

3.11.1. Tablo Üzerindeki İşlemler

3.12.    Veri Kontrol Komutlar

3.13.    Veri Üzerinde Kurallar

3.14.    Görüntü

3.15.    Dizin

3.16.    SQL İyileştirme

3.16.1. Dizin Kullanımı

3.16.2. Bileşke ve Alt Sorgu İyileştirmeleri

3.16.3. Gruplama ve Sıralama İşleminin Optimizasyonu

3.16.4. Veri Düzenleme İşlemlerinin İyileştirilmesi

3.16.5. SQL Tekrar Kullanımı

3.17.    Özet

3.18.    Sorular

 

Bölüm 4.  BİÇİMSEL İLİŞKİSEL DİLLER

4.1.      İlişkisel Cebir

4.1.1.   Sorgu

4.1.2.   Gösterim

4.1.3.   Birleşim

4.1.4.   Fark

4.1.5.   Atama işlemi

4.1.6.   İsimlendirme

4.1.7.   Kartezyen Sonuç

4.1.8.   Bileşke İşlemleri

4.1.9.   Bölme İşlemi

4.1.10. Grup Tabanlı İşlemler

4.1.11. İlişkisel Cebir Ağacı

4.2.      Satır Tabanlı İlişkisel Hesap

4.2.1.   Varlık ve Universal Operatörleri

4.2.2.   Varlık ve Universal Operatörler arası dönüşümler

4.2.3.   Güvenli İfadeler

4.2.4.   Temel İşlemelerin Gerçekleştirilmesi

4.3.      Alan Tabanlı İlişkisel Hesap

4.4.      Özet

4.5.      Sorular

 

Bölüm 5.  VERİ MODEL ANALİZİ

5.1.      Veri Modelleme Süreci

5.2.      Varlık İlişki Diyagramı

5.3.      Varlık

5.4.      Nitelik

5.5.      İlişkiler           

5.5.1.   Eşleşen Kayıt Sayısı ve Bağlayıcılık  

5.5.2.   Güç, Önem     

5.5.3.   Katılım           

5.5.4.   Yön    

5.5.5.   İlişki Derecesi

5.5.6.   İlişkilerin Gösterilmesi           

5.6.      Kurallar          

5.7.      Varlık Türleri 

5.7.1.   Bağımlılık (Bağımlı ve Bağımsız Varlıklar)   

5.7.2.   Genel Hiyerarşiler      

5.7.3.   Bağlayıcı Varlıklar     

5.7.4.   Fiziksellik       

5.8.      Belgeleme      

5.9.      Veri Analiz Örneği     

5.9.1.   Proje Kapsamı ve İhtiyaç Analizi      

5.9.2.   Varlıkların Belirlenmesi         

5.10.    Özet    

5.11.    Sorular

 

Bölüm 6.  VERİ MODEL TASARIMI VE GERÇEKLEŞTİRME           

6.1.      İlişkisel Veri Modeline Geçiş 

6.1.1.   Bire Bir İlişkilerin Çözümlenmesi      

6.1.2.   Çoktan Çoğa İlişkilerin Çözümlenmesi         

6.1.3.   Karmaşık İlişkileri İkili İlişkilere Dönüştürme           

6.1.4.   Fazla İlişkilerin Modelden Çıkartılması         

6.1.5.   Genel Hiyerarşilerin Dönüşümü        

6.2.      Normalleştirme          

6.2.1.   Fonksiyonel Bağımlılık          

6.2.2.   Tam Fonksiyonel Bağımlılık  

6.2.3.   Anahtarlar      

6.2.4.   Türetme Kuralları       

6.2.5.   Birinci Normal Form(1NF)    

6.2.6.   İkinci Normal Form (2NF)     

6.2.7.   Üçüncü Normal Form (3NF)  

6.2.8.   Boyce-Codd Normal Form (BCNF)   

6.2.9.   Dördüncü Normal Form(4NF)           

6.2.10. Beşinci Normal Form (5NF)  

6.2.11. Normalizasyon Algoritmaları 

6.2.12. Normalizasyonda Bazı Önemli Noktalar       

6.3.      Denormalizasyon       

6.3.1.   Denormalizasyonun Temel Özellikleri          

6.3.2.   Denormalizasyon ve Gerçek Hayat   

6.3.3.   Satır Düzeyinde Denormalizasyon    

6.3.4.   Sorgu Sonuçlarının Saklanması         

6.3.5.   Bölümleme     

6.3.6.   Dizin Kullanımı         

6.3.7.   Dikkat Edilecek Diğer Noktalar         

6.3.8.   Veri Ambarı Sistemleri ve OLAP       

6.4.      Fiziksel Tasarım ve Gerçekleştirme   

6.5.      Uygulama Geliştirmede Veri Yönetimi          

6.6.      Veri Model Kalitesi    

6.6.1.   Kalite Kriterleri          

6.6.2.   Kaliteli Tasarıma Ulaşmak     

6.6.3.   Doğrulama     

6.6.4.   Onaylama       

6.6.5.   Özet    

6.6.6.   Sorular

 

Bölüm 7.  VERİ TUTARLILIĞI VE EŞZAMANLILIK KONTROLÜ   

7.1.      Hareket Kavramı        

7.1.1.   SQL ile Hareket Yönetimi      

7.1.2.   Hareket Yönetimi Arka Planı 

7.2.      Yalıtım           

7.2.1.   Veri Okuma Tutarlılığı           

7.3.      Seri ve Serileştirilebilir Zaman Planları          

7.3.1.   Serileştirilebilir Planlar           

7.3.2.   Çelişik Serileştirilebilirlik       

7.4.      Kilitlemeye Dayalı Planlama  

7.4.1.   Basit Kilitleme

7.4.2.   İki Aşamalı kilitleme  

7.4.3.   Paylaşımlı ve Ayrıcalıklı Kilitleme    

7.4.4.   Kördüğüm      

7.4.5.   Değiştirme Kilidi        

7.4.6.   Seviyeli Kilitleme       

7.4.7.   Hayalet Kayıt Sorunu 

7.4.8.   Kilit Tablosu ve Kilitlemenin Çalışma Prensibi         

7.5.      Zaman Damgasına Dayalı Planlama  

7.5.1.   Çok sürümlü Zaman Damgası

7.6.      Onaylamaya Dayalı Planlama

7.7.      Planlama Yöntemlerinin Karşılaştırılması      

7.8.      Uygulama Geliştirme ve Eş zamanlılık          

7.8.1.   Yazılım Geliştirme Araçlarında Hareket Yönetimi    

7.8.2.   Kilitlerin Kısa tutulması         

7.9.      Özet    

7.10.    Sorular

 

Bölüm 8.  KURTARMA MEKANİZMALARI   

8.1.      Kurtarma Gerektiren Durumlar          

8.2.      Hareket Düzeyinde Çalışma Mantığı ve Çökmeler      

8.2.1.   Checkpoint     

8.2.2.   COMMIT Anında Diske Yazma Durumunda Kurtarma        

8.2.3.   İşlem Anında Diske Yazma Durumunda Kurtarma   

8.2.4.   Diske Yazmanın Checkpoint’e Kadar Geciktirilebildiği Durumda Kurtarma

8.3.      Serileştirme ve Kurtarma Mekanizmaları       

8.3.1.   Kurtarılabilirlik          

8.3.2.   Zincirleme Geri Alma ve Engelleyen Planlar 

8.4.      Bütünleşik Sistem Çökmelerinde Kurtarma   

8.4.1.   Veritabanı Düzeyinde Aktif aktif Çalışma    

8.4.2.   Veritabanı Düzeyinde Aktif Pasif çalışma Arşiv Veritabanları         

8.4.3.   İşletim Sistemi ve Diğer Altyapılar Düzeyinde Çalışmalar    

8.5.      Veri Yedekleme         

8.6.      Özet    

8.7.      Sorular

 

Bölüm 9.   VERİTABANI DEPOLAMA VE DOSYA ORGANİZASYONU      

9.1.      Genel yapı      

9.1.1.   Fiziksel Saklama Yapıları      

9.1.2.   Mantıksal Saklama Yapıları   

9.1.3.   Bilgisayarın yapısını oluşturan elemanlar      

9.2.      Sabit Disk erişiminde dikkat edilecekler        

9.3.      Dosya Organizasyon Şekilleri

9.3.1.   Sırasız Dosyalar         

9.3.2.   Sıralı Dosyalar

9.3.3.   Hash Dosya    

9.4.      Kayıtların Organizasyonu      

9.5.      Kayıtların Dosyalara yerleşimi          

9.5.1.   Başlık alanları ve Kayıtlara Erişim     

9.6.      İçerdikleri Kayıtların Yapısına Göre Dosyalar          

9.6.1.   Sabit Uzunluklu Kayıt İçeren Dosyalar         

9.6.2.   Değişken Uzunluklu kayıtlar 

9.6.3.   Çoklu Set Kayıtlar      

9.7.      Kayıtlar Üzerindeki İşlemler  

9.7.1.   Arama

9.7.2.   Ekleme           

9.7.3.   Silme  

9.7.4.   Değişiklik       

9.8.      Özet    

9.9.      Sorular

 

Bölüm 10.   DİZİN YAPILARI      

10.1.    Sıralı Dosyalarda Dizinler      

10.1.1. Sıralı Dizin Dosyası Kullanım Avantajı         

10.1.2. Yoğunluğuna Göre Dizinler   

10.1.3. Birincil Dizin  

10.1.4. Kümelenmiş Dizin     

10.1.5. İkincil Dizin   

10.1.6. Sıralı Dosyalarda Arama Performansının Ölçülmesi 

10.1.7. Sıralı Dizinler Üzerinde Kayıt Ekleme Silme 

10.2.    Çok Seviyeli Dizin     

10.3.    B Tree ve B+Tree Dizin         

10.3.1. BTree Dizin    

10.3.2. B+Tree Index 

10.4.    Hash Dizin     

10.5.    Bitmap Dizin  

10.6.    Fonksiyonel Dizin      

10.7.    Çok Anahtarlı İndeksleme     

10.8.    Dizin Oluştururken Dikkate Alınacak Faktörler          

10.9.    Özet

10.10.  Sorular

 

Bölüm 11.   SORGU ÇALIŞTIRMA SÜRECİ       

11.1.    Ayrıştırma      

11.2.    İyileştirme      

11.2.1. Maliyet Hesaplama    

11.2.2. Fiziksel Çalıştırma Maliyeti    

11.2.3. İyileştirme İçin Yapılan Dönüşümler ve Cebirsel Eşdeğerlik

11.2.4. İşlemlerde Kullanılacak Algoritmaların seçimi          

11.3.    Fiziksel Olarak Çalıştırma      

11.4.    Verileri hafızaya yükleme yöntemleri           

11.4.1. Tek Geçişli Algoritmalar        

11.4.2. İki ve Çok Geçişli Algoritmalar         

11.5.    Kayıt Seçim İşlemi Maliyet Hesabı    

11.6.    Sıralama İşlemi          

11.7.    Bileşke İşlemi 

11.7.1. İç İçe döngü bileşkesi

11.7.2. Sıralı Birleştirmeli Bileşke      

11.7.3. Hibrit birleştirmeli Bileşke     

11.7.4. Hash Bileşke  

11.8.    İşlemlerin Bütünleşik Gerçekleştirilmesi       

11.8.1. Maddileştirme

11.8.2. Ardışık Çalışma         

11.9.    SQL Eksenli Çalıştırma Planlarının anlaşılması         

11.10.  Özet    

11.11.  Sorular

 

Bölüm 12.  VERİTABANI SİSTEM MİMARİLERİ         

12.1.    Veritabanı Temel Mimarisi    

12.1.1. Sunucu Süreçleri        

12.1.2. Paylaşılan genel hafıza          

12.1.3. Arka Plan İşlemleri    

12.1.4. Fiziksel Saklama Yapıları      

12.1.5. Veri İşleme Süreci      

12.2.    Merkezi Sistemler      

12.3.    Paralel Sistemler         

12.3.1. Paralel Sistem Mimarileri       

12.3.2. Verileri Paralel Yazma ve Okuma     

12.3.3. Sorgular Arası Paralellik        

12.3.4. Sorgu İçi Paralellik     

12.3.5. İşlem Maliyeti ve Paralellik    

12.4.    Dağıtık Sistemler        

12.4.1. Dağıtık Sistem Türleri

12.4.2. Dağıtık Sistemlerin Avantajları          

12.4.3. Dağıtık Sistemin getirdiği Karmaşıklıklar       

12.4.4. Verilerin Dağıtımı      

12.4.5. Dağıtık Sorgu Çalıştırma        

12.4.6. Dağıtık Hareket Yönetimi      

12.4.7. Eş Zamanlılık Mekanizmaları

12.4.8. Dağıtık Ortamda Kurtarma     

12.4.9. Global Katalog Yönetimi       

12.4.10. Kullanılabilirlik          

12.5.    Bulut Bilişim Sistemleri         

12.6.    Günümüzdeki Genel Sistem Şeması  

12.7.    Özet    

12.8.    Sorular

 

Bölüm 13.  ÇEŞİTLİ VERİ TABANI TÜRLERİ  

13.1.    Nesne Tabanlı Veritabanı Sistemleri  

13.1.1. Nesneye Yönelik Programlama         

13.1.2. Yapısal Türler

13.1.3. Türler Arasında Kalıtım         

13.1.4. Tablo Kalıtımı ve Veri Düzeyindeki İşlemler

13.1.5. Dizi ve Çoklu Set türleri        

13.1.6. Küme Veri Türlerinde Değerleri Sorgulama  

13.1.7. Nesneye Referans Etme         

13.1.8. Karmaşık veri türleri ve tasarım         

13.1.9. Nesneye Yönelik Tasarımın Diğer Etkileri    

13.2.    XML veritabanları      

13.2.1. XML Yapısı   

13.2.2. XML Yapısının Belirlenmesi 

13.2.3. XML Şema     

13.2.4. XPath 

13.2.5. Xquery           

13.2.6. XML ve İlişkisel Veritabanı   

13.3.    OLAP Sistemleri        

13.3.1. Veri Ambarına Bilgi Aktarım metotları          

13.3.2. Veri Aktarım Araçları

13.3.3. Veri Aktarım Araçlarındaki İşlemler  

13.3.4. Küp Yapısı     

13.3.5. Küp saklama  

13.3.6. Küp Verisinin Analiz Edilmesi          

13.3.7. Küp Üzerinde Sorgulama İşlemi        

13.3.8. Veri madenciliği         

13.4.    Büyük Veri ve No-SQL         

13.4.1. Büyük Veri yönetim Süreci   

13.4.2. Hadoop          

13.4.3. NO SQL         

13.5.    Özet    

13.6.    Sorular

 

Bölüm 14.  VERİTABANI GÜVENLİĞİ 

14.1.    Güvenlikle İlgili Temel Kavramlar    

14.1.1. Güvenlikte Amaçlar   

14.1.2. Çok Kullanıcılı Ortamda Güvenlik Seviyeleri           

14.1.3. Güvenlik Ölçüleri      

14.1.4. Veritabanına saldırılar

14.1.5. Güvenlik altyapıları   

14.2.    Veritabanı Güvenliğinde Temel prensipler    

14.3.    Veri Erişim Aşamaları

14.4.    Yapısal Güvenlik       

14.5.    Şifreleme        

14.6.    Bağlantı ve Sonrasında Güvenlik       

14.6.1. Haklar

14.6.2. Kullanıcıya Hak Verme (Grant)         

14.6.3. Hak Grupları (Roller) 

14.6.4. Hakların Geri alınması           

14.6.5. Hakların Atanması Süreci      

14.6.6. Satır temelli güvenlik 

14.6.7. Sütun temelli güvenlik           

14.6.8. Güvenlikte Görüntü Kullanımı          

14.7.    Yetkili Kullanıcılar     

14.8.    Uygulama Güvenliği  

14.9.    SQL Enjekte Etme      

14.9.1. SQL Injectiondan kurtulmak  

14.10.  İzleme

14.11.  Özet    

14.12.  Sorular

 

Bölüm 15.  VERİTABANI YÖNETİCİLİĞİ         

15.1.    Veritabanı Yöneticisi Görevleri         

15.2.    Veritabanı Kurulumu 

15.3.    Sürüm Yönetimi         

15.4.    Veritabanı İzleme ve Sorun Çözme   

15.5.    Performans Yönetimi ve İyileştirme  

15.6.    Yazılımcı Taleplerinin Karşılanması  

15.7.    Saklama Alanı Yönetimi        

15.8.    Yedekleme ve Geri alma Yönetimi    

15.9.    Afet Önleme Sistemleri Yönetimi      

15.10.  Güvenlik        

15.11.  Veritabanı Yönetim Araçları  

15.12.  Veritabanı Yöneticisinin Bilişim ekibindeki yeri       

15.13.  Özet    

15.14.  Sorular

 

Kaynakça

 

Dizin


Üniversite ders kitapları, bizim asıl işimizdir... Üniversite yayıncılığı...