Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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/07/2011, 19h18   #1
Invité de passage
 
Homme Hs Qor
Chercheur en informatique
Inscription : juillet 2011
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme Hs Qor
Localisation : Maroc

Informations professionnelles :
Activité : Chercheur en informatique

Informations forums :
Inscription : juillet 2011
Messages : 1
Points : 0
Points : 0
Par défaut Jointure ou Serialisation

Bonjour Tout le monde,

Je suis dans un cas ou je dois utiliser une relation many-to-many

par exemple :
Code :
1
2
3
4
 
article  : id, titre
domaine : id, nom
article_domaine : id_article, id_domaine
J'ai remarqué que je pourrai l'utiliser autrement :
Code :
1
2
3
 
créer une seule table
article : id, nom, domaines
dans le champ domaine je sauvegarde un array de domaine sérialisé avec la fonction serialize() php.

C'est quoi les avantages et les inconvénient de chaque solution ?
Qui est la plus performante pour effectuer des statistique ?


Merci d'avance
zendeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 21h06   #2
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
je suis pas celui qui est spécialisé dans l'optimisation de requete en SQL.
parce que la question est bien sur le SQL, ...

personnellement je prefere rester sur un schéma en étoile: moins de redondances et des jointures qui ne coutent rien avec les indexes.

si tu veux faire des choses vraiment intéressantes comme pré-calcul, alors... précalcules des sommes et des comptages, éventuellement des moyenne (mais... des moyennes de moyennes sans les pondérations) ou des agrégats et utilises-les.
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2011, 11h16   #3
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 008
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 008
Points : 18 279
Points : 18 279
Envoyer un message via MSN à CinePhil
Ton schéma de données est bon, ne le change surtout pas !
__________________
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 21/07/2011, 21h39   #4
Membre Expert
 
Inscription : janvier 2007
Messages : 1 452
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2007
Messages : 1 452
Points : 1 914
Points : 1 914
hello,

Citation:
C'est quoi les avantages et les inconvénient de chaque solution ?
La solution 2 pose un énorme problème, puisque tu ne seras plus capable de requêter ces données, en effet n'étant plus normalisées, les requêtes vont devenir impossible.

Citation:
Qui est la plus performante pour effectuer des statistique ?
La première. Les bases de données ont bon rôle dans les calculs intégrant un nombre important de données. Normaliser tes données, solution 1, permettra au moteur d'être plus efficient.

en sérialisant, tu dénormalises, ce n'est pas du tout optimum dans le but de faire des statistiques.

Quel avantage pourrait voir à sérialiser une donnée quoi est ensuite enregistrer dans une base de données ?
Perso je n'en vois pas.

La sérialisation est souvent utilisée dans le transport de données (genre soap), ou le stockage temporaire d'une donnée (genre session), ou alors lorsque strictement aucun calcul d'ensemble n'est demandé (genre memcache (hors no-sql)).

a+
kaymak 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 04h30.


 
 
 
 
Partenaires

Hébergement Web