VERİ TABANI SİSTEMLERİ 1- Günümüzde bilgi sistemleri Teknoloji ve bilgi. 2- Bilgi sistemlerinin Geliştirilmesi İşlevsel Gereksinimleri 1.AŞAMA Gereksinim Belirleme ve Analiz Veri Gereksinimleri Gereksinimler İşlevsel Analiz 2. AŞAMA Kavramsal Modelleme Uygulama Program Tasarımı Veritabanı Sistemi<<< 33. AŞAMA Mantıksal Modelleme Uç Kullanıcılar Uygulama Programları 4. AŞAMA Fiziksel Modelleme
VERİ TABANI SİSTEMLERİ Veri, Enformasyon ve Bilgi Karar Verme Sentezlenir Bilgi Analiz edilir Özetlenir Enformasyon Organize Edilir Toplanır Veri
VERİ TABANI SİSTEMLERİ Genel Kavramlar Veritabanı(Database): Sistematik erişim imkanı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Yada veri tabanı, Bilgisayarda sistematik şekilde saklanmış, programlarca işlenebilecek veri yığınıdır şeklinde tanımlanabilir.
VERİ TABANI SİSTEMLERİ Genel Kavramlar Veritabanı Yönetim Sistemi-VTYS (Database Management System-DBMS) Veritabanlarını saklamak ve yönetmek amacıyla tasarlanmış olan bir yazılım paketidir.
VERİ TABANI SİSTEMLERİ Genel Kavramlar Veritabanı Sistemi-VTS (Database System-DBS) VTYS tarafından yönetilen veritabanı üzerindeki verileri de içeren sistem parçalarının tümüne verilen isimdir.
VERİ TABANI SİSTEMLERİ VTS Genel Kavramlar Kullanıcılar/Programcılar Veritabanı Sistemi Kullanıcı Arayüzleri, Uygulama Programları Sorgular VTYS YAZILIMI Sorguları İşleme Yazılımları / Programlar Verilere Erişim Sağlayan Yazılımlar Veritabanı Tanımları Veritabanı Verileri
VERİ TABANI SİSTEMLERİ Genel Kavramlar Veritabanı Teknolojisinin Genel Özellikleri 1- Kendi içeriğine sahiptir 2- Programlar ve verilerin birbirinden ayrılması 3- Tekrarlı ve Tutarsız veri kontrolü 4- Verinin birçok kullanıcı tarafından paylaşımı 5- Verilere yetkili olmayanların erişiminin engellenmesi 6- Veriler arasında karmaşık bağlantıların gösterimi 7- Yedekleme ve veri kurtarma Srvisleri 8- Standartların kullanımını sağlar 9- Etkin sorgulama için veri saklama yapıları 10- Program nesnelerinin saklanması
VERİ TABANI SİSTEMLERİ Genel Kavramlar VERİ TABANI SİSTEM AKTÖRLERİ Sahnedeki Aktörler Veritabanı Yöneticisi Veritabanı Geliştiricileri Veritabanı Programcıları Uç kullanıcılar Sahne Arkasındaki Aktörler VTYS geliştiricileri Araç Geliştiriciler Operatörler Bakım Onarım Personeli
VERİ TABANI SİSTEMLERİ Tarihçe 1. VTYS Tarihçesi 1960 Ağ modeli(network Modeli) önce Honeywell daha sonra Unisys, HP, Digital 1970 Sıradüzen Model(Hierarchical Model) IBM 1970 İlişkisel Model(Relational Model) IBM e E.F. Codd tarafından geliştirilmiş 80 li yıllarda ticari versiyonlar çıkmış Günümüzde Nesneye-yönelik veri modeli(object Oriented data model)
VERİ TABANI SİSTEMLERİ 1- Merkezi Sistem Mimarisi Kurulum Mimarileri Bu mimaride uç kullanıcı birimleri, VTYS ve veriler aynı sunucu üzerinde bulunur. İstemci VTYS Veritabanı
VERİ TABANI SİSTEMLERİ Kurulum Mimarileri 2- Basit İstemci/Sunucu Mimarisi(iki katmanlı istemci/sunucu mimarisi) Birden fazla kullanıcının istemci olduğu basit istemci sunucu mimarisinde istemciler iletişim ağı aracılığı ile veritabanı sunucusuna ulaşır. istemci İletişim Ağı VTYS Veritabanı istemci Birinci katman, istemci sistemlerden oluşur, bu katmanın görevi kullanıcı arayüzlerini kullanıcıya sunmak ve temel veri işlemlerini gerçekleştirmektir. İkinci katman ise, veri tabanı sunucusundan oluşur. Katmanın görevi geçerlilik işlemlerinin yapılması, veritabanına erişimin sağlanmasıdır.
VERİ TABANI SİSTEMLERİ Kurulum Mimarileri 3- Üç Katmanlı İstemci/Sunucu Mimarisi istemci istemci Birinci katmanda istemci bilgisayar bulunur, görevi kullanıcı arayüzlerinin kullanıcıya sunmaktır. İkinci katmanda uygulama sunucusu bulunur, görevi iş kurallarının uygulanmasının sağlanması ve veri işleme mantığının gerçekleştirilmesidir. Üçüncü katmanda veritabanı sunucusu bulunur. Bu katmanın görevi veri geçerliliğinin ve veritabanına erişimin sağlanmasıdır. İletişim Ağı Uygulama Yazılımları Uygulama Sunucusu VTYS Veritabanı
VERİ TABANI SİSTEMLERİ 4- N-Katmanlı Sistemler Kurulum Mimarileri istemci istemci İletişim Ağı Web Yazılımları Uygulama Yazılımları VTYS Web Sunucusu Uygulama Sunucusu Veritabanı
VERİ TABANI SİSTEMLERİ 5-Dağıtık Veritabanı Mimarisi Kurulum Mimarileri istemci istemci İletişim Ağı VTYS Veritabanı Sunucusu Veritabanı Sunucusu
KLASİK DOSYA SİSTEMLERİ Bilgisayarların ilk ortaya çıktığından bu yana hem donanım hem de yazılım alanında pek çok değişim ortaya çıkmıştır. Doğal olarak bu değişim, kuruluşların ve kişilerin gereksinimlerine daha iyi cevap verebilmek amacıyla ortaya çıkmaktadır. Pek çok kuruluşta eskiye oranla çok daha fazla veri üretildiğinden, geleneksel veri saklama ve işleme tekniklerinin yetersiz kaldığı gözlemlenmiştir. Veri saklama birimlerinde depolanan veri topluluklarına dosya (file) denir.
KLASİK DOSYA SİSTEMLERİ Kayıt ve Alan :Dosyalar kendi içinde kayıtlara bölünmüştür. Bir sınıftaki öğrenci listesini göz önüne alalım. Bu liste çok sayıda veri içerebilir. O halde, listenin ana bellekte tutulması söz konusu olamaz. Ana bellekte tutulduğu takdirde, bilgisayarın kapatılması durumunda bu bilgiler yok olacaktır. O halde bu verilerin kalıcı bir ortamda, örneğin sabit disk üzerinde yer alması gerekecektir. Disk üzerinde tutulan bu bilgiler, yeni öğrenci eklendiğinde büyüyecek veya çıkarıldığında küçülecektir. Ayrıca zaman zaman içeriği değişecektir. Bu listedeki her bir öğrenci bilgisi bir mantıksal kayıt oluşturur. Her kayıt da farklı bilgiler içerebilir. Örneğin; öğrencinin adı, baba adı, doğduğu yer vb gibi bilgileri içerebilir. Sayılan bu bilgilerin herbirine alan (field) adını veriyoruz.
KLASİK DOSYA SİSTEMLERİ Sıralı Dosyalar : içerdiği kayıtlara birinci kayıttan başlamak üzere sırayla erişim yapmak üzere tasarlanmış dosyalardır. Bu tür dosyaların kayıtlarına ardışık olarak erişilebilmesine karşılık, kayıtlar fiziksel olarak ardışık olmayabilir. Sıralı dosyaların her bir kaydına ardışık olarak erişilmesi bazı durumlarda yararlı olmasına rağmen, bazı uygulamalarda sorunlar yaratır. Örneğin; okuldaki tüm öğrencilerin tümü listelenecek ise, kayıtlara peşpeşe erişim söz konusudur. Bu durumda dosyanın sıralı olarak tasarlanmış olması sorun yaratmaz. Ancak sadece birkaç öğrencinin listelenmesi isteniliyorsa, tüm öğrencilerin okunarak bu listenin elde edilmesi uygun bir yöntem olmayacaktır. Söz konusu öğrencilere doğrudan erişilmesi en uygun yoldur.
KLASİK DOSYA SİSTEMLERİ İndeksli Dosyalar : Sıralı dosyalarda tüm kayıtlar artarda gelmesi gerekiyordu. Bu soruna çözüm bulmak amacıyla doğrudan erişimli dosyalar kullanılır. Bu tür dosyalarda, her bir arama işlemi dosyanın başından itibaren yapılmaz. Belirlenen kayıtlara doğrudan erişilerek üzerinde işlem yapılır. Doğrudan erişimli dosyaların en tanınmışı, indeksli dosyalar olarak bilinir. İndeksli dosyalar veya bir başka deyişle indeks sıralı dosyalar, veri dosyasından ayrı olarak bir indeks dosyasının oluşturulması ile birlikte hazırlanır. Bir dosya için oluşturulan indeks; söz konusu dosyanın anahtarları ile bu anahtarların disk üzerinde bulunduğu adresi içerir. Anahtar alan, erişimde kullanılmak üzere seçilen alan olarak değerlendirilir.
KLASİK DOSYA SİSTEMLERİ Hesaba Dayalı Dosyalar : Bir diğer doğrudan erişimli dosya türü hesaba dayalı dosyalar (hashed files) olarak bilinir. Bu tür dosyalar, indeksli dosyalar gibi ayrı bir indeksin tutulmasını gerektirmez. Dosyanın herhangi bir kaydına doğrudan doğruya erişebilmek için bir hesaplama algoritması kullanır.
VTS lerinin Üstünlükleri Veri tabanı kullanımı, geleneksel dosya kullanımına göre birçok yönden üstünlük sağlamaktadır. Veri Tekrarını Önler Veri Tutarlılığını Sağlar Tutarsızlıkları Önler Veri Güvenliği Sağlar
Veri Modeli 1. Gereksinimlerin Belirlenmesi 2. Kavramsal Model 3. Mantıksal Model 4. Fiziksel Model
Veri Modeli 1. Aşama: Gereksinimlerin Belirlenmesi Bilgi sistemlerinin geliştirilmesinin başlangıcı kullanıcıların gereksinimlerinin iyi belirlenmesi ve analiz edilmesidir. Geliştirilecek olan sistemin işlevselliği, sistemde tutulması gereken veriler, verilerin birbirleri ile ilişkileri, kullanıcıların operasyonel olarak gerçekleştirdikleri işlerin detayları bu aşamada belirlenir. Bu aşamada belirlenen gereksinimler bilgi sisteminin işlevselliğini belirlerken, sistemi destekleyecek olan veritabanı sisteminin yapısını da belirleyen temelleri oluşturur. Gereksinimlerin belirlenmesi aşamasında veri tipleri, veri grupları, verilerle ilgili kurallar, veriler üzerinde yapılması gereken işlemler ortaya çıkar.
2. Aşama: Kavramsal Model Veri Modeli Kullanıcıdan elde edilen gereksinimler ilgili bir analiz çalışmasının yapılması ve birbiriyle bağlantılı verilerin gruplanarak bir düzenleme içerisinde modellenmesi gerekir. Bu model grafiksel olarak Varlık Bağıntı (entity relationship) Çizenekleri ile gösterilir.
2. Aşama: Kavramsal Model Veri Modeli 2.1 varlık Varlık (Entity), var olan ve diğer varlıklardan ayırt edilebilen bir nesnedir. Örneğin, bir bilgisayar, bir kaplan, bir savaş uçağı, bir kız çocuğu
2. Aşama: Kavramsal Model Veri Modeli 2.2 Varlık Dizisi Aynı türdeki varlıklar bir varlık dizisi ya da bir başka deyişle varlık kümesi oluşturur. Örneğin, bir okuldaki tüm öğrenciler öğrenci, bu okuldaki tüm dersler ders isimli varlık olarak değerlendirilebilir. Çok sayıdaki öğrenci topluluğu da bir varlık oluşturur.
2. Aşama: Kavramsal Model Veri Modeli 2.3 Varlık İlişki Kümeleri Varlıklar arasındaki bağlantıya ilişki adı verilir. Örneğin, Burak varlığı ile Dersler varlığı arasında bir ilişki vardır çünkü; Burak bir öğrencidir ve aldığı dersler Dersler varlığı ile gösterilmektedir. İlişki kümesi, aynı türdeki ilişkilerin bir kümesidir. Biçimsel olarak, bu varlık seti üzerindeki bir matematiksel ilişki olarak ifade edilebilir. Aynı tür ilişkilerin oluşturduğu kümeye ilişki kümesi denir ve bu ilişki kümelerini R ile gösterilir.
Veri Modeli 2. Aşama: Kavramsal Model 2.3 Varlık İlişki Kümeleri (örnek) Aşağıdaki iki varlık kümesini göz önüne alalım. Bu varlık kümelerinden birincisi öğrencileri, ikincisi ise bu öğrencilerin aldıkları dersleri içermektedir. E 1 = {Burak, Begüm} E 2 = {Matematik, Fizik} Bu iki küme arasındaki ilişki, öğrencilerle dersler arasında olan ilişkidir. Bu ilişkileri, öğrenci-ders çiftleri biçiminde ifade edebiliriz. Tüm öğrencilerle tüm dersler arasındaki ilişki ise kartezyen çarpım yapılarak ortaya konulur. Kartezyen çarpım, iki küme arasında olası tüm çiftleri ifade etmektedir. İki varlık kümesi için kartezyen çarpım şu şekildedir: E 1 x E 2 = {(Burak, Matematik), (Burak, Fizik), (Begüm, Matematik), (Begüm, Fizik)} Aşağıda gösterildiği biçimde üç ilişki kümesi tanımlayalım: R 1 = {(Burak, Matematik)} R 2 = {(Burak, Fizik)} R 3 = {(Burak, Matematik), (Begüm, Matematik)} Bu örnek bize, iki veri kümesi arasında geçerli tüm ilişki kümelerinin, R ilişki kümesinin bir alt kümesi olduğunu göstermektedir.
2. Aşama: Kavramsal Model Veri Modeli 2.4 Nitelikler Bir varlık, çok sayıda nitelik yardımıyla tanımlanabilir. Örneğin, PERSONEL varlığının nitelikleri aşağıdaki şekildeki gibi olabilir.
2.4.1 Etki alanı Veri Modeli
2.4.2 Türetilen Nitelik Veri Modeli
2.4.3 Çok Değere Sahip Nitelikler Veri Modeli
2.4.4 Birleşik Nitelikler Veri Modeli
2.4.5 Rol Veri Modeli
2.5 Varlıkların İlişkilendirilmesi Veri Modeli
2.5.1 Birden Bire İlişki Veri Modeli
2.5.2 Birden Çoğa İlişki Veri Modeli
2.5.3 Çoktan Bire ilişki Veri Modeli
2.5.4 Çoktan Çoğa ilişki Veri Modeli