Haritalama İlişkileri – Blog Yazma – Web Tasarımı Yapımı – Web Tasarımı YouTube Videosu Yapımı – Web Sitesi Tasarlama Fiyatları
BLOB Niteliklerini Eşleme
İlk yaklaşım, farklı tabloların birleştirilmesini gerektirmeden BLOB nesnelerinin alınmasını sağlar, ancak aynı satırda birden çok BLOB değerini yasaklayan bazı veritabanı ürünlerinde imkansız olabilir. Ayrı bir tabloda depolama, varlık tablosu ile BLOB tablosu arasında bir birleştirme gerektirir, ancak birkaç nesne BLOB özniteliğinin aynı değerini paylaştığında yinelenenlerin depolanmasını önleyerek yerden tasarruf sağlayabilir.
Harici depolama ile her BLOB değeri, dosya sistemindeki bir dosyaya eşlenir. Bu çözüm, dosyanın kendisine sahip olan varlık örneğine bağlanma biçimine göre iki seçeneği kabul eder:
- Açık bağlantı: BLOB dosyasının yol adı, varlık tablosuna fazladan bir sütun olarak dahil edilir.
- Örtülü bağlantı: bir referansı saklayan bir veritabanı sütunu yoktur.
- BLOB dosyasıdır, ancak bu başvuru, bir tür örtük bağlantı oluşturan bazı dosya ve dizin adlandırma kurallarına dayalı olarak uygulama kodundan çıkarılır. Örneğin, benzeri bir yol adı, OID = 131 olan albüm nesnesinin kapak resmi özniteliği ile gerçek BLOB değerini içeren 131.jpg dosyası arasındaki örtülü bağlantıyı gösterebilir.
Açık bağlantı çözümü, örtük bağlantı çözümünden daha esnektir, çünkü BLOB öznitelik değerlerinin dosya sisteminde rastgele adlara ve konumlara sahip dosyalar olarak depolanmasına izin verir.
BLOB’ların veritabanında depolanması, uygulama içeriğinin yönetimini merkezileştirme ve bakımını kolaylaştırma avantajına sahiptir, çünkü yedekleme ve kurtarma gibi katma değerli veritabanı hizmetleri multimedya içeriği için de kullanılır. Ancak, multimedya içeriğiyle ilişkili bir dosyanın olmaması, Web uygulamasını programlamayı daha karmaşık hale getirir:
- BLOB değerlerinin veritabanından saklanması ve alınması, örneğin ODBC ve JDBC gibi birlikte çalışabilirlik kitaplıkları ile, veritabanı ürününden veritabanı ürününe değişebilen karmaşık ifade dizilerini içerir.
- HTML sayfasını oluştururken, BLOB’a atıfta bulunan URL’lerin oluşturulması, işaret edilecek bir dosya olmadığı için daha karmaşık hale gelir. Normalde, bu tür URL’ler, örneğin BLOB değerini veritabanından çıkarmaktan ve tarayıcıya geri sunmaktan sorumlu olan bir sunucu uygulaması gibi sunucu tarafı bir programa işaret etmelidir.
- BLOB’u indirmek için bir istekten sonra HTTP yanıtının oluşturulması, kullanıcının BLOB değerini diskte bir dosya olarak kaydetmesini gerektirdiğinde tarayıcının dosya adını ve uzantısını işleyebilmesi için fazladan HTTP üstbilgilerinin ayarlanmasını gerektirir.
BLOB’ların dosya sisteminde depolanması, yukarıda bahsedilen programlama görevlerini kolaylaştırır, çünkü BLOB değerinin veritabanından çıkarılması gerekmez ve “gerçek” bir dosyadır, uygun HTML etiketleri tarafından doğrudan referans alınabilir ve kullanıcı tarafından işlenebilir. Web sunucusu ve tarayıcı standart bir şekildedir.
Ancak dosya sistemi depolamasının dezavantajları da vardır: BLOB uygulama içeriği, veritabanının yedekleme ve kurtarma hizmetlerinden faydalanmaz. Ayrıca, mimari birkaç çoğaltılmış Web sunucusu ve komut dosyası motoru içeriyorsa, veri katmanında paylaşılan bir dosya sunucusu sağlamak gerekir.
Haritalama İlişkileri
İlişkilerin eşlenmesi, onların kardinalitesine bağlıdır; biz çoktan çoğa ve bire çoğa ilişkileri ayrı ayrı ele alırken, bire bir ilişkiler bire çok ilişkilerin özel bir durumu olarak ele alınır.
Gösterilen çoktan çoğa ilişkilerin eşlenmesi, ilişkiye katılan iki varlığın birincil anahtar sütunlarından oluşan, köprü tablosu adı verilen özel bir tablonun kullanılmasını gerektirir. Köprü tablosunun birincil anahtarı, katılan iki varlığın birincil anahtar sütunlarını içerir; bu, aynı iki nesnenin aynı ilişkiye birden fazla katılamamasını gerektiren ikili ilişkinin anlamını yansıtır.
Köprü tablosunun sütunlarında saklanan değerler, ilişkiye katılan nesnelerin birincil anahtarlarına yapılan başvuruları temsil eder. Bu nedenle, bu değerler serbestçe seçilemez, ancak katılımcı varlıkların tablolarında görünen birincil anahtar değerlerin bir alt kümesi olarak sınırlandırılır.
Bu kısıtlama, veritabanı bütünlüğü kısıtlamasının bir örneğidir, yani veritabanı içeriğinin geçerli olması için her veritabanı durumunda tutması gereken bir özelliktir. Bütünlük kısıtlamaları, veritabanlarının önemli bir özelliğidir ve bunları veritabanı şemasının tanımında ifade etmek için ifadeler içeren SQL dili tarafından desteklenir.
Haritalama nedir
Mimari haritalama
Haritalama teknikleri
haritalama yöntemleri
Cadmapper nedir
Mimari harita siteleri
SQL bütünlük kısıtlamalarının genel olarak ele alınması bu kitabın kapsamı dışındadır, ancak ilgilenen okuyucu herhangi bir veritabanı ders kitabında ve SQL kılavuzunda bu konunun tam kapsamını bulabilir. Devamında, bütünlük kısıtlamalarının Varlık-İlişki şemasının semantiğine daha yakın bir ilişkisel şema elde etmeye yardımcı olduğu sadece birkaç durumu gösteriyoruz.
Eşleme ilişkileri için gereken kısıtlama, köprü tablosunun tanımında bir yabancı anahtar bütünlüğü kısıtlaması kullanılarak SQL’de ifade edilebilir. Bir yabancı anahtar kısıtlaması, bir alt tabloyu bir üst tabloya bağlar ve alt tablonun referans sütunları olarak adlandırılan bazı sütunlarının değerlerinin, referans sütunlar adı verilen üst tablonun seçilen sütunlarının değerleriyle eşleşmesini zorunlu kılar.
En basit durumda, başvurulan sütunlar yalnızca bir sütun içerir ve başvurulan sütun, ana tablonun birincil anahtarıdır; bu, alt tablonun satırlarının, ana tablonun nesnelerine yönelik bir “işaretçi” içerdiği anlamına gelir. Sözdizimsel olarak, alt tablonun tanımında bir yabancı anahtar kısıtlaması ifade edilir.
Alt tablonun bildiriminde Rel1_Table, Entity1_OID başvuru sütunu ile Entity1_Table üst tablosunun birincil anahtar sütunu arasında bir başvuru bütünlüğü kısıtlaması belirtir.
İlişkisel veritabanı ve SQL dili, bir referans bütünlüğü ihlali oluşturan bir veritabanı güncellemesi gerçekleştiğinde, veritabanını otomatik olarak doğru duruma geri yüklemek için mekanizmalar sağlar. Referans bütünlüğü, alt tabloda yabancı anahtar sütunlarının yanlış değerlerine sahip satırlar üretebilen dört tür güncelleme tarafından ihlal edilebilir:
- Üst tablodaki satırların silinmesi veya birincil anahtar güncellemesi.
- Alt tablodaki satırların eklenmesi veya birincil anahtar güncellemesi.
SQL’de, bir referans bütünlüğü ihlaline yanıt olarak veritabanı yönetim sistemi tarafından yapılacak dört eylemi ifade etmek mümkündür:
- Basamaklı: başvurulan satırın silinmesi veya birincil anahtar güncellemesi, başvurulan satıra yayılır.
- Null Ayarla: referans satırındaki yabancı anahtar sütunu boş değere ayarlanır.
- Varsayılanı Ayarla: referans satırındaki yabancı anahtar sütunu, yabancı anahtar sütununun tanımında belirlenen varsayılan bir değere ayarlanır.
- Eylem Yok: Bütünlük ihlaline neden olan işlem iptal edilir. Bu seçenek varsayılandır.