Database design is the process of producing a detailed data model of a database. This logical data model contains all the needed logical and physical design choices and physical storage parameters needed to generate a design in a data definition language, which can then be used to create a database.
Databases have change a lot over time. From an IT perspective we had the Punch Cards, Paper Data Reels, Data Drums, File systems, Database Management Systems (DBMS), Relational Databases and todays modern variants SQL and NoSQL.
At Computer Craft we started in the File system era, where we found ourselves storing data structures on cassette tape. When the relation database arrived, it quickly became the de-facto data repository to use. We deployed a awful lot of data storage on Ashton-Tate's dBase. In those days data storage costs was at a premium and every byte counted. The smaller the record (row) size, the more efficient the table would be.
Today our database of choice is MS SQL Server, but sometime we need to consider other solutions because they may be more appropriate for job at hand.
These days nearly everyone can design a data structure. A spreadsheet is a prime example. In most instances the spreadsheet concept proves to be quite adequate, but as time moves on the solution becomes complex, prone to human error, does not integrate with other systems, the output is not flexible and sometimes it is difficult to share such solution with other people in the office. When users experience these factors one realises that Spreadsheet systems aren’t as cost effective as you may think?
Database design is the organisation of data according to a database model. You need to determine the data to be stored and how best to store it. Determine data relationships and logically structure the data.
Computer Craft have been practicing database design for a very long time.