Il est difficile pour nous de déterminer ce qui est important pour vous. Une approche pourrait être de stocker toutes les propriétés dans un tableau créé quelque chose comme ceci (syntaxe SQL approximative):
create table exif_info (
photo_id integer,
name varchar,
value varchar
);
Chaque ligne de cette table associe une propriété EXIF avec une photo. Vous auriez donc besoin d'un tas de lignes pour contenir toutes les propriétés EXIF pour une seule photo, mais c'est exactement ce à quoi servent les bases de données relationnelles. De cette façon, vous pouvez stocker toutes les informations disponibles sans avoir à décider maintenant ce qui pourrait être important plus tard.
D'accord que OP doit décider quelle information est importante pour eux. Cependant, en désaccord avec le stockage des données dans les paires nom/valeur. En pratique, il est très difficile de créer une requête efficace telle que "sélectionner toutes les photos et leurs attributs pris avec la caméra X à la position iso Y et à la distance focale entre A et B". Vous êtes mieux lotis avec des colonnes distinctes pour chaque élément d'information important. Les paires nom/valeur ne fonctionneront que pour des requêtes simples telles que "sélectionner tous les attributs de photo pour le numéro de photo X". – Convict
Mais différentes caméras ont des données EXIF différentes et peuvent ajouter de nouvelles données dans le futur. Pouvez-vous deviner toutes les futures fonctionnalités de l'appareil photo numérique qui seront suivies par EXIF? –
@mgb: Non, et le fait est que vous n'avez pas besoin de connaître toutes les propriétés possibles à l'avance. Chaque photo individuelle peut avoir son propre ensemble de propriétés, indépendamment de toute autre photo. –