database design & development

database design & development database design & development
espaņol
Internet Marketing - Intro
About us | Options | Design | Database design & development | Contact


Database Solutions

  • Project Consulting and Development
  • Cgi or Php Databases Installed to your requirements:

    Previous Cgi Database installation work:

  • Vitesse Yachts

  • C&L Mallorca


Would you like your projects implemented successfully?
We have all the expertise, twenty + years senior work with major consultants, Unilever Consultants and P.A. Management Consults UK with international projects, to guarantee successful implementation.
Quality work:
Graphic design work.
Information analysis and database design.
Application and database programming.
Development with security and search engines in mind.
Fully multi-lingual support with no limit to the number of your web pages.
Apache, PHP, MySQL and all SQL-type database systems.

Information Analysis

A detailed analysis of the data flows of systems under study will be the basis for the data structure of the information system that must be defined. The result should be clear, easy to understand and be the basis for programming the systems we envisage. Also important is that we should be able to meet new requirements with little development effort.
If we get the database structure wrong we may end up with writing more and complicated code than is necessary and which is difficult to maintain.

Database Design

The design of the actual database is a precise job and with many years of experience (as I have) pays off with schemas that are simple, easy to code and that run faster. Generalisation makes things easier to comprehend and leads to simplifying development work. For example, the project I am presently working on has 11 category tables for geographical areas, a faq category, department names, features, languages, plus a few more. The system supports multi-lingual facility and every category table has the same attributes with an ID, a description in English, French, German and other languages. It is only necessary to write one code set for the administration of the category tables. Adding another language requires no extra coding.
Also all text that appears on web pages and names of buttons are stored in database tables and displayed in the language chosen by the web site visitor.
Also, as I will develop systems with search engines in mind, I have decided to store all data important for search engine optimisation, like keywords in Title, Meta Keywords, Meta Description plus other information relevant to it, in separate database tables.

Software abstraction

The design of abstraction software has many advantages for program development. It offers compact and flexible coding plus easy maintenance. For instance, all database functions are stored in a central library and there is support for MySQL, Oracle, and most other SQL-type database systems.
Then I have lots of software to handle forms, buttons, images, email messages, security issues like authorisation, permissions and password protection, tracking of visitors, checking broken links and many other stored in a library.
This abstraction library approach will eliminate repeated programming code, and as changes can be made in single location (in the library) maintenance is flexible indeed. Re-writing functions in the library leaves the application program untouched.
Imko Keereweer

Dynamic Web Pages, Multi-Lingual Use and Search Engines

Date: April 15, 2003
Updated: June 17, 2003
Author: Imko Keereweer

Project Definition I am developing a web site for brokers which has a multi-lingual facility presently catering for English, French, German and Spanish. Additional languages do not require extra programming. The web site is applicable to the real estate business and can be adapted to the second-hand car and yachting markets without major programming changes.

The web site uses the Apache server, PHP as scripting language with MySQL as database.

Search Engines in Mind
The design has integrated facilities for search engine optimisation. Page titles, keywords, body text and whatever techniques we may want to use to influence the search engines score.

Text and multi-lingual use
A visitor to the web site need only click on the national flag logo on the page wishing to be viewed for it to appear in the language chosen, together with the names on the buttons, the text on the page and the text links.

There are three different types of text stored in database tables, i.e.:
1) Text_user_pages
Many web pages have text to explain, describe, ask questions, text links or show data from a database.
2) Text_global_pages
The text for buttons and navigation is stored in a separate database table.
3) Text_public_pages
There are pages with usually large blocks of text. The pages "Legal Terms", "Terms and Conditions", "Introduction", "About Us" and "Contact Us" belong to this category.

All text described above is stored in database tables in the applicable language and retrieved from the database before any page is displayed.

Question 1:
Does the multi-lingual facility pose a particular problem for Search Engine Optimisation? When a search engine spider looks at a .php page the script is executed before it is sent to humans or spiders. Therefore, if we use English as the standard language for all web pages, spiders will only see English text. Spiders, unlike viewers, will not click on national flag logos to dynamically load the text in another language.

Question 2:
So our web pages are indexed for English words and phrases. But what about German, French or Spanish speaking visitors doing searches with non-English words? Translations of titles and keywords are placed in the text and are then processed by the search engines.

Database
We have opted to use MySQL as database because it is fast and cheap (free open source software).

Question 3:
Is it possible to use database systems other than MySQL?
All database functions are maintained in one script. If it is necessary to change to another SQL-type database like Oracle, Sybase, ODBC, SQL Server or PostgreSQL we would then replace the database script with another one already available and tested.

Search Engine Friendly URL's
On today's Internet, database driven or dynamic web sites are very popular. The easiest way to pass information between pages is with a query string with information tacked onto the end of a URL after a question mark.
Example:

http://www.bokers.com?language=en&valuta=euro

This means: pass the language and valuta that will be used in that web page.

Most search engines will not index any pages that have a ?, = or & in the URL. There are some that do but then usually only one level is analysed.

The solution to this problem is to use search engine friendly URL's. We will use the PATH_INFO method and the URL above would look as follows:

http://www.brokers.com/program.php/en/euro

Apache has a "look back" feature that scans backward down the URL if it doesn't find what it's looking for. In this case there is no directory "en" and no file "euro", so Apache continues to look down the URL and sees "program.php". This file exists and Apache calls up that script. Apache also has a global variable called $PATH_INFO that is created on every HTTP request. What this variable contains is the script that's being called, and everything to the right of that information in the URL. In the example we've been using, $PATH_INFO will contain program.php/en/euro. We can split this into variables using PHP's function explode:

$vars_array = explode ("/", $PATH_INFO);

Once you have done that you'll have the following information:

$vars_array[0] = "pogram.php"
$vars_array[1] = en
$vars_array[2] = euro

And the script can take the variables from there.

Storage for Words and Text used by Search Engines
All words and text are stored separately from the pages and will be retrieved by scripts and placed in the pages for viewing!

So we don't have to mess around with the pages when submitting a web site to search engines, we just have to update the respective tables and the respective scripts then place words and text on the pages.

Title, Meta Tags, Text Links and Site map.
We will be using a number of methods to store words and text important for SEO. There is a facility to indicate whether a page must be indexed, or not, by the search engine. Remember there are lots of pages that are the domain of Management, Administration and Maintenance, and which should not be accessible to public viewers or search engines.

Title
Every page is connected with a title stored in a database table and can have as many language versions as required.

Question 4:
Is there any problem with always showing a title in English on top of the window where the browser displays a web page? The title should be relevant to the content of the web page and will thus appear in the language chosen as standard. If the standard language is English the title will appear in English; if it is French the title will appear in French etc.

Meta Tag Description
Every page is connected to a table containing page descriptions with the option to store descriptions in various languages.

Meta Tag Keywords
Every page is connected to a table containing key words with the option to store the keywords in various languages.