İçerik aşağıdaki Kitaptan alınmıştır. Veri tabanı Sistemleri Dersi Teoriden Pratiğe Nergiz Erçil Çağıltay Gül Tokdemir Ada Matbaacılık Fundemantals of database systems 6th edition Elmasri navate Günümüzde Bilgi Sistemleri Teknoloji ve bilginin önemi Internet Cep telefonları Banka Hesapları Uçuş bilgileri Hastane Kütüphane Öss Öğrenci Kayıt sistemi Nüfüs Bilgileri Tapu Borsa……. Bilgi Doğru Hızlı erişim Istenilen bilgiye erişim Bu veriler nerede tutulmalı?? Bilgi Sistemlerini Geliştirilme Aşamaları İşlevsel Gereksinimler 1. Aşama Gereksinim Belirleme Ve Analiz Veri Gereksinimleri İşlevsel Analiz 2. Aşama Kavramsal Modelleme Uygulama Program Tasarımı 1. Aşama Mantıksal Modelleme Uygulama Programları 1. Aşama Fiziksel Modelleme Uç Kullanıcılar Ham Veri, Enformasyon, Bilgi Veri Enformayon Bilgi Karar Verme Sentezlenir Analiz Edilir Özetlenir Organize Edilir Toplanır Data Information Knowledge Bilgi Enformasyon Veri ??????? Ticaret Üniversitesinde 5000 öğrenci vardır. B E V Bilgisayar Mühç Bölümünde 500 öğrenci vardır. B E V Bilgisayar Müh genel not ortalaması 2.3 dür. B E V Ticaret üniversitesinde Öğrencilerin %80 kızdır. B E V Ticaret üniversitesinden her on kişiden biri bilgisayar Mühendisliği öğrencisidir. B E V Duvarlara daha çok genç bayan ürünleri reklamı alınmalıdır. Genel Kavramlar Veritabanı Verilerin kolaylıkla erişilmeis ve organize edilmesini sağlayan yapılardır. Veriler tablolar halinde tutulur Veri tabanı yönetim sistemi Veritabanını saklamak ve yönetmek için kullanılan bir yazılım paketi yada sistemdir. Veri Tabanı Sistemi VTYS içindeki verilerinde içinde bulunduğu sistem parçalarının tümü Üst veri (metadata) veri data şeklinde bilgiler kaydedileri. Mini World Veri Tabanı Teknolojilerinin Temel özellikleri Kendi içeriğine Sahip olması VTYS catalog ve üst veri adı verilen bilgiler içerir. Programlar ve Verilerin birbirinden ayrıştırılaması Veri Soyutlama Verilerin nasıl saklandığı önemli değildir. Verilere Farklı bakış açıları ile erişim Farklı arayüz Tekrarlı tutarsız veri kontrolü Verilerin bir çok kullanıcı tarafından paylaşımı Temel Özellikler Devam Verilere erişim denetimi yetkisiz kişilerin erişim kısıtlaması Veriler arasında karmaşık bağlantıların gözterimi Yedekleme ve veri kurtarma Servisleri Standartların kullanımını sağlar Etkin sorgulama için veri saklama Program nesnelerin saklanması Tarihçe ve Kurulum Mimarileri Ağ modeli Hierarchical Model Relational Model İlişkisel Model 1970 (günümüzde hala en fazla kullanılan modeldir ) Object Oriented data model Objec Relational Data model Merkezi Sistem Mimarisi Uc kullanıcı ve VTYS ve veriler aynı fiziksel ortamda Maliyet onarım bakım düşük Yüksek güvenlik ?? Client/Server Mimarisi Kullanıcı arayüzleri ile Sunucuya bağlanma bilişim sistemlerinin ihtiyaçları arttıkça yeterli kalmadı Performans Güvenlik azalması Kod yönetilmesi 3 katmanlı İstemci/Sunucu Mimari Uygulama ile veri tabanı sunucusu birbirinden ayrılır. Veri tabanına doğrudan erişim yok daha güvenli Her katman farklı sunucularda ilem gücü performans N-Katmanlı Mimariler Ihtiyaca göre katman sayısı (aradaki katmanlar) artar Sistem girerek daha karmaşık olmakatadır. Dağıtık Veritabanı Sistemleri Mimarisi Verilerin iletişim ağları ile fiziksel olarak farklı sunucular üzerinde tutulmasını sağlar. Tek bir VTYS üzerinde birbirleri ile alakalı veri kümeleri ile çalışılacaksa tercih edililir. Dağıtık Veri Tabanı Yönetim Sisstemleri Mimarisi Farklı Veri Tabanı Yönetim Sistemleri mevcuttur. Neden VYTS?? Dosya / Liste yöntemi Sıralı Rastgele erişimli dosyalama Veri Tekrarlanmasını Önler Verilerin Tutarlı olmasını sağlar Aynı andaki erişimlerde verilerin tutarsızlığını önler Verilerin güvenliğini sağlar. Veri Modelleme Gereksinimleri Belirleme Veri tipleri Veri grupları Veriler ile ilgili kurallar Veriler üzerinde yapılması gereken işlemler Kavramsal Modelleme Grafiksel olarak Varlık Bağıntı (Entity Relationship) Mantıksal Modelleme Ilişkisel Modellde Tablolar halinde ifadesi Fiziksel Modelleme Terminoloji Tablo (table) Aynı özellikteki verilerin sağklandığı yapılar Kayıt (record, tuple, row) Tablolardaki bir satırdaki bilgiye verilen addır Nitelik (attribute) Tablolardaki her veri alanı, stünlar. Anahtar Nitelik (key atribute) Her bir kaydı tek (unique) olarak ayırmaya yarayan nitelik. Relational Model Concepts (cont’d.) Terminolji (devam) Birlerşik Anahtar Nitelik (composite) Birden fazla alnın birleşmesi ile oluşan anahtar nitelik. Süper Anahtar Nitelik (super Key) Bir tabloya ait kayıtların tek olarak sağlayan her bir nitelik grubu bir süper anahtar olarak adlandırılır. en büyük süper anahtar tüm alanların kullanılması , Aday Anahtar (Candidate Key ) Süper anahtar Alt kümesi Terminolji (devam) Birincil Anahtar ( Primary Key ) Her tabloda muhakkak bir tane birincil anahar tanımlanmalıdır. (aday anahtarlardan seçilebilir) Yabancı Anahtar ( Foreign Key ) Farklı bir tablonun birincil anahtarı. Veritabanı şeması (database Schema) liste/şekil Sınav(kod, tarih,ad, süre, yer, açıklama) Örnek Takım (no, ad, şehir, kyılı) Oyuncu (no, ad, adres, adress, dtarihi, takımno) Pozisyon (no, ad) Oynar(oyuncu,pozisyonno) The Insert Operation Provides a list of attribute values for a new tuple t that is to be inserted into a relation R Can violate any of the four types of constraints If an insertion violates one or more constraints Default option is to reject the insertion The Delete Operation Can violate only referential integrity If tuple being deleted is referenced by foreign keys from other tuples Restrict • Reject the deletion Cascade • Propagate the deletion by deleting tuples that reference the tuple that is being deleted Set null or set default • Modify the referencing attribute values that cause the violation The Update Operation Necessary to specify a condition on attributes of relation Select the tuple (or tuples) to be modified If attribute not part of a primary key nor of a foreign key Usually causes no problems Updating a primary/foreign key Similar issues as with Insert/Delete The Transaction Concept Transaction Executing program Includes some database operations Must leave the database in a valid or consistent state Online transaction processing (OLTP) systems Execute transactions at rates that reach several hundred per second Gereksinimler Iş kuralları Business Rules Veri gereksinimleri Data Requirements Işlevsel gereksinimler Functional Requirements Gerekisinimlerin toplanması Paralel yürütülmeli, başlangıçta belirgin değil sonradan belirginleşir Geleneksel yöntemler Görüşme/anketler Grup yöntemleri Beyin fırtınası, hızlı uygulama geliştirme, Taoplu uygulama tasarımı Gereksinim analizi (requirements analysis) Gereksinim Örnekleri Kitaptaki örnek Kavramsal Modelleme Varlık ilişki Modeli Er.ppt