Hoard
Jump to navigation
Jump to search
About
All the things I need to track tie together in various ways, it seems. Hoard is the database that ties them together. It also has a number of ad hoc uses.
Pages
Schemae
Things
This keeps track of all the things -- a taxonomy in the form of a branching hierarchy. One guideline to remember: there's no need to put a thing under another thing unless that's necessary in order to disambiguate between two homonymous things.
CREATE TABLE
`things` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`WhenNew` timestamp NOT NULL DEFAULT current_timestamp(),
`ID_Base` int(11) DEFAULT NULL COMMENT 'ID of parent record',
`ID_Extern` int(11) DEFAULT NULL COMMENT 'external reference, if any',
`Name` varchar(255) DEFAULT NULL COMMENT 'label, e.g. for using in lists',
PRIMARY KEY (`ID`)
) ENGINE = InnoDB
Stuff
This keeps track of stuff about the things -- a set of semantic values that can be set for any Thing.
CREATE TABLE
`stuff` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`WhenNew` timestamp NOT NULL DEFAULT current_timestamp(),
`Name` varchar(255) DEFAULT NULL COMMENT 'name of attribute',
PRIMARY KEY (`ID`)
) ENGINE = InnoDB
Extern
This tracks external data repositories.
CREATE TABLE
`extern` (
`ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
`WhenNew` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'when this record was added',
`SID_Type` varchar(255) DEFAULT NULL COMMENT 'slug for thing-type (matches coded external data)',
`Name` varchar(255) DEFAULT NULL COMMENT 'single line for lists',
PRIMARY KEY (`ID`)
) ENGINE = InnoDB