Database design can be fairly easy or it can be extremely intricate and complex. We’ve designed an introductory series discussing database design, its concepts, and steps you don’t want to skip for optimal performance.
Intro to Database Design
Welcome to our “Intro to Database Design” series! In this first article, our goal is simply to cover the basics. While you may know much or all of this information, let’s consider it a review. Since this is an introduction, it seems best to start from the beginning. As the series progresses, we will begin covering more complex concepts. To fast forward to read Designing a Database for Better Performance, click here.
Before discussing designing a database, we should first define what a database is and why they are helpful. In short, a database is a collection of data that is electronically stored, accessed, and organized according to the user’s needs. Whether it’s a list of registrants, transactions, order numbers, usernames, passwords, emails, or any other attribute, the possibilities are unlimited; a well-designed database quickly makes retrieving data a seamless process. A smaller business may have a manual process for maintaining such data. However, a much more efficient and time-effective method becomes necessary as companies grow.
The next step up from the old-fashioned paper and pen method of storing data is a spreadsheet. While spreadsheets can be useful, they do have their limitations. With a spreadsheet, each user who has access to the sheet will also have access to all the data stored on the sheet. It’s an all-or-nothing type of system with no levels for the safety and security of the data. Additionally, spreadsheets can be a challenge to view if there is a massive amount of data to comb through. For example, let’s say a business owner is interested in compiling a list of all employees who have worked for the company for more than five years, work more than 20 hours each week, and live within a five-mile radius. The company has over 300 employees. It may take a person hours, if not days, to sort through the hire dates of every single employee of the company along with each person’s last name. The task would be lengthy and tedious, which brings us to a database.
A well-designed database takes a tedious task like the one above and turns it into a speedy and efficient process that allows users to use their time more productively. With a database, handwritten logs that could get lost or damaged would no longer serve a purpose. And unlike spreadsheets, databases are capable of providing different views to each user, offering significantly more security. While the company owner may have access to all data related to every employee, such as the person’s name, address, phone number, and other personal data, his or her assistant may not. A person sending out a company document to each employee via email may only need the name and email address of the employees to complete the task. Databases can selectively choose which columns can be viewed and choose which user may access what information. It’s taking complexity and making it easy.
So what is database design? It uses a specific set of skills to build a fully functional database that meets the needs of its users, keeping data integrity and data security at the forefront. It’s a method of organizing multiple sets of information and managing that data in the most efficient ways that will optimize performance. The best database designs keep data current, have no integrity issues, and are free from anomalies and other problems related to poor construction, such as broken links, etc.
In the next article of the series, Designing a Database for Better Performance,” we discuss the six steps involved in designing a database. We cover topics such as conceptual, logical, and physical schemas, schema refinement, as well as applications, and security design.
For database design inquiries, contact one of our expert DBAs at (610)783-0600, or visit us online at Aspect.