mercredi 29 février 2012

L’Imagine Cup édition 2012 : ça commence à bouger en Algérie

2012_Logo_imgine_cupAlors 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.

Mots clés Technorati : ,,

mercredi 22 février 2012

Access : un exemple pour illustrer une relation réflexive

Icon_Access_2010Dans cette article, je vais vous présenter la manière d’implémenter une relation réflexive sous Access (toutes versions confondues) mais avant tout

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



  1. Ouvrez la boite de dialogue “Relations
    Outils de base de données > Relations > Relations
  2. Affichez, si besoin est, la boite de dialogue “Afficher la table
    Outils de relation > Créer > Relation > Afficher la table
  3. Sélectionnez la table “Personnes” puis cliquez trois fois sur le bouton “Ajouter” puis fermez la boite
    image

    Remarque :
    Access nomme la première table par son nom “Personnes” et renomme les tables suivantes en “Personnes_1” et “Personnes_2
  4. 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
  5. Appliquez les options d’intégrités référentielles
    image
  6. 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:
    image
  7. 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 Sourire



Mots clés Technorati : ,,

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 Sourire

Get Microsoft Silverlight