Database Design

Databases are an important component of software that manages large sets of data. Used effectively, they can make data management incredibly efficient.

Horizons Navigator utilizes a database with a focus on efficient data storage and easy understanding of the API.

Data privacy

As stated in the privacy policy, we maintain user privacy and data transparency. We do not collect non-consentual or aggregated user data or stored in the database.

Tables

The database layout consists of three tables

  • Users tblUsers
  • Locations tblLocations
  • Voyages tblVoyages

Users

Data storage local on the user’s computer, users can opt in to data syncing with the StarCenter Server. Multiple accounts can be installed and used on one installation, as detailed by User Management.

Table structure

Field nameDescriptionData Type
UsernameUnique user chosen display nameShort text
UserHashIn-app generated identification hash used for authenticationText
UserIDUnique generated identifier of every userShort text
EmailUser email addressShort text
ContactNumUser cell phone numberShort text
DateRegisteredDate of user registrationShort text

Locations

Locations, stored and updated frequently are stored in the tblLocations table. Locations are identified by unique identifies using a string of letters and numbers such as ‘L773’, these are represented by the LocationID field. More information on LocationIDs

Table structure

Field nameDescriptionData Type
LocationIDLocation identifierShort text
NameLocation name. Not every location will have a name, many are identifiable solely by IDShort text
DistanceFromEarthDistance between the Earth and the object, used with other metrics for navigationNumber