Précédent   Forum des professionnels en informatique > Bases de données > Décisions SGBD
Décisions SGBD Forum de décisions sur le choix en bases de données. Le Comparatif
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 19/05/2006, 14h20   #1
Membre régulier
 
Inscription : juin 2004
Messages : 165
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 165
Points : 97
Points : 97
Par défaut Index ou table intermédiaire ?

J'ai un modèle comme suit

Personne----(0,N)--------(0,1)----Animal
IDPers
IDAnimal
Prenom Nom, Couleur


En relationnel on peut représenter cela de la manière suivante

1 : Personne(IDPersonne, Prenom); Animal(IDAnimal, Nom, Couleur #fkPers);

2: Personne(IDPersonne, Prenom);
Animal(IDAnimal, Nom, Couleur);
PersAnim(#fkPers, #fkAnimal)
avec un UNIQUE sur fkAnimal

Quelle est la plus performante des deux modélisations si l'on souhaite naviguer principalement de PERSONNE vers ANIMAL ? Pourquoi ?
n00bi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2006, 15h17   #2
Membre chevronné
 
Avatar de Maître Kenobi
 
Homme arnaud
technicien méthodes, dév web, dév & admin SGBD
Inscription : juillet 2002
Messages : 630
Détails du profil
Informations personnelles :
Nom : Homme arnaud
Âge : 38
Localisation : France, Oise (Picardie)

Informations professionnelles :
Activité : technicien méthodes, dév web, dév & admin SGBD
Secteur : Industrie

Informations forums :
Inscription : juillet 2002
Messages : 630
Points : 783
Points : 783
Bonjour,
s'il te plaît, les UP sont interdits. Merci de respecter cette rêgle.
__________________
Que la Force soit avec vous !
autoformation : MySQL, PostgreSQL, PHP, XHTML, CSS, JQuery, Python.
autoentrepreneur : assistance informatique et internet dans l'oise sur le bassin creillois.
Maître Kenobi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 08h14   #3
Membre régulier
 
Inscription : juin 2004
Messages : 165
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 165
Points : 97
Points : 97
Autant pour moi. J'ai du louper la ligne en lisant les règles du forum. Et je vous prie de m'en excuser !


Pour en revenir au sujet : elle me semble basique cette question mais je n'ai malheureusement pas la réponse. J'aurais dit que pour naviguer à partir de l'entité Personne, la deuxième représentation doit être la mieux ... mais c'est juste une intuition.

Le problème c'est que dans ma BD j'ai de nombreuses relations de ce type (une sorte de hiérarchie d'entités) et ca m'embeterait de devoir créer une table par relation.

Merci de vos avis.
n00bi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2006, 09h59   #4
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
Citation:
1 : Personne(IDPersonne, Prenom); Animal(IDAnimal, Nom, Couleur #fkPers);
Vrai

Citation:
2: Personne(IDPersonne, Prenom);
Animal(IDAnimal, Nom, Couleur);
PersAnim(#fkPers, #fkAnimal)
avec un UNIQUE sur fkAnimal
totalement faux, même avec une contrainte d'unicité (ce qui serait pire encore) !

Apprenez les régles de passage du MCD au MPD.
Lisez l'article que j'ai écrit sur le sujet :
http://sqlpro.developpez.com/cours/m.../?page=passage

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 29/05/2006, 08h47   #5
Membre régulier
 
Inscription : juin 2004
Messages : 165
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 165
Points : 97
Points : 97
Merci pour votre réponse.

En lisant votre article il n'y a plus de problème. Je vais utiliser la première modélisation donc.

Cependant je ne comprends pas pourquoi ma deuxième modélisation est fausse. Même si elle l'est !


--RAJOUT A l'EDITION--

Je viens d'emprunter un bouquin de C. SOUTOU intitulé de "UML à SQL". Dans la transformation LOGIQUE --> PHYSIQUE il précise (p.190) :

Citation:
Envoyé par C. SOUTOU
[...]Pour chaque association binaire (réflexive ou pas) ou n-aire, il est possible de définir un schéma physique faisant intervenir une table supplémentaire, qui contiendra autant de clés étrangères qu'il y a de tables à relier et sur lesquelles existera ou non une contrainte de type UNIQUE. [...]
Ma modélisation serait-elle alors possible ?
n00bi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/06/2006, 11h07   #6
Membre Expert
 
Avatar de TheLeadingEdge
 
Inscription : mai 2005
Messages : 1 200
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 1 200
Points : 1 260
Points : 1 260
Bonjour,

La régle est en général :
1<-->1 1 seule table,
1<-->n 2 tables, Les 2 entités. La PK de 1 devient 1 FK de n.
n<-->n 3 tables. Les 2 entités et la relation.

Je suis plutôt d'accord avec SQLPro, quel est l'intérêt de transformer 1 relation ''1<-->n'' en table, surtout si c'est pour mettre 1 contrainte d'unicité sur 1 des clefs ?
Mais comme tu cites C.Soutou, (à qui j'accorde également 1 gros capital confiance ;-) ), je me dis qu'il y peut-être 1 lézard. Je regarderai le passage que tu précises dans son contexte ce soir à la maison.

[edit]
Citation:
Envoyé par ''De ULML à SQL'' C. SOUTOU
Cette solution présente l'avantage de pouvoir faire évoluer le schéma plus facilement si les cardinalités viennent à changer dans le temps. ...
[/edit]
TheLeadingEdge 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 18h10.


 
 
 
 
Partenaires

Hébergement Web