Data Model Tables

The data model of the content database is quite simple and consists of the following tables. The content of the tables are encapsulated within the run-time objects so that applications normaly don't need to deal with explicit SQL statements.

The elements of the element tables are connected to the NODE table via the unique NODE_NUMBER. They are similar to an HTML element in that they have a name, attributes and the actual content.

The content can be whatever you want it to be. Plain text, HTML, CSS, XML, Javascript, HTML with embedded variables and (member) function calls, pure Perl code, Maxscript, you name it.

You can even put images and binary content into the database, which mostly doesn't make much sense. As a rule of thumb, media files are stored on the file system. The element tables have additional columns like the language and the version.

The element tables contain the elements, defined by a name, a page and an element number, an attribute, the actual content, the language, a version, a.s.o. Content can be whatever you want it to be. Plain text, HTML, CSS, XML, Javascript, HTML with embedded variables and (member) function calls, pure Perl code, Maxscript, you name it.

WEB_SERVER
The WEB_SERVER table holds server global data like the configuration, the category, page and template counters, the content generation modes, node tree, context and template information.
NODE
The NODE table contains the data to construct the node tree and the general properties of the tree nodes like the node's category, name, unique number, node type, page type, template type, template name, access permissions a.s.o.
ELEMENTS
The ELEMENTS table contains the node elements which store the actual content and code.
DATABASE_FILE
The DATABASE_FILE element table is similar to the ELEMENTS table but does't use templates and it is the equivelent to a file.
TEMPLATES
The TEMPATES element table contains the elements of the templates and stores the HTML design and the code that is common to a special template type.
USERS
The USERS table contains information about the users like the user id, the password and other user data.
USER_PROFILE
The USER_PROFILE table contains the data concerning preferences, settings, layout a.s.o.

Database Table Definitions

The database tables are defined in the following Perl modules. Perl modules are choosen, to handle the differences of the used database product.

# Content database table definitions:
/maxscape/lib/WebServer-1.00/Maxscape/Database/TableDefinitions.pm

# Driver installation and internal represantion of table column types:
/maxscape/lib/WebServer-1.00/Maxscape/Database/Base.pm

# Content database site global table definitions:
/maxscape/lib/perl/Maxscape/Database/SiteTableDefinitions.pm

# Content database site global table column description definitions:
/maxscape/lib/perl/Maxscape/Database/SiteTableColumnDescriptions.pm

To add new or modifiy the database table definitions, add resp. modifiy them best in the above files.

Next ∙ Previous ∙ Top ∙ Join ∙ Contact © Maxscape