The Mighty Shoechicken (Not Actual Size) Shoechicken: AI Learning Agent

Home | F.A.Q | Documentation | Links | Blog | Wiki | Project Home | Download |
Valid XHTML 1.0 Strict Valid CSS!
Shoechicken Database Table Design
Table Field Data Type Constraints
Author id INTEGER Autogenerated, Primary Key
name VARCHAR(32) Not NULL, unless email is not NULL
email VARCHAR(48) Not NULL, unless name is not NULL
Context id INTEGER Autogenerated, Primary Key
name VARCHAR(24) Not NULL
Feed id INTEGER Autogenerated, Primary Key
url VARCHAR(128) Not NULL
title VARCHAR None
Item id INTEGER Autogenerated, Primary Key
feedId INTEGER Not NULL, Foreign Key to Feed.id
authorId INTEGER None
url VARCHAR(128) Not NULL
description VARCHAR None
title VARCHAR None
date TIMESTAMP Not NULL
dataAdded TIMESTAMP DEFAULT NOW, NOT NULL
Keyword id INTEGER Autogenerated, Primary Key
word VARCHAR(64) Not NULL
Model id INTEGER Autogenerated, Primary Key
name VARCHAR(24) Not NULL
User id INTEGER Autogenerated, Primary Key
username VARCHAR(36) Not NULL
ItemRating itemId INTEGER Not NULL, Unique (with userId), Foreign Key to Item.id
userId INTEGER Not NULL, Unique (with itemId), Foreign Key to User.id
rating DOUBLE Not NULL
timeRated TIMESTAMP Not NULL
timeArticleRead TIMESTAMP None
timeDescriptionRead TIMESTAMP None
timeDeleted TIMESTAMP None
ItemToKeyword itemId INTEGER Not NULL, Unique (with keywordId and contextId), Foreign Key to Item.id
keywordId INTEGER Not NULL, Unique (with itemId and contextId), Foreign Key to Keyword.id
contextId INTEGER Not NULL, Unique (with itemId and keywordId), Foreign Key to Context.id
keywordCount INTEGER Not NULL
UserToKeyword userId INTEGER Not NULL, Unique (with keywordId, contextId, and modelId), Foreign Key to User.id
keywordId INTEGER Not NULL, Unique (with userId, contextId, and modelId), Foreign Key to Keyword.id
contextId INTEGER Not NULL, Unique (with userId, keywordId, and modelId), Foreign Key to Context.id
modelId INTEGER Not NULL, Unique (with userId, keywordId, and contextId), Foreign Key to Model.id
keywordCount INTEGER Not NULL
UserContextWeight userId INTEGER Not NULL, Unique (with contextId), Foreign Key to User.id
contextId INTEGER Not NULL, Unique (with userId), Foreign Key to Context.id
weight DOUBLE Not NULL
UserToFeed userId INTEGER Not NULL, Unique (with feedId), Foreign Key to User.id
feedId INTEGER Not NULL, Unique (with userId), Foreign Key to Feed.id

The following diagram illustrates the relationships between the fields of the tables in the Shoechicken database.

Entity relationship diagram of Shoechicken's database