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

PHP & Base de données Discussion :

Création de tables "orientées code" ou avec l'agèbre relationnelle ?


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 55
    Par défaut Création de tables "orientées code" ou avec l'agèbre relationnelle ?
    Bonsoir,

    je cherche à créer une base de données qui aura pour but de contenir les données d'un blog. La base fonctionnera sur Mysql & l'exécution se fera avec PHP.

    Est-il préférable de créer ma base en utilisant uniquement l'algèbre relationnelle, ou bien la prise en compte de "code" rendra-t-elle mes requêtes plus performantes ?

    Un exemple
    Une catégorie contient une liste d'articles. Je créé une table catégories, qui va posséder un identifiant unique (int autoincrement). La table articles contiendra une foreign key vers la table categorie.

    1) Algèbre relationnelle
    Je créé une seconde table, mettons articles_de_categorie, qui ressemblera à cela : (le code peut être inexact, mais le principe est là)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    create table articles_de_categorie
    (
     idcategorie int not null references categories(idcategorie),
     idarticle int not null references articles(idarticles)
    );
    2) Prise en compte du code
    La table categorie contient un champs supplémentaire, listeArticles : (le code peut être inexact, mais le principe est là)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    create table categories
    (
     ...
     listeArticles varchar(255);
     ...
    );
    listeArticles sera de la forme idArticle1,idArticle2,...,idArticlen

    Qu'en pensez-vous ?

  2. #2
    Membre chevronné
    Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2004
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 352
    Par défaut
    Option 1, il n'y a pas mieux.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 55
    Par défaut
    Bonjour,

    Qu'entendez-vous par mieux ?

    Plus pro ? Plus rapide ? Plus jolie ?

    Je suis d'accord à entendre tous les avis, mais s'il-vous-plait, justifiez-vous un minimum :-)

  4. #4
    Membre chevronné
    Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2004
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 352
    Par défaut
    C'est beaucoup plus facile pour requêter dans la BDD, plus simple à maintenir. C'est aussi plus performant que d'utiliser un large éventail de fonction pour faire je ne sais quoi sur listeArticles. S'il faut à chaque fois parser listeArticles pour insérer, modifier ou suprimer un article à l'intérieur, ce n'est pas gagné.

    Imagines-tu ce qu'il va arriver quand tu auras 100 000 articles dans listeArticles ? Le type varchar est quand même limité niveau taille . Il y a encore beaucoup d'autres avantages, je ne vais pas tous les lister.

    Ce qui est sûr, c'est que la norme ACID sera respecté : Atomicité, Cohérence, Isolation, Durabilité.

Discussions similaires

  1. Création de table par code
    Par lerico dans le forum Access
    Réponses: 5
    Dernier message: 18/07/2006, 14h09
  2. supprimer une table qui a des quotes dans son nom
    Par kleenex dans le forum Access
    Réponses: 2
    Dernier message: 17/10/2005, 16h03
  3. Création multiple table paradox dans le code
    Par scarabee dans le forum C++Builder
    Réponses: 8
    Dernier message: 30/10/2002, 10h17

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