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

Décisions SGBD Discussion :

Base de données photographique


Sujet :

Décisions SGBD

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Points : 13
    Points
    13
    Par défaut Base de données photographique
    Bonjour,

    Je voudrais faire une base de données photographique, oui mais … j'ai des contraintes :
    - Environ 10 000 photos (toute une vie)
    - Autonome, c'est-à-dire que je voudrais la graver sur CD(s) et envoyer les CD aux membres de ma famille.
    - Je ne pense pas l'exploiter sur Internet
    - Je voudrais pouvoir afficher des photos répondants à des requêtes mono ou multi critères sur Année, Mois, Evènement, Personne, Lieu.
    Quelle base de données choisir ? Gratuite de préférence car devant être implémentée sur chaque CD que je distribuerais.
    J'ai de bonnes notions SGBD (Access, 4D et File Maker) et une petite expérience en programmation (dBase, Knowledgeman, HTML, Visual Basic) … mais j'ai aussi 63 ans … donc un peu dépassé !!!
    Merci à ceux qui pourront me guider pour le choix du SGBD et plus si affinité !

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Les contraintes que tu as ne sont pas anodines ! 10000 photos ça représente déjà une belle volumétrie.

    La première chose à ne surtout pas faire, c'est de stocker les photos dans une base de données directement sous forme binaire. Il faut utiliser la base de données pour y stocker leurs méta-données uniquement (ex. nom de la photo, description, chemin...). Les photos elles-même doivent être stockée dans un répertoire classique.

    Donc déjà, es-tu sûr que tes 10000 photos rentrent sur un CD ? A mon avis on parle plutôt d'un DVD, voire de plusieurs selon la qualité (et donc le poids) de tes clichés.

    Concernant le choix de la base de données, si tu veux éviter d'avoir à installer un logiciel sur le PC des membres de ta famille, alors il faut t'orienter vers des solutions dites embarquées type SQL Server CE (Compact Edition) ou encore SQLite. Sinon, il faut envisager la création d'un installateur, qui se chargera d'installer tout ce qu'il faut sur le PC de ta famille afin qu'ils puissent consulter les photos. Car oui, il faut savoir que les base de données pour de l'embarqué ont des limitations qui peuvent être pénalisantes, notamment en terme de performance !

    Ensuite pour faire une application, si tu connais déjà Visual Basic, tu peux regarder la version VB.NET avec le .NET Framework 4.5.1. Il y a eu de nombreuses évolutions entre VB et la dernière version de VB.NET, mais tu devrais réussir à faire quelque chose de pas mal avec relativement peu d'apprentissage. Je te suggères d'utiliser le tutorial très complet de Philippe LASSERRE que tu trouveras ici : http://plasserre.developpez.com/cours/vb-net/

    Ca, c'était pour répondre à tes interrogations techniques. Maintenant mon avis perso c'est qu'il existe des plateformes qui proposent déjà ce type de services, genre Picassa, Flickr ou encore Instagram (quoi que je ne suis pas sûr à 100% qu'on puisse faire des albums privés sur Instagram, à voir).

    Egalement, tu peux utiliser un espace de stockage type SkyDrive afin d'y stocker tes photos et donner un accès à ta famille.

    Bref il y a pas mal de solutions alternatives que tu peux envisager, et qui te permettront de ne pas réinventer la roue
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    945
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 945
    Points : 123
    Points
    123
    Par défaut
    Bonjour,
    je te proposerais firebird ou Interbase , j'ai déjà travail 10 ans sur Dbase et je pense qu'avec les contrainte que tu as donné ça va pas marcher surtout pour le stockage des images. tu peut stocker tes image dans des champs blob et l'affichage se fera avec Tdbimage relié à un Tdatasoure qui sera à son tour relié à la table de données.

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Dans ce cas bien précis, je dissocierai clairement les photos de la base.

    Donc
    - toutes les photos "en vrac" sur le DVD, voire dans une arborescence qui convient.
    - une petite base embarquée avec le méta-modèle permettant de filtrer, et remonter les photos répondant aux critères.

    Dans la base, il y aura donc pas grand chose

    Photos(IDPhoto, Chemin)
    MotCle(IDMot, MotCle)
    Filtres(IDPhoto, IDMot)

    Qqch du genre... après, vous pouvez compliquer à l'envie avec d'autres critères

    ex:
    Photos(IDPhoto, DatePriseVue, Localisation, Chemin)

    Avantages :
    - les photos sont accessibles même sans passer par la base
    - la base reste minuscule, donc aisément embarquable

    Pour le choix de la base, choisissez ce que vous maîtrisez. Vu qu'il vous faudra quand même un mini frontal... le choix de la base ne sera pas important : n'importe quelle base gère ce volume sans souci...
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 774
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 774
    Points : 52 747
    Points
    52 747
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par DotNetMatt Voir le message
    La première chose à ne surtout pas faire, c'est de stocker les photos dans une base de données directement sous forme binaire. Il faut utiliser la base de données pour y stocker leurs méta-données uniquement (ex. nom de la photo, description, chemin...). Les photos elles-même doivent être stockée dans un répertoire classique.
    Là vous êtes franchement en retard au niveau technologique...
    En 1999, la norme SQL proposait le DATALINK qui permet de stocker tout type de fichier sous le contrôle du SGBDR (donc de manière sécurisé et transactionné). Celui-ci a été réalisé dans IBM DB2 et SQL Server (FileStream) et dans ce dernier SGBDR étendu à la gestion d'arborescence de stockage via le concept de FileTable.
    L'avantage de ce genre de techno, en sus de la sécurité et du transactionement est que la sauvegarde de la base inclut de manière synchrone les fichiers et méta data, ce qui est impossible si vous séparez les deux. Bref, en cas de restauration, sans ce genre de technologie, vous vous retrouverez certainement avec des liens orphelins ou des photos en sus....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Merci pour la précision SQLPro, mon idée sous-jacente était effectivement la technologie FileStream.

    Au moment de la rédaction j'ai dû vouloir rester très macro histoire de ne pas noyer Bandoulier sous les infos, et ne sachant pas quel SGBDR serait utilisé...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  7. #7
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Là vous êtes franchement en retard au niveau technologique...
    Perso, je trouve les remarques de DotNetMatt plutôt pertinentes. Certes, dans un contexte professionnel, on peut en effet avoir besoin d'embarquer les photo dans la BDD pour différentes raisons que tu exposes... Mais là... on est loin de ce besoin me semble-t-il.

    Bandoulier ne veut pas refaire le site web de la Redoute avec des photos pour chaque produit, il veut :
    envoyer les CD aux membres de ma famille
    Sans parler du problème de déploiement initial que DotNetMatt a déjà exposé, si on fait un rapide calcul, à raison de 4 Mo par photo, avec 10000 photos, il faudra déjà une dizaine de DVD. Certes ! mais quand Bandoulier voudra partager ses 500 nouvelles photos après ses prochaines vacances, il lui faudra renvoyer un backup complet de la base (d'autres solutions existent, mais sont moins simples à mettre en oeuvre...) : à nouveau une dizaine de DVD... Alors qu'en externalisant les photos, il lui suffit d'envoyer un DVD contenant les nouvelle photos, et un backup complet de la base de quelques Mo tout au plus...
    De plus, si Bandoulier le gère proprement dans son application, se retrouver avec des photos orphelines ne sera sans doute pas un énorme problème, et pourrait même être un avantage s'il ne veut pas envoyer à tout le monde la totalité de ses photos.

    Donc en effet, étant donnée la nature du besoin, des photos hors BDD avec un SGBD ultra light et facile à déployer me semble plutôt cohérent : avec une solution un peu plus simple, Bandoulier aura sans doute plus de satisfaction d'être arrivé en haut de Montmartre, plutôt que d'avoir échoué a gravir le Mont Blanc

    Enfin, je suis également d'accord avec
    Maintenant mon avis perso c'est qu'il existe des plateformes qui proposent déjà ce type de services, genre Picassa, Flickr ou encore Instagram
    Mais... ça reviens un peu à utiliser le funiculaire... c'est plus vraiment le même challenge

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 774
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 774
    Points : 52 747
    Points
    52 747
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par aieeeuuuuu Voir le message
    ...Mais quand Bandoulier voudra partager ses 500 nouvelles photos après ses prochaines vacances, il lui faudra renvoyer un backup complet de la base (d'autres solutions existent, mais sont moins simples à mettre en oeuvre...) : à nouveau une dizaine de DVD... Alors qu'en externalisant les photos, il lui suffit d'envoyer un DVD contenant les nouvelle photos, et un backup complet de la base de quelques Mo tout au plus...
    Non, vous n'avez pas compris. Un système comme FileStream permet de stocker les photos sous la responsabilité du SGBDR et toujours sous forme de fichiers. Les fichiers restent accessible (si vous le désirez) sous forme de fichiers, comme n'importe quel autre fichiers du système, mais ne peuvent ni être supprimé, ni modifiés... et bien entendu pas d'ajout dans cette entrée de stockage par le système de fichier.
    Pour la sauvegarde, SQL Server permet de faire des sauvegardes partielles par groupe de fichier, et le FileStream en est toujours au moins un (on peut en créer plusieurs...)

    Donc, en définitive, vous disposez du meilleur des deux mondes.

    Quand au partage des photos, c'est juste une problématique d'accès au SGBDR !

    Pour finir, SQL Server en version gratuite (Express) sera parfaitement suffisant, vu que la limitation de 10 Go de données par base, ne porte que sur les tables et ne concerne pas le FileStream...

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  9. #9
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Non, vous n'avez pas compris.
    Si ! c'est juste que nous n'avons pas compris la même chose

    Il m'a semblé que Bandoulier cherchait quelque chose de relativement simple à mettre en place et à déployer. Surtout, il me semble qu'il prévoit une copie de la bdd par utilisateur. d'où l'idée d'un SGBD light, qui sera déployé en même temps que l'application.


    Citation Envoyé par SQLpro Voir le message
    Pour la sauvegarde, SQL Server permet de faire des sauvegardes partielles par groupe de fichier, et le FileStream en est toujours au moins un (on peut en créer plusieurs...)
    Certes, mais cela ne résous pas le problème... comment Bandoulier va-t-il faire parvenir les nouvelles photos et le nouvelles données correspondantes aux membres de sa famille ? (qui, soit-dit en passant, ne sont pas forcément tous dba )

  10. #10
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    ->une clé USB de 8GO pour contenir l'ensemble
    ->les photos dans un sous-dossier de la clé
    ->une seule base ACCESS (donnée + interface), même la version 2000 (la favorite de Claude LeLoup) fera l'affaire. Un exemple déjà prêt.
    La proposition de DotNetMatt avec SkyDrive peut apporter un plus (mise à jour par les autres membres de la famille) s'il est possible de partager un dossier.
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  11. #11
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    la petite question initiale. Cela représente quoi en terme de poids réel ces 10 000 photos? 10Mo, 10Go, 10To ??
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

Discussions similaires

  1. Choix d'un framework pour une base de données photographiques
    Par soso78 dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 16/04/2010, 10h29
  2. connexion base de donné
    Par saidi dans le forum MFC
    Réponses: 3
    Dernier message: 07/08/2002, 22h22
  3. [Concept] Stabilité d'une base de donnée
    Par lassmust dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 03/07/2002, 16h16
  4. Bases de données
    Par dev dans le forum C++Builder
    Réponses: 4
    Dernier message: 01/07/2002, 22h55
  5. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18

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