ER Modelleme Nedir? Örnekle Öğrenin

⚡ Akıllı Özet

Varlık-İlişki Modellemesi, gerçek dünya nesnelerini varlıklar olarak temsil eden, onları niteliklerle tanımlayan ve ilişkiler yoluyla nasıl bağlandıklarını yakalayan, böylece herhangi bir tablo oluşturulmadan önce net bir plan ortaya koyan, veritabanı tasarımına yönelik grafiksel bir yaklaşımdır.

  • 🧩 Ne olduğunu: ER modellemesi, veri öğelerini ve aralarındaki ilişkileri tanımlayan üst düzey, grafiksel bir veri modelidir.
  • 🗂️ Yapı taşları: Varlıklar gerçek dünyadaki şeyleri temsil eder, nitelikler onların özelliklerini tanımlar ve ilişkiler varlıkların nasıl etkileşimde bulunduğunu gösterir.
  • 🔗 Kardinalite: İlişkiler bire bir, bire çok veya çoktan çoğa olabilir ve bir birleşim varlığı ile çözümlenir.
  • ???? EER modeli: Geliştirilmiş ER modeli, oldukça karmaşık veritabanları için UML gösterimini ve ek yapıları kullanır.
  • 🎬 MyFlix vaka çalışması: Bir video kütüphanesi örneği, üyeleri, filmleri, kategorileri, kiralamaları ve ödemeleri bir ER diyagramına yerleştirir.
  • 🤖 Yapay zeka yardımı: Yapay zeka araçları ve GitHub Copilot, doğal dil açıklamalarını ER diyagramlarına ve SQL şemalarına dönüştürüyor.

ER Modelleme

ER Modelleme Nedir?

Varlık İlişki Modeli (ER Modelleme), veritabanı tasarımına grafiksel bir yaklaşımdır. Belirli bir yazılım sistemi için veri öğelerini ve bunların ilişkilerini tanımlayan üst düzey bir veri modelidir. ER modeli gerçek dünyadaki nesneleri temsil etmek için kullanılır.

Varlık, gerçek dünyada çevresinden ayırt edilebilen bir şey veya nesnedir. Örneğin, bir kuruluşun her çalışanı ayrı bir varlıktır. Aşağıda varlıkların başlıca özelliklerinden bazıları yer almaktadır.

  • Bir varlığın bir dizi özelliği vardır.
  • Varlık özelliklerinin değerleri olabilir.

İlk örneğimizi tekrar ele alalım. Bir kuruluşun çalışanı bir varlıktır. Eğer “Peter” bir programcı (bir çalışan) ise... MicrosoftKişi, isim, yaş, kilo, boy gibi niteliklere (özelliklere) sahip olabilir. Bu özelliklerin onun için önem taşıdığı açıktır.

Her özellik bir değere sahip olabilir. Çoğu durumda, tek bir özelliğin yalnızca bir değeri vardır. Ancak özelliklerin birden fazla değere sahip olması da mümkündür. Örneğin, Peter'ın yaşı tek bir değere sahiptir. Ancak "telefon numaraları" özelliği birden fazla değere sahip olabilir.

Varlıklar birbirleriyle ilişki kurabilirler. En basit örneği ele alalım. Her birinin Microsoft Bir programcıya bir bilgisayar verilir. Peter'ın bilgisayarının da bir varlık olduğu açıktır. Peter o bilgisayarı kullanıyor ve aynı bilgisayar Peter tarafından kullanılıyor. Başka bir deyişle, Peter ile bilgisayarı arasında karşılıklı bir ilişki vardır.

Varlık-ilişki modellemesinde, varlıkları, niteliklerini ve varlıklar arasındaki ilişkileri modelleriz.

ER Modelini Neden Kullanmalıyız?

Artık basit bir şekilde yapabilecekken neden ER modellemeyi kullandığımızı düşünebilirsiniz. veritabanını oluştur ve tüm nesneleri ER modelleme olmadan mı? Veritabanı tasarlarken karşılaşılan zorluklardan biri tasarımcıların, geliştiricilerin ve son kullanıcıların verileri ve kullanımını farklı şekilde görüntüleme eğiliminde olmalarıdır. Bu durum kontrol edilmezse kullanıcıların ihtiyaçlarını karşılamayan bir veritabanı sistemi ortaya çıkabilir.

Tüm paydaşlar (teknik ve teknik olmayan kullanıcılar) tarafından anlaşılan iletişim araçları, kullanıcıların gereksinimlerini karşılayan veritabanı sistemleri üretmede kritik öneme sahiptir. Varlık-ilişki modelleri bu tür araçlara örnek teşkil eder.

