>>1576Sounds radical OP.
I find myself using pic related often myself.
A version for my main machine would be really nice to have.
If I may make a suggestion, it would be to support advanced data records or just multiple sets of time-data for one dream episode.
Why? Because in theory one could use a piezo element as a pick-up for any signals directly on the beds frame. Saw a TV documentary not too long ago in which scientists used one in conjunction with a Rigol DSO to pinpoint REM phases.
That being said, I might want to try and whip a similar setup up in GNU Octave sometime soon just to verify this claim and see where it goes.
To the organizing part, I would suggest something like this from the top of my head:
It's some bullsoykaf pseudocode but it gets the point across I recon
TABLE dream_data
//records basic dream data and has related a 1-n relationship to
//the n-m table meta_relations
{
id<primary int>,
title<string>,
content<text>,
meta_relations_id<int>,
created<timestamp>,
deleted<timestamp>)
};
TABLE meta_relations
//connects dream_data with meta_terms in an n_m relation
{
id<primary int>,
term_id<int>,
dream_id<int>,
created<timestamp>,
deleted<timestamp>
};
TABLE meta_terms
//holds any meta tags defined
{
id<primary>,
term<string>,
created<timestamp>,
deleted<timestamp>
};
TABLE dream_time
//records the specific timing records of dreams.
//a 1-n relation was chosen to be flexible when
//recording scenarios like continued dreams after
//a brief awake period
{
id<primary int>,
dream_id<int>,
time_begin<timestamp>,
time_end<timestamp>,
created<timestamp>,
deleted<timestamp>
};
//this table manages signs
//in combination with sign_reference
//the user can specify many signs for many
//dreams, is 1-n to sign_relations
TABLE sign_data
{
id<primary>,
title<string>,
description<string>,
created<timestamp>,
deleted<timestamp>
};
//connects signs to dream_data
//a dream can include many unique signs
//sign_relations is a n-m type table
//to relate to sign_data and dream_data
TABLE sign_relations
{
id<primary>,
dream_data_id<int>,
sign_data_id<int>,
created<timestamp>,
deleted<timestamp>
};
Godspeed Lainon, wishing the best of luck!