İlişkisel Veri Modeli

İlişkisel veri modeli 1970 yılında E. F. Codd tarafından tanıtılmıştır. Şu anda en yaygın kullanılan veri modelidir.

İlişkisel model, aşağıdakiler için temel oluşturmuştur:

  • Veri/ilişki/kısıt teorisi üzerine araştırma
  • Çok sayıda veritabanı tasarım metodolojisi
  • Yapılandırılmış sorgu dili (SQL) olarak adlandırılan standart veritabanı erişim dili
  • Neredeyse tüm modern ticari veritabanı yönetim sistemleri

İlişkisel veri modeli, dünyayı "birbiriyle alakalı ilişkilerden (veya tablolardan) oluşan bir koleksiyon" olarak tanımlar.

İlişkisel Veri Modelindeki Temel Kavramlar

İlişki

Tablo veya dosya olarak da bilinen bir ilişki, bir adla karakterize edilen bir etki alanları listesinin Kartezyen çarpımının bir alt kümesidir. Ve bir tablo içinde, her satır ilgili veri değerlerinden oluşan bir grubu temsil eder. Bir satır veya kayıt, tuple olarak da bilinir. Bir tablodaki sütunlar bir alandır ve öznitelik olarak da adlandırılır. Bunu şu şekilde de düşünebilirsiniz: kaydı tanımlamak için bir öznitelik kullanılır ve bir kayıt bir dizi öznitelik içerir.

Aşağıdaki adımlar bir ilişki ve domainler arasındaki mantığı özetlemektedir.

  1. Verilen n etki alanı D1, D2, … Dn ile gösterilir
  2. Ve r bu alanlar üzerinde tanımlanmış bir bağıntıdır
  3. Sonra r ⊆ D1×D2×…×Dn

Tablo

Bir veritabanı birden fazla tablodan oluşur ve her tablo verileri tutar. aşağıdaki şekilde üç tablo içeren bir veritabanı gösterilmektedir.

Şekil; Üç tablo içeren veritabanı.

Sütun

Bir veritabanı, bilgi parçalarını veya olguları organize bir şekilde depolar. Veritabanlarını nasıl kullanacağımızı ve onlardan en iyi şekilde nasıl yararlanacağımızı anlamak, bu organizasyon yöntemini anlamamızı gerektirir.

Temel depolama birimlerine sütun veya alan ya da öznitelik adı verilir. Bunlar, içeriğinizin ayrıştırılabileceği temel veri bileşenlerini barındırır. Hangi alanları oluşturacağınıza karar verirken, bilgileriniz hakkında genel olarak düşünmeniz, örneğin veritabanında saklayacağınız bilgilerin ortak bileşenlerini çizmeniz ve bir öğeyi diğerinden ayıran ayrıntılardan kaçınmanız gerekir.

Alanlar ve verileri arasındaki ilişkiyi görmek için aşağıdaki şekildeki kimlik kartı örneğine bakın.

Şekil; A. Watt tarafından hazırlanmış bir kimlik kartı örneği.

Etki Alanı

Etki alanı, verileri modellemek için kullanılan orijinal atomik değerler kümesidir. Atomik değer derken, etki alanındaki her bir değerin ilişkisel model söz konusu olduğunda bölünemez olduğunu kastediyoruz. Örneğin:

  • Medeni Durum alanı bir dizi olasılığa sahiptir: Evli, Bekar, Boşanmış.
  • Vardiya etki alanı tüm olası günlerin kümesine sahiptir: {Mon, Tue, Wed…}.
  • Maaşın etki alanı, 0'dan büyük ve 200.000'den küçük tüm kayan noktalı sayıların kümesidir.
  • Ad-soyad etki alanı, kişilerin adlarını temsil eden karakter dizeleri kümesidir.

Özetle, etki alanı, bir sütunun içermesine izin verilen kabul edilebilir değerler kümesidir. Bu, çeşitli özelliklere ve sütun için veri türüne dayanır. Veri türlerini başka bir bölümde ele alacağız.

Kayıtlar

Herhangi bir belge veya öğenin içeriğinin, alanlarda depolanmak üzere kendisini oluşturan veri parçalarına ayrıştırılması gerektiği gibi, bunların bütün halinde yeniden oluşturulabilmesi için aralarındaki bağlantının da mevcut olması gerekir. Kayıtlar bunu yapmamızı sağlar. Kayıtlar, müşteri veya çalışan gibi birbiriyle ilişkili alanlar içerir. Daha önce de belirtildiği gibi, tuple kayıt için kullanılan başka bir terimdir.

Kayıtlar ve alanlar tüm veritabanlarının temelini oluşturur. Basit bir tablo, bir veritabanı depolama projesinde kayıtların ve alanların birlikte nasıl çalıştığının en net resmini bize verir.

Şekil; A. Watt tarafından hazırlanmış basit bir tablo örneği.

Yukarıdaki şekildeki basit tablo örneği bize alanların nasıl farklı türde verileri tutabileceğini göstermektedir. Bunda şunlar vardır:

  • Bir Kayıt Kimliği alanı: bu bir sıra numarasıdır; veri türü bir integer'dir.
  • Bir PubDate alanı: bu alan gün/ay/yıl olarak görüntülenir; veri türü date'tir.
  • Bir Yazar alanı: bu alan ad-soyad olarak görüntülenir. Veri türü text'tir.
  • Bir Başlık alanı metni: buraya serbest metin girilebilir.

Veritabanına, verilerini gözden geçirmesi ve belirli bir şekilde düzenlemesi için komut verebilirsiniz. Örneğin, bir kayıt seçiminin tarihe göre sınırlandırılmasını isteyebilirsiniz: 1. Belirli bir tarihten önceki tüm kayıtlar, 2. Belirli bir tarihten sonraki tüm kayıtlar veya 3. Belirli iki tarih arasındaki tüm kayıtlar. Benzer şekilde, kayıtların tarihe göre sıralanmasını da seçebilirsiniz. Verileri içeren alan veya kayıt bir Tarih alanı olarak ayarlandığından, veritabanı Tarih alanındaki bilgileri yalnızca eğik çizgilerle ayrılmış sayılar olarak değil, bir takvim sistemine göre sıralanması gereken tarihler olarak okur.

Derece

Derece, bir tablodaki niteliklerin sayısıdır. Yukarıdaki şekildeki örneğimizde derece 4'tür.

Bir Tablonun Özellikleri

  • Bir tablonun, veritabanındaki diğer tüm tablolardan farklı bir adı vardır.
  • Yinelenen satır yoktur; her satır farklıdır.
  • Sütunlardaki girişler atomiktir. Tablo, tekrar eden gruplar veya çok değerli öznitelikler içermez.
  • Sütunlardan gelen girdiler, veri türlerine dayalı olarak aynı etki alanından gelir, bunlar:
    • sayı ( numeric, integer, float, smallint,…)
    • karakter ( string)
    • Tarih
    • mantıksal (true veya false)
  • Farklı veri türlerini birleştiren işlemlere izin verilmez.
  • Her özniteliğin ayrı bir adı vardır.
  • Sütunların sıralaması önemsizdir.
  • Satırların sıralaması önemsizdir.

Alıştırmalar
1-4 arası soruları yanıtlamak için aşağıdaki tabloyu kullanın.

1. Doğru terminolojiyi kullanarak, aşağıdaki tablodaki tüm bileşenleri tanımlayın ve açıklayın.

2. EmpJobCode alanı için olası etki alanı nedir?

3. Kaç tane kayıt gösteriliyor?

4. Kaç tane özellik gösteriliyor?

5. Bir tablonun özelliklerini listeleyin.

Tablo; Alıştırma soruları için tablo, A. Watt tarafından.

Atıf

Veritabanı Tasarımı'nın bu bölümü (aksi belirtilmedikçe resimler dahil) Nguyen Kim Anh tarafından yazılan İlişkisel Tasarım Teorisi adlı eserin Creative Commons Attribution License 3.0 lisansı altında lisanslanmış türevidir.

Önceki Ders: Veritabanı Yönetim Sistemlerinin Sınıflandırılması

Sonraki Ders: Varlık İlişkisi Veri Modeli

Yorumlar

Bu blogdaki popüler yayınlar

Gelişim ve Kalıtım Eleştirel Düşünme Soruları

Periodonsiyum Klinik Uygulamalar

Dentin Oluşumu