Tablo ilişkileri

Not

Kasım 2020 itibarıyla geçerlidir:

  • Common Data Service, Microsoft Dataverse olarak yeniden adlandırıldı. Daha fazla bilgi
  • Microsoft Dataverse'teki bazı terimler güncelleştirildi. Örneğin; varlık yerine tablo ve alan yerine sütun kullanılmaktadır. Daha fazla bilgi

Bu makale, kısa süre içinde güncel terminolojiyi yansıtacak şekilde güncelleştirilecektir.

Tablo ilişkileri, satırların, veritabanında birbirine nasıl ilişkilendirilebileceğini tanımlar. En basit düzeyde, bir tabloya bir arama sütunu eklemek iki tablo arasında yeni bir 1:N (bire çok) ilişki oluşturur ve bu arama sütununu bir forma yerleştirmenize olanak sağlar. Arama sütunuyla, kullanıcılar o tablonun birden çok alt satırını tek bir üst tablo satırıyla ilişkilendirebilir.

Basitçe satırların diğer satırlarla nasıl ilişkilendirilebileceği tanımlamanın ötesinde, 1:N tablo ilişkileri, aşağıdaki soruları ele almak için veri de sağlar:

  • Bir satır sildiğimde, o satırla ilişkili herhangi bir satır da silinmeli mi?
  • Bir satır atadığımda, o satırla ilişkili tüm satırları da yeni sahibe atamam gerekiyor mu?
  • Yeni bir ilişkili satırı, var olan bir satır bağlamında oluşturduğumda veri girişi işlemini nasıl kolaylaştırabilirim?
  • Bir satırı görüntüleyen kişiler ilişkili satırları nasıl görüntüleyebilmeli?

İki tablo için herhangi bir sayıda satırın birbiriyle ilişkilendirilebildiği yerde, tablolar bir N:N (çoka çok) ilişkisine de katılabilir.

Tablo ilişkileri mi yoksa bağlantılar mı kullanmanız gerektiğine karar verme

Tablo ilişkileri, veritabanında değişiklikler yapan meta verilerdir. Bu ilişkiler, sorguların ilişkili verileri çok etkili şekilde almasına olanak tanır. Tabloyu tanımlayan veya çoğu satırın kullanabileceği formel ilişkiler tanımlamak için tablo ilişkilerini kullanın. Örneğin, potansiyel müşterisiz bir fırsat çok yararlı olmayacaktır. Fırsat tablosunun da Rakip tablosuyla bir N:N ilişkisi vardır. Bu, fırsata birden çok rakibin eklenmesine olanak tanır. Bu verileri yakalamak ve rakipleri gösteren bir rapor oluşturmak isteyebilirsiniz.

Satırlar arasında, bağlantılar adı verilen daha az formel başka ilişki türleri vardır. Örneğin, iki kişinin evli olup olmadığını veya belki de iş dışında arkadaş olduklarını veya belki de bir ilgili kişinin eskiden başka bir firma için çalışmış olduğunu bilmek faydalı olabilir. Çoğu iş, bu tür bilgiler kullanarak rapor oluşturmaz veya girilmelerini gerektirmez, bu yüzden tablo ilişkileri oluşturmak muhtemelen faydalı değildir. Daha fazla bilgi: Bağlantı rollerini yapılandırma

Tablo ilişkisi türleri

Çözüm gezginine baktığınızda, üç tür tablo ilişkisi olduğunu düşünebilirsiniz. Aslında aşağıdaki tabloda gösterildiği gibi yalnızca iki tane vardır.

İlişki Türü Veri Akışı Açıklaması
1:N (Bir-Çok) Birincil tablo için bir tablo satırının ilgili tablodaki bir arama sütunu nedeniyle diğer birçok İlişkili tablo satırıyla ilişkilendirilebildiği tablo ilişkisi.

Birincil tablo satırını görüntülerken, onunla ilişkili ilgili tablo satırlarının bir listesini görebilirsiniz.

Power Apps portalda Geçerli tablo birincil tabloyu temsil eder.
N:N (Çok-Çok) Bir tablonun birçok satırının başka bir tablonun birçok Satırıyla ilişkilendirilebilmesi adına, bazen bir Kesişim tablosu olarak da adlandırılan, özel bir İlişki Tablosu'na bağlı bir tablo ilişkisi.

