Welcome to My Blog 👋

Java, Spring Framework, Microservices, Docker, Kubernetes, AWS and Others 🚀
Follow Me

SQL - Generalization, Specialization ve Aggregration Kavramları



  October 27, 2018    Labels:,,,,,,,,, 

Verilerin büyümesi ve karmaşıklaşması ile birlikte 1980'lerin sonunda geleneksel ER Modelini veritabanı modellemesi için kullanmak gittikçe zorlaşmıştır. Bu nedenle, mevcut ER Modelin ile karmaşık uygulamaları daha iyi ele almayı sağlamak için bazı iyileştirmeler veya geliştirmeler yapılmıştır. Bu geliştirmeler ile birlikte mevcut ER Modeline üç yeni kavram eklenmiştir. Bunlar;
  • Generalization
  • Specialization
  • Aggregration


Generalization
Generalization, iki düşük seviyeli varlığın daha yüksek seviyeli bir varlık oluşturmak için birleştiği aşağıdan yukarıya bir yaklaşımdır. Generalization'da, yüksek seviyeli varlık daha yüksek seviyeli varlık oluşturmak için diğer düşük seviyeli varlıklar ile birleştirilebilir.
Daha çok Süper Sınıf ve Alt Sınıf sistemine benzeen bu yaklaşımın tek farkı aşağıdan yukarıya doğru olmasıdır. Dolayısıyla varlıklar daha genel bir varlık oluşturmak üzere birleştirilir, başka bir deyişle, alt sınıflar bir süper sınıf oluşturmak için birleştirilir.
Örneğin, birikim ve cari hesap türleri varlıkları genelleştirilebilir ve her ikisini de kapsayan, hesap adında bir varlık yaratılabilir. Bu alt tablonun ortak özellikleri ana tabloya eklenir ve alt tablolara o tablolara özel bilgiler eklenir. Örnek verecek olursak hesap numarası ortaktır ve hesap tablosuna koyulabilir ancak birikim tablosunun kendine ait özelliği olan vade bilgisi birikim hesap türüne ait tabloya eklenir.

Specialization
Specialization, Generalization'ın tam tersidir denilebilir. Bir üst seviye varlığın iki alt seviye varlığa bölünebileceği yukarıdan aşağıya doğru olan bir yaklaşımdır.
Örneğin eski ve yeni tüm öğrencileri bir tabloda tutmak yerine öğrenci bilgilerini mevcut öğrenciler ve eski öğrenciler adında iki tabloya bölebiliriz.

Aggregration
Aggregration, iki varlık arasındaki ilişkinin tek bir varlık olarak değerlendirildiği bir süreçtir.
Yukarıdaki şemada, kurs merkezi ve kurs arasındaki ilişki başka bir varlık olan ziyaretçi ile ilişki içinde olan bir varlık olarak hareket etmektedir. Yani kurs almak isteyen kişiler kurs bilgisine veya kurs merkezi bilgisine doğrudan erişemeyecek bu iki bilginin birleşimine erişebilecektir. Örneğin kurs almak isteyen kişi modeli kadıköy şubesi bilgisine erişemeyecek veya veritabanı kursu bilgisine erişemeyecektir. Ancak bu kişi modeli kadıköy şubesindeki veritabanı kursu bilgisine erişebilecektir.


No comments:

Post a Comment