Suunto Dive Manager 3.0 (SDM) seems to be using a database that is structured to be used by many Suunto products.
Suunto has chosen not to make their dive manager database public accessible. However all the data you enter (be it automatic using your dive computer or just manual inserting your old logbook dives) is YOUR data, isn't it??? If you are convenient in using databases, then this page is for you.
The database (d9.mdb) is MS Access compatible. It's protected with a password. I'm not sure if I'm allowed to tell it, but googling will nowadays tell you. If you can't find it, then there are plenty of recovery tools available to get it (so don't ask me!). Further I only explain stuff that I was interested in, so it's possibly incomplete. If you have more info, just post a comment!
Database tables
An overview of the database tables
table name |
purpose |
---|---|
Items |
About everything that is stored is stored here |
Lists |
|
more... |
not yet explored, such as |
Items
Field |
Purpose |
unit |
content example |
---|---|---|---|
ItemID |
index key |
|
|
Type |
|
|
0=user |
IconID |
|
|
3= DiveLog |
Parent |
related item id |
|
47 (find out the number for your user) |
Name |
|
|
|
StartTime |
|
|
|
EndTime |
|
|
|
Distance |
DiveTime |
seconds |
|
Memo |
|
|
|
t_custom3 |
Location |
|
Bonaire |
t_custom4 |
Site |
|
Karpata |
t_custom6 |
BoatName |
|
|
t_custom8 |
DiveBuddy |
|
|
t_custom9 |
DiveMaster |
|
|
t_custom10 |
Visibility |
|
avg / good |
t_custom11 |
Weather |
|
avg / good |
t_custom12 |
CustomField1 (DiveType) |
|
Night Dive |
t_custom13 |
CustomField2 (Current) |
|
|
t_custom14 |
CustomField3 (NotUsed3) |
|
|
t_custom15 |
CustomField4 (NotUsed4) |
|
|
t_custom16 |
CustomField5 (WaterType) |
|
Grevenlingenmeer |
t_custom18 |
no of alarms (?) |
|
|
d_custom1 |
SurfaceInterval |
seconds |
|
d_custom9 |
MaxDepth |
m |
|
d_custom10 |
Average Depth |
m |
|
d_custom11 |
Cylinder size |
|
|
i_custom4 |
SampleRate |
|
|
i_custom8 |
mix% |
|
|
i_custom11 |
DiveNo |
|
|
i_custom13 |
Temp at StartOfDive |
|
|
i_custom14 |
Temp at MaxDepth |
|
|
i_custom15 |
Temp at EndOfDive |
|
|
b_custom2 |
deleted |
|
if true, then consider data deleted |
Structure of ItemID <- ParentID:
-1 <- User <- Category
-1 |
User |
|
46 |
|
|
|
All Dives |
47 |
|
|
|
My Dives |
48 |
|
|
|
Locations |
49 |
|
|
|
Dive Gear |
50 |
|
|
|
Simulations |
51 |
|
Example SQL queries
AllDives
SELECT Items.ItemID, Items.Type, Items.IconID, Items.Parent, Items.UserID, Items.Name, Items.StartTime, Items.EndTime, Items.Distance, Items.Notes, Items.d_custom9, Items.memo
FROM Items
WHERE Items.Parent = <All Dives item of the user>
ORDER BY StartTime;
Resources used to get this information
Of course it took some time doing my own investigation, but some info helped:
- JonP wrote some fields
convert