Ekim 19, 2021
11 11 11 ÖÖ
TCP nedir ? Aktarım Katmanı 2
Aktarım Katmanı Tcp Nedir
Yönlendirme Nedir 2 ?
Yönlendirme Nedir ?
Ağ Katmanı Nedir 2 ?
Ağ Katmanı Nedir ?
Veri Bağı Katmanı Nedir 2 ?
Android Studio Nasıl Kurulur ?
Veri Bağı Katmanı Nedir ?
Fiziksel Katman Nedir ?
Son Yazılar
TCP nedir ? Aktarım Katmanı 2 Aktarım Katmanı Tcp Nedir Yönlendirme Nedir 2 ? Yönlendirme Nedir ? Ağ Katmanı Nedir 2 ? Ağ Katmanı Nedir ? Veri Bağı Katmanı Nedir 2 ? Android Studio Nasıl Kurulur ? Veri Bağı Katmanı Nedir ? Fiziksel Katman Nedir ?
kartezyen çarpım

Mantıksal Model Nedir ?

Paylaşım , Takip İçin

MantIksal Modelleme Nedir ?

  • Mantıksal modelleme kavramsal modelden daha detaylı fiziksel modelden daha kolay anlaşılır modellemedir.
  • Kavramsal modellemede ortaya çıkan varlıklar ve ilişkiler tablolar şeklinde organize edilir, nitelikler ise özellikler ile sunulur.
  • Mantıksal modellemede sıklıkla İlişkisel Veri Modeli kullanılır.

–İlişkisel veri modeli en geniş kullanım alanına sahip veri modelidir.

Temel kavramlar

  • İlişkisel model iki boyutlu tablolar halinde gösterilir,

–Her bir tabloya ilişki (relation) adı verilir.

  • İlişkide gösterilen her bir satır (tuple) bir kayda ait verileri her bir sütun ise bir niteliğe ait verileri içerir.
  • Nitelik verilerinin alındığı havuzlara etki alanı (domain) adı verilir.
  • Bir iliskideki niteliklerin sayısı ise o ilişkinin derecesini (degree) gösterir.

İlişki Şeması

  • A1, A2, …, An bir ilişkideki nitelikleri, R ise bir ilişkiyi göstermek üzere bir ilişki şeması

R(A1, A2, …, An) seklinde sunulur.

Örneğin, KITAP(dno, kitap_adı)

  • İlişkiler tuple (sıra) kümelerinden oluşur. R={t1 , t2,…,tm}. Her tuple t, n değerden oluşan bir sıralı listedir ve t=<v1,v2, …,vn>.
  • Her vi dom(Ai) nin bir elemanıdır ya da özel bir null değerdir. Bir ilişki, domainlerin 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))

  • Herhangi bir t zamanındaki bir ilişkinin örneği (instance) sadece geçerli tuple’ları içerir.
  • Bütün tuple’lar birbirinden farklıdır.

Örnek

Mantıksal model

Güncelleme işlemleri

  • İlişkisel modelde güncelleme işlemleri üçe ayrılır:

Giriş (insert): ilişkiye yeni sıraların ilave edilmesi işlemi

Silme (delete): ilişkiden bazı sıraların silinmesi işlemi

Degistirme (modify): Bazı niteliklerin değerlerinin değiştirilmesi işlemi

  • Bu operasyonlar sırasında iliskisel veritabanı seması üzerinde tanımlı bütünlük kısıtlamalarının çiğnenip çignenmedigi kontrol edilmek zorundadır.

SQL ile güncelleme işlemleri

  • Veri girişi

INSERT INTO DOLASIM (DNO, ERISIMNO, ALISTAR) VALUES (14, 1505, ’02.02.2003’)

  • Veri silme

DELETE FROM DOLASIM D WHERE D.UYENO = 14 AND D.ERISIMNO=1505

  • Veri güncelleme

UPDATE DOLASIM SET ALISTAR = ’02.03.2003’

WHERE UYENO= 14 AND ERISIMNO=1505

İlişkisel cebir

İlişkisel cebir işlemleri

–Seçme (select) işlemi

–Projeksiyon (project) işlemi

–Kartezyen çarpım (cartesian product) işlemi

–Birleştirme (join) işlemi

–Toplama (union) işlemi

–Kesişim (intersect) işlemi

–Fark (difference) işlemi

–Bölme (division) işlemi

Seçme işlemi

  • Seçme operasyonunun gösterim sekli: σ <şart> (R)
  • R, ilişkinin ismini vermektedir. <şart> ise seçimde kullanılan şartı verir.
  • Bir Örnek: DOLAŞIM ilişkisinden 14 numaralı üyeye ait kayıtları almak istersek.

σ <UYENO=14> (DOLAŞIM) yazarız.

  • Çıktı aşağıdaki gibi olacaktır.
  • SQL: SELECT * FROM DOLAŞIM WHERE UYENO=14

Mantıksal model

Projeksiyon işlemi

  • Gösterim şekli: π (R)
  • Bir örnek: DOLAŞIM ilişkisinde yer alan UYENO ve ERISIMNO niteliklerini göstermek için yazılması gereken ilişkisel cebir ifadesi şöyle olacaktır.
  • π <UYENO, ERISIMNO> (DOLAŞIM)
  • Çıktı aşağıdaki şekilde görüldüğü gibidir.
  • SQL: SELECT UYENO, ERISIMNO FROM DOLAŞIM

Mantıksal model

Kartezyen çarpım

  • Gösterim sekli: R x S
  • R(A1, …, An) ve S(B1, …, Bm) olmak üzere Q=R x S olmak üzere;
  • Q(A1, …, An, B1,…Bm) seklinde verilebilir.

