Précédent   Forum des professionnels en informatique > Général Développement > Conception > Modélisation > UML > Diagrammes de Classes
Diagrammes de Classes Forum d'entraide sur les Diagrammes de Classes ( Class Diagram )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2012, 18h28   #1
Nouveau Membre du Club
 
Femme Bouchra
Inscription : février 2004
Messages : 172
Détails du profil
Informations personnelles :
Nom : Femme Bouchra

Informations forums :
Inscription : février 2004
Messages : 172
Points : 28
Points : 28
Par défaut Traduire une association en relation

Bonjour tous le monde,

Comment peut on traduire une association type heritage en relation (pour database).

Classe mère associée avec une classe fille on prenant l'exemple suivant :

classe Personnage
Classe Magicien (héritant de la classe Personnage)
Classe Magicien noir
Classe Magicien blanc
Ces 2 derniers classes héritant directement de la classe Magicien et indirectement de la classe Personnage.

Merci de m'éclairer comment faire.
wperle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 16h18   #2
Candidat au titre de Membre du Club
 
Inscription : mai 2002
Messages : 10
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 10
Points : 10
Points : 10
Envoyer un message via MSN à karima Envoyer un message via Yahoo à karima
Citation:
Envoyé par wperle Voir le message
Bonjour tous le monde,

Comment peut on traduire une association type heritage en relation (pour database).

Classe mère associée avec une classe fille on prenant l'exemple suivant :

classe Personnage
Classe Magicien (héritant de la classe Personnage)
Classe Magicien noir
Classe Magicien blanc
Ces 2 derniers classes héritant directement de la classe Magicien et indirectement de la classe Personnage.

Merci de m'éclairer comment faire.
Bonjour!!

pour passer d'un diagramme à un modèle relationnel, et concernant la notion d'héritage, trois cas sont possibles:

cas 1: création de la table relative à la classe mère et autant de tables que de classes filles avec migration de l'identifiant de la classe mère aux tables relatives aux classes filles,

cas 2: la classe mère n'apparait pas comme table, mais créations d'autant de tables que de classes filles avec duplication des attributs de la classe mère dans les tables créées à partir des classes filles,

cas 3: création d'une seule table relative à la classe mère qui va contenir ses attributs et les attributs de toutes ses classes filles

à vous de voir la plus simple
karima est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 19h07   #3
Nouveau Membre du Club
 
Femme Bouchra
Inscription : février 2004
Messages : 172
Détails du profil
Informations personnelles :
Nom : Femme Bouchra

Informations forums :
Inscription : février 2004
Messages : 172
Points : 28
Points : 28
Merci Karima, donc la modélisation à l'aide de l'UML ne sert à rien, donc il faut opté pour le modèle entité/association pour créer une base de donnée relationnelle.

Franchement je suis en plein formation pour passer au développemet orienté objet pour la plateforme PHP/MySql. Mais côté base de donnée je ne trouve que le relationnel qu'il faut mettre ou déclarer au niveau de la base de données.

Merci d'interagir pour ce sujet et de citer les point forts pour la POO.
wperle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 21h48   #4
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
Perso, je recommande le cas 1 cité par karima :
Citation:
cas 1: création de la table relative à la classe mère et autant de tables que de classes filles avec migration de l'identifiant de la classe mère aux tables relatives aux classes filles,
C'est ce qu'il y a de mieux au niveau base de données car les propriétés sont réparties à leur place la plus juste.

Dans le cas que tu présentes, on aurait les tables suivantes :
Personnage (prs_id, [colonnes communes à tous les personnages])
Magicien (mgc_id_personnage, [colonnes spécifiques pour tous les magiciens])
Magicien_noir (mgn_id_magicien, [colonnes spécifiques aux magiciens noirs])
Magicien_blanc (mgb_id_magicien, [colonnes spécifiques aux magiciens blancs])

Ensuite, pour reconstituer l'entièreté des magiciens ou des personnages, on crée des vues dans la base de données et le programme applicatif utilise les vues.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 23h44   #5
Nouveau Membre du Club
 
Femme Bouchra
Inscription : février 2004
Messages : 172
Détails du profil
Informations personnelles :
Nom : Femme Bouchra

Informations forums :
Inscription : février 2004
Messages : 172
Points : 28
Points : 28
ok, je vais voir et merci pour votre intervention. Je voterai pour le cas numero 1
Citation:
cas 1: création de la table relative à la classe mère et autant de tables que de classes filles avec migration de l'identifiant de la classe mère aux tables relatives aux classes filles,
C'est tres logique.
wperle est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h54.


 
 
 
 
Partenaires

Hébergement Web