Bir N:N ilişkisinde iki tablonun birinin satırları görüntülerken, diğer tablonun onunla ilişkili herhangi bir satırının listesini görebilirsiniz.

N:1 (çok-bir) ilişki türü kullanıcı arabiriminde bulunur çünkü tasarımcı size tablolara göre gruplandırılmış bir görünüm gösterir. 1:N ilişkileri gerçekte tablolar arasında mevcuttur ve her bir tabloya Birincil/Geçerli Tablo veya İlgili Tablo olarak başvurur. Bazen alt tablo olarak da adlandırılan ilgili tablo, bazen üst tablo olarak da adlandırılan birincil varlıktan bir satıra bir başvuru depolamaya olanak tanıyan bir arama sütununa sahiptir. A N:1 ilişkisi yalnızca, ilgili tablodan görüntülenen bir 1:N ilişkisidir.

Tablo ilişkisi davranışı

İlgili tablolar için davranışlar önemlidir çünkü veri bütünlüğünü sağlamaya yardımcı olur ve şirketiniz için iş süreçlerini otomatikleştirebilir.

Veri bütünlüğünü koruyun

Bazı tablolar, bazı tabloları desteklemek için vardır. Bunlar, kendi başına anlamlı değildir. Genellikle destekledikleri birincil tabloyu bağlantılı kılacağınız gerekli arama sütununa sahip olacaktır. Birincil satır silindiğinde ne olmalı?

İlişki davranışı, işletmeniz için bu kurallara göre tanımlamak için kullanabilirsiniz. İki seçenek şunlardır:

  • İlgili tablo satırlarının, belki farklı bir birincil tablo ile ilişkilendirilerek birleştirilebilmesi için birincil tabloyu silmeyi önler.
  • Birincil tablo satırının silinmesiyle birlikte otomatik olarak, ilgili tabloların silinmesine izin verir.

İlgili tablo bir birincil tabloyu desteklemediğinde birincil tablonun silinmesine izin verebilir ve arama değeri temizlenir.

İş süreci otomatikleştirin

Yeni bir satış temsilciniz olduğunu ve ona şu anda başka bir satış temsilcisine atanmış çeşitli var olan firmaları atamak istediğinizi varsayalım. Her firma satırının, onunla ilişkili çeşitli görev etkinlikleri olabilir. Yeniden atamak istediğiniz etkin firmaları kolaylıkla bulabilir ve onları yeni satış temsilcisine atayabilirsiniz. Peki firmalarla ilişkili herhangi bir görev etkinliğine ne olacak? Her görevi açmak ve onun da yeni satış temsilcisine atanması gerekip gerekmediğine karar vermek istiyor musunuz? Muhtemelen istemiyorsunuz. Bunun yerine, ilişkinin, sizin için bazı standart kuralları otomatik olarak uygulamasını sağlayabilirsiniz. Bu kurallar yalnızca, yeniden atadığınız firmalarla ilişkilendirilmiş görev satırlarına uygulanır. Seçenekleriniz aşağıdaki gibidir:

  • Tüm etkin görevleri yeniden atamak.
  • Tüm görevleri yeniden atamak.
  • Görevlerin hiçbirini yeniden atamamak.
  • Şu anda firmaların eski sahibine atanmış olan tüm görevleri yeniden atamak.

İlişki, birincil tablo satırı için bir satırda gerçekleştirilen eylemlerin, nasıl herhangi bir ilişkili tablo satırına aşağı basamaklandığını denetler.

Davranışlar

Belirli eylemler yapılırken uygulanabilecek bazı davranış türleri vardır.

Davranış Veri Akışı Açıklaması
Etkin Olanı Basamakla Eylemi tüm etkin ilgili tablo satırları üzerinde gerçekleştirin.
Tümünü Basamakla Eylemi tüm ilgili tablo satırları üzerinde gerçekleştirin.
Hiçbirini Basamaklama Hiçbir şey yapmamak.
Bağlantı Kaldır Tüm ilgili satırlar için arama değerini kaldırın.
Kısıtla İlgili tablo satırları bulunduğunda, birincil tablo satırının silinmesini önleyin.
Kullanıcıya Ait Olanı Basamakla Eylemi, aynı kullanıcının birincil tablo satırı olarak sahip olduğu tüm ilgili tablo satırları üzerinde gerçekleştirin.

Eylemler

Belirli davranışları tetikleyebilen eylemler şunlardır:

