+44 118 324 5555
We have a track record of building fast, secure online databases.
We have over 20 years' experience working with MySQL, the worlds most popular open source database.
MySQL is widely seen as the best database for web-based systems: it's free, fast, lightweight, easy to install, and widely supported. Most programming languages can store there data in a MySQL database. It is also highly scalable, can store both tabular and no-SQL (JSON) type data, and can be used in replicated and secure systems.
Tribal's Managing Director Tony Butcher has written the key SAMS' book on the subject, Teach Yourself MySQL in 21 Days.
You wouldn't be alone if you started by keeping some valuable data in an Excel spreadsheet, safely stored in an offline environment.
But why not give your data a new lease of life, and put it online in a controlled way? On your website.
Here's our 1-2-3 guide to getting your data into a secure, online environment.
Your data may be in an Excel spreadsheet...no bad place to start. Spreadsheets manage simple tabular data, but struggle when it comes to bringing data to a web page.
So how do you make your database look customer-friendly?
The answer is to get your data online, stored in an online database within a website that's powered by a content management system (CMS).
Decide what interaction there needs to be with the data. It needs to be added and updated; and users need to view it. What sort of interface will meet your needs?
Sometimes a database even needs an API (application program interface), so that other servers can refer to its data.
Ask questions like: Who's going to administer the data? Will there be one person, or a team with different rights? How would you like the data presented to website visitors?
Should access be freely available, or password-protected? Or paid-for?
Should visitors be able to add or edit data, or request changes?
These may sound like difficult problems, but with the right platform they are easy to overcome.
Consider what kinds of data you have. Your data may have many types of field:
Text; Checkboxes; Radio buttons; Values picked from a centralised list (e.g. a list of countries); Special formats, such as date; Media types like images or movies; Spacial co-ordinates for use on maps.
Consider how relational it is (we can guide you through this).
People expect user-friendliness in their digital life, and your online database needs to be friendly and accessible.
Good design is needed to create a slick, fast, and mobile-friendly interface to the data.
Consider building an app for mobile users: these are now simple to build using latest mobile tools.
Besides letting your administrators add, import, edit, export and delete data records, you may expect more flexibility.
Adding fields doesn't necessarily mean major changes or costs. With a good database management interface, as we build at Tribal, adding fields can be as simple as drag and drop.
All these things put you in control of your database, with it costing you less than you think.
When building a system for a client, we try to identify the client's need, and use the right tool for the job. For reasonably simple online databases, where we aim to do an out-of-the-box implementation with more or less no customisation, we usually recommend the Zenario content management system, with its useful Datasets feature for setting up online databases.
Setting up the data management area within the website is very quick, after which we declare the fields that are needed to model the data. Once launched, Zenario provides a data management area inside its Organizer back-office system.
This allows the customer administrators to create data records via the web browser, edit, and delete them. There are helpful search mechanisms and different ways of listing the data.
It is easy to add images to data records, and if need be to relate a record with a full HTML page of description.
For bulk data work, there is an Import function to pull in data from a CSV or Excel file, and there is an Export function too. These are handy when there is a large amount of data to pull in, or sharing the data with a colleague.
On the visitor front end of the website, there may be a number of interfaces, depending on the nature of the data. There may be a search interface (often this is done with Ajax-type interactions), or there may be a simple list of data records, paginated or filtered by some category.
Where data can be represented by one long list of records, it can be often be represented in a database by a single database table.
But a truer picture of the real world involves "normalising" data, and breaking it up into several tables. This increases complexity but can make management easier.
The argument for "normalisation" goes like this: let's imagine you have a database of used cars for sale. You might be tempted to enter the year of manufacture, the manufacturer, model, colour, condition and price all as text fields on each database record. What then happens when you want to search for cars with a particular brand? or a car with a certain colour that is newer than a certain year?
This problem is very hard to solve if you have one table of all-text records; but you need to normalise your data: separate years, manufacturers, models, even colours and conditions into separate tables. This makes the data cleaner, easier to maintain, and is essential for making user-friendly search interfaces.
Space doesn't permit me to go much further into relational database design here. But it suffices to say that it's generally worth putting a little thought into the design of the online database before plunging in for the quickest implementation. The requirement should be discussed with a database designer, and an accurate model of the data should be developed.
Scaling up ought not be painful. If your site or its database are slow to use, something is wrong!
A good database should be capable of handling tens or even hundreds of thousands of records, and hundreds of simultaneous users.
At Tribal we have considerable experience of designing relational databases, always with an eye on scalability. We consider not just the size needed for today, but for tomorrow and the day after.
Our team built the International Camellia Register for the ICS.
This has a back-end administration area in which over 20,000 species of camellia flowers are managed, many with images.
The visitor interface has a simple, fast search, with the ability to filter results. A user can click through a result to see the full information.
The full view pages are also merged into the site's sitemap.xml file, so that the results can be easily found on search engines, and sites like Google Images.
Thinking about a website design from Tribal? Give us a call today, we'd be pleased to meet you.