F. GÉRER LES RELATIONS
F. GÉRER LES RELATIONS
Les relations permettent d'utiliser globalement les données, quelle que soit la table les contenant. Elles sont créées automatiquement mais peuvent être créées ou modifiées manuellement. Elles obéissent aux lois issues de l'algèbre relationnelle exploitées dans les sgbdr mais les modèles Power BI n'acceptent qu'une relation active entre 2 tables.
1. THÉORIE
a) BASES
Le domaine (X, Y…) est un ensemble fini ou infini de valeurs. On le représente par une liste d'éléments ou bien une condition nécessaire et suffisante d'appartenance.
Le modèle relationnel permet de représenter les relations à l'aide de tables :
- Chaque colonne a un identificateur qui appartient à un domaine.
- Une ligne du tableau représente une occurrence ; on l'appelle tuple
- Chacune des cases représente un attribut ; on appelle attribut le nom des colonnes qui représentent les constituants de la relation (un attribut est repéré par un nom et un domaine de définition, c'est-à-dire l'ensemble des valeurs qu'il peut prendre).
(1) DOMAINE
Il caractérise un ensemble de valeurs.
couleur = { bleu , gris , rouge }
booléen = { vrai , faux }
prix = { 26000 , 34950 }
entier
réel
chaine
Un produit cartésien de domaines est l'ensemble de tous les couples, dont la première composante appartient à X (ex : couleur) et la seconde à Y (ex : vrai/faux).
Si X = {bleu, blanc, rouge} et Y = {vrai, faux}
Alors le produit cartésien X * Y donne :
(2) RELATION
C'est un sous-ensemble du produit cartésien d’une liste de domaines.
COULEURS DE VOITURES
X = Modèle
Y = Couleur
(3) ATTRIBUT
C'est le nom donné à une colonne d’une relation.
(4) ATTRIBUT CLÉ PRIMAIRE
Une clé primaire est un groupe d’attributs minimum (un ou plusieurs) qui identifie un tuple de manière unique dans une relation. Elle est obligatoire.
La voiture N°9 est une Toyota Rav4 noire au prix de 26990 € émettant 202 g de Co2 au km
Le propriétaire tel que N°Pro=2 s'appelle Marc Perez et habite 12 rue des rosiers à Marseille.
Une relation étant un ensemble de tuples, il ne peut y avoir deux tuples de même clé dans une relation
(5) ATTRIBUT CLÉ ÉTRANGÈRE
Une clé étrangère est un groupe d’attributs minimum d'une relation (un ou plusieurs) qui identifie une association vers une autre relation.
Il existe une relation entre les propriétaires de véhicules et les véhicules :
À chaque propriétaire appartient un ou plusieurs véhicules et chaque véhicule appartient à un seul propriétaire ; cette relation d'appartenance est matérialisée par la présence de l'identifiant du propriétaire dans la table véhicule sous forme d'une clé étrangère
(6) CONTRAINTE D’ENTITÉ
Toute relation doit posséder une clé primaire non nulle (ex : N° dans Véhicule).
(7) CONTRAINTE D'INTÉGRITÉ RÉFÉRENTIELLE
Une référence est un groupe d’attributs (partie d’une clé) qui référence une clé d’une autre relation ; lors d’une insertion, la valeur de la clé étrangère doit exister dans la relation référencée. Elle traduit les liens sémantiques entre deux relations.
b) ALGÈBRE RELATIONNELLE (bases)
L'algèbre relationnelle est constituée d'un ensemble d'opérations formelles sur les relations. Elle permet de créer de nouvelles relations résultantes de ces opérations.
LES OPÉRATEURS SONT DE DEUX TYPES :
- Les opérateurs ensemblistes (Union, Différence, Intersection, Produit cartésien étendu)
- Les opérateurs relationnels (Restriction, Projection, Jointure, Division)
(1) EXEMPLES D'OPERATEUR ENSEMBLISTE
L'union, la différence et l'intersection nécessite des relations (tables) de structure compatible.
Union : Rel1 U Rel2 Rel1
L'opérateur "union" noté "U" fusionne deux relations en une seule.
VÉHICULE-1
VÉHICULE-2
VÉHICULE-1 U VÉHICULE-2
INTERSECTION : REL1 ∩ REL2 REL1
L'opérateur "intersection" noté "∩" isole les occurrences communes entre les relations 1 et 2.
VÉHICULE-1
VÉHICULE-2
VÉHICULE-1 ∩ VÉHICULE-2
(2) EXEMPLE D'OPERATEUR RELATIONNEL
JOINTURE : REL1 REL2 REL3
C'est une restriction du produit cartésien des deux relations.
- jointure naturelle
La jointure naturelle réalise une liaison logique entre deux tables. La condition de sélection est l’égalité entre la clé primaire d'une relation et la clé étrangère lui correspondant dans une autre relation. La notation est de la forme : r1 r2 et s'écrit Join ( r1, r2).
VÉHICULE
…
PROPRIETAIRE
VÉHICULE PROPRIETAIRE
c) MODÈLE POWER BI
Ces notions sont globalement reprises dans le modèle Power Bi et utilisées dans les formules DAX. Power Bi distingue 2 types de tables : la table "facts" et les tables "dimensions"
(1) LA TABLE "FACT"
Elle contient des données factuelles liées à l'observation, chaque donnée unique étant stockée dans une ligne.
Dans une gestion d'entreprise, elle va par exemple contenir les données de vente
(2) LES TABLES "DIMENSIONS"
Elles contiennent les éléments qui vont permettre de classifier, regrouper, illustrer la table "facts". Une colonne à valeur unique va permettre de l'associer à la table "facts".
Dans une gestion d'entreprises, elles vont contenir les clients, les produits et toutes les informations complémentaires liées
(3) COMPARAISON
Les types de tables sont souvent faciles à distinguer.
Principales différences
Caractéristiques |
table "Dimension" |
table "Fact" |
Objectif du modèle |
Données complémentaires |
Observations, événements |
Structure |
Inclut une colonne "clé unique" et des colonnes complémentaires descriptives pour filtrage et regroupement |
Inclut des colonnes reprenant les valeurs des colonnes "clés" des tables "dimension" et des valeurs numériques pouvant faire l'objet de calculs |
Volume |
Assez peu volumineuses relativement à la table "fact" |
Volumineuse à très volumineuse |
Requêtes |
Filtres, regroupement |
Totalisation, statistiques |
(4) TYPE DE RELATIONS
Deux cas de figure :
- Un à plusieurs - le + fréquent
une valeur de la table "dimensions" est liée à plusieurs valeurs de la table "fact" - Un à Un - plus rare
chaque élément d’une clé à deux tables n’est présent qu’une seule fois dans chaque table
(5) SENS DE LA RELATION
Là aussi, deux possibilités :
- Unidirectionnelle
les tables "dimensions" permettent de filtrer et trier la table "fact" - Bidirectionnelle
les tables se comportent alors comme une seule table
2. RELATIONS
Les relations vont définir le comportement des tables de données.
a) MODE D'AFFICHAGE
Le mode d'affichage adapté à la gestion des relations est le mode "modèle".
BOUTON GAUCHE
<clic g> sur dans le volet gauche
les onglets "champs" et "propriétés" s'affichent dans le volet droit.
La fenêtre principale affiche les tables et leurs éventuelles relations.
b) AFFICHER LES RELATIONS
Il est souvent nécessaire de les déplacer pour que la représentation soit plus claire.
BOUTON GAUCHE
pointer sur le titre de la table
le pointeur prend la forme d'une croix
<faire glisser> à la nouvelle position
|
Afficher correctement les tables de "base.pbix" |
c) CRÉER UNE RELATION
Power BI les reconnaît correctement la plupart du temps mais dans certains cas, il faut lui indiquer.
BOUTON GAUCHE
<faire glisser> le champs lié de la table "dimensions" vers la table "fact"
Dans "base.pbix", modifier le champ "dates" de la table "ventes" en type "date/heure" format court puis créer une relation entre les champs "dates"
Il est aussi possible de passer par un menu.
ONGLET ACCUEIL
groupe "relations" (4ème bloc)
<clic g> sur
sélectionner la relation
<clic g> sur un des boutons
<clic g> sur
les relations existantes s'affichent
La commande est aussi disponible dans les autres modes d'affichage ou dans le volet droit en cliquant sur puis sur
d) MODIFIER LES RELATIONS
La relation est symbolisée par une flèche et son détail s'affiche en pointant dessus.
Il est ici possible d'afficher le détail de la relation.
OUTIL
<clic g> sur
BOUTON GAUCHE
<double clic> sur la relation
son détail s'affiche et peut être modifié ici
Dans "base.pbix", modifier la relation "produits" "outils" en "bidirectionnel"