Kristal, Ahşap, Bayrak.. Plaket ihtiyaçlarınıza Mükemmel çözümler üretiyoruz.
MongoDB’de Polymorphic Verileri Modelleme
MongoDB, belge-tabanlı bir veri depolama sistemi olması nedeniyle, geleneksel SQL veritabanlarında olan çoklu ilişkisel tabloların kullanımına benzer şekilde, verileri bir ilişki üzerinden tasarlayamaz. Ancak, MongoDB’de verileri polymorphic olarak modelleme imkanı, farklı ve karmaşık veri ilişkileri ile başa çıkmanın etkili bir yoludur.
Bu yazıda, polymorphic verilerinin modelleme teknikleri hakkında ayrıntılı bilgi vererek, konuya farklı örnekler üzerinden açıklık getireceğiz.
Polymorphic Veri Modellemesi Nedir?
Polymorphic veri modellemesi, bir veri yapısında farklı tiplerdeki verileri yönetme izni sağlar. Bu teknik, bir veri tabanında farklı ilişkileri olan verilerin birlikte bulunması durumunda avantajlı bir çözümdür.
Örneğin, bir market veri tabanında, ürünlerin farklı kategorileri mevcuttur. Bu kategoriler arasında yiyecekler, giyim ürünleri, kozmetik ve evcil hayvanlar vb. olabilir. Her biri, farklı özelliklere sahip olabilir. Yiyecek kategorisi, son kullanma tarihi ve üretici firma bilgilerine sahip olabilirken, hastalık belirtileri gibi bilgiler içeren evcil hayvanların kategorisi çok daha farklı özelliklere sahip olabilir.
Polymorphic veri modellemesi, bu tür karmaşık veri yapıları için avantajlı bir çözümdür çünkü tüm kategorilerin ortak bir tablo veya belgeye sahip olmasını gerektirmez. Böylece, tüm ilişkiler ve bağlantılar daha kolay bir şekilde yönetilir.
Polymorphic Veri Modelleme Teknikleri
1. Gösterge (Indicator) Alanı Kullanımı
Gösterge alanı, bir belgede bulunan bir alanı kontrol etmek için kullanılan bir ifade türüdür. Bu alan, verinin hangi tipi olduğunu belirtir. Bu teknik, bir çoklu tablo yapılmadan, verileri farklı şekillerde tasarlamak için kullanılır.
Örneğin, bir tiyatro veri tabanında farklı etkinlik tipi kategorileri (tiyatro oyunu, konser, söyleşi vb.) mevcuttur. Bu kategoriler arasında farklı özellikler vardır, ancak tüm kategoriler için aynı tablonun kullanılması uygun değildir.
Bu durumda, bir etkinlik belgesi tanımlanabilir ve tipi gösterge alanı tarafından belirlenir. Bu gösterge alanı daha sonra hem tiyatro oyunu hem de bir konser gibi etkinlik tipleri için kullanılan diğer alanları tetikler.
Örnek belge şu şekilde olabilir:
{
_id: ObjectId(“xxxxxx”),
event_type: “theater_play”,
play_name: “Hamlet”,
author: “William Shakespeare”,
actors: [“John Smith”, “Ann Johnson”, “Bob Collins”],
director: “Lucas Black”
}
veya
{
_id: ObjectId(“xxxxxx”),
event_type: “concert”,
band_name: “Coldplay”,
venue: “Madison Square Garden”,
date: ISODate(\"2016-01-23T00:00:00Z\")
}
2. Nesting (İç İçe Geçme) Kullanımı
Nested (iç içe geçme) kullanımı, verilerin birbirlerine olan ilişkilerine göre birbirine bağımlı olan belgelerin tümünü tek bir belge altında toplama prensibine dayanır.
Örneğin, bir web uygulamasında, kullanıcı hesaplarına eklenen yorumlar gibi ilişkisel verileri barındıran bir paylaşım belgesi kullanılabilir.
Bu durumda, paylaşım belgesiyle birlikte ve yorumların belirtilen bu paylaşımın bir parçası olarak saklanması gerekir. Paylaşım belgesinde, bu alan yorum olarak adlandırılır.
Örnek bir belge şu şekilde olabilir:
{
_id: ObjectId(“xxxxxx”),
title: “MongoDB Polymorphic Data Model”,
content: “Cok detayli ve en az 500 kelimeden oluşan bir yazı yazmak zorunda olarak, konu hakkında değişik örnekler vermeniz istendi”,
author: “John Dillinger”,
created_date: ISODate(\"2022-04-30T00:00:00Z\"),
comments: [
{
comment_text: “Harika bir yazı!”,
commenter_id: ObjectId(“xxxxxx”),
created_date: ISODate(\"2022-05-01T00:00:00Z\")
MongoDB’de Polymorphic Verileri Modelleme
MongoDB, belge-tabanlı bir veri depolama sistemi olması nedeniyle, geleneksel SQL veritabanlarında olan çoklu ilişkisel tabloların kullanımına benzer şekilde, verileri bir ilişki üzerinden tasarlayamaz. Ancak, MongoDB’de verileri polymorphic olarak modelleme imkanı, farklı ve karmaşık veri ilişkileri ile başa çıkmanın etkili bir yoludur.
Bu yazıda, polymorphic verilerinin modelleme teknikleri hakkında ayrıntılı bilgi vererek, konuya farklı örnekler üzerinden açıklık getireceğiz.
Polymorphic Veri Modellemesi Nedir?
Polymorphic veri modellemesi, bir veri yapısında farklı tiplerdeki verileri yönetme izni sağlar. Bu teknik, bir veri tabanında farklı ilişkileri olan verilerin birlikte bulunması durumunda avantajlı bir çözümdür.
Örneğin, bir market veri tabanında, ürünlerin farklı kategorileri mevcuttur. Bu kategoriler arasında yiyecekler, giyim ürünleri, kozmetik ve evcil hayvanlar vb. olabilir. Her biri, farklı özelliklere sahip olabilir. Yiyecek kategorisi, son kullanma tarihi ve üretici firma bilgilerine sahip olabilirken, hastalık belirtileri gibi bilgiler içeren evcil hayvanların kategorisi çok daha farklı özelliklere sahip olabilir.
Polymorphic veri modellemesi, bu tür karmaşık veri yapıları için avantajlı bir çözümdür çünkü tüm kategorilerin ortak bir tablo veya belgeye sahip olmasını gerektirmez. Böylece, tüm ilişkiler ve bağlantılar daha kolay bir şekilde yönetilir.
Polymorphic Veri Modelleme Teknikleri
1. Gösterge (Indicator) Alanı Kullanımı
Gösterge alanı, bir belgede bulunan bir alanı kontrol etmek için kullanılan bir ifade türüdür. Bu alan, verinin hangi tipi olduğunu belirtir. Bu teknik, bir çoklu tablo yapılmadan, verileri farklı şekillerde tasarlamak için kullanılır.
Örneğin, bir tiyatro veri tabanında farklı etkinlik tipi kategorileri (tiyatro oyunu, konser, söyleşi vb.) mevcuttur. Bu kategoriler arasında farklı özellikler vardır, ancak tüm kategoriler için aynı tablonun kullanılması uygun değildir.
Bu durumda, bir etkinlik belgesi tanımlanabilir ve tipi gösterge alanı tarafından belirlenir. Bu gösterge alanı daha sonra hem tiyatro oyunu hem de bir konser gibi etkinlik tipleri için kullanılan diğer alanları tetikler.
Örnek belge şu şekilde olabilir:
{
_id: ObjectId(“xxxxxx”),
event_type: “theater_play”,
play_name: “Hamlet”,
author: “William Shakespeare”,
actors: [“John Smith”, “Ann Johnson”, “Bob Collins”],
director: “Lucas Black”
}
veya
{
_id: ObjectId(“xxxxxx”),
event_type: “concert”,
band_name: “Coldplay”,
venue: “Madison Square Garden”,
date: ISODate(\"2016-01-23T00:00:00Z\")
}
2. Nesting (İç İçe Geçme) Kullanımı
Nested (iç içe geçme) kullanımı, verilerin birbirlerine olan ilişkilerine göre birbirine bağımlı olan belgelerin tümünü tek bir belge altında toplama prensibine dayanır.
Örneğin, bir web uygulamasında, kullanıcı hesaplarına eklenen yorumlar gibi ilişkisel verileri barındıran bir paylaşım belgesi kullanılabilir.
Bu durumda, paylaşım belgesiyle birlikte ve yorumların belirtilen bu paylaşımın bir parçası olarak saklanması gerekir. Paylaşım belgesinde, bu alan yorum olarak adlandırılır.
Örnek bir belge şu şekilde olabilir:
{
_id: ObjectId(“xxxxxx”),
title: “MongoDB Polymorphic Data Model”,
content: “Cok detayli ve en az 500 kelimeden oluşan bir yazı yazmak zorunda olarak, konu hakkında değişik örnekler vermeniz istendi”,
author: “John Dillinger”,
created_date: ISODate(\"2022-04-30T00:00:00Z\"),
comments: [
{
comment_text: “Harika bir yazı!”,
commenter_id: ObjectId(“xxxxxx”),
created_date: ISODate(\"2022-05-01T00:00:00Z\")
*256 Bit SSL Sertifikası * Full Mobil Uyumlu * Full SEO Uyumlu
İsterseniz Mobil Uygulama Seçeneğiyle