A relational database (not to be confused with a contacts database) is a system designed to reliably store and report on a range of data which can cover anything from financial data to club records, to records of production processes. You probably interact with database software every day without realising it. Systems like Trademe, Xero, Facebook, are all built on underlying database systems. Create IT develops database applications using a number of different systems depending on requirements.
Why have a database?
A lot of people start off storing data in Excel because that's what they have on hand. Excel is a great analysis tool, but a terrible data storage tool. For example if you accidentally type text into a column that should have a date, Excel can't easily stop you, and quite often you may find yourself entering the same data over and over instead of accessing it from a secondary lookup table. Excel also isn't suitable for multiple people changing the same data at the same time. A proper database system ensures you can only enter the right type of data in the right place, and can check to make sure you don't leave any blanks that should hold a value. It can allow multiple users simultaneously, and give different users access to only the information they should be allowed to access.
The Database Development Process
Developing a database first involves defining what data needs to be stored and how it should be organised. After that, a user interface 'UI' needs to be designed so that non-technical people can easily enter data. Finally, reports need to be created so that the data can be easily analysed and interpreted, and maybe exported to apps like Excel for further analysis. The first stage often involves meeting face to face, and learning about the processes that need to be recorded, before anything is even done on a computer. As systems develop, it's inevitable that new ideas and changes will crop up, so database development can be an ongoing process, especially as businesses evolve.
For Windows desktop and laptop use with only one or a handful of users we usually create Microsoft Access applications, however for larger projects we use a combination of Access and Microsoft SQL Server.
Microsoft SQL Server
Microsoft SQL Server is our preferrred system to deliver scaleable multi-user database solutions both hosted on-premises and in the cloud. We can develop both desktop based SQL Databases using Microsoft Access as a front-end to provide full integration with Microsoft Office, or web based access.
For cloud based data, we use SQL Azure to enable access anywhere.
Although Microsoft SQL Server is a very robust database system that can easily scale from small relatively low cost applications up to massive enterprise systems, it can sometimes be overkill. mySQL has a smaller feature set, but it is still substantially more capable than Microsoft Access, and it is extremely popular as a web database platform, powering everything from Wordpress to Magento, and can easily be used to create custom database solutions.
For cloud based databases we use mySQL for smaller projects or SQL Azure or Postgresql for more complex projects that demand greater scaleability.
We have a considerable amount of experience integrating offline databases with web applications and developing data enabled web applications.
Generally, we charge on a per hour basis, but we will also negotiate a per project rate.
Where the development costs of a project would be prohibitive, but the capabilities of the database application would have multiple uses, we are able develop on a licencing basis. In this case, all rights to the application remain with Create IT, and the end user is licenced to use, but not copy, their version of the software.
- Tracking database for suspicious events with respect to fisheries infringement. Tracks location, events, and the outcome of any prosecution.
- A shipping database for a barge company. The system was designed to track sailings and freight carried, as well as specialised data for a client who operated salmon farms.
- An invoicing and job tracking system used internally by Create IT. This system is able to track products, customers, create invoices, and import data from a variety of suppliers to maintain product prices.
- A club competition database for a camera club to track members, competitions, entries and results.
- Cloud database for a large industry organisation to track compliance, membership and more.
- Production database for grape nursery to manage all stages of production from collecting prunings to dispatching grafted plants to customers.