Lesson 4 | Application approach to database design |
Objective | Describe the application approach to DB Design |
The Application Approach to Database Design: An Analytical Overview
Database design is a crucial process for any organization aiming to store, process, and manage data effectively. It involves the creation of a structured and organized data model that represents real-world entities and relationships. One of the most prominent methodologies employed in designing databases is the application approach, which emphasizes the requirements of the applications that will interact with the database. This analytical overview provides a comprehensive understanding of the application approach to database design and its significance in the data management domain.
- The Application-Centric Perspective: The application approach to database design adopts an application-centric perspective, focusing on the specific needs and requirements of the applications that will access the database. This perspective ensures that the design process prioritizes the end-users' needs and the system's intended functionality. By doing so, it increases the likelihood that the resulting database will efficiently serve its purpose and enhance overall system performance.
- Analyzing Application Requirements:
A critical aspect of the application approach is analyzing the application requirements, which involves understanding the data retrieval and manipulation needs of the application. This analysis involves identifying the essential entities, attributes, and relationships, as well as the constraints and performance criteria. Consequently, the design process takes into account the necessary data structures, indexing strategies, and access patterns to optimize database performance.
- Designing for Scalability and Flexibility:
An essential benefit of the application approach to database design is its ability to promote scalability and flexibility. By focusing on application needs, this approach facilitates the creation of a database that can accommodate evolving requirements and adapt to changes in business processes, user needs, and technological advancements. This adaptability is critical in today's rapidly changing business landscape, where organizations must be agile and responsive to maintain a competitive edge.
- Enhancing Performance and Maintainability:
The application approach also contributes to the enhancement of database performance and maintainability. By designing the database to meet specific application requirements, this approach ensures that the database is optimized for efficient data retrieval and manipulation. Moreover, this approach can lead to cleaner, more concise database schemas that are easier to maintain, troubleshoot, and update as needed.
- Challenges and Limitations: Despite its advantages, the application approach to database design is not without challenges and limitations. For instance, this approach might not be suitable for situations where multiple applications share a database with diverse requirements. In such cases, designing the database to cater to the needs of one application could lead to inefficiencies or incompatibilities with other applications. Additionally, the application approach may result in over-optimization, making it challenging to adapt the database to new requirements or technologies.
The application approach to database design is a powerful methodology that prioritizes the needs of the applications interacting with the database. This approach promotes scalability, flexibility, performance, and maintainability while ensuring that the database serves its intended purpose effectively. However, it is crucial to recognize the potential challenges and limitations associated with this approach and evaluate its suitability based on the specific context of an organization's data management needs.
Second Approach to Database Design
The second approach to database design is to focus on the application in which the data will be stored and viewed. This approach is often used when data must be presented in a specific format. Designers create complex applications (or use pre-existing applications) to present and organize the data.
- Bottom-up Design: The application approach is a bottom-up design because it focuses primarily on how data will be viewed (either on screen or in reports or other special documents) and only secondarily on how it will be organized. In other words, the database is designed to fit the application. Although the application approach is useful in some situations, the subject approach to database design is the most common and the one on which this course focuses.
- Top-down versus Bottom-up Database Design: There are two approaches for developing any database, the top-down method and the bottom-up method.
While these approaches appear radically different, they share the common goal of uniting a system by describing all of the interaction between the processes. Let's examine each approach:
- Top-down Strategy: The top-down method starts from the general and moves to the specific. Basically, you start with a general idea of what is needed for the system and then ask the end-users what data they need to store. The analyst will then work with the users to determine what data should be kept in the database. Using the top-down method requires that the analyst has a detailed understanding of the system. The top-down method also can have shortcomings. In some cases, top-down design can lead to unsatisfactory results because the analyst and end-users can miss something that is important and is necessary for the system.
- Bottom-up Methodology: The bottom-up approach begins with the specific details of the project and moves up to the general. To begin a bottom-up design, the system analyst will inspect all the interfaces that the system has, checking reports, screens, and forms. The analyst will work backwards through the system to determine what data should be stored in the database based on the analysis of the front end.
To understand the differences between these approaches, let us consider some jobs that are bottom-up in nature.
In statistical analysis, analysts are taught to take a sample from a small population and then infer the results to the overall population.
Physicians are also trained in the bottom-up approach because doctors examine specific symptoms and then determine the general disease that causes the symptoms. An example of occupations that require the top-down approach include project management and engineering tasks where the overall requirements must be specified before the detail can be understood. For example, a car manufacturer must follow a top-down approach to meet the overall specifications for the car. If a car has the requirement that it should cost less than 17,000 dollars, get 29 miles per gallon, and seat 7 people, then those are the requirements that need to be modeled. In order to meet these requirements the designers must start by creating a specification document and then drilling down to meet these Project Requirements.
The analyst must talk and work with the users to determine what is important to the users and as a result determine what data should be stored in the database. What the analyst usually does is create some prototype reports, screens, and forms to help the users visualize what the system will look like and how the system will work.
The next lesson examines the overall architecture of databases.