–Q ilişkisinde n+m adet nitelik bulunur.

–Nr, R ilişkisindeki satır sayısını, Ns, S ilişkisindeki satır sayısını vermek üzere;

–Nq=Nr*Ns dir.

SQL: SELECT * FROM R, S

Örnek

kartezyen çarpım

Birleştirme (join) işlemi

  • Kartezyen çarpım tek basına bir anlam ifade etmez. Birleştirme işlemi Kartezyen çarpıma ek bir işlemdir.
  • Gösterimi: R [X] <sart> S şeklindedir.
  • <şart> {=,>= , >,<= , <, !=} den biridir.
  • Birleştirme operasyonu iki ilişkideki ilişkili satırları tek bir satırda birleştirir.
  • R [x] <sart> S = σ <sart> (R X S)
  • Birleştirme operasyonu Kartezyen çarpım işlemine seçme işleminin uygulanmasıdır.
  • Bu işlem sayesinde gereksiz veri tekrarı engellenmiş olur.
  • SQL: SELECT * FROM R, S WHERE <şart>

Örnek

  • Öğrenci (ogrID, ad, soyad, danismanID) ve
  • Öğretmen (sicilNo, ad, soyad) olmak üzere;
  • Öğrenci [X] <Ögrenci.danismanID=Öğretmen.sicilNo> Öğretmen
  • Şeklindeki bir ifade; Öğrenci ile Öğretmen arasındaki join işlemini tarif eder. Bu birleştirme sayesinde her bir öğrenciyi danışman öğretmeniyle birlikte sonuç setinde (result set) görebiliriz.
  • Öğrenci ilişkisindeki danısmanID Öğrenci için yabancı anahtar (FK) Öğretmen ilişkisindeki sicilNo ise Öğretmen için birincil anahtardır (PK).
  • SQL: SELECT * FROM R, S WHERE Öğrenci.danismanID=Öğretmen.sicilNo

Doğal birleştirme (natural join)

  • Birleştirme operasyonu için 6 mantıksal durum olup bunlardan eşitlik birleştirmesi equi join adını alır.
  • Equi join isleminde iki iliskideki ilişkili satırlar tek bir satırda toplanmakta fakat satır içinde bazı nitelikler birden fazla kez tekrar edilmektedir.

–Tekrar eden nitelikler eşleşen niteliklerdir (danismanID ve sicilNo gibi)

  • Bu tekrarın engellendiği birleştirme türüne ise doğal birleştirme (natural join) adı verilir.
  • Tabloların ilişkilendirilmesinde amaç birleştirme değil doğal birleştirmedir.

SQL: SELECT ogrID, R.ad, R.soyad, R.danismanID, S.ad, S.soyad FROM Öğrenci R, Öğretmen S

WHERE R.danismanID=S.sicilNo

Örnek

  • Örneğin:
  • R = (A, B, C, D) ve
  • S = (E, B, D) iken
  • Sonuç seması = (A, B, C, D, E)
  • Bu işlemi meydana getiren ilişkisel cebir ifadesi şöyledir:
  • Π <R.A, R.B, R.C, R.D, S.E> (σ <R.B=S.B ˄ R.D=S.D> (R X S))
  • SQL: SELECT R.A, R.B, R.C, R.D, S.E FROM  R, S WHERE R.B=S.B AND R.D=S.D

Toplam operasyonu

  • Gösterim sekli;
  • S U R
  • Bu operasyonun yerine getirilebilmesi için R ve S iliskilerinin esit sayıda nitelige sahip olması ve nitelik tiplerinin aynı olması gerekmektedir.
  • Toplam operasyonu ile aynı ilişkinin farklı kopyaları bir ilişki haline getirilir.
  • Bir bankanın farklı şubelerinden gelen aynı yapıdaki verilerinin gün sonu birleştirilmesi buna bir örnektir.
  • SQL: SELECT * FROM R UNION SELECT * FROM S

Fark (difference) operasyonu

  • Gösterim sekli;
  • S – R
  • Toplam operasyonunda olduğu gibi bu operasyonun da yerine getirilebilmesi için R ve S ilişkilerinin eşit sayıda niteliğe sahip olması ve nitelik tiplerinin aynı olması gerekmektedir.
  • Bu operasyonun sonucunda elde edilen ilişki bir ilişkiye sonradan eklenen satırların bulunması gibi bir sonuç verecektir.
  • S ilişkinin son içeriği, R ilişkinin önceki içeriği ise, S-R aradaki satırların bulunduğu ilişkidir.
  • SQL: SELECT S.A1 FROM S WHERE S.A1 NOT IN (SELECT R.A1 FROM R)

Kesişim (intersect) operasyonu

  • Gösterim sekli;
  • R S
  • R S = R – (R S)
  • SQL: SELECT R.A1 FROM R WHERE R.A1 IN (SELECT S.A1 FROM S)

Bölme operasyonu

  • R (x,y) ve S(y) olmak üzere R/S ilişkisi nitelik degeri y ye esit olan R ilişkisi içindeki (x) nitelik değerlerini verir.
  • R/S ilişkisi bütün x satırlarını içerir ve S deki her y satırı için R de bir x değeri vardır.
  • Kısaca, S ilişkisinde bulunan y niteliğine sahip R ilişkisi elemanları çıktı olarak verilir.

Mantıksal model konusundan bir önceki veri tabanı konusuna geçmek için — Tıklayınız


Paylaşım , Takip İçin
0 0 votes
Article Rating

Bir Cevap Yazın

0 Yorum
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
HAYALİNDEKİ YAZILIM
%d blogcu bunu beğendi: