DynamoDB yabancı anahtarları destekler mi?

Hayır. DynamoDB'de yabancı anahtar, referans bütünlüğü kısıtlaması ya da art arda silme yoktur — bir NoSQL veritabanı olarak öğeler veya tablolar arasındaki ilişkileri asla zorunlu kılmaz. Bunun yerine ilişkileri kendiniz modellersiniz: ilgili verileri tek bir öğeye normalleştirmeyi kaldırın ya da ilgili öğeleri tek tablo tasarımıyla paylaşılan bir bölüm anahtarı altında bir araya getirin.

Neden yabancı anahtarlar yok

Bir yabancı anahtar, birleştirmeleri desteklemek ve normalleştirilmiş tablolar arasında bütünlüğü zorunlu kılmak için vardır. DynamoDB, JOIN operatörünü kasıtlı olarak dışlar (AWS bunun yerine normalleştirmeyi kaldırmayı önerir), bu nedenle bir yabancı anahtar kısıtlaması, sorgu modelinin asla yararlanmadığı bir ilişkiyi denetlerdi. Başka bir öğenin anahtarını bir öznitelik olarak saklamanızı hiçbir şey engellemez — DynamoDB yalnızca bunu doğrulamaz veya art arda uygulamaz. Zorunlu kılınan referans bütünlüğü pazarlık konusu değilse, DynamoDB ile PostgreSQL iki model arasındaki çizgiyi çizer.

İlişkiler bunun yerine nasıl modellenir

  • Gömme — küçük, sınırlı alt veriler üst öğenin içinde bir liste veya harita olarak bulunur.
  • Bir araya getirme — üst ve alt öğeler farklı sıralama anahtarlarıyla bir bölüm anahtarı paylaşır, böylece tek bir Query ilişkinin tamamını döndürür; bu, tek tablo tasarımının kalbidir.
  • Çoğaltma — her erişim deseninin ihtiyaç duyduğu alanları, onlara ihtiyaç duyan öğelere kopyalayın; tek istekle okumalar için yazma zamanı bakımını kabul edin.

Bire-çok ve çoka-çok kılavuzları her bir biçimi derinlemesine ele alır.

Önemli olduğunda bütünlüğü zorunlu kılma

Bir kısıtlamaya yaslanacağınız durumlar için DynamoDB size yapı taşları verir: koşul ifadeleri bir yazmayı, yazılan öğenin durumuna göre korur ve bir işlemin ConditionCheck'i, aynı ya-hep-ya-hiç işleminde farklı bir öğenin (örneğin üst öğe) var olduğunu doğrulayabilir. Art arda silme işlemleri, açık uygulama mantığı veya Streams tabanlı bir temizlik haline gelir.

Daha derine inin

Tek tablo tasarımı ile başlayın, koruyucu koşulları ifade oluşturucuda oluşturun ve öğe koleksiyonlarınızı — üst ve alt öğeleri yan yana — tek bir görünümde görmek için DynoTable'ı indirin.

Kaynaklar

En son 2026-07-13 tarihinde yukarıda bağlantısı verilen resmi AWS belgelerine karşı doğrulandı.

Console olmadan DynamoDB ile çalışın

DynoTable, DynamoDB için hızlı bir masaüstü istemcisidir — tablolara göz atın, SQL tarzı sorgular çalıştırın ve item'ları yerel olarak düzenleyin.