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

Langage SQL Discussion :

Hiérarchisation dans bdd


Sujet :

Langage SQL

  1. #1
    Membre averti Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Points : 329
    Points
    329
    Par défaut Hiérarchisation dans bdd
    Salut, simple question si jamais quelqu'un s'est confronté à la problématique,
    je suis entrain de modéliser ma base de donner pour accueillir un systeme de fichier (dossier/fichier) j'ai deux possibilité qui s'offrent à moi,
    la première en mettant un champ "profondeur" du genre 1.2.1,1.2.2 pour les tables fichier ou dossier.

    La seconde serait de mettre dans ce champ plutot le "parent" avec une clef étrangère.


    D'après vous, qu'elle serait la meilleure solution ? et si vous avez testé les deux, qu'elle sont les avantages inconvénients de chacun et leurs limites ?

    Merci d'avance.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14

  3. #3
    Membre averti Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Points : 329
    Points
    329
    Par défaut
    Merci pour le lien, c'est très intéressant, mais malheureusement mon appli ne sera pas maintenue par mes soins, il faut que je laisse un peu de trivialité dans le développement au cas ou.
    Je pense m'orienter vers les foreign key, qui me permettront de gérer les suppressions récursive et le mode avec "1.2.1" de toute façon après suppression d'un fichier demanderai trop de traitement pour remettre les indexes à jour.

    Si vous avez d'autres remarques je suis preneur. Je vais simplement ajouter un champ qui contiendra la reférence à l'id du parent. et 0 pour la racine .

    Ensuite avec un inner join et l'id du dossier actuel, j'obtiendrai tout ses fils dossier(s)/fichier(s)

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Pymento Voir le message
    Je vais simplement ajouter un champ qui contiendra la reférence à l'id du parent. et 0 pour la racine .

    Ensuite avec un inner join et l'id du dossier actuel, j'obtiendrai tout ses fils dossier(s)/fichier(s)
    À condition que ton SGBD supporte les fonctions récursives, sinon tu n'auras que l'étage inférieur.

  5. #5
    Membre averti Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Points : 329
    Points
    329
    Par défaut
    oui, j'ai trop de contraintes de programmation avec cette méthode.

    J'ai opté pour l'intervallaire, j'ai bien saisi le concept c'est parfait et beaucoup plus rapide.


  6. #6
    Membre averti Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Points : 329
    Points
    329
    Par défaut
    Je voudrais poser une autre question, avec la modélisation intervallaire, si par exemple deux utilisateur insèrent un objet ( et donc doivent modifier l'ensemble des indices intervallaires) cela peut-il poser une problème ..?

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    En principe, l'insertion dans une table bloque la table pour toute autre insertion, le temps que la première soit faite.

    Dans le cas d'une insertion dans un arbre intervallaire, je n'ai plus l'article sous les yeux mais il me semble que cela se fait par procédure ou trigger non ? Il faut donc un blocage de la table pendant l'exécution de l'outil qui insère.

  8. #8
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    En principe, l'insertion dans une table bloque la table pour toute autre insertion, le temps que la première soit faite.
    Dans les années 80 peut-être

  9. #9
    Membre averti Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Points : 329
    Points
    329
    Par défaut
    Je veux bien que tu en dises un peu plus alors Waldar. Merci d'avance

  10. #10
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 386
    Points
    18 386
    Par défaut
    Les insertions ne verrouillent pas toute la table, juste les lignes insérées.

    Les verrous des mises à jour sont complexes : soit toute la table, soit la ligne voire uniquement la colonne modifiée, c'est selon la requête et le SGBD.

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

Discussions similaires

  1. [SGBD] FPDF+enregistrer le pdf généré dans BDD MySQL
    Par Flushovsky dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 29/11/2005, 16h22
  2. Insertion dans BDD type ACCESS
    Par NeHuS dans le forum ASP
    Réponses: 2
    Dernier message: 20/04/2005, 10h53
  3. insérer date dans bdd mssql
    Par ericmart dans le forum ASP
    Réponses: 18
    Dernier message: 14/12/2004, 14h10
  4. Insertion code html dans bdd
    Par jeff37 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 15/04/2004, 15h03
  5. Probleme de filtre dans bdd
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/06/2002, 10h43

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