Bonjour,
je débute avec la mise en place d'un système de base de données relationnel.
Je poste ici pour être certain de ne pas avoir commis d'erreur car ce n'est pas évident.
Pour mettre en place une stratégie d'accès logiciels à des utilisateurs, j'ai identifié deux entités : User et Application.
Ensuite, j'ai réfléchit sur la relation entre les deux entités :
- 1 utilisateur accède à 2 applications
- 2 utilisateurs accèdent à 2 applications
- 1 utilisateur accède à 1 application
- 2 utilisateurs accèdent à 1 application
De ce fait, mes deux entités sont relié par une association 1,n dans le sens User -> Application et 1,n dans le sens Application -> User
Ce qui me donne donc une relation N,N
Suis-je dans le bon jusque-là ?
Donc je créée une entité intermédiaire : Access
Je relie ensuite l'entité User à Access et l'entité Application à Access.
J'ai maintenant (et c'est ici que j'ai du mal, les cardinalités etc etc ...):
- l'utilisateur Dupon à 1 accès à 2 applications (j'ai deux record dans la table Access pour Dupon : 1 record pour chaque accès [id unique de l'entité Application et id unique du User])
- l'utilisateur Dupond à 1 accès à 1 application (j'ai un record dans la table Access pour dupond : 1 record pour l'accès [id unique de l'entité Application et id unique du User])
- Dupont et Dupontieux ont 1 accès à 1 application (j ai un record pour dupont avec son id unique et l'id unique d'une application et un autre record avec l'id unique de dupontieux et l'id unique de la meme application)
- Dufrêne et Duchêne ont 1 accès à 2 applications (j'ai deux record pour dufrêne pour chaque application et idem pour dufrêne)
Est-ce bien modélisé ? Je veux dire par là que :
De mon entité User vers mon entité Access, j'ai une relation : 1,N (car 1 User peut avoir accès à 1 à N Application)
De mon entité Application vers mon entité Access, j'ai une relation : 1,N (car 1 Application peut avoir 1 à N User)
par contre je pense qu'ici je me trompe :
De mon entité Access vers mon entité User, j'ai une relation : 1,n (car l'identifiant unique d'un User donné peut se retrouver dans plusieurs record car il a accès à trois logiciels par exemple).
De mon entité Access vers mon entité Application j'ai une realtion : 1,n (car l'identifiant unique d'une Application peut se retrouver dans plusieurs record car plusieurs personnes peuvent y accèder)
voila le modèle que cela me donne : [User] 1,N -> Access <-1,n Application
cela voudrait dire que pour Utilisateur Dupond je pourrai trouvé 1 à N record avec son identifiant unique dans Access.
Cela voudrait dire aussi que pour l'Application Impression, je pourrai trouver 1 à N record avec son identifiant unique dans Access.
Est-ce correct ? J'espère ne pas m'être égarré.
Partager