İlişkisel Veri Modeli
En geniş kullanım alanı olan modeldir. Bu modeli temel alan bazı VTYS’ler şunlardır:
Oracle, Sybase, DB2, SQL Server, Access v.s.
İlişkisel modele alternatif model olarak, nesneye-yönelik model ise yaygınlaşmaya devam etmektedir. Nesneye-yönelik model için bazı örnek sistemler şunlardır: Object Store, Ontos, Versant, O2, Itasca.
İlişkisel model ile nesneye-yönelik modelin bazı kavramlarının kaynaşmasından ortaya çıkan nesne-ilişkisel modelini kullanan ürünler ise son yıllarda birçok endütriyel VT şirketince piyasaya sürülmüştür. Bunlara örnek sistemler: UniSQL, Informix Universal Server, Oracle , DB2, SQL-Server, Sybase vs.
İlişkisel Veri Modeli – Tanımlar
Bu model iki boyutlu tablolar halinde gösterilir ve her bir tabloya ilişki(relation) denir. İlişkide gösterilen her bir veri satırına tuple ya da kayıt denir ve her kolon da bir niteliğin(attribute) verilerini içerir. Nitelikler verilerini belli bir alandan almak durumundadırlar ve bu alana domain denir. Bir ilişkideki niteliklerin sayısı da o ilişkinin derecesini(degree) gösterir.
Bir ilişki şeması R, R(A1 , A2,…, A n) ile gösterilir, bir nitelikler kümesinden oluşur ve R={A1,A 2,…,An } dir. Örneğin, öğrenci(no, isim, adres, ortalama).
Bir ilişki şeması r(R) ile gösterilir ve tuplelar(sıralar) kümesinden oluşur. r={t1 , t2,…,t n} dir. Her tuple t, n değerden oluşan bir sıralı listedir ve t=<v1,v 2, …,vn >. Buradaki her vi dom(Ai) nin bir elemanıdır ya da özel bir null değerdir. İlişkisel veri modelinde bir ilişki örneği Şekil 4.1’de verilmektedir. Bir ilişki r(R), domain’lerin kartezyen çarpımlarının bir alt kümesidir ve aşağıdaki gibi gösterilir:
(dom(A1 ) X dom(A2) X … X dom(An)) r(R)
Herhangi bir t zamanındaki bir ilişkinin örneği (instance) sadece geçerli tuple’ları içerir ve bunlar gerçek mini dünyanın özel bir anını yansıtırlar. Bütün tuple’lar birbirlerinden farklıdır.
Bir ilişkisel veritabanı şeması S, ilişkisel şemaların kümesinden, S = {R1 , R2, … , R m}, ve bütünlük (integrity) kısıtlamalarından oluşur.
İlişkisel veritabanı şeması S’nin bir ilişkisel veritabanı örneği VT ilişki örneklerinin bir kümesidir ve VT = {r1 , r2 , … , rn} dir. Burada her ri, R i‘nin bir ilişkisel örneğidir ve her r i o ilişki için tanımlı bütünlük kısıtlamalarını sağlar.
ŞEKİL 4.1 – İMALAT ilişkisi ve örnek nitelik ve tuple’ları
İMALAT(imalatçı, parça, proje) = şema
Bu ilişkinin derecesi 3, kardinalitesi 7 ve tüm tuple’lar birbirinden farklıdır. Bu ilişki üzerinde tanımlanmış kuralların tümünü şöyle sıralayabiliriz;
- Her nitelik farklı isimli olmalıdır.
- Her niteliğin ismi olmalıdır.
- Her tuple farklı olmalıdır.
- Bu modelde takip niteliklerin aldığı veriler üzerinden olmalıdır.
- Kullanıcıya yanıt olarak gelen tuple’lar belli bir sıraya göre değildir.
- Nitelikler herhangi bir sırada olabilirler.
- Sorgu dilinin sonucunda elde edilecek ilişkiler de bu kurallara uyarlar.(Burada kastedilen ilişkisel cebir sorgularıdır.)
İlişkilerde Güncelleme İşlemleri
Giriş (insert): İlişkiye yeni tuple’ların girilmesi işlemi
Silme (delete): İlişkiden tuple’ların silinmesi işlemi
Değiştirme (modify): Bazı niteliklerin değerlerinin değiştirilmesi işlemi
Bu operasyonlar sırasında ilişkisel veritabanı şeması üzerinde tanımlı bütünlük kısıtlamalarının çiğnenip çiğnenmediği kontrol edilmek zorundadır.