Your project sounds quite interesting, and the database structure you have listed looks like a very good start. I would suggest adding a field for the filename location as well, which should be especially helpful If you're building dynamic pages. While taking a flat-file approach may get you "off the ground" quickly, at some point your image collection will most likely benefit from a proper db backend, IMHO.

Easily updateable...
Like dropping new images into a directory and letting the database be automatically updated? Some information would be easy to auto-update, like ID Number, Filename, and Filename Location, then maybe an email reminder that you have new images to attend to, which could offer a link to a simple web form showing only the new pictures with input boxes for the Description, Location, etc... After you've taken care of that work, the images will be viewable in the wild.

Another point of automation is with page generation. I would suggest putting as much logic as possible into the database structure, so the CGI that builds the pages has less work to do. Putting the 'brains' in the database also allows you to easily modify the storage structure without worrying too much about your scripts. Consider the difference between a script that queries your database for hard coded field names, and another which first queries for all field names (and virtually any other structual information) and works from there, for example.

A great source of information for this type of stuff is the book "MySQL and Perl for the Web". Authored by the same guy who wrote other great MySQL books!

Not sure how easy I could back it up...
Very easy with MySQL... A quick and dirty script to backup your individual databases is here.

I am very keen to know how this project progresses. Cheers.

In reply to Re: Choosing a database for a new project by penguinfuz
in thread Choosing a database for a new project by newrisedesigns

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.