Research and provide scenarios and or realworld examples of
Research and provide scenarios and / or real-world examples of database design contrasting top-down vs. bottom-up and centralized vs. decentralized database design. For each example / scenario you identified, discuss which design approach is used and why. Then, briefly describe your final project and tell your classmates which strategy (op-down vs. bottom-up) you used and why. Would you change your design strategy if possible
Solution
We need to consider below point while designing any database
How we are managing and saving our data effectively based on User views. There are two approaches for this
Let us discuss each in detail
Top-down design: In this approach first we identify data sets and then the data elements for those data sets.
In general words, first you start with
What is needed for the system and then work your way down to the more specific details of how the system will interact.
Example: For example, an automobile manufacturer must follow a top-down approach to meet the overall specifications for the car. If a car has the requirement that it cost less than $20,000, gets 35 KMPH, and seating five people.
Here we have identified data sets like costs, KMPH and then in costs data sets below attribute will come
Seating capacity, if seating capacity increases our cost also will increase like that
In order to meet these requirements the designers must start by creating a specification document (Data sets) and then drilling down (attributes) to meet these requirements.
Bottom-up design: In this approach first we identifies the data elements first and then groups them together in data sets.
In this design, we will start with details of the system (attributes) and then we group them together into data sets.
For example, if you went to a hospital for checkup, first doctor will examine specific symptoms and then infer the general disease that causes the symptoms.
The above two approaches/designs (bottom-up and top-down) to database design can be influenced by so many factors like
Depending on such above factors, the design of the database might use two very different approaches, centralized design and decentralized design.
Centralized design:
It is typically a simple or small database, It can be successfully operated by small design team or a single person. This person or team will define the problems, create the conceptual design, verify the conceptual design by considering user views, and define system processes and data constraints to ensure that the design complies with the organizations/company goals.
The centralized design is not limited to small companies. Large companies can also operate within the simple database environment.
Decentralized design:
In large and complex projects, single person cannot handle the entire design. Instead, a selected team of database designers is selected to handle a complex database project.
Within the decentralized design framework, the database design task is divided into several modules. Once the design criteria have been established, the lead designer assigns design modules to design groups within the team. Each design group creates a conceptual data model corresponding to the subset given.
Each conceptual model is then verified individually against by considering user views, processes, and constraints for each of the modules. After the verification process has been completed, all modules are integrated into one conceptual model.
Let us take a simple example to understand these design rules.
If you have to design a Database for school, what are all the possible scenarios might come?
First concentrate on the main modules like Class,Grade,Subject,Contact Info,Person
If we start with person, that person can be Student / Teacher or Admin Staff, so in Person Data set, we need these three attributes.
Next if that person is Student/Teacher, school database should have details of their address and contact number so these attribute comes under Contact Info dataset.
Here centralized database design is sufficient. One person can design the school database.
Now Consider a scenario where the same School have branches in all our country, we need to maintain all those details. Then we might need to add few more data sets like School Location, Branch code etc.,
If you want to get a report of the student of Class 10th in school XYZ with branch code ABC, then to get that report it will take more time as all branches details are stored in a centralized Database.
If some technical problem occurred then chance of failure and data lost is very high in centralized database.
So if we go for Decentralized database design, based on the functionality we can divide the database into groups/modules and each module separately organized by a team.
For example: if we need to maintain a company database, It is recommended to go for Decentralized design.
we can divide/partition the data into Admin,HR,Finance and if any data lost occur in one of the modules then other module/Partition data will remain safe and loss also very less when compared with Centralized design.
Online tutorial web site Data Base Design Example
We need login (Data set) details, for that we need user registration dataset.
If we need to start with Registration data set what are all the attributes we need are Username,EmailID,Contact Number and Password.
Hence by using Top Down approach we have successfully designed the login user Details database.
But for the same database, we can also go for Bottom-up approach if we want to change our design strategy. Web login user Details database, we need Username, EmailID,Contact Number and Password. so all these attributes come under User Registration data Set.

