Database

The MySQL database is organized into tables that start with a prefix (default is ‘nc_’) and a name for its function

Table1Description
nc_activity Tracks change events in networks performed by registered users. Contains entries for the log page (networks navigation bar)
nc_anno_numeric2 Numeric annotations.
nc_anno_text Holds text-based annotations for networks, nodes, links, ontology classes, and associated comments. Annotation versions are preserved as dated rows with a status field.
nc_classes Holds all ontology classes and their hierarchy.
nc_datafiles Holds metadata for any files uploaded by a user.
nc_links Holds all defined links and their associated ontology classes. Active/inactive links are determined by a status field. Note that annotations such as link name are stored in the 'nc_anno_text' table.
nc_log Tracks a minimal level of site activity: creation/deletion of networks/users, and login events by registered users.
nc_networks Holds ids for networks
nc_nodes Holds all defined nodes and their associated ontology classes. Active/inactive nodes are determined by a status field. Note that annotations such as node name are stored in the 'nc_anno_text' table.
nc_permissions Holds the current permission associations between users and networks.
nc_users Holds the current personal details for registered users. Login events by users requires matching the 'user_pwd' field. Session users confirm loging through another field 'user_extpwd'.

1 Each table is indexed on one or more columns.

2 This table is created during installation, but its support still work-in-progress.

In addition to identifiers set by user (e.g. network name, node name, link name), the database creates internal ids for all network elements. These consist of a one-letter prefix (e.g. ‘W’ for networks and ‘N’ for nodes) followed by a few random characters. Table joins are often performed using these internal identifiers.