ACCESS: contrainte d'intégrité multiple et fonctionnelle

piktygirl

New Member
Est ce que quelqu'un pourrait m'expliquer ce que sont la contrainte d'intégrité multiple et la contrainte d'intégrité fonctionnelle?
Merci d'avance
 

vestale974

Well-Known Member
Salut,
Une contrainte d'intégrité fonctionnelle (CIF) représente dans une relation une structure de type hierarchique, qu'on appelle "relation père-fils"
Le "Père" représenté par la clé primaire d'une entité, le "Fils" représenté par la clé étrangère de l'entité distante.
En clair, un "Père" aura un ou plusieurs "Fils" représenté par la Card(1,n), un "Fils" n'aura qu'un et un seul "Père" représenté par la Card(1,1).

Une contrainte d'intégrité multiple (CIM) représente dans une relation une structure de type non hiérarchique.
Les relations à gauche et à droite de l'association sont de type "N aire" représentées par les Card(1,n) ou Card(0,n)
L'association est nommée dans ce cas "pseudo-entité".
Elle sera constituée de clés composées ou concaténées, c'est-à-dire des clés primaires des entités distantes.
@+
 

piktygirl

New Member
Merci pour ta réponse Vestale!
Mais ce que je veux savoir c'est comment est ce que l'on peut justifier le fait de créer ou pas une "pseudo entité".
Prenons un exemple, j'ai une table salaires et une table salariés (cas choconuts). J'ai vais avoir les cardinalités 1,1 et 1,1 de chaque coté de l'association "percevoir". Il y a donc une CIF et donc pas de "pseudo entité) comment je le justifie.
 

vestale974

Well-Known Member
Salut,
Je doute que ton salarié perçoive qu'un et un seul salaire !
Je ne connais pas ce cas !
J'aborde la problématique un posant :
- qu'un salaire correspond à un bulletin de salaire,
- qu'on prépare et édite le bulletin tous les mois.

Si la gestion des salaires est basic (une table SALARIÉ et SALAIRE), on affirmera :
- qu'un salarié recevra un ou plusieurs bulletins de salaire (1,n)
- qu'un bulletin préparé et édité ne pourra correspondre qu'à un et un seul salarié (1,1)
MLD basic
SALARIÉ (Matricule, Nom_sal, Pnom_sal, etc.)
SALAIRE (Num_salaire, ..., Matricule#)

Si la gestion des salaires est pointue (une table SALARIÉ, PROFIL et ÉDITER), on affirmera :
- qu'un salarié recevra un ou plusieurs bulletins de salaire (1,n)
- qu'un profil correspondra à un ou plusieurs salairés (1,n)
- qu'une édition portera pour un mois donné, un salarié associé à un profil. Cette édition permetra de saisir des données telles que le salaire brut, les heures sup, les congés payés, etc...
MLD pointu
SALARIÉ (Matricule, Nom_sal, Pnom_sal, etc.)
PROFIL (Num_profil, GMENS, HS110, HS125, HS150, COT1, COT2, COT3, etc.)
ÉDITER (Matricule#, Num_profil#, Mois, NBHEURES, SMICHORAIRE, etc.)
Etc.
@+
 

piktygirl

New Member
Oui merci c'est la fatigue qui me joue des tours!
Si je comprend bien dans le cas de la gestion des salaires basic, je n'aurais donc pas de "pseudo entité" car les card sont 1,1 et 1,n et que la relation est de type hierarchique... c'est bon comme justification?
 

vestale974

Well-Known Member
Salut,
Selon la règle générale, oui.
Mais tout dépend des consignes ou règles de gestion dont tu disposes pour créer la BDD, les tables, les relations
@+