Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Relace mezi tabulkami v Microsoft Dataverse definují způsoby, kterými lze řádky tabulky přidružit k řádkům z jiných tabulek nebo stejné tabulky. Existují dva typy relací mezi tabulkami:
Vztahy 1:N
Ve vztahu tabulek 1 : N lze přidružit k jednomu řádku odkazované (primární) tabulky několik řádků odkazujících (souvisejících) tabulek. Řádek odkazované tabulky je někdy označován jako "rodič" a řádky odkazující tabulky jsou označovány jako "děti". Vztah typu N : 1 je vlastně vztah 1 : N z pohledu podřízené tabulky.
Například ve školním prostředí může v jedné učebně probíhat více kurzů, takže tabulka učeben by měla s tabulkou kurzů vztah 1 : N.
Vztahy N : N
Ve vztahu tabulek N : N může být několik řádků tabulky přidruženo k několika řádkům jiné tabulky. Řádky spojené prostřednictvím relace M:N lze považovat za rovnocenné a relace je reciproční.
Například ve stejném školním scénáři zmíněném dříve se jeden student může zaregistrovat do více kurzů a každý kurz může mít více studentů. Tento typ relace umožňuje složitější přidružení dat a spravuje se pomocí Power Apps v Dataverse.
Jak fungují relace v Dataverse
Relace mezi tabulkami definují, jak můžou řádky tabulky vzájemně souviset v Dataverse. Na nejjednodušší úrovni vytvoří přidání vyhledávacího sloupce do tabulky novou relaci 1:N (1:N) mezi těmito dvěma tabulkami a umožní vám umístit tento vyhledávací sloupec do formuláře. Ve vyhledávacím sloupci můžou uživatelé přidružit několik podřízených řádků této tabulky k jednomu nadřazenému řádku tabulky.
Důležité
Pokud má vyhledávací sloupec sadu hodnot, vrátí Dataverse následující informace v tabulce, která obsahuje vyhledávání:
- ID souvisejícího záznamu.
- Řetězcová hodnota ve sloupci primárního názvu souvisejícího záznamu.
Každý, kdo má přístup k záznamu, který obsahuje vyhledávací sloupec, může zobrazit hodnotu primárního názvu, i když nemá oprávnění k zobrazení souvisejícího záznamu. Neukládejte citlivé informace do primárního sloupce názvu.
Kromě pouhého definování toho, jak můžou řádky souviset s jinými řádky, poskytují relace mezi tabulkami 1:N také data, která řeší následující otázky:
- Když odstraním řádek, měly by se odstranit i všechny řádky související s tímto řádkem?
- Když přiřadím řádek, musím také přiřadit všechny řádky související s tímto řádkem novému vlastníkovi?
- Jak můžu proces zadávání dat zjednodušit při vytváření nového souvisejícího řádku v kontextu existujícího řádku?
- Jak by lidé, kteří si prohlížejí řádek, mohli zobrazit přidružené řádky?
Tabulky se také můžou účastnit relace N:N (M:N), kde je možné vzájemně přidružit libovolný počet řádků pro dvě tabulky.
Rozhodněte se, jestli se mají používat relace mezi tabulkami nebo připojení.
Relace mezi tabulkami jsou metadata, která provádějí změny v Dataverse. Tyto relace umožňují dotazům efektivně načítat související data. Relace mezi tabulkami slouží k definování formálních relací, které definují tabulku nebo které může používat většina řádků. Například příležitost bez potenciálního zákazníka by nebyla užitečná. Tabulka příležitostí v Dynamics 365 for Sales má také relaci N:N s tabulkou konkurentů, která je dostupná také v Dynamics 365 for Sales. To umožňuje přidání více konkurentů do příležitosti. Měli byste zachytit tato data a vytvořit report, který zobrazuje konkurenci.
Existují i další méně formální druhy vztahů mezi řádky, které se nazývají připojení. Může být například užitečné vědět, jestli jsou dva kontakty manželé, nebo třeba přátelé mimo práci, nebo třeba kontakt používaný k práci pro jiný účet. Většina firem nebude generovat reporty pomocí tohoto typu informací ani vyžadovat jejich zadání, takže pravděpodobně není vhodné vytvářet relace tabulek. Další informace: Konfigurace propojovacích rolí
Typy relací mezi tabulkami
Při zobrazení relací v Power Apps si můžete myslet, že existují tři typy relací mezi tabulkami. Ve skutečnosti existují pouze dva, jak je znázorněno v následující tabulce.
| Typ vztahu | Description |
|---|---|
| 1:N (Jeden-na-mnoho) | Relace tabulky, kde jeden řádek Primární tabulky může být přidružen k mnoha řádkům Související tabulky pomocí vyhledávacího sloupce v související tabulce. Při prohlížení primárního řádku tabulky můžete zobrazit seznam souvisejících řádků tabulky, které jsou k ní přidružené. Na portálu Power Apps představuje aktuální tabulka primární tabulku. |
| N : N | Vztah mezi tabulkami, který závisí na speciální vztahové tabulce, někdy nazývané průnikové tabulce, kdy mnoho řádků z jedné tabulky může souviset s mnoha řádky z jiné tabulky. Při prohlížení řádků obou tabulek v relaci N:N můžete zobrazit seznam všech řádků druhé tabulky, které s ní souvisejí. |
Typ relace N:1 (many-to-one) existuje v uživatelském rozhraní, protože návrhář zobrazuje pohled seskupený podle tabulek. Relace 1:N ve skutečnosti existují mezi tabulkami a odkazují na každou tabulku jako primární nebo aktuální tabulku nebo související tabulku. Související tabulka, někdy označovaná jako podřízená tabulka, má vyhledávací sloupec, který umožňuje uložit odkaz na řádek z primární tabulky, někdy označovanou jako nadřazená tabulka. Relace N:1 je jen relace 1:N zobrazená ze související tabulky.
Chování vztahu mezi tabulkami
Vlastnosti souvisejících tabulek jsou důležité, protože pomáhají zaručit integritu dat a mohou automatizovat obchodní procesy.
Zachování integrity dat
Některé tabulky existují pro podporu jiných tabulek. Nedávají smysl samy o sobě. Obvykle mají požadovaný vyhledávací sloupec pro propojení s primární tabulkou, kterou podporují. Co by se mělo stát při odstranění primárního řádku?
Vztahové chování můžete použít k definování toho, co se stane se souvisejícími řádky dle pravidel vaší firmy. Více informací: Přidání rozšířeného chování vztahu
Automatizace obchodních procesů
Řekněme, že máte nového prodejce a chcete mu přiřadit několik stávajících účtů, které jsou aktuálně přiřazené jinému prodejci. Každý řádek účtu může mít přiřazeny množství úkolových aktivit. Aktivní účty, které chcete znovu přiřadit, můžete snadno vyhledat a přiřadit je novému prodejci. Ale co by mělo nastat pro všechny aktivity úkolů, které jsou spojené s účty? Chcete otevřít každý úkol a rozhodnout, zda byl měl být také přiřazen novému prodejci? Pravděpodobně nikoli. Místo toho můžete vztah nechat automaticky použít několik standardních pravidel. Tato pravidla platí jenom pro řádky úkolů přidružené k účtům, které znovu přiřazujete. Máte následující možnosti:
- Znovu přiřadit všechny aktivní úkoly.
- Znovu přiřadit všechny úkoly.
- Nepřiřadit znovu žádný z úkolů.
- Znovu přiřaďte všechny úkoly, které jsou aktuálně přiřazeny bývalému vlastníkovi účtů.
Relace může řídit, jak se akce provedené na řádku primárního řádku tabulky kaskádovitě rozdělí na všechny související řádky tabulky.
Behaviors
Existuje několik druhů chování, které lze použít, když dojde k určitým akcím.
| Chování | Description |
|---|---|
| Přenést aktivní | Proveďte akci na všech aktivních řádcích relevantních tabulek. |
| Přenést vše | Proveďte akci na všech souvisejících řádcích tabulky. |
| Nepřenášet | Neprovádět žádnou akci. |
| Odebrat propojení | Odeberte hodnotu vyhledávání pro všechny související řádky. |
| Omezit | Zabrání odstranění primárního řádku tabulky, pokud existují související řádky tabulky. |
| Přenést uživatelské | Proveďte akci pro všechny související řádky tabulky vlastněné stejným uživatelem jako primární řádek tabulky. |
Akce
Toto jsou akce, které můžou aktivovat určité chování:
| Sloupec | Description | Možnosti |
|---|---|---|
| Přiřadit | Co by se mělo stát, když je primární řádek tabulky přiřazený někomu jinému? | Přenést vše Přenést aktivní Přenést vlastněné uživatelem Žádná kaskáda |
| Nadřadit | Co by se mělo stát, když se změní vyhledávací hodnota související tabulky ve vztahu rodičovském? Další informace: Vztahy nadřazenosti mezi tabulkami |
Přenést vše Přenést aktivní Přenést vlastněné uživatelem Žádná kaskáda |
| Sdílet | Co by se mělo stát při sdílení primárního řádku tabulky? | Přenést vše Přenést aktivní Přenést vlastněné uživatelem Žádná kaskáda |
| Vymazat | Co by se mělo stát při odstranění primárního řádku tabulky? | Přenést vše Odebrat odkaz Omezit |
| Zrušit sdílení | Co by se mělo stát, když se primární řádek tabulky přestane sdílet? | Přenést vše Přenést aktivní Přenést vlastněné uživatelem Žádná kaskáda |
| Sloučit | Co by se mělo stát při sloučení primárního řádku tabulky? | Přenést vše Žádná kaskáda |
| Souhrnné zobrazení | Jaké je požadované chování souhrnného zobrazení přidruženého k tomuto vztahu? | Přenést vše Přenést aktivní Přenést vlastněné uživatelem Žádná kaskáda |
Poznámka:
Akce přiřazení, odstranění, sloučení a reparentování se nespouštějí v následujících situacích:
- Pokud původní nadřazený řádek a požadovaná akce obsahují stejné hodnoty. Příklad: Pokus o spuštění přiřazení a výběr kontaktu, který je již vlastníkem řádku.
- Pokus o provedení akce na nadřazeném řádku, který již spouští kaskádovou akci.
Při provádění přiřazení se automaticky deaktivují všechny pracovní postupy nebo obchodní pravidla, které jsou aktuálně aktivní na řádcích, když dojde k opětovnému přiřazení. Nový vlastník řádku musí pracovní postup nebo obchodní pravidlo znovu aktivovat, pokud ho chce dál používat.
Nadřazený vztah mezi tabulkami
Každá dvojice tabulek, které mají nárok na relaci 1:N, mezi nimi může mít více relací 1:N. Obvykle však pouze jeden z těchto vztahů lze považovat za nadřazený vztah mezi tabulkami.
Rodičovské relace jsou libovolné relace tabulky 1:N, kde je splněna jedna z možností kaskádování ve sloupci Rodičovské v následující tabulce.
| Činnost | Nadřazený | Ne rodiče |
|---|---|---|
| Přiřadit | Přenést vše Přenést vlastněné uživatelem Přenést aktivní |
Žádná kaskáda |
| Vymazat | Přenést vše | RemoveLink Omezit |
| Nadřadit | Přenést vše Přenést vlastněné uživatelem Přenést aktivní |
Žádná kaskáda |
| Sdílet | Přenést vše Přenést vlastněné uživatelem Přenést aktivní |
Žádná kaskáda |
| Zrušit sdílení | Přenést vše Přenést vlastněné uživatelem Přenést aktivní |
Žádná kaskáda |
Pokud například vytvoříte novou vlastní tabulku a přidáte relaci tabulky 1:N s tabulkou účtu, ve které je vaše vlastní tabulka související tabulkou, můžete pro tuto relaci tabulky nakonfigurovat akce tak, aby používaly možnosti ve sloupci Rodiče . Pokud později přidáte jiný vztah mezi tabulkami 1 : N s vlastní tabulkou jako referenční tabulkou, můžete konfigurovat pouze akce pro použití možností ve sloupci Není nadřazený.
Obvykle to znamená, že u každého páru tabulek existuje pouze jeden rodičovský vztah. V některých případech může vyhledávání v související tabulce umožnit relaci s více typy tabulek.
Například pokud má tabulka vyhledávání zákazníka, které může odkazovat buď na tabulku kontaktu, nebo na tabulku účtu. Existují dva samostatné nadřazené vztahy mezi tabulkami 1 : N.
Jakákoliv tabulka aktivity má podobnou sadu nadřazených vztahů mezi tabulkami pro tabulky, které lze přiřadit pomocí vyhledávacího sloupce.
Omezení, která lze pro chování nastavit
Z důvodu nadřazených vztahů existují určitá omezení, které je třeba vzít v úvahu při definování vztahů mezi tabulkami.
- Vlastní tabulka nemůže být primární tabulkou v relaci se související systémovou tabulkou, která je kaskádově propojená. To znamená, že nemůžete mít relaci mezi primární vlastní tabulkou a související systémovou tabulkou, pokud je některá akce nastavena na Kaskádovat vše, Kaskádovat aktivní nebo Kaskádovat podle vlastnictví uživatele.
- Žádná nová relace nemůže mít žádnou akci nastavenou na Kaskádové vše, Kaskádové aktivní nebo Kaskádové vlastněné uživatelem , pokud související tabulka v této relaci již existuje jako související tabulka v jiné relaci, která má jakoukoli akci nastavenou na Kaskádové vše, Kaskádová aktivní nebo Kaskádová vlastněná uživatelem. To zabraňuje vztahům, které vytvářejí vztahy s více nadřazenými položkami.
Vyčištění zděděných přístupových práv
Použití kaskádových chování reparent a Share jsou užitečné, když chcete poskytnout přístup k řádkům napříč souvisejícími tabulkami. Může ale dojít ke změně procesu nebo návrhu, která vyžaduje změnu kaskádového nastavení chování.
Pokud relace mezi tabulkami používá Reparent nebo Share a kaskádové chování se změní na Žádné kaskády, relace tabulky zabrání kaskádovému šíření nových změn oprávnění na související podřízené tabulky. Kromě toho musí být zrušena zděděná oprávnění, která byla udělena, když bylo aktivní kaskádové chování.
Vyčištění zděděných přístupových práv je systémová úloha, která vyčistí starší zděděná přístupová práva, která zůstávají po změně kaskádového chování na Cascade None. Toto vyčištění nemá vliv na uživatele, kterému byl přímo udělen přístup k tabulce, ale odebere přístup všem uživatelům, kteří přístup obdrželi pouze prostřednictvím dědění.
Takto funguje vyčištění zděděných přístupových práv:
- Identifikuje a shromažďuje všechny tabulky, které byly v kaskádové relaci s aktualizovaným nadřazeným objektem.
- Identifikuje a shromažďuje uživatele, kterým byl udělen přístup ke souvisejícím tabulkám prostřednictvím zděděného přístupu.
- Kontroluje uživatele, kteří dostali přímý přístup ke související tabulce, a odebere je z kolekce.
- Odebere zděděný přístup pro shromážděné uživatele ve shromážděných tabulkách.
Po spuštění čištění už uživatelé, kteří měli přístup k souvisejícím tabulkám pouze z důvodu kaskádové funkce, již nebudou moci přistupovat k řádkům, což zajistí větší bezpečnost. Existují případy, kdy vyčištění nemusí být úspěšné. Další informace o vyčištění zděděného přístupu
Viz také
Monitorování systémových úloh
Vytvoření a úprava relací 1:N (jedna ku mnoha) nebo N:1 (mnoho k jedné)
Vytvořte relace typu mnoho na mnoho (N:N) mezi tabulkami