5 Aralık 2016 Pazartesi

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.