Alors que la compétition est lancé depuis l’automne 2011 à travers le monde, ce n’est qu’en cette fin de mois de février que les étudiants semblent ce manifester. En effet, après une présentation du concours faite le 21 de ce mois à l’ESI, c’est au tour du Micro Club/Club .NET d’organiser ce mercredi 29 février à partir de 14H, et ce jusqu’à 16h, une conférence à la salle « Karim Benabadji » afin de présenter l’évènement.
mercredi 29 février 2012
mercredi 22 février 2012
Access : un exemple pour illustrer une relation réflexive
Qu’est ce qu’une “relation réflexive”.
Définition : une association est qualifié de réflexive quand elle matérialise une relation entre un entité et elle-même.
- Ce type de relation pourra être utiliser à chaque fois qu’une notion de hiérarchie doit être mise en place entre les mêmes individus. Par exemple avec l’entité “Employés” afin de définir qui est le responsable (le chef) de qui.
- Une autre situation qui pourrait amener à utiliser une relation réflexive c’est dans le cas de relation de parenté entre différents personnes afin d’établir qui est le père (et/ou la mère et/ou le frère/sœur et/ou le conjoint) de qui.
Comment obtenir cette relation ?
Par définition une relation est établie entre une clé primaire et une clé étrangère, la particularité dans le cas d’une relation réflexive est que la clé étrangère se trouve dans la même entité ou se trouve la clé primaire.
Un exemple
Pour notre exemple, nous allons utiliser une tables “Personnes” dans laquelle on établira les liens de parenté “à pour père” et “à pour mère”
La table “Personnes” sera composée des champs suivants:
Nom du champ | Type su champ | Légende | Commentaire |
Id_personne | NuméroAuto | ID | Clé primaire qui permet d’identifier d’une manière unique chaque personne |
Nom | Texte | Nom | Le nom de famille de la personne |
Prénom | Texte | Prénom | Le prénom de la personne |
Sexe | Octet | Genre | Liste déroulante avec 1 pour une personne de sexe masculin et 2 pour une personne de sexe féminin |
Id_père | Numérique (long) | Père | Clé étrangère permettant de désigner le père da la personne |
Id_mère | Numérique (long) | Mère | Clé étrangère permettant de désigner la mère de la personne |
Afin de facilité la saisie des parents, j’utilise un contrôle “Liste déroulante” dans les champs “Id_père” et “Id_mère” afin de ne lister que les hommes pour le champ “Id_père” et que les femmes pour le champ “Id_mère”
Donc nous aurons dans la propriété contenu de la liste déroulante du champ “Id_père” la requête suivante:
SELECT Personnes.Id_personne,
UCase([Nom] & " " & [Prénom]) AS Père FROM Personnes
WHERE (((Personnes.Sexe)=1))
ORDER BY Personnes.Nom, Personnes.Prénom;
et en prenant soin de n’afficher que la deuxième colonne.
Pour la saisie de l’id de la mère, le même principe avec juste une modification de la condition Personnes.Sexe=2
Maintenant que nous avons notre table passons à la création de la relation.
Créer une relation réflexive sous Access:
Le principe est simple puisque la relation est entre la même table, il faudra ajouter une première fois la table en question au schéma relationnel puis l’ajouter à nouveau autant de fois qu’il y a de relation à établir (Dans notre cas, il faudra en tout ajouter trois (03) fois la table) puis établir la relation entre la clé primaire et la clé étrangère d’une même table à l’autre.
En pratique
- Ouvrez la boite de dialogue “Relations”
Outils de base de données > Relations > Relations - Affichez, si besoin est, la boite de dialogue “Afficher la table”
Outils de relation > Créer > Relation > Afficher la table - Sélectionnez la table “Personnes” puis cliquez trois fois sur le bouton “Ajouter” puis fermez la boite
Remarque : Access nomme la première table par son nom “Personnes” et renomme les tables suivantes en “Personnes_1” et “Personnes_2” - Pour établir la relation père-enfant, faites un cliquer-glisser de la clé primaire “Id_personne” de la table “Personnes_1” sur le la clé étrangère “Id_père” de la table “Personnes”
- Appliquez les options d’intégrités référentielles
- Pour établir la relation père-enfant, faites un cliquer-glisser de la clé primaire “Id_personne” de la table “Personnes_2” sur le la clé étrangère “Id_mère” de la table “Personnes” puis appliquez les options d’intégrités référentielles.
Vous devriez obtenir le schéma suivant:
- Enregistrez et fermez la boite de dialogue “Relations”
Voilà, il ne reste plus qu’à créer un joli formulaire et à saisir vos données.
A la prochaine
mardi 7 février 2012
TechDays 2012 : c’est parti !!!
Est pour ceux qui ne peuvent s’y rendre, n’oubliez pas qu’il est possible de suivre, tout comme l’année dernière, l’évènement en Live