/* ? in the database behind a photolog: // scanner // flash drop back and punt for only one image type subsetting for categories (Foo is-a person; Portland is-a city; Gokna is-a argentic.) other things 'n' stuff legality (releases, TMs, surprisingly-legal) */ create table cameras { id string nickname; // Gokna bool is-emulsion; // T string maker; // Nikon string model; // FE string sn; // 4119851 string comments; } create table lenses { id string nickname; // Tokina low zoom string maker; // RMC Tokina float min_focus_mm; // all 35 mm equiv float max_focus_mm; float min_fstop; float max_fstop; built_into references cameras[nickname]; string comments; } create table frames { id; roll references rolls[id]; // so bogus: timestamp time_exact; // when the photo was taken if known to ~minute precision by metadata or notes; timestamp time_approx; // when the photo was taken in rough terms; timestamp time_assimilated; // when the photo was imported to the system float exposure_time; // in seconds float aperture; float zoom_mm; bool autofocused; float latitude; // degrees, S < 0 float longitude; int zip_code; // oof ... also angle, etc, etc int iso_speed; bool available_light; bool derived; bool rating; // push/pull } create table burst { // ordered group smaller than a roll of photos of roughly the same subject // think again, fucko! } create table subject_of_frame { frame references frames[id]; subject references subjects[subject]; } create table rolls { enum(negative, slide) film_type; bool monochrome; // as developed bool infra_red; id; string maker; // Fuji, Kodak, Agfa, etc., as printed on carton string iso_speed; // ISO string trademark; // Superia, Portra, ... string vulgar_name; // "Kodak 400UC" } create table images_in_post { id post references posts[id]; }