6 acoustic business rules

6.1 Introduction

The philosophy behind the acoustic database is that it will, as far as possible, contain raw, unprocessed data. As a consequence, minimal validation is carried out on the actual acoustic data (range/amplitude pairs). The nature of echosounder systems is that the raw acoustic data are an accurate and precise record of the acoustic amplitude at a given location at a given time and any processing, filtering or corrections should be applied during the analysis and use of the data. However, the associated data are subject to a number of validation rules, and are described in the following sections.

6.2 Summary of rules

The following are a list of business rules applying to the acoustic database. A business rule is a written statement specifying what the information system (i.e., any system that is designed to handle acoustic data) must do or how it must be structured. 

There are three recognised types of business rules:

    Fact - Certainty or an existence in the information system.

    Formula - Calculation employed in the information system.

    Validation - Constraint on a value in the information system.

Fact rules are shown on the ERD by the cardinality (e.g., one-to-many) of table relationships.  Formula and Validation rules are implemented by referential constraints, range checks, and algorithms both in the database and during validation.

General rules

Some general rules are applied to all tables that contain latitude, longitude, date and time fields. In the sections that follow, only rules in addition to those below are listed.

    1. All latitude values must be between -90.0 and 90.0 or be null.

    2. All longitude values must be between -180 and 180 or be null.

    3. All date/time fields must contain a valid date and time or be null.

6.2.1 bottompoints table

ping_num Must be greater than or equal to 0. 
depth Must be greater than or equal to 0.
previous_depth Must be greater than or equal to 0.

6.2.2 equipment table

date_withdrawn  Must be after date established. 

6.2.3 filenote table

ping_num   Must be greater than or equal to 0. 

6.2.4 files table

num_transmits  Must be greater than or equal to 0. 
min_data_depth  Must be greater than or equal to 0. 
max_data_depth  Must be greater than or equal to max data depth. 
dfile_size  Must be greater than or equal to 0. 
stop_date_time Must be after start date time.

6.2.5 mbsregionslices table

start_depth  Must be greater than or equal to 0. 
end_depth  Must be greater than or equal to start depth. 
start_vslice  Must be greater than or equal to 0. 
end_vslice  Must be greater than or equal to end vslice. 

6.2.6 mbsspec table

vertical_slice_size   Must be greater than or equal to 0. 

6.2.7 mbssst table

length  Must be greater than or equal to 0. 
absorption Must be greater than or equal to 0.

6.2.8 padcs table

frequency  Must be greater than or equal to 0. 

6.2.9 ping table

ping_num  Must be greater than or equal to 0. 
speed Must be greater than or equal to 0 or null.
heading_true Must be within 0 to 360 inclusive or null.
heading_apparent Must be within 0 to 360 inclusive or null.
transducer_depth Must be greater than -5 m or null.
bottom_distance Must be greater than 0 or null.
wind_speed Must be greater than 0 or null.
wind_dir Must be within 0 to 360 inclusive or null.

6.2.10 pingattitude table

sample_num  Must be greater than or equal to 0. 

6.2.11 region table

slice_size  Must be greater than or equal to 0. 
vert_slice_size  Must be greater than or equal to 0. 
shape   Must be Rectange or Polygon. 

6.2.12 regionpoints table

ping   Must be greater than or equal to 0. 
depth   Must be greater than or equal to 0. 
sequence_num  Must be greater than or equal to 0.

6.2.13 slplussrt table

depth  Must be greater than or equal to 0. 
Must be greater than or equal to 0. 
v_t  Must be greater than or equal to 0. 
Must be greater than or equal to 0. 
valid_to  Must be after valid from. 

6.2.14 svcorrectionfactors table

sv_correction_factor   Must be greater than or equal to 0. 

6.2.15 transducers table

depth_rating   Must be greater than or equal to 0 or null. 
beam_angle_long   Must be greater than or equal to 0 or null. 
beam_angle_trans  Must be greater than or equal to 0 or null.
directivity  Must be greater than or equal to 0 or null. 
effective_beam_angle   Must be greater than or equal to 0 or null. 
transmit_response  Must be greater than or equal to 0 or null. 
receive_response Must be greater than or equal to 0 or null.
angle_factor Must be greater than or equal to 0 or null.

6.2.16 voyage table

stop_date  Must be after start date. 

6.2.17 vtvariation table

valid_to  Must be after valid from. 

6.2.18 waterproperties table

absorption  Must be greater than or equal to 0. 
sound_speed  Must be greater than or equal to 0. 
frequency  Must be greater than or equal to 0. 

 

Updated : 4 March 2008