ER diyagramları, ilişkisel tablolara kolayca dönüştürülebildikleri için kullanıcı verimliliğini de artırır.

Gelişmiş Varlık İlişkisi (EER) Modeli

Gelişmiş Varlık İlişki (EER) Modeli, orijinal Varlık İlişki (ER) modeline uzantılar sağlayan üst düzey bir veri modelidir. EER modelleri daha ayrıntılı tasarımı destekler. EER modellemesi, oldukça karmaşık veritabanlarını modellemek için bir çözüm olarak ortaya çıkmıştır.

EER, UML gösterimini kullanır. UML, kısaltmasıdır. Birleştirilmiş Modelleme Dili; nesneye yönelik sistemlerin tasarımında kullanılan genel amaçlı bir modelleme dilidir. Varlıklar sınıf diyagramları olarak temsil edilir. İlişkiler varlıklar arasındaki ilişkiler olarak temsil edilir. Aşağıda gösterilen diyagram, aşağıdakileri kullanan bir ER diyagramını göstermektedir: UML gösterimi.

Gelişmiş Varlık İlişkisi (EER) Modeli

Vaka Çalışması: “MyFlix” Video Kütüphanesi için ER Diyagramı

Şimdi de ER diyagramları kavramını anlamamıza yardımcı olması için MyFlix Video Kütüphanesi veritabanı sistemiyle çalışalım. Bu eğitimdeki tüm uygulamalı çalışmalarda bu veritabanını kullanacağız.

MyFlix, üyelerine film kiralayan bir ticari kuruluştur. MyFlix kayıtlarını manuel olarak saklıyor. Yönetim artık başka bir yere taşınmak istiyor. DBMS.

Şimdi bu veritabanı için bir EER diyagramı geliştirme adımlarına bakalım:

  1. Varlıkları tanımlayın ve aralarında var olan ilişkileri belirleyin.
  2. Her varlığın, özelliğin ve ilişkinin, teknik bilgisi olmayan kişiler tarafından da kolayca anlaşılabilecek uygun isimlere sahip olması gerekir.
  3. İlişkiler doğrudan birbirine bağlanmamalıdır. İlişkiler varlıkları birbirine bağlamalıdır.
  4. Belirli bir varlıktaki her özelliğin benzersiz bir adı olmalıdır.

“MyFlix” Kütüphanesindeki Varlıklar

Kapsamımıza dahil edilecek kuruluşlar ER diyagramı şunlardır:

  • Üyeler – bu birim üye bilgilerini saklayacaktır.
  • Filmler – bu bölüm filmlerle ilgili bilgileri içerecektir.
  • Kategoriler – bu bölüm, filmleri "Dram", "Aksiyon", "Epik" gibi farklı kategorilere ayıran bilgileri içerecektir.
  • Film Kiralama – bu bölüm, üyelere kiralanan filmlerle ilgili bilgileri saklayacaktır.
  • Ödemeler – bu birim, üyeler tarafından yapılan ödemelerle ilgili bilgileri saklayacaktır.

Varlıklar Arasındaki İlişkilerin Tanımlanması

Üyeler ve filmler

İki varlık arasındaki etkileşimler konusunda aşağıdakiler doğrudur.

  • Bir üye belirli bir dönemde birden fazla filmi kiralayabilir.
  • Bir film belirli bir dönemde birden fazla üye tarafından kiralanabilir.

Yukarıdaki senaryodan, ilişkinin doğasının çoktan çoğa olduğunu görebiliriz. İlişkisel veritabanları çoktan çoğa ilişkileri desteklemez. Bu nedenle bir birleşim varlığı eklememiz gerekiyor. MovieRentals varlığı işte bu rolü üstleniyor. Members tablosuyla bire çok, Movies tablosuyla da bire çok ilişkisi bulunuyor.

Filmler ve kategori varlıkları

Filmler ve kategoriler için aşağıdakiler geçerlidir.

  • Bir film yalnızca bir kategoriye ait olabilir, ancak bir kategori birden fazla film içerebilir.

Buradan, kategoriler ve film tabloları arasındaki ilişkinin bire çok ilişki olduğu sonucunu çıkarabiliriz.

Üyeler ve ödeme varlıkları

Üyeler ve ödemeler konusunda aşağıdaki hususlar geçerlidir.

  • Bir üye yalnızca bir hesaba sahip olabilir ancak birden fazla ödeme yapabilir.

Buradan, üyeler ve ödeme kuruluşları arasındaki ilişkinin bire çok ilişki olduğu sonucunu çıkarabiliriz.

EER Modelini Oluşturmak İçin MySQL Tezgâh

In MySQL Tezgâh"+" düğmesine tıklayın.

