Association des tables
lulu22
-
lulu22 -
lulu22 -
Bonjour,
je veux créer une base de donnée avec les table suivante:
-une table personne qui va contenir les informations utiles sur une personne
-une table section qui contiendra les différent sorte de section dans les divisions
-une table division qui va contenir les différents sorte de division qui constitue l'entreprise
je voudrais savoir comment créer les tables pour que quand on va prendre une personne qu'on puisse savoir dans quel section dans quel division il se trouve.
merci de bien vouloir m'aider.
je veux créer une base de donnée avec les table suivante:
-une table personne qui va contenir les informations utiles sur une personne
-une table section qui contiendra les différent sorte de section dans les divisions
-une table division qui va contenir les différents sorte de division qui constitue l'entreprise
je voudrais savoir comment créer les tables pour que quand on va prendre une personne qu'on puisse savoir dans quel section dans quel division il se trouve.
merci de bien vouloir m'aider.
A voir également:
- Association des tables
- Table des matières word - Guide
- Table des annexes word ✓ - Forum Word
- Association avec le server freebox en cours freeplug vert - Forum Freebox
- Oracle liste des tables ✓ - Forum Oracle
- Tables ascii - Guide
2 réponses
Bonjour Lulu22,
Tu peux essayer avec le modèle ci-dessous :
T_SOCIETE:
- ID_SOCIETE
- ENSEIGNE
- STATUT
T_DIVISION :
- ID_DIVISION
- ID_SOCIETE
- NOM_DIVISION
T_SECTION:
- ID_SECTION
- ID_DIVISION
- NOM_SECTION
T_PERSONNE:
- ID_PERSONNE
- ID_SECTION
- NOM
- PRENOM
Et tes jointures seront les suivantes :
T_SOCIETE <-- (ID_SOCIETE) T_DIVISION
T_DIVISION <-- (ID_DIVISION) T_SECTION
T_SECTION <-- (ID_SECTION) T_PERSONNE
Tu peux essayer avec le modèle ci-dessous :
T_SOCIETE:
- ID_SOCIETE
- ENSEIGNE
- STATUT
T_DIVISION :
- ID_DIVISION
- ID_SOCIETE
- NOM_DIVISION
T_SECTION:
- ID_SECTION
- ID_DIVISION
- NOM_SECTION
T_PERSONNE:
- ID_PERSONNE
- ID_SECTION
- NOM
- PRENOM
Et tes jointures seront les suivantes :
T_SOCIETE <-- (ID_SOCIETE) T_DIVISION
T_DIVISION <-- (ID_DIVISION) T_SECTION
T_SECTION <-- (ID_SECTION) T_PERSONNE
lulu22
@heremion merci pour la réponse mais les jointures sont un peu flou pour moi...
En fait, avec les tables que je viens de te définir, tu peux arriver au résultat que tu souhaites et faire des requêtes telles que :
- Savoir pour un société, toutes les divisions ainsi que les personnes y étant rattachées
- Savoir combien de personnes appartiennent à une section, toutes entreprises confondues etc..
La requête la plus globale serait un truc du genre :
(sur Oracle)
(sur Interbase)
En gros ...
Il faut toujours penser à accepter un post qui vous sort du pétrin
- Savoir pour un société, toutes les divisions ainsi que les personnes y étant rattachées
- Savoir combien de personnes appartiennent à une section, toutes entreprises confondues etc..
La requête la plus globale serait un truc du genre :
(sur Oracle)
SELECT * FROM T_SOCIETE S, T_DIVISION D, T_SECTION SC, T_PERSONNE P WHERE (S.ID_SOCIETE = D.ID_SOCIETE (+)) AND (D.ID_DIVISION = SC.ID_DIVISION (+)) AND (SC.ID_SECTION = P.ID_SECTION (+))
(sur Interbase)
SELECT * FROM T_SOCIETE S LEFT OUTER JOIN T_DIVISION D ON S.ID_SOCIETE = D.ID_SOCIETE LEFT OUTER JOIN T_SECTION SC ON D.ID_DIVISION = SC.ID_DIVISION LEFT OUTER JOIN T_PERSONNE P ON SC.ID_SECTION = P.ID_SECTION
En gros ...
Il faut toujours penser à accepter un post qui vous sort du pétrin