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

Delphi Discussion :

Quel est le meilleur l'enregistrement des images dans la BD ou dans un dossier ?


Sujet :

Delphi

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 182
    Points : 84
    Points
    84
    Par défaut Quel est le meilleur l'enregistrement des images dans la BD ou dans un dossier ?
    salut j'ai utilise firebird 2.5
    J'ai une table (clients) contenant un champ (image_clients)
    Quel est le meilleur ? :
    -l'enregistrement des images dans la BD (champ de type Blob) ou
    -l'enregistrement des images dans un dossier (Nous sauvegardons le nom de l'image dans le champ (image_clients) de type string et Je mets un dossier nommé (photos) devant le fichier exécutable )

    J'ai conclu que :

    1-Si vous enregistrez les images dans la base de données:
    -en cas le programme est en cours d'exécution sur le réseau (n'importe quel poste client Voir et enregistrer les photos des Nouveaux clients sur la BD)
    -Forte protection

    2-Si vous enregistrez les images dans un dossier:
    -L'image doit être lue dans le dossier présent sur la machine serveur.
    -Lorsque vous ajoutez un nouveau client, c'est Difficile d'enregistrer l'image sur le dossier nommé (photos) du serveur Par le poste client
    -Nous allons réduire la taille de la base de données.


    Est-ce que Toutes les conclusions sont-elles correctes ???
    Quels sont vos conseils ?
    Delphi installés : RAD Studio 10.4.1 ..........Programme VCL
    SGBD : Firebird 2.5
    générateurs Etats : FastReport, QuickReport
    OS : Window 10 64bit

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 934
    Points
    40 934
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    ce débat est récurent sur le forum, utilisez la fonction recherche ! mots clés : Image base donnés, recherche dans les intitulés donne 373 résultats dont beaucoup font la même demande

    1-Si vous enregistrez les images dans la base de données:
    -en cas le programme est en cours d'exécution sur le réseau (n'importe quel poste client Voir et enregistrer les photos des Nouveaux clients sur la BD)
    -Forte protection
    pour la protection il faut expliquer et argumenter
    vous avez oublié (même si mis ensuite) taille de la base de données fortement augmentée, impliquant des backups longs, mais avec un avantage la sauvegarde de toutes les images par ce même backup

    2-Si vous enregistrez les images dans un dossier:
    -L'image doit être lue dans le dossier présent sur la machine serveur.
    -Lorsque vous ajoutez un nouveau client, c'est Difficile d'enregistrer l'image sur le dossier nommé (photos) du serveur Par le poste client
    -Nous allons réduire la taille de la base de données.
    Vous oubliez une possibilité : l'utilisation du ftp (voire ftps) pour stocker les images sur le serveur (ou même ailleurs)

    Donc, en conclusion je fournirai une réponse de normand car cela dépend des données
    enregistrer les images dans une table avec peu de lignes oui, pourquoi pas, dans la mesure où la taille de cette image est acceptable (quelques dizaines de kilooctets ?)
    des photos de plusieurs mégaoctets NON
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Comme SergioMaster
    Cela dépend de la volumétrie, quelques images, quelques PDF archivés par l'utilisateur avec un coup de ZIP avant d'être inséré dans un Blob, ça passe
    Mais tu si parles d'une GED, mieux vaut un système de fichier (le FTP c'est pas mal du tout avec derrière un Linux, tu peux coller par dessus un accès HTTP pour la lecture)
    Il faut juste faire attention à sa façon de lier la donnée au fichier

    Ce que j'ai pratiqué

    Pour une GED Médical
    Patient N°87654321
    Son Dossier FTP sera 321/654321/87654321
    Patient N°0987654321
    Son Dossier FTP sera 321/654321/0987654321
    Voir le nombre de niveau MAX, 1000 Sous-Dossiers par Dossier, c'est une limite sage

    Pour une GED Commercial
    Produit SKU XYZ123ABC01

    Cette méthode permet de ne pas perdre le lien Entité DB / Fichiers
    C'était à l'époque de Paradox, IB ou de MySQL 3, tu pleure quand une table se crash ou que les index sont en vrac
    Son Dossier FTP sera X/Y/Z/1/2/3/A/B/C/0/1
    Dans ce dernier cas
    Upload via FTP au bon emplacement ou à la racine (un batch de nuit déplacera le fichier)
    Downalod via HTTP://xxx.images/product/XYZ123ABC01.jpg et cela trouve tout seul le fichier dans son emplacement normal (ou à la racine si le batch n'a pas encore eu lieu)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2019
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2019
    Messages : 182
    Points : 84
    Points
    84
    Par défaut
    merci
    Delphi installés : RAD Studio 10.4.1 ..........Programme VCL
    SGBD : Firebird 2.5
    générateurs Etats : FastReport, QuickReport
    OS : Window 10 64bit

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 934
    Points
    40 934
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    il y a aussi un compromis, avoir le chemin de l'image taille réelle et en blob une vignette de quelques ko
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Mais tu si parles d'une GED, mieux vaut un système de fichier (le FTP c'est pas mal du tout avec derrière un Linux, tu peux coller par dessus un accès HTTP pour la lecture)
    Bonjour,

    Shai, en FTP, comment coller dessus un accès HTTP pour la lecture des fichiers svp? Est-ce plus rapide qu'un accès FTP?

    Merci.

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    C'est de l'infra, je ne suis pas très au point des détails
    Mais c'est deux logiciels différents le Serveur FTP et le Serveur HTTP
    Chacun leur port, chacun leur protocole, chacun leur service

    En fait, beaucoup de site Web sont conçus ainsi, il y un serveur FTP pour l'administrateur qui publie ses fichiers ou un accès console type PuTTY
    Et dans le Serveur HTTP, il fait le lien entre les fichiers et les URL (ça je suis carrément ignorant)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

Discussions similaires

  1. Apache : Est-ce possible d'afficher du HTML et des images dans un dossier cgi ?
    Par Mardull dans le forum Serveurs (Apache, IIS,...)
    Réponses: 0
    Dernier message: 02/10/2014, 17h17
  2. enregistrer des images dans un tableau
    Par Yasiño dans le forum Langage
    Réponses: 4
    Dernier message: 08/03/2013, 17h39
  3. Enregistrement des images dans une JFrame
    Par touma10 dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 02/06/2010, 00h04
  4. Impossible d'enregistrer des images dans la BDD
    Par cashmoney dans le forum JDBC
    Réponses: 0
    Dernier message: 30/09/2009, 18h39
  5. [PostgreSQL] Comment enregistrer des images dans une bd
    Par inessahal dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 13/06/2008, 16h57

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