Pilote OData : Mappage des clés. SAP BusinessObjects
6.3.7 Pilote OData : Mappage des clés
Mappage de clés primaires
La propriété Clé d'un élément EntityType est mappée à la clé primaire de la table qui mappe l'élément EntitySet correspondant. Il peut s'agir d'une ou de plusieurs colonnes.
Exemple
La table Customers possède une clé primaire sur la colonne CustomerID, car l'élément EntityType Customer possède une propriété Key qui fait référence à la propriété CustomerID.
Mappage de clés étrangères
Le protocole OData utilise des NavigationProperties pour exposer les chemins de jointure d'un modèle relationnel.
Les NavigationProperties utilisent des Rôles définis dans des AssociationSets pour lier des EntitySets selon leur multiplicité.
Le pilote OData représente des jointures bidirectionnelles sous forme de clés étrangères. Une jointure bidirectionnelle peut être créée entre des tables si les EntityTypes des EntitySets représentant ces tables contiennent des NavigationProperties qui utilisent le même AssocationSet pour lier des EntitySets. Cela signifie que les deux extrémités d'un AssociationSet doivent posséder des NavigationProperties dans les deux
EntityTypes. Les associations qui ne remplissent pas cette condition ne sont pas exposées en tant que clés
étrangères.
Si la multiplicité des deux EntitySets est *, l'AssociationSet est mappé à une table. Si au moins une des multiplicités des EntityTypes est 1 ou 0..1, l'AssociationSet est mappé à une clé étrangère de la table qui représente l'EntitySet de la multiplicité *. Le modèle d'un nom de clé étrangère est -idref-
<NavigationProperty>
-
<Clé primaire>
.
N'oubliez pas
Les clés étrangères sont des colonnes masquées dans les tables de fondation de données par défaut, car elles ne contiennent pas de données professionnelles. Vous pouvez cependant les afficher en modifiant les propriétés de table et de colonne. Voir le Guide de l'utilisateur de l'outil de conception d'information.
Attention
SAP recommande aux utilisateurs d'application de ne pas interroger les colonnes -idref, car cela peut réduire les performances du pilote.
Exemple
Clés étrangères d'un EntitySet
La table Orders possède les clés étrangères -idref-Customer-CustomerID, -idref-Employee-
EmployeeID et -idref-Shipper-ShipperID car :
78
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
Guide d'accès aux données
Informations de référence sur le pilote d'accès aux données
● L'EntityType Order possède les NavigationProperties suivantes.
<EntityType Name="Order">
...
<NavigationProperty Name="Customer"
Relationship="NorthwindModel.FK_Orders_Customers" FromRole="Orders"
ToRole="Customers"/>
<NavigationProperty Name="Employee"
Relationship="NorthwindModel.FK_Orders_Employees" FromRole="Orders"
ToRole="Employees"/>
<NavigationProperty Name="Shipper"
Relationship="NorthwindModel.FK_Orders_Shippers" FromRole="Orders"
ToRole="Shippers"/>
</EntityType>
● Ces NavigationProperties font référence aux Associations FK_Orders_, qui lient l'EntityType Order aux
EntityTypes Customer, Employee et Shipper. Il existe une multiplicité 0..1 dans chaque Association.
Cela génère trois clés étrangères dans la table qui représente l'EntitySet Orders.
<Association Name="FK_Orders_Employees">
<End Role="Employees" Type="NorthwindModel.Employee" Multiplicity="0..1"/>
<End Role="Orders" Type="NorthwindModel.Order" Multiplicity="*"/>
</Association>
● La colonne CustomerID qui figure dans -idref-Customer-CustomerID provient de la clé primaire de la table Customers.
● La colonne EmployeeID qui figure dans -idref-Employee-EmployeeID provient de la clé primaire de la table Employees.
● La colonne ShipperID qui figure dans -idref-Shipper-ShipperID provient de la clé primaire de la table Shippers.
Exemple
Clés étrangères d'un AssocationSet
La table CustomerCustomerDemo possède les clés étrangères -idref-CustomerDemographics-
CustomerTypeID et -idref-Customers-CustomerID car :
● L'EntityType Customer possède une PropriétéNavigation CustomerDemographics.
<EntityType Name="Customer">
...
<NavigationProperty Name="CustomerDemographics"
Relationship="NorthwindModel.CustomerCustomerDemo" FromRole="Customers"
ToRole="CustomerDemographics"/>
</EntityType>
● L'EntityType CustomerDemographic possède une PropriétéNavigation Customers.
<EntityType Name="CustomerDemographic">
...
<NavigationProperty Name="Customers"
Relationship="NorthwindModel.CustomerCustomerDemo"
FromRole="CustomerDemographics" ToRole="Customers"/>
</EntityType>
Guide d'accès aux données
Informations de référence sur le pilote d'accès aux données
©
2014 SAP SE ou société affiliée SAP. Tous droits réservés.
79

Link público atualizado
O link público para o seu chat foi atualizado.