Sütun Veri Akışı Açıklaması Seçenekler
Ata Birincil tablo satırı, başka birine daha atandığı zaman ne olmalı? Tümünü Basamakla
Etkin Öğeleri Basamakla
Kullanıcıya Ait Olanı Basamakla
Hiçbirini Basamaklama
Yeniden Ana Öğe Ata Bir ana ilişki türünde ilgili tablonun arama değeri değiştiğinde ne olmalı?
Daha fazla bilgi: Ana tablo ilişkileri
Tümünü Basamakla
Etkin Öğeleri Basamakla
Kullanıcıya Ait Olanı Basamakla
Hiçbirini Basamaklama
Paylaş Birincil tablo satırı paylaşıldığında ne olmalı? Tümünü Basamakla
Etkin Öğeleri Basamakla
Kullanıcıya Ait Olanı Basamakla
Hiçbirini Basamaklama
Sil Birincil tablo satırı silindiğinde ne olmalı? Tümünü Basamakla
Bağlantı Kaldır
Kısıtla
Paylaşımı Kaldır Birincil tablo satırı paylaşımı kaldırıldığında ne olmalı? Tümünü Basamakla
Etkin Öğeleri Basamakla
Kullanıcıya Ait Olanı Basamakla
Hiçbirini Basamaklama
Birleştir Birincil tablo satırı birleştirildiğinde ne olmalı? Tümünü Basamakla
Hiçbirini Basamaklama
Toplu Değer Görünümü Bu ilişkiyle ilgili toplu değer görünümünün davranışı nedir? Tümünü Basamakla
Etkin Olanı Basamakla
Kullanıcıya Ait Olanı Basamakla
Hiçbirini Basamaklama

Not

Ata, Sil, Birleştir ve Yeniden Ana Öğe Ata eylemleri aşağıdaki durumlarda yürütülmez:

  • Özgün üst satır ve istenen eylem aynı değerleri içeriyorsa. Örnek: Atama işlemini tetiklemeye çalışma ve satırın sahibi olan bir kişiyi seçme
  • Basamaklı bir eylem çalıştıran bir üst satırda eylem gerçekleştirmeye çalışma

Not

Atama yapılırken, satırlarda şu anda etkin olan iş akışları veya iş kuralları, yeniden atama gerçekleştiğinde otomatik olarak devre dışı bırakılır. Satırın yeni sahibinin, kullanmaya devam etmek istiyorlarsa iş akışını veya iş kuralını yeniden etkinleştirmeleri gerekir.

Ana tablo ilişkileri

1:N ilişkisine sahip olmaya uygun her bir tablo çifti, aralarında birden fazla 1:N ilişkisine sahip olabilir. Yine de, genellikle bu ilişkilerden yalnızca bir tanesi bir ana tablo ilişkisi olarak değerlendirilebilir.

Bir ana tablo ilişkisi, aşağıdaki tablonun Ana sütunundaki basamaklama seçeneklerinden biri Doğru olan herhangi bir 1:N tablo ilişkisidir.

Eylem Ana Ana Değil
Ata Tümünü Basamakla
Kullanıcıya Ait Olanı Basamakla
Etkin Olanı Basamakla
Hiçbirini Basamaklama
Sil Tümünü Basamakla Bağlantı Kaldır
Sınırla
Yeniden Ana Öğe Ata Tümünü Basamakla
Kullanıcıya Ait Olanı Basamakla
Etkin Olanı Basamakla
Hiçbirini Basamaklama
Paylaş Tümünü Basamakla
Kullanıcıya Ait Olanı Basamakla
Etkin Olanı Basamakla
Hiçbirini Basamaklama
Paylaşımı Kaldır Tümünü Basamakla
Kullanıcıya Ait Olanı Basamakla
Etkin Öğeleri Basamakla
Hiçbirini Basamaklama

Örneğin yeni bir özel tablo oluşturup, firma tablosuyla, özel tablonuzun ilgili tablo olduğu bir 1:N tablo ilişkisi eklerseniz, Ana sütunundaki seçenekleri kullanmak için o tablo ilişkisi için eylemleri yapılandırabilirsiniz. Daha sonra özel tablonuzla, başvuran varlık olarak, başka bir 1:N tablo ilişkisi daha eklerseniz, yalnızca Ana Değil sütunundaki seçenekleri kullanacak eylemleri yapılandırabilirsiniz.

Bu genellikle her bir tablo çifti için yalnızca bir ana ilişki olduğu anlamına gelir. İlgili tabloda aramanın birden fazla tablo türüyle ilişkiye izin verebileceği bazı durumlar vardır.

Örneğin bir tabloda bir ilgili kişi veya firma tablosuna başvuruda bulunabilen bir Müşteri araması varsa. İki ayrı ana 1:N tablo ilişkisi vardır.

Etkinlik tabloları, ilgili arama sütununu kullanarak ilişkilendirilebilen tablolar için benzer bir ana tablo ilişkileri kümesine sahiptir.

Ayarlayabileceğiniz davranışlarla ilgili sınırlamalar

Ana ilişkiler nedeniyle, tablo ilişkileri tanımladığınız zaman aklınızda tutmanız gereken bazı sınırlamalar vardır.

  • Özel bir tablo, basamaklı bir ilgili sistem tablosuyla ilişkide birincil tablo durumunda olamaz. Bu, bir birincil özel tablo ve bir ilgili sistem tablosu arasında Tümünü Basamakla, Etkin Olanı Basamakla veya Kullanıcıya Ait Olanı Basamakla olarak ayarlanmış herhangi bir eylem içeren bir ilişkiye sahip olamayacağınız anlamına gelir.
  • Bir yeni ilişkideki ilgili tablo, Tümünü Basamakla, Etkin Olanı Basamakla veya Kullanıcıya Ait Olanı Basamakla olarak ayarlanmış herhangi bir eyleme sahip başka bir ilişkide bir ilgili tablo olarak mevcutsa, o ilişkide Tümünü Basamakla, Etkin Olanı Basamakla veya Kullanıcıya Ait Olanı Basamakla olarak ayarlanmış herhangi bir eylem bulunamaz. Böylelikle, çok ana öğeli ilişki oluşturan ilişkiler önlenir.

Devralınmış erişim haklarını temizleme

İlgili tablolardaki satırlara erişim sağlamak istediğinizde Yeniden Üst Öğe Yap ve Paylaş basamaklı davranışlarını kullanmak yararlıdır. Ancak, işlem veya tasarımda, basamaklama davranış ayarlarının değiştirilmesini gerektiren bir değişiklik olabilir.

Bir tablo ilişkisi Yeniden Üst Öğe Yap veya Paylaş'ı kullandığında ve basamaklı davranış Tümünü Basamakla'dan Hiçbirini Basamaklama olarak değiştirildiğinde, tablo ilişkisi yeni izin değişikliklerinin ilgili alt tablolara basamaklanmasını önler. Buna ek olarak, basamakla davranışı etkinken verilen devralınmış izinlerin iptal edilmesi gerekir.

Devralınan erişim hakları temizliği, basamaklama davranışının Tümünü Basamakla'dan Hiçbirini Basamaklama olarak değiştirilmesinden sonra kalan devralınmış eski erişim haklarını temizleyen bir sistem işidir. Bu temizleme, doğrudan bir tabloya erişim izni verilen herhangi bir kullanıcıyı etkilemez, ancak yalnızca devralma yoluyla erişim alan herkesin erişimini kaldırır.

Not

Şu anda, devralınan erişim haklarını temizleme işlemini çalıştırmak için Web API'sinin kullanılması gerekir. Daha fazla bilgi: CreateAsyncJobToRevokeInheritedAccess Eylemi

Devralınan erişim haklarını temizleme işleminin işleyişi aşağıdaki şekildedir:

  1. Güncelleştirilmiş üst öğeyle basamaklı bir ilişki içinde olan tüm tabloları tanımlar ve toplar.

  2. Devralınan erişim yoluyla ilgili tablolara erişim izni verilen kullanıcıları tanımlar ve toplar.

  3. İlgili tabloya doğrudan erişim izni verilen kullanıcıları denetler ve bunları koleksiyondan kaldırır.

  4. Toplanan tablolarda toplanan kullanıcılar için devralınan erişimi kaldırır.

Temizleme çalıştırıldıktan sonra, yalnızca basamaklı özellik nedeniyle ilgili tablolara erişebilen kullanıcılar artık satırlara erişemez ve böylece daha fazla güvenlik sağlanır.

Ayrıca bkz.

Sistem işlerini izleme ve yönetme
1:N (bir-çok) veya N:1 (çok-bir) ilişkileri oluşturma ve düzenleme
Çoka çok (N:N) tablo ilişkileri oluşturma