Relacje tabeli
Relacje tabli definiują, jak wiersze mogą być powiązane ze sobą w bazie danych. Na najprostszym poziomie dodawanie kolumny wyszukiwania do tabeli tworzy nową relację 1:N (jeden do wielu) między dwiema tabelami i pozwala na umieszczenie tej kolumny wyszukiwania w formularzu. Za pomocą kolumny wyszukiwania użytkownicy mogą skojarzyć wiele wierszy podrzędnych tej tabeli z pojedynczym wierszem tabeli nadrzędnej.
Oprócz określania, w jaki sposób wiersze mogą być powiązane z innymi wierszami, relacje tabel 1:N zapewniają również informacje pozwalające odpowiedzieć na następujące pytania:
- Czy usunięcie wiersza powoduje konieczność usunięcia też wszelkich wierszy z nim związanych?
- Gdy przypisuję wiersz, czy muszę również przypisać wszystkie wiersze związane z tym wierszem do nowego właściciela?
- Jak można usprawnić proces wprowadzania danych podczas tworzenia nowego wiersza pokrewnego w kontekście istniejącego wiersza?
- Jak osoby przeglądające wiersz mogą wyświetlać skojarzone wiersze?
Tabele mogą również uczestniczyć w relacji N:N (wiele do wielu), gdzie dowolną liczbę wierszy dla dwóch tabel można skojarzyć ze sobą.
Decydowanie o użyciu relacji tabeli lub połączeń
Relacje między tabelami to metadane, które wprowadzają zmiany do bazy danych. Te relacje umożliwiają zapytaniom pobieranie powiązanych danych w wydajny sposób. Relacje między tabelami służą do definiowania relacji formalnych, które określają tabelę lub których może użyć większość wierszy. Na przykład szansa sprzedaży bez potencjalnego klienta nie byłaby przydatna. Tabela Szansa sprzedaży ma również relację N:N z tabelą Konkurent. Pozwala to na dodanie wielu konkurentów do szansy sprzedaży. Możesz przechwycić te dane i utworzyć raport, który pokazuje konkurentów.
Istnieją inne mniej formalne rodzaje relacji między wierszami, które są nazywane połączeniami. Na przykład być może warto wiedzieć, że dwa kontakty są małżeństwem lub prawdopodobnie przyjaźnią się poza pracą, lub że dany kontakt pracował dla innego klienta. Większość firm nie będzie generować raportów na podstawie tego rodzaju informacji ani wymagać ich wprowadzania, dlatego prawdopodobnie nie warto tworzyć relacji między tabelami. Więcej informacji: Konfigurowanie ról połączeń
Typy relacji tabeli
Patrząc na eksploratora rozwiązań, można pomyśleć, że istnieją trzy typy relacji między tabelami. Zasadniczo istnieją tylko dwa, jak pokazano w poniższej tabeli.
Typ relacji | Opis |
---|---|
1:N (jeden do wielu) | Relacja tabeli, w której jeden wiersz tabeli podstawowej można skojarzyć z wieloma innymi wierszami tabeli pokrewnej ze względu na kolumnę wyszukiwania w tabeli pokrewnej. Podczas przeglądania wiersza tabeli podstawowej wyświetlana jest lista wierszy tabeli pokrewnej, które są z nim powiązane. W portalu Power Apps Bieżąca tabela reprezentuje tabelę podstawową. |
N:N (wiele do wielu) | Relacja tabeli, która zależy od specjalnej tabeli relacji, czasami nazywanej tabelą Część wspólna, aby wiele wierszy jednej tabeli mogło być powiązanych z wieloma wierszami innej tabeli. Podczas przeglądania wierszy którejkolwiek tabeli w relacji N:N można zobaczyć listę wierszy drugiej tabeli, które są z nią powiązane. |
Typ relacji N:1 (wiele-do-jednego) istnieje w interfejsie użytkownika, ponieważ projektant przedstawia widok pogrupowany według tabel. Relacje 1:N rzeczywiście istnieją między tabelami i odnoszą się do każdej tabel jako Tabela podstawowa/bieżąca lub Tabela pokrewna. Tabela pokrewna, czasami nazywana tabelą podrzędną, ma kolumnę wyszukiwania, które umożliwia przechowywanie odwołania do wiersza z tabeli podstawowej, czasami nazywanej tabelą nadrzędną. Relacja N:1 jest po prostu relacją 1:N widzianą z perspektywy tabeli pokrewnej.
Zachowanie relacji tabeli
Zachowania dla tabel pokrewnych są ważne, ponieważ pomagają zapewnić spójność danych i mogą zautomatyzować procesy biznesowe w Twojej firmie.
Zachowaj integralność danych
Niektóre tabele istnieją po to, aby obsługiwać inne tabele. Samodzielnie nie mają żadnego sensu. Zwykle będą miały one wymaganą kolumnę wyszukiwania, aby połączyć z tabelą podstawową, którą obsługują. Co powinno się stać, gdy wiersz podstawowy zostanie usunięty?
Możesz użyć zachowania relacji, aby zdefiniować, co dzieje się z powiązanymi wierszami zgodnie z regułami Twojej firmy. Więcej informacji: Dodaj zaawansowane zachowanie relacji
Automatyzacja procesów biznesowych
Powiedzmy, że masz nowego sprzedawcę i chcesz przypisać mu/jej szereg istniejących kont obecnie przypisanych do innego sprzedawcy. Każdy wiersz konta może mieć pewną liczbę związanych z nim działań typu zadanie. Możesz łatwo zlokalizować aktywne konta, które chcesz ponownie przypisać i przypisać je do nowego sprzedawcy. Ale co powinno się zdarzyć dla działań typu zadanie, które są skojarzone z kontami? Czy chcesz otworzyć każde zadanie i zdecydować, czy ono też powinno być przypisane do nowego sprzedawcy? Prawdopodobnie nie. Zamiast tego możesz pozwolić relacji na automatycznie stosowanie pewnych standardowych zasad. Te reguły dotyczą tylko wierszy zadań skojarzonych z ponownie przypisanym kontami. Możliwe opcje to:
- Ponownie przypisz wszystkie aktywne zadania.
- Ponownie przypisz wszystkie zadania.
- Nie przypisuj ponownie żadnych zadań.
- Ponowne przypisz wszystkie zadania aktualnie przypisane do poprzedniego właściciela kont.
Relacja może kontrolować to, jak akcje wykonywane na wierszy dla wiersza tabeli podstawowej wpływają kaskadowo na wszelkie wiersze tabel pokrewnych.
Zachowania
Istnieje kilka typów zachowań, które mogą być stosowane w przypadku wystąpienia określonych akcji.
Zachowanie | Opis |
---|---|
Kaskadowo aktywne | Wykonuje akcję dla wszystkich aktywnych wierszy tabeli pokrewnej. |
Kaskadowo wszystkie | Wykonuje akcję dla wszystkich wierszy tabeli pokrewnej. |
Kaskadowo żadne | Nie należy nic robić. |
Usuń łącze | Usuwa wartość wyszukiwania dla wszystkich wierszy pokrewnych. |
Ogranicz | Uniemożliwia usuwanie wiersza tabeli podstawowej, gdy istnieją wiersze tabeli pokrewnej. |
Kaskadowo użytkownika | Wykonuje akcję dla wszystkich wierszy tabel pokrewnych należących do tego samego użytkownika, co wiersz tabeli podstawowej. |
Czynności
Oto akcje, które mogą uruchomić pewne zachowania:
Kolumnowy | Opis | Opcje |
---|---|---|
Przypisz | Co powinno się zdarzyć po przyznaniu wiersza tabeli podstawowej komuś innemu? | Kaskadowo wszystkie Kaskadowo aktywne Kaskadowo użytkownika Kaskadowo żadne |
Zmień nadrzędny | Co powinno się zdarzyć, gdy zmienia się wartość wyszukiwania dla tabeli pokrewnej w relacji nadrzędnej? Więcej informacji: Nadrzędne relacji tabel |
Kaskadowo wszystkie Kaskadowo aktywne Kaskadowo użytkownika Kaskadowo żadne |
Udostępnij | Co powinno się zdarzyć, gdy wiersz tabeli podstawowej zostanie udostępniony? | Kaskadowo wszystkie Kaskadowo aktywne Kaskadowo użytkownika Kaskadowo żadne |
Usuń | Co powinno się zdarzyć, gdy wiersz tabeli podstawowej zostanie usunięty? | Kaskadowo wszystkie Usuń łącze Ogranicz |
Cofnij udostępnianie | Co powinno się zdarzyć, gdy udostępnienie wiersza tabeli podstawowej zostanie anulowane? | Kaskadowo wszystkie Kaskadowo aktywne Kaskadowo użytkownika Kaskadowo żadne |
Scal | Co powinno się zdarzyć, gdy wiersz tabeli podstawowej zostanie scalony? | Kaskadowo wszystkie Kaskadowo żadne |
Widok zestawienia | Jakie jest pożądane zachowanie widoku zestawienia skojarzonego z tą relacją? | Kaskadowo wszystkie Kaskadowo aktywne Kaskadowo użytkownika Kaskadowo żadne |
Uwaga
Akcje przypisywania, usuwania, scalania i zmiany nadrzędnych nie będą wykonywane w następujących sytuacjach:
- Jeśli oryginalny wiersz nadrzędny i żądana akcja zawierają te same wartości. Przykład: próba wyzwolenia przypisania i wybrania kontaktu, który jest już właścicielem wiersza
- Próba wykonania akcji wobec wiersza nadrzędnego, w którym już uruchomiono operację kaskadową
Uwaga
Podczas wykonywania przypisania wszystkie przepływy pracy lub reguły biznesowe, które są obecnie aktywne w wierszach, zostaną automatycznie dezaktywowane w momencie ponownego przypisania. Nowy właściciel wiersza będzie musiał ponownie aktywować przepływ pracy lub regułę biznesową, aby nadal z niego korzystać.
Relacje nadrzędne tabeli
Każda para tabel, które mogą mieć relację 1:N, może mieć wiele relacji 1:N między nimi. Jednak zwykle tylko jedna z tych relacji może być uznana za relację nadrzędną między tabelami.
Relacja nadrzędna między tabelami, to dowolna relacja 1:N, gdzie jedna z kaskadowych opcji w kolumnie Nadrzędne w poniższej tabeli jest prawdziwa.
Akcja | Nadrzędne | Inne niż nadrzędne |
---|---|---|
Przypisz | Kaskadowo wszystkie Kaskadowo użytkownika Kaskadowo aktywne |
Kaskadowo żadne |
Usuń | Kaskadowo wszystkie | Usuń łącze Ogranicz |
Zmień nadrzędny | Kaskadowo wszystkie Kaskadowo użytkownika Kaskadowo aktywne |
Kaskadowo żadne |
Udostępnij | Kaskadowo wszystkie Kaskadowo użytkownika Kaskadowo aktywne |
Kaskadowo żadne |
Cofnij udostępnianie | Kaskadowo wszystkie Kaskadowo użytkownika Kaskadowo aktywne |
Kaskadowo żadne |
Na przykład po utworzeniu nowej tabeli niestandardowej i dodaniu relacji 1:N między tabelami z tabelą kont, gdzie tabela niestandardowa to tabela pokrewna, możesz skonfigurować akcje dla tej relacji między tabelami, aby używać opcji w kolumnie Nadrzędne. Po dodaniu później innej relacji 1:N między tabelami z tabelą niestandardową jako tabeli będącej odwołaniem możesz tylko skonfigurować akcje, aby korzystały z opcji w kolumnie Inne niż nadrzędne.
Zwykle oznacza to, że dla każdej pary tabeli jest tylko jedna relacja nadrzędna. Istnieją przypadki, gdy wyszukiwanie na tabeli pokrewnej może umożliwiać relację z więcej niż jednym typem tabeli.
Na przykład, jeśli tabela zawiera pole wyszukiwania Klient, które może się odnosić tabeli kontaktu lub konta. Istnieją dwie oddzielne nadrzędne 1:N relacje między tabelami.
Dowolna tabela działania ma podobny zestaw nadrzędnych relacji między tabelami dla tabel, które mogą być skojarzone przy użyciu kolumny wyszukiwania.
Ograniczenia dotyczące zachowań, które można ustawić
Z powodu relacji nadrzędnych istnieją pewne ograniczenia, które należy mieć na uwadze podczas definiowania relacji między tabelami.
- Tabela niestandardowa nie może być tabelą podstawową w relacji kaskadowej z pokrewną tabelą systemową. Nowa relacja nie może mieć ustawionej akcji Kaskadowo wszystkie, Kaskadowo aktywne ani Kaskadowo użytkownika między podstawową tabelą niestandardową a pokrewną tabelą systemową.
- Nowa relacja nie może mieć ustawionej akcji Kaskadowo wszystkie, ani Kaskadowo aktywne lub Kaskadowo użytkownika, jeśli tabela pokrewna w tej relacji już istnieje jako tabela pokrewna w innej relacji mającej jakąkolwiek akcję ustawioną na wartość Kaskadowo wszystkie, Kaskadowo aktywne lub Kaskadowo użytkownika. W ten sposób można uniknąć tworzenia relacji zawierających wiele encji nadrzędnych.
Oczyszczanie dziedziczonych praw dostępu
Korzystanie zachowań kaskadowych typu Zmień nadrzędny i Udostępnij ułatwia dostęp do wierszy w tabelach pokrewnych. W procesie lub projekcie może wystąpić zmiana, która wymaga zmiany ustawień zachowania kaskadowego.
Jeśli w relacji tabeli jest używany system Zmień nadrzędny lub Udostępnij, a zachowanie kaskadowe zostanie zmienione na Kaskadowo brak, relacja między tabelą uniemożliwia kaskadowe zmianę nowych uprawnień w pokrewnych tabelach podrzędnych. Ponadto dziedziczone uprawnienia, które zostały udzielone w czasie, gdy zachowanie kaskadowe było aktywne, muszą zostać cofnięte.
Oczyszczanie dziedziczonych uprawnień dostępu to zadanie systemowe, które pozwala wyczyścić starsze prawa dostępu dziedziczone, które pozostają po zmianie zachowania kaskadowego na Kaskadowo brak. To oczyszczenie nie będzie miało wpływu na każdego użytkownika, który bezpośrednio otrzymał dostęp do tabeli, ale usunie dostęp wszystkim osobom, które otrzymały dostęp tylko w wyniku dziedziczenia.
Tak działa oczyszczanie dziedziczonych uprawnień dostępu:
- Identyfikuje i gromadzi wszystkie tabele, które znajdowały się w relacji kaskadowej ze zaktualizowanym elementem nadrzędnym.
- Identyfikuje i gromadzi użytkowników, którym udzielono dostępu do odpowiednich tabel za pośrednictwem dostępu dziedziczonego.
- Wyszukuje użytkowników, którzy uzyskali bezpośredni dostęp do pokrewnej tabeli i usuwa ich z kolekcji.
- Usuwa odziedziczone prawa dostępu dla zgromadzonych użytkowników w zgromadzonych tabelach.
Po uruchomieniu oczyszczania użytkownicy, którzy byli w stanie uzyskać dostęp tylko do tabel pokrewnych z powodu funkcji kaskadowej, nie będą mogli już uzyskać dostępu do wierszy, co gwarantuje większe bezpieczeństwo. W niektórych przypadkach oczyszczanie może się nie powieść. Dowiedz się więcej o czyszczeniu dziedziczonego dostępu
Zobacz też
Monitorowanie zadań systemowych
Tworzenie i edytowanie relacji 1:N (jeden-do-wielu) i N:1 (wiele-do-jednego)
Tworzenie relacji między tabelami typu wiele do wielu (N:N)
Uwaga
Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)
Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).