J
Jill
Hi all,
I've worked with databases before and have the general concepts of
normalization, but of course when applying, it can become overwhelming. I'm
working on creating a pond database for work that will record data from pond
samples we collect. I want to "measure twice, cut once" and do as best as I
can with the design of this database from the beginning...
These are some of the tables I have:
t_PondList (primary field of PondID, non-key fields of PondName,
PondLocation, SampleFreq, GeogrArea, TestType, and SampleLocation)
t_SamplerList (primary field of SamplerID, non-key fields of FirstName,
LastName, MiddleInit)
t_PondData (primary field of DataID), non-key fields of:
PondID (linked to t_PondList, will display PondName on form)
SampleDate
SampleTime
GrabLocation
Sampler1 (linked to t_SamplerList)
Sampler2 (linked to t_SamplerList)
MaxDepth (number entry)
SecchiDepth (number entry)
WaterColor (will link look up to table via data entry form)
WaterClarity (will link to look up table via data entry form)
IceCover (will link to look up table via data entry form, for percent
coverage)OdorRating (will link to look up table via data entry form)
OdorDescr (will link to look up table via data entry form)
ScumCover (will link to look up table via data entry form, for percent
coverage)
Trash ("note" field)
Pesticide Appl ("note" field)
HazConditions ("note" field)
PondMgrContact ("note" field)
Discharges ("note" field)
Aerators (yes/no for whether they were on or off)
Notes (other notes not included in note fields above)
GroupNumber (number of groups of adults/children observed at pond)
AdultNumber (total number of adults observed at pond)
ChildNumber (total number of children observed at pond)
t_PondDepthData (primary field of DepthID, foreign key of DataID) and
non-key fields of:
Depth
Temperature
pH
Conductivity
Dissolved Oxygen
I also have tables similar to t_PondDepthData but that focus on Weather Data
and Biology Data, using the foreign key of DataID. So, the t_PondData focuses
on "general" observational data about the pond itself.
My questions are:
1) Is my t_PondData table too big/too much data in fields? How can I split
further?
Right now, I have the sample date and PondID grouped together as an unique
index, so basically the DataID is unique for each PondID and Date. I'm
wondering if I need to split the sample date and time out into another table
with the PondID? Each pond can have more than one sample date and time (but
will not be sampled twice in the same day), and more than one pond will have
the same sample date...
2) When I create data entry forms, how can I automate entry of the DataID
from the form containing entry fields from t_PondData to the succeeding forms
containing entry fields from t_PondDepthData, t_PondWeatherData, and
t_PondBiologyData?
3) Is it best to create data entry forms separate from editing/reviewing
forms? Or is there an "easy" way to accomplish both in the same form? I wish
to minimize/prevent human error in changing data, most importantly the pond
name in the form associated with t_PondData to which all other data in this
table and succeeding table are related to... I thought of applying macros in
edit mode to verify the user wishes to make changes.
That's all and hopefully that's not too much to address!
Thank you,
Jill
I've worked with databases before and have the general concepts of
normalization, but of course when applying, it can become overwhelming. I'm
working on creating a pond database for work that will record data from pond
samples we collect. I want to "measure twice, cut once" and do as best as I
can with the design of this database from the beginning...
These are some of the tables I have:
t_PondList (primary field of PondID, non-key fields of PondName,
PondLocation, SampleFreq, GeogrArea, TestType, and SampleLocation)
t_SamplerList (primary field of SamplerID, non-key fields of FirstName,
LastName, MiddleInit)
t_PondData (primary field of DataID), non-key fields of:
PondID (linked to t_PondList, will display PondName on form)
SampleDate
SampleTime
GrabLocation
Sampler1 (linked to t_SamplerList)
Sampler2 (linked to t_SamplerList)
MaxDepth (number entry)
SecchiDepth (number entry)
WaterColor (will link look up to table via data entry form)
WaterClarity (will link to look up table via data entry form)
IceCover (will link to look up table via data entry form, for percent
coverage)OdorRating (will link to look up table via data entry form)
OdorDescr (will link to look up table via data entry form)
ScumCover (will link to look up table via data entry form, for percent
coverage)
Trash ("note" field)
Pesticide Appl ("note" field)
HazConditions ("note" field)
PondMgrContact ("note" field)
Discharges ("note" field)
Aerators (yes/no for whether they were on or off)
Notes (other notes not included in note fields above)
GroupNumber (number of groups of adults/children observed at pond)
AdultNumber (total number of adults observed at pond)
ChildNumber (total number of children observed at pond)
t_PondDepthData (primary field of DepthID, foreign key of DataID) and
non-key fields of:
Depth
Temperature
pH
Conductivity
Dissolved Oxygen
I also have tables similar to t_PondDepthData but that focus on Weather Data
and Biology Data, using the foreign key of DataID. So, the t_PondData focuses
on "general" observational data about the pond itself.
My questions are:
1) Is my t_PondData table too big/too much data in fields? How can I split
further?
Right now, I have the sample date and PondID grouped together as an unique
index, so basically the DataID is unique for each PondID and Date. I'm
wondering if I need to split the sample date and time out into another table
with the PondID? Each pond can have more than one sample date and time (but
will not be sampled twice in the same day), and more than one pond will have
the same sample date...
2) When I create data entry forms, how can I automate entry of the DataID
from the form containing entry fields from t_PondData to the succeeding forms
containing entry fields from t_PondDepthData, t_PondWeatherData, and
t_PondBiologyData?
3) Is it best to create data entry forms separate from editing/reviewing
forms? Or is there an "easy" way to accomplish both in the same form? I wish
to minimize/prevent human error in changing data, most importantly the pond
name in the form associated with t_PondData to which all other data in this
table and succeeding table are related to... I thought of applying macros in
edit mode to verify the user wishes to make changes.
That's all and hopefully that's not too much to address!
Thank you,
Jill