IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

Traduction schéma relationnel vers schéma objet [Modèle Relationnel]


Sujet :

Schéma

  1. #1
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 61
    Points : 48
    Points
    48
    Par défaut Traduction schéma relationnel vers schéma objet
    Bonjour,

    Je cherche la meilleur façon de traduire un schéma relationnel de base de données en "schéma objet" directement utilisable au travers d'un pattern DAO dans un langage comme Java.

    Nous pouvons raisonner sur l'exemple suivant :

    Matiere(id,nom)
    Matiere_professeur(matiere_k,professeur_k)
    Professeur(id,nom,prenom)
    Classe_matiere(matiere_professeur_k,classe_k)
    Classe(id,nom)
    Eleve(id,nom,prenom,classe_k)

    Dans cet exemple, nous pouvons extraire les sous-cas suivant :

    1)
    Classe(id,nom)
    Eleve(id,nom,prenom,classe_k)

    Comment doit-on traduire en objet ce type de relation ? Faut-t-il une référence à une collection d'Eleve, dans la classe Classe. Faut-t-il une référence à une Classe dans la classe Eleve ? Faut-t-il les deux?

    2) Cet exemple illustre l'introduction d'une table de jointure entre deux tables.

    Matiere(id,nom)
    Matiere_professeur(matiere_k,professeur_k)
    Professeur(id,nom,prenom)

    Faut-t-il une référence à une collection de professeur dans Matiere? Une référence à une collection de Matiere dans professeur? Les deux ?

    3) Enfin nous pouvons considérer l'exemple global et notamment cette partie là ou deux tables de jointures collaborent.

    Matiere(id,nom)
    Matiere_professeur(matiere_k,professeur_k)
    Professeur(id,nom,prenom)
    Classe_matiere(matiere_professeur_k,classe_k)

    Encore une fois comment doit-t-on traduire pour un bon mappage avec la base de données ?


    Merci de vos réponses.

  2. #2
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 61
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    Voici, une proposition pour amorcer la discussion :

    Class Matiere : id, nom
    Class Professeur : id, nom, prenom, listMatieres
    Class Classe : id, nom, listProfesseurs
    Class Eleve : id, nom, prenom, Classe

    Je rappelle des que je recherche des "règles", des "bonnes pratiques", des solutions éprouvées et mises en pratique car mon but n'est pas d'arriver à quelques choses de fonctionnels seulement, mais aussi d'avoir un "mappage" efficace et éprouvé.

    Merci pour vos réponses.

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2007
    Messages : 68
    Points : 85
    Points
    85
    Par défaut
    1)
    Classe(id,nom)
    Eleve(id,nom,prenom,classe_k)

    Comment doit-on traduire en objet ce type de relation ? Faut-t-il une référence à une collection d'Eleve, dans la classe Classe. Faut-t-il une référence à une Classe dans la classe Eleve ? Faut-t-il les deux?
    Tout dépend de la navigation que tu souhaites avoir. La bidirectionnelle est la plus pratique en lecture mais il faut faire attention en modification et faire porter les modifications que d'un côté de la relation (ici je ferais la modification des 2 côtés dans un addEleve et removeEleve de la classe "Classe").
    2) Cet exemple illustre l'introduction d'une table de jointure entre deux tables.

    Matiere(id,nom)
    Matiere_professeur(matiere_k,professeur_k)
    Professeur(id,nom,prenom)

    Faut-t-il une référence à une collection de professeur dans Matiere? Une référence à une collection de Matiere dans professeur? Les deux ?
    C'est encore un choix de conception, si tu n'as pas besoin de connaître les professeurs associés à une matière alors peut-être qu'il serait plus simple de ne faire qu'une liste de matières dans la classe Professeur. A toi de voir suivant les besoins de ton application.

    3) Enfin nous pouvons considérer l'exemple global et notamment cette partie là ou deux tables de jointures collaborent.

    Matiere(id,nom)
    Matiere_professeur(matiere_k,professeur_k)
    Professeur(id,nom,prenom)
    Classe_matiere(matiere_professeur_k,classe_k)

    Encore une fois comment doit-t-on traduire pour un bon mappage avec la base de données ?
    Comme les autres points, à toi de voir quels sont tes besoins.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Schéma relationnel
    Par poosh dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 23/05/2006, 16h31
  2. Générer le schéma relationnel de scripts SQL
    Par webspeak dans le forum Langage SQL
    Réponses: 1
    Dernier message: 01/03/2006, 15h14
  3. [9i] schéma relationnel en SQL
    Par BugFactory dans le forum Oracle
    Réponses: 15
    Dernier message: 22/12/2005, 14h31
  4. du DTD ver Schéma
    Par sotuxan dans le forum Valider
    Réponses: 1
    Dernier message: 24/10/2005, 08h16
  5. Aide sur contrainte d'un schéma relationnel
    Par Sinclair dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 06/10/2004, 09h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo