The Database
We used an Access 1.1 database and the corresponding 1.1 Jet database engine.
The key tables in our database are the Item and Screen tables. Our application presents a set of content items (products, services, conference presentations, etc.) organized hierarchically into a table of contents. Information about each item such as its title and type is stored in the Item table in the database.
The text in a title, and pointers to all other media (bitmaps, video, etc.) are stored in records in the Screen table. Each record, or screen, is a discrete chunk of content that is displayed on the screen as a unit. Each item has one or more screens that contain the content associated with the item. Content in the system that is not specifically associated with an item (that is, content that is not available directly from the tables of contents) is also stored in Screen table records.
The structure of the database tables we will discuss in this paper are shown in this illustration.
The Item Table
This table stores information about each item of content. It has the following structure:
- ItemId (text): A unique id for the item. This is the primary key for the table.
- Parent (text): The id of the parent of this item in the hierarchy of the content.
- SortPath (text): The order of the item under its parent
- ItemTitle (text): The title to display for this item.
- ItemType (integer): A classification of the item used mostly to decide which icon to associate with the item.
- SkimCaption (memo): A short description of the content of the item.
The Screen Table
This table stores information about each screen in each item in the content. It has the following structure:
- ScreenId (text): A unique id for the screen. This is the primary key for the table.
- ParentId (text): The id of the parent of the screen.
- SortPath (text): The order of the screen under its parent
- ScreenTitle (text): The title of the screen to be displayed in the application.
- Text (memo): The formatted or unformatted text (if any) associated with this screen.
- Viewer (text): An id for the interface controls in which this screen will be displayed (e.g., the text interface or the image interface)
- MediaId (text): The filename (if any) of the media associated with this screen.
- Filter (text): A comma delimited series of the names of the pre-built lists in which this screen should be listed.
- HotSpots (text): A comma delimited series of screen regions and ids for the hot spots (if any) that are associated with this screen.
- History (Boolean): List this screen in the history list?
- FTS (integer): A unique id for the full text search facility.
- SeachText (memo): An unformatted version of the text (if any) to be used for comparisons in the full-text search system.
- OrderId (text): The id of the ordering information (if any) associated with this screen.
- LastUpdate (text): The date this screen was last updated in the database.
The Hypertext Table
This table translates between the integer passed by the text control when the user clicks a hot spot and the id of the screen to display in response to the click. It has the following structure:
- Key (integer): The integer passed back in response to a hot spot click.
- Id (text): The id of the screen to be displayed.