EER Modelini Oluşturmak İçin MySQL Tezgâh

Double ER diyagramları için çalışma alanını açmak üzere "Diyagram Ekle" düğmesine tıklayın.

Diyagram Ekle MySQL Tezgâh

Aşağıdaki pencere açılır.

MySQL Workbench EER modelleme ortamı

Çalışacağımız iki nesneye bakalım.

  • Tablo nesnesi masa aracı Varlıklar oluşturmamıza ve belirli bir varlıkla ilişkili nitelikleri tanımlamamıza olanak tanır.
  • Yer ilişkisi yer ilişkisi aracı Bu düğme, varlıklar arasındaki ilişkileri tanımlamamızı sağlar.

Üyeler varlığı aşağıdaki özelliklere sahip olacaktır.

  • Üye numarası
  • Tam isimler
  • Cinsiyet
  • Doğum Tarihi
  • Fiziksel adres
  • posta adresi

Şimdi Üyeler tablosunu oluşturalım.

1. Araçlar panelinden tablo nesnesini sürükleyin.

2. Dosyayı çalışma alanına bırakın. Tablo 1 adlı bir varlık görünecektir.

3. Double Üzerine tıklayın. Aşağıda gösterilen özellikler penceresi açılacaktır.

Üyeler tablosunun özellikleri MySQL Tezgâh

Daha sonra,

  1. Tablo 1'i Üyeler olarak değiştirin.
  2. Varsayılan idtable1 değerini membership_number olarak değiştirin.
  3. Sonraki alanı eklemek için sonraki satıra tıklayın.
  4. Üyeler varlığında tanımlanan tüm özellikler için de aynı işlemi yapın.

Özellikler pencereniz artık böyle görünmelidir.

Üye varlığına ait tanımlanmış nitelikler

Tanımlanan tüm varlıklar için yukarıdaki adımları tekrarlayın.

Diyagram çalışma alanınız şimdi aşağıda gösterilene benzemelidir.

Diyagram çalışma alanındaki MyFlix varlıkları

Üyeler ve Film Kiralama şirketleri arasında bir ilişki kuralım.

  1. Mevcut sütunları kullanarak yer ilişkisini seçin.
  2. Üyeler tablosunda üyelik numarasına tıklayın.
  3. MovieRentals tablosundaki reference_number'a tıklayın.

Üyeler ve MovieRentals arasında bir ilişki kurmak

Diğer ilişkiler için de yukarıdaki adımları tekrarlayın. ER diyagramınız artık şöyle görünmelidir:

MyFlix ER diyagramı tamamlandı.

SSS

Bir ER diyagramı üç temel bileşen kullanır: dikdörtgenler olarak varlıklar, ovaller olarak nitelikler ve elmaslar olarak ilişkiler. Altı çizili nitelikler birincil anahtarları işaretler.

Varlığı tanımlayan temel özellikler arasında basit (atomik), bileşik (bölünebilir), türetilmiş (hesaplanmış), çok değerli (birden fazla değere sahip) ve anahtar özellikler bulunur.

Kardinalite, bir varlığın başka bir varlığa kaç örneğinin bağlı olduğunu tanımlar: bire bir, bire çok veya çoktan çoğa. Birleşim varlığı, desteklenmeyen çoktan çoğa bağlantıları çözümler.

Güçlü bir varlığın kendi birincil anahtarı vardır ve bağımsızdır. Zayıf bir varlığın ise tam anahtarı yoktur ve bir sahip varlığa bağımlıdır.

Crow's Foot notasyonu, çizgi uçlarının bir kuşun ayağına benzemesiyle sayıları gösterir. Çatal şeklindeki çizgiler çoklu tarafı; çubuklar ve daireler ise tek ve isteğe bağlı tarafı gösterir.

Varlık-ilişki modeli (ER modeli), varlıkların ve ilişkilerin üst düzey, görsel bir şablonudur. İlişkisel model bunu bir veritabanı yönetim sistemi (DBMS) içinde tablolar, satırlar, sütunlar ve anahtarlar olarak uygular.

Yapay zeka araçları, doğal dil açıklamalarını ER diyagramlarına dönüştürür, varlıklar ve ilişkiler önerir ve SQL şemaları oluşturur. Tasarımcılar, uygulamaya geçmeden önce çıktıyı inceler ve düzeltir.

Evet. GitHub Yardımcı Pilotu Varlıklar, ilişkiler ve tablo yapıları önerir ve bunları oluşturmak için SQL kodu üretir. Ayrıca, Mermaid gibi, ER diyagramına dönüştürülebilen kod tabanlı diyagramlar da tasarlayabilir.

Bu yazıyı şu şekilde özetleyin: