5 Aralık 2016 Pazartesi

13.Veritabanı Oluşturma Aşamaları


Bir veritabanı oluşturulurken çeşitli aşamalardan geçmektedir. Bu aşamaları aşağıdaki gibi sıralayabiliriz.
Bir veritabanının kavramsal modellenmesi;
Kavramsal modelleme (sistemin analizi) yapılması,
Varlık–ilişki modelinin oluşturulması,
İlişkisel modelin oluşturulması.
Veritabanının mantıksal kurulumunun yapılması;
Kavramsal modellerin VYTS bileşenlerine dönüştürülmesidir.
Veritabanının fiziksel olarak kurulması;
Veritabanının programlanması safhasıdır.
Sistem analizi aşamasında, veritabanının tüm bileşenlerinin çok detaylı bir tanımlanması yapılmaktadır. Yani bu sistemde nelerin gerekli olduğu ayrıntılı bir şekilde incelenmektedir. Bu inceleme kod tabanlı değil metin tabanlı bir incelemedir.
Burada ihtiyaçlar belirlenirken son kullanıcının görüşlerine yer verilmektedir. Yani sistemde hangi verilerin tutulacağı ve ne türden işlemlerin yapılacağı sistemi bizzat kullanacak kullanıcıyı da sorularak hazırlanabilmektedir.
Kavramsal model, fiziksel model ile karşılaştırıldığında;
fiziksel model, kullanılmak istenen VTYS üzerinde verilerin bilgisayarda tutulması, kayıtların düzenlenmesi ve erişim yöntemlerinin belirlenmesi vb. işleri gerçekleştirirken,
kavramsal model VTYS ve kısıtlamalardan bağımsız genel amaçlı bir model ortaya koymayı amaçlamaktadır.
Kavramsal model herhangi bir sistem üzerinde değil kâğıt üzerinde veya bir tasarım yazılımı kullanılarak yapılmaktadır. Yani sistem analizi yapılmaktadır ve bu genellikle sözel bir bölümdür. Problemin detaylı tanımlaması yapılmaktadır.

Şimdi kavramsal modele bir örnek verelim.

"Maltepe Üniversitesi Kütüphanesinde kullanılmak üzere bir veritabanı modellenmek istenmektedir. Kütüphanede kitaplar içeriklerine göre tasnif edilmektedir. Her kitaba ait bir kitap numarası ve kitap adı vardır. Kitaplar içeriklerine göre tasnif edildiğinden birde raf numarası verilmektedir. Kütüphane görevlilerinin kendilerine ait kullanıcı adı ve şifreleri vardır. Kütüphane görevlisi ödünç kitap verme, kitap iadesi alma, kitap ekleme ve çıkarma haklarına sahiptir.”
“Kütüphaneden ödünç kitap öğrencilere, öğretim elemanlarına ve diğer personele verilebilmektedir. Kitaplar öğrencilere ödünç verilecekse öğrenci numarası, adı, soyadı, fakülte adı ve bölümü bilgilerine, personele verilecekse personel numarası, adı, soyadı, fakülte adı ve bölümü bilgisine, diğer personele verilecekse, personel numarası, adı, soyadı ve çalıştığı birim bilgilerine ihtiyaç vardır. Kitabın ödünç verilme süresi 15 gündür. Zamanında getirilmeyen kitaplar için personele gün başına ceza kesilir.”



12.İlişkisel Veri Modeli


Şu anda kullanılan veri tabanlarının çoğu ilişkisel veri modelini desteklemektedir.
Bu modelde birbiri ile alakalı olan veriler, tablolar içinde saklanır. Ayrıca tablolar arasında değişik türlerde ilişki  kurulmaktadır.
İlişkiler kurulurken birincil anahtar (primary key) ve yabancı anahtarlar (foreign key) kullanılır.
Anahtar alanlar sayesinde indeksleme yapma olanağı sunan ilişkisel veri tabanlarında erişim ve işlemler daha hızlı yapılabilmektedir.
İlişkiler ve onların temsilleri olan tablolardan oluşan veri modelleri ilk olarak 1970 yılında Codd tarafından ortaya atılmıştır.
İlişkisel veri modelleri formüle edilirken, veri yönetimi ihtiyaçlarını karşılayabilmek için ilişkinin matematiksel teorisi, mantıksal olarak genişletilmiştir.
İlişkisel veri modellerinde kullanılan tek yapılandırma aracı ilişkidir. İlişkinin tanımı, veri tabanı ilişkilerinin zamana bağlı olması dışında, matematiksel tanımı ile aynıdır. Yani, bir veri tabanı ilişkisinde satırlar; eklenebilir, değiştirilebilir ya da düzeltilebilir.
Aşağıda gördüğünüz satırlar, basit bir hastane veri tabanının ilişkisel şemasını göstermektedir.


HASTANE (Hastane_Kodu, Hastane_Adı, Adres, Tel_No, Yatak_Sayısı)
DOKTOR (Hastane_Kodu, Diploma_No, Adı, Uzmanlığı)
İŞÇİ (Hastane_Kodu, Sigorta_No, Adı, Adres, Kıdem, Maaş, D_Tarihi)


Ağ (Network) Veri Modeli
Ağ veri modeli 1970'li yıların başında geliştirilmiştir. Bir verinin doğası gereği birden çok veri ile ilişkisinin olmasından dolayı hızlıca kabul görmüştür.
Bu modelde verilerin birbirine ağ şeklinde bağlandığı varsayılır.
Bir veri ağında iki kullanıcının haberleşebilmesi için bir çeşit adresleme şekli gereklidir. Genelde, iki veya üç adres gerekir. Bazı sistemlerde bir fiziksel adres, bir veri bağlantı adresi ve bir ağ adresi kullanılır. Daha yaygın bir yaklaşım, yalnızca fiziksel ve ağ adreslerini kullanmaktır. Bu yaklaşımda, fiziksel ve veri bağlantı adresi aynıdır. Veri iletişimi bu adresler aracılığı ile sağlanmaktadır.


Nesneye Yönelik Veri Modeli
Diğer veri modellerinden daha sonra ortaya atılan ve karmaşık uygulamalarda başarısını kanıtlamış nesne yönelimli programlamaya dayanan veri modelidir.
Nesne yönelimli sistemler, bir istatistiksel sistem içinde, esnek veri yapılarının geliştirilmesi ve istatistiksel modellerin sunumunda da kullanılmaktadır.


Nesne yönelimli bir veri modelinin çekirdeğini şu unsurlar oluşturmaktadır.
Nesne ve nesne tanımlayıcı: Nesne yönelimli sistemler ve dillerde, gerçek hayattaki her bir varlık birer nesne olarak modellenir. Her nesnenin de bir tanımlayıcısı vardır.
Öznitelikler ve metotlar: Her nesnenin bir durumu ve bir davranışı vardır. Bir nesnenin durumu, nesnenin özniteliklerinin aldığı değerlerin kümesidir. Nesnenin davranışı ise, nesnenin durumu üzerinde işleyen metotlar (program kodları) kümesidir.
Sınıf: Aynı öznitelikler ya da metotlar kümesini paylaşan nesneleri gruplama aracı olarak kullanılır. Nesne ile sınıf arasında bir ilişki vardır. Kendisi de bir nesne olan özniteliğin değeri de sınıfın içinde yer alır (kapsülleme). Bu sınıf, nesnenin özniteliğinin tanım kümesi olarak adlandırılır.
Sınıf hiyerarşisi ve kalıtım: Nesne yönelimli sistemlerde, var olan bir sınıftan yeni bir sınıf türetilebilir. Altsınıf denilen bu yeni sınıf, üst sınıf denilen ve daha önce var olan sınıfın tüm özniteliklerini ve metotlarını kalıtsal olarak taşır.

11.Sıradüzensel (Hiyerarşik) Veri Modeli


Hiyerarşik veri modeli 1960 ve 1970 yılları arasında popüler olan bir modeldir. Bu modelde çoklu ilişkileri temsil edebilmek için, varlık tiplerinin her ilişki için ayrı ayrı tanımlanması gerekir. Bu da gereksiz veri tekrarına sebep olur.
Bu modelde, veriler ağaç yapısına benzer bir biçimde modellenir. En üste kök ve kökün dalları bulunur. Ayrıca her dalın alt dalı sayesinde dallanma ve çeşitlilik artar.
Bu modelde her bir alt dalın sadece bir tane noktadan bağlanma şartı bu modelin en büyük kısıtlamalarından biridir.
Model dahilindeki herhangi bir düğüm, altındaki n sayıda düğüme bağlanırken, kendisinin üstünde ancak bir düğüme bağlanabilir.
Hiyerarşik yapının en tepesindeki düğüm noktasına kök denir ve bu düğümün sadece bağımlı düğümleri bulunur. Bu veri yapısını gösteren grafiğe de hiyerarşik tanım ağacı denir.
Bir hiyerarşik tanım ağacının örneği aşağıda görülmektedir.


10.Veritabanı Türleri



Veritabanları;kullanıcı sayısına,fiziksel konumuna,veri modeline göre üç şekilde sınıflandırılabilir.


Kullanıcı Sayısına Göre
Tek-kullanıcılı (single-user) veritabanları, bir seferde yalnızca bir kullanıcıyı destekler.
Masaüstü veritabanı: tek-kullanıcılı, PC üzerinde çalışır.

Çok-kullanıcılı (multi-user) veritabanları, aynı anda birden çok kullanıcıyı destekler.
Kurumsal veritabanları…


Fiziksel Konumuna Göre
Dağıtılmış sistemlerde tüm belgelerde aynı veri tabanı yönetim sistemi kullanılmış ise homojen dağıtılmış veri tabanı sistemi, farklı belgelere farklı veri tabanı sistemleri kullanılıyor ise heterojen dağıtılmış veri tabanı sistemi denir.
Merkezi Veritabanı: Tek bir veritabanı sistemi bulunur.  Fiziksel olarak ta tek bir merkezde bulunur.
Dağıtık Veritabanı: VTYS’nin çeşitli parçaları bir çok bölgeye dağıtılmıştır. Dağıtılmış veritabanı, kullanıcıya tek bir veritabanı gibi gözükür, fakat ayrı yerlerdeki veritabanlarından oluşur
Res-9


Veri Modeline Göre
Veri Tabanı Yönetim Sistemleri belirli bir veri modeline dayanır.
Bir veritabanı yapısının temelini veri modeli kavramı oluşturmaktadır. Veriyi mantıksal düzeyde düzenlemek için; kullanılan kavramlar, yapılar ve işlemler topluluğuna veri modeli denir.

Birçok veri modeli geliştirilmiştir. Başlıca veri modelleri;
Sıra düzensel veri modeli,
Ağ (network) veri modeli,
İlişkisel veri modeli,
Nesneye yönelik veri modeli.

Sayılan bu veri modellerinin ilk ikisi şu anda kullanılmamaktadır. En yaygın kullanılanı ise, İlişkisel Veri Modelidir. Günümüzde kullanılan VTYS?’lerin hemen hemen tümü ilişkisel veri modeline dayalıdır. Son zamanlarda ortaya çıkan Nesneye Yönelik Veri Modeli, İlişkisel Veri Modeli ile birlikte bazı VTYS’?lerde kullanılmaktadır.

9.VTYS’nin Sağladığı Yararlar


Veri tabanları dışında VTYS’nin de çeşitli faydaları vardır. Bunları şöyle açıklayabiliriz.
Veri Tekrarı: Aynı veriler değişik bilgisayarlarda tekrar tekrar tutulmak zorunda değildir. Dolayısı ile verilerin tekrarı azaltılmış olur.
Veri Tutarlılığı: Herhangi bir tabloda güncellenen bir bilgi başka bir yerde güncellenmemiş olabilir. Böyle bir durum verilerin tutarsızlığına neden olabilir. Bu nedenle bir tabloda güncellenen bir bilgi başka bir tabloda da güncellenmek zorundadır.
Veri Paylaşımı/Eşzamanlılık: Bir VTYS ‘de bir veri tabanına saniyede yüzlerce kez bağlanılabilir. Bu işlem sırasında veritabanının bütünlüğü ve tutarlılığı bozulmamalıdır.
Veri Bütünlüğü: Bir tablodan herhangi bir kayıt silinirse bununla ilişkili olan diğer kayıtlarda tüm tablolardan silinmelidir. Aksi halde verilerin bütünlüğü sağlanamamış olur.
Veri Güvenliği: Verilerin yanlış kullanım sonucu zarar görmelerini engellemek için çok kapsamlı mekanizmalar mevcuttur.
Veri Bağımsızlığı: Bir verinin fiziksel olarak temsili, bulunduğu yer ve verinin kullanımı birbirinden bağımsızdır. Bir uygulamanın, veritabanının veriyi nasıl ve nerede depoladığını bilmesi gerekmez. Uygulama sadece istekte bulunur. Ayrıca veritabanı üzerinde tablo ekleme, silme gibi işlemlerden uygulama programı etkilenmemelidir

8.Veritabanı Yönetim Sistemleri

Veritabanı Yönetim Sistemleri (VTYS - DBMS), kullanıcı ile veritabanı arasında arabuluculuk görevini üstlenir.
Veritabanı yapısı, bir dosya topluluğu olarak depolanır.
VTYS ile bu dosyalara erişilebilinir.
VTYS, paylaşılabilir veriler sağlar.
VTYS, birçok kullanıcı bakış açısına göre verileri birleştirir.
VTYS, son kullanıcı ile veritabanı arasındaki etkileşimi yönetir.
Bir veritabanı sistemi ile bir dosya sisteminin karşılaştırılmasını görüyoruz.