A lot can be said for using databases with web design, content delivery and interaction on the internet. As much as that is an interesting topic in itself though, databases are used for several other things. They are extremely efficient for storing and structuring all kinds of content, even for Artists. Autodesk Maya which is a software mentioned regularly on these web pages, is based upon a highly efficient database. As online applications challenge the static setups, I will describe my database concepts brought together to make up this website.
First of all Wordpress.org features a very nice and simple package for administrating database elements for ordinary blog- and website - elements. That being said it is still a content management system, and has its limits. In fact my personal blog is included on this website by querying the database tables, which is not an issue you ordinarily encounter when dealing with wordpress user interfaces. You see, the CMOS' es kind of dictate the boundaries for your projects to the point where they become somewhat useless. This is one of several reasons why I chose several different approaches for database input and retrieval.
Besides using wordpress I make use of my own Mysql/Apache - setup, both for public server and for localhost on my personal server setup. Testing purposes being the obvious reason, and not having to deal with the 3rd party plug-ins and style sheets of a CMS is a blessing, although many would argue one in disguise. Although the going gets tougher the payoff always seems worth it. Below I will be issuing visual representations of my website/database setup, the reason being it also describes the Architectural constructs that I plan to use them for.
The way that people construct databases must differ a great deal. If you are better at visualizing I strongly suggest modelling your database using some sort of UML scheme. Since I am working with a Visual C++ plug-in in Microsoft Visual Studio, I make use of the opportunity to connect to a database from there and modelling my own database after successful ones. Using MYSQL connector for Visual C++, I can bring a database straight into my working environment. By also integrating Visual Paradigm application with Visual Studio I can then start building my own model which I am using partly for code-generation. From the point of visualizing, inspecting and understanding the tables, content and relationships of the databases I use as "templates", I make use of the following procedure:
- Make UML Use Case diagrams. I make a rough one where I outline what kind of operations are happening through the system. Then narrow in on the separate operations in the next one.
- Make Entity Relationship Diagram, which roughly objectifies the ideas i had for the system, into tables for a database. Here is the time to make use of all the work that clever developers have done before. Borrow good ideas. Introduce relationships & foreign keys. Quite a time- consuming endevour.
- Use Visual Paradigm to generate class Diagrams, and from that MySQL code. With that done the database itself is taking shape.
That of course is just the technicalities of the database. The software and storage for the neccessary Web-apps follow in parallel. I have been working on expanding the Autodesk Maya Genr8 plugin, and as such have ported it for use in an open 3d software running on my own server. The database will connect with the 3d software through a command port, and execute internal commands to run the Genr8 plugin from a script generated from the users' parameter input on the web. The web forms will update the information on the user/client's webpage to reflect the changes to a site map, floor plan layout and a generated building in such a way as to visualize the generation of the whole system. Even though web forms have their clear limitations they serve well to trigger more adequate web design elements and apps to make the visualization possible.
More to follow