Many developers begin their data modeling by thinking about the physical database, and structuring their data by building tables and fields, and assigning data types and keys. In other terms, they tend to start designing immediately based on their assumptions about the objects that must be tracked in persistent storage. However, as you have seen in this unit, and in the following unit, we learn to analyze the data needs first, irrespective of the physical database designs (which we learn about later). What do you think about this? Are there scenarios where this formal data analysis is not needed, or is this never the case? What are some of the risks to a project that bypasses this formal analysis, and moves directly to the design?
Reader Interactions
Comments
Leave a Reply
You must be logged in to post a comment.
I feel that moving straight to design once hearing the general requirements and viewing the data is not the most efficient way to handle this scenario. Doing this would be moving to finding/building a solution even before the problem has been fully established. This could waste time because if components from the data were missed during the design phase, time would be spend re-designing. Instead of this, if the data had been fully analyzed before any design had begun, more components would have been identified and considered so re-design would not be necessary.
Some risks of bypassing formal analyses include loss of productivity and potentially missing requirements.
Thank you for your sharing. Like you said, if the organization does not analyze the data before making the database, it will cost their time due to the low work efficiency. In the same time, it will also cost their money to re-do the whole processes.
You are quite right Ami, In the end it might result in a waste of time and resources if components were found missing during the design phase and they had to redesign. i’m sure there might be circumstances where there are no glitches with moving straight to the design phase, but why take the risk ?
I totally agree with your point that to directly design the database without an analysis would be ineffective. It will result in more errors, such as you mentioned missing components and potentially result in higher costs to deal with these errors.
Hi Ami,
Great idea identifying the risk of not meeting the requirements. I think this is very viable since prior analysis will easily mitigate this risk. Thanks!
Hi Ami,
I agree with your opinion. Directly conduct physical design without full data need analysis is not the most effective way and may involve mistakes which negatively impact whole project or organization.
I agree with your point of view, the first analysis will save time and reduce the probability of errors, and reduce costs.
Hi Ami,
I agree and I believe that moving straight to design prior to analyzing the system is irresponsible and will waist time and increase cost. Not to mention it’s a true recipe for failure.
For an organization, it is important to analyze the needs of data before designing a physical database. The data should be in the right format. When the data is transformed to the new database, it is important to match the format, semantic, and. arithmetic. The data integrity should be ensured when the organization change a new database system.
The risks of moving data directly to a new database are that if the format is not match between both old and new database, the data integrity will be impacted. The organization will lose the data, such as customer and order information. In addition, the relationship of data will be affected. It causes low efficiency of working.
However, there is a scenario that people do not care about the format of data which is big data. Big data is mix different formats of complicated data, such as video and voice. This is the data people cannot use traditional software to analyze.
Thank you for your sharing. I agree with your idea about the scenario about the mix data. Yes, like you said, we can easily analyze the words and numbers, but it is hard for us to analyze the video and voice.
Hello Xinteng,
Thank you for your sharing you mentioned an important technology Big Data, which included tons of different information, some can even be real-times. And new analysis technology must be conducted as well.
Ensure data in the right format is one of important elements before analyzing and designing physical database. The way will protect the integrity of the data and consistence of information transferred. By adding your point, the data analysis will increase work efficiency of the designing phase by providing correct direction.
A new database will definitely require data integrity. It would be in the company’s best interest to put in time to actually establish this database instead of going straight into a solution.
I like how you mentioned the big data example for a time where data may not need analysis before database design. This is something I had not considered but is logical. I also agree, when moving to a new system, integrity may be lost if data is lost.
You bring up a great point that people do not care about the format with big data. While you have the ability to put data of any type into a NoSQL repository, I think the process of making sense of those complicated mixes of information and producing something useful from it counts as a form of formal data analysis as well.
Hello, Xinteng, Thank you for sharing your view. I agree with you if the company directly transfer the data to database, it will cost the company lose the data. because during this process. it may have many risk we can not control.
Thank you Xinteng, you brought up a fresh idea of the scenario to me. I did some research online and tried to figure out what scenario doesn’t require the data modeling techniques, but I didn’t find one. Thank you for you sharing,
Hi Xinteng,
You raise an excellent point and I agree. Not analyzing the needs of the data before designing the physical database will directly impact the integrity of the data and can be risky. In turn causing loss of data and efficiency as well as a possible loss in revenue.
Data modeling not only creates the structure for how data will locate but also defines labels and relationships between tables and forms, which determines how your data can be used and accessed. Bypasses the formal data analysis and moves directly to the design can lead some risks, such as losing data integrity and leading errors in data and applications. These risks will impact on cost and work efficiency during the database development.
There are some benefits that finish the data modeling before designing the physical database:
— Fewer errors
—Clearer scope
—Improve development quality
—Better help to mitigate risks
—Reduce the costs
Hi Dongjie,
Thank you for sharing your thought on data. I agree you mentioned the risks and benefits of processes in the data modeling.
I agree with you, because risks are always the first things people consider. People should evaluate the risks before designing the database. It is good for people to allocate resources in controlling the risks. It lower the costs and mitigate the risks.
Hi Dongjie,
Great job listing out the benefits of formal analysis. It is clear and very easy to follow. Kudos!
Hello Dongjie,
I really agree with you on the idea that critical point that the data faces risks during the passes and transits. The integrates of the data in storage and transit are equally important.
Thank you
Well said, Dongjie
I agree with you that bypassing the formal data analysis will lead to data integrity issues, increase the chance of errors, and result in higher costs and inefficient work process.
Great Job Wang, understanding the data modeling first before the design will lead to clearer scope, fewer errors, improved performance and many more.
I agree with your idea. Lacking of data integrity due to unmatched data format may result unnecessary cost and waste for the organization which may lower performance and cause inefficiency.
Hello Dongjie, you bring up some interesting point that if the company move the data directly to database would cause some risks, such as losing data integrity and leading errors in data and applications. These risks will impact on cost and work efficiency during the database development.
Hi Dongie,
I agree with your statement about data modeling not only creating the structure of the data but also with the data will be located. Skipping the data modeling process and going straight to production is risky and can lead to system failures.
I agree with you. Bypassing formal data analysis and moving directly into the design can lead to risks such as loss of data integrity and errors in data and applications. These risks will affect the cost and work efficiency during database development.
Analyzing the data needs before designing the physical database is important. A formal data analysis will deepen the understanding of business objectives and direction. Based on the understanding, the database can be designed to better fit business needs. The way will also increase the effectiveness of the designing. The insight gained through the data analysis may help in decision-making processes during the designing phase, such as data type choosing, normalization and denormalization process.
If bypassing the formal analysis may result in a wrong design direction, ineffective design processes, higher chance of errors and inconsistencies (potential higher costs).
I agree with you,because pay attention to the formal analysis will give a direction to database design. The direction based on different format, semantic, and. arithmetic. It protects the integrity of data when transform the data from old database.
Hi Jing,
I agree with you. Analyzing let people understand things well and deeper. Moreover, data is not a simple thing, the database needs to be understood over and over again, No analyzing, no result.
Thank you for your sharing. I really like what your mentioned about the business objectives and direction. You are right, the goal for the organization to design the database is to support business, so we should make it has the same direction with the business goal.
Hi Jing
That’s very true, Your point about how the database can be designed to better fit business needs when it is well understood is a good point. You also talked about it helping in decision making process which is an Interesting point.
I agree with you. Data analysis helps a lot in decision-making process by avoiding unnecessary cost and waste, save time and resources, and improve efficiency and performance. Data analysis before physical database design is important for effective database development.
Hello Jing,
Nice opinion, you made a good explanation on the importance of data needs analysis conducted before the physical database designing.
Thank you
I agree with your point of view. Doing a good job of data analysis can better meet the needs of the business. It can also avoid mistakes and save costs.
Great point. In my opinion, the way that the developers start designing immediately based on their assumption about the objects that must be tracked in persistent storage is not appropriate and efficient.
I agree with you. Formal data analysis will deepen understanding of business goals and direction. Based on this understanding, databases can be designed to better meet business needs.
I believe formal data analysis is always needed. Just like pieces of a puzzle the system development needs to put all the little pieces together to have a functional system that meets the needs of the organization. There is a need to collect the system requirements, what problem is the system addressing, what are the critical tasks that the system must do. It would not make sense to do the design without an understanding of the business processes. You need to understand the data dependencies and relationships between data, the process flows, how data is stored, and the rules for data processing. The design is just a model what was identified at the data analysis stage.
Not following a formal data analysis poses a risk of the programmer making a poor design of the system resulting in an inefficient system that does not function correctly, resulting in user frustration and more resources might have to be deployed to try and fix the system.
Understanding a business need is quite essential for any enterprise before operating its business. With an appropriate developing path, everybody in this company can work toward the same target, so it would improve the work efficiency greatly. This principle should be applied to the data modeling either. With a formal data analysis, software developers and programmers can have a comprehensive understanding of the use and purpose of this database, and it can save time and money for the company on planning and design phase greatly.
Well said, Karabo.
The development of the system must address the business needs. No formal analysis of the data, no correct understanding of the business, and no effective design.
Formal data analysis will definitely reduce resource needs. I can definitely see frustrated user who ask for fixes due to bad planning. Going straight into the solution can prove costly.
I agree as the data model represents certain types of business rules that govern how the system will meets the needs of the organization. These business rules will ideally be enforced through the database and database management system for the system or application being designed.
Hello Karabo, I agree with you that we should understand the data dependencies and relationships between data, the process flows, how data is stored, and the rules for data processing.
It is true that the lack of data analysis will lead to inefficient operation and there is no way to achieve the most efficient operation system. This has a great impact on the development of the system.
Great explanation, Karabo! You do a great job making point by using an example of a puzzle. The entire of puzzle is not possible without having all the pieces together. Hence, it is important to first to conduct a formal data analysis.
When developers move straight to design of the physical database in the data modeling process, they increase the risk of creating gaps in how and what data should be stored which is critical when analyzing requirements. Data comes in many forms and types and is really specific to what the business is trying to achieve from a value perspective. With that being said, moving straight to design will almost always cause rework in the end and increase time estimates for specific initiatives/projects. Some data is considered personally identifiable and needs to be encrypted when being transferred to the database server. It needs to be stored in a format which is difficult for a hacker to see easily. In terms of maintenance, there might be data such as account information that needs to be updated daily via a batch process. For this, certain columns of a database need to be updated. There is some data which is dependent on other business processes and needs to be updated at certain times. Data transmission from one system to another needs to be determined and in what format the transmission will occur. All of these things are done in the analysis phase. While developers may know how the physical design of the database will be through experience, the workings of how data interacts with other processes can only be done through a thorough analysis of what data is available and needed to add value to a specific process.
Business objectives are definitely the first to consider, the value perspective of data is essential factor of achieving those objectives. The design failure will resulting useless data analysis and inefficient business process. It is true that designers use their experience in database design that ignore the diversity interaction of data and important business process.
Faruqi,
Thanks for the explanation – Even if the developers are able to build the physical design of the database through experience, the workings of how data interacts with other processes can only be done through a thorough analysis of what data is available and needed to add value to a specific process. Working on assumptions will have its negative consequences.
Rework is definitely something to consider. People will start to get ahead of themselves and miss some things when everything is not planned out. It is best to actually understand what you are getting into.
Hi Faruqi
I read your entire comment and it seems right well thought of. Like Ugo highlighted the working of how data interacts with other processes can only be done throught a throughout analysis, no matter the amount of experience ones may have in the field. Assuming how the data works will surely increase the risks of errors. Thanks for sharing
You did a great job pinpointing examples of the different forms of consideration that must be taken into account during the analysis phase. Things like structural information about data are just as essential. Data analysis helps to map the conceptual data requirements for a particular system.
Data is always flexible. Regardless the detailed analysis of data before the database design will result in ineffective work.
Data is the main actor, while database is assistance for it. If designers start modeling physical database and then arrange the data based on physical structure, the original identity and feature of data may be adjusted. Also, if the data can not be assigned to designed database properly, another database may need to fulfill the requirement, which is extra work that can be avoid if formal analysis of data is conduct before the design.
The design of the database supposed to rely on the data it will store and make adjustments of the structure based on type of data, so that the accuracy and effectiveness of data can be guaranteed.
Hi Xiaozhou,
You explained very well on data and database. The database is “a structured set of data held in a computer, especially one that is accessible in various ways”. People create the database after the data, so the first step is to understand what the data from, and what people want to show from the data.
Good explanation, xiaozhou. As you mention, if the data cannot be assigned to the appropriate database at the very beginning of building a database, there will be extra work for another database to handle that. Also, comparing with adjusting the data in the future, I believe most enterprises would like to assign an appropriate identity and feature to the data at the beginning. Therefore, performing a formal data analysis can not only improve the work efficiency but also save different kinds of resources for an organization.
Hi Xiaozhou,
I like your idea which you explained very clear and straightforward. I agree with you that without detailed analysis of data before database design will result inefficiency and extra work that cost extra time or resources to finish. So, detailed data analysis is important to design physical database to avoid unnecessary waste and improve efficiency.
Hello Xiaozhou,
Can’t agree more on your support points toward the importance of finding the correct directions of data need analysis before database designing. Nice job.
Thank you
Well said Hana,
I love the points you mentioned data is the main actor and the database is assistance for data. The reason that database existing is for helping organizations to better use and secure their data. The structure of database should be compliance with the detail of data.
Your point of referring to data as the main actor is very well put. When using data in that context, and describing the database as the assistant, it really puts in perspective the natural flow of process between the two. Like you, it seems only natural to me that data is primary and the build of database is secondary.
I think to analyze the data needs is necessary to be put in the first step than designing the physical database. Once you think about the macro frame of the data modeling, you may think about the risks, the logic of tasks, the control activities and so on. If you begin the data modeling by the physical database directly, you may also find out these risks, the logic of tasks, but you cannot find them all at the beginning of the time. You need to fix the modeling again and again once you find out the deficiency, which wastes your time to finish the modeling. When you want to edit or add something new in one step, the other steps may need to be fixed at the same time. Overall, the data needs like a blueprint for the data modeling.
I agree with you, because it is important to focus on risks and controls on database. Before designing a database, the risks should be evaluated. Controls should be figured out by allocating resources reasonably.
The macro frame involving risks is key in this. One needs to be able to identify what is the most effective means of carrying out this project. When you can understand what you are doing you will be successful.
You bring up a good point that any issue found will need to be corrected anyway. However, the later you find these steps, the more effort it will require to fix them. The definition, structure, and relationships
within the data are some of the most complex aspects of many modern information systems so additional time should be taken upfront to understand them.
Well said. the risks that a project bypasses the formal analysis maybe a data leaks, deployment failures, the abuse of database features, hopscotch, broken databases, so and so forth.
IMPORTANCE OF ANALYZING DATA NEEDS
Data analysis can be described as the process of inspecting, purging, reviewing, transforming and modeling data with the aim of discovering useful information, developing business processes and supporting decision-making. Before you can design a database that accurately classifies your data, it is important to have an in-depth understanding of your data types and descriptors, especially when the data is drawn from numerous sources. It is how you arrive at interoperability in an environment that involves many systems and many sources of data.
Analyzing your data before embarking on the physical design provides the following benefits:
1. Clear Understanding of the Business – the process of data analysis requires that you and your team understand in details how the business works in order to define the data that drives it. To build a customer database, you need to understand what data is gathered on customers and how it is used. In summary, analyzing data provides the foundation required to develop the business processes. It helps you spot business trends, spending patterns, and make predictions that may help your business navigate challenges and harness opportunities.
2. Integrating Existing Information System – Analyzing your data before the physical design will help in integrating existing information systems. Some businesses find themselves in the position of having data in a variety of systems that do not communicate with each other. Analyzing the data needs first, helps you identify redundancies, relationships, resolve discrepancies, and integrate various systems to achieve the business objectives.
3. Designing Efficient Databases & Repositories – Analyzing the data is very critical in designing a well-functioning database. Having a clear understanding of your data can help you drive better decision about data warehouse and repositories. It helps you understand what the business needs – either a relational database or NoSQL database.
This is a great breakdown of why data needs to be analyzed. You are very correct that you need to understand what data is gathered on customers and how it is used in order to build a customer database, and analyzing this data provides the foundation required to develop the business processes. so going directly to the design phase without first understanding how this data works is like putting the cart before the horse.
The importance of data analysis and befits of analyzing data before physical design are well explained.
The idea of integration is fairly important for information system management , in terms of financial cost and time allocation. It is a great way to avoid redundancy and extra cost.
Thank you for explaining at length the need for data analysis. As you rightly said data analysis helps collect the requirements. Before you can even think about designing the system you need to know the purpose the system will serve. You also need to identify the entities that will interact with this system. You mentioned data repositories, there is a need to know the data stores. Identify sources of the data and will and where it will be stored. During the data analysis stage, you can determine under which conditions should the different sets of data be processed. As the data is analyzed it is also checked for duplicates and errors resulting in an efficient system that brings value to the business.
Ugo,
I like how listed and explained the importance of data analysis in the designing of a project. I think this is well-defined and a great contribution to the posed question. Thank you.
I like your points on why analyzing data is important and how it benefits the physical design. I have the same opinion as you that analyzing will deepen the understanding of the business which will be an important consideration in effectively designing a database.
It is important for an organization to analyze the key data before designing a physical database. In order to get the result we want, we need to match the format, semantic, and. arithmetic with the database when transferred data.
If we do not analyze data before designing a new database, it will affect the data integrity which will make the low efficiency of working. If we analyze data before designing a new database, it will help organization to reduce errors, reduce costs, increase integrity.
The only situation we do not need to analyze the data before designing the database is the database contains many kinds of data, which we can not use our traditional method to analyze it.
Hanqing,
Great thoughts in regards to the impact of non-analysis on data integrity. As auditors, we know how important the integrity of data is so it is quite imperative to always make that connection. Thanks!
I can definitely see that data integrity is a factor that is affected by skipping to design. The solution may be difficult to use as there isn’t a full plan out there.
I agree with you. Organizations should definitely analyze data before database design to reduce costs and errors. How do you think it will increase integrity? Can you explain this further?
Yes, I definitely agree with Hanqing’s view that it will affect the data integrity if we create a new database before analyzing data, which may cause low efficiency of working. but If we analyze data before designing a new database, it will help organization to reduce errors, reduce costs, increase integrity.
Nice point. The data integrity is really important. In most companies, there are areas where important business decisions are routinely made based on data.
I agree with you. If we do not analyze the data before designing a new database, it will affect data integrity and reduce work efficiency. If we analyze the data before designing a new database, it will help the organization to reduce errors, reduce costs, and improve integrity.
From my perspective, the data needs of a project should be analyzed irrespective of physical database design before beginning design. In doing this, time, productivity, and efficiency is maximized in the project. This is because the project will be fully analyzed and understood before the design is performed reducing the chances of surprises in the process. If there happen to be any surprises, as a result of the prior analysis, these discoveries can be easily addressed and mitigated compared to discovering them with prior knowledge of the data needs.
Despite the need to perform an analysis prior to designing a project, I believe the duration and resources needed to conduct this analysis does indeed vary depending on the project team’s prior knowledge of the needs of the project. Hence, if a sufficient amount of information is known, the analysis might be extremely brief. On the other hand, if very little is known – the longer it will take to analyze.
Some possible risks a project that bypasses formal analysis will face include:
– Poor performance
– Longer Duration
– Lower Efficiency
– Higher Costs
I agree with you; formal data analysis ensures a well-designed data model and provides value to the organization. The value is minimized redundancy, maximized data integrity, increased stability, better data sharing, increased consistency, more timely access to data, and better usability. A data model, in and of itself is inadequate you need to do data analysis to gather requirements for the designs.
Derrick
I agree with your point too. Formal data analysis brings value to the organisation. It minimizes risks of errors and increase the data integrity, as well as a better data management in general. Data analysis is required in the data handling process
I think pointing out the cost was very smart. The ultimate goal of the database/software design is to design an efficient piece of a programme with least errors and cost-efficient.
– Poor performance
– Longer Duration
– Lower Efficiency
– Higher Costs
This is a good point! Thank you for sharing your opinion. Appreciate!
Excellent points Derrick. Poor performance and low efficiency are two points that are very interesting to consider. I think both are reminders of the fundamental importance of making proper analyses a first step rather than a step to be conducted after a project is being moved through the building stage.
For most scenarios, performing a formal data analysis is necessary before designing and constructing a physical database. The most important thing is that by conducting a formal data analysis, an organization would be able to define the importance of these data and determine an appropriate level of security measures to protect them based on their importance. In other words, we will not spend too much money and resources to protect some particular databases that do not store any important data and information. Therefore, if we would like to understand the importance of data, conducting a formal data analysis is quite critical.
Some risks to a project that bypasses a formal data analysis could include a waste of both time and money on design and planning phase of data modeling. Also, it may affect the efficiency and effectiveness of the company’s daily operation without an appropriate data analysis process.
Yijiang,
I agree with your point the effectiveness and efficiency of the project deteriorating as a result of no formal analysis. However, this also leaves me to wonder – what if the scope of the project does not require an analysis?
Derrick
To me I feel like that would be only if all the requirements are already clearly defined and therefore would require none to a minimum analysis. But despite that I feel like the Use of the formal data analysis method would still be better to use, just to be cautious.
Yijiang,
Great point. I like the comment about the efficiency of the work decreasing due to the use of non formal analysis. Like Derrick said that was a great point.
Reply
Hi Yijiang,
You are right, not following a formal data analysis could lead to waste of resources, time, low productivity, and a misalignment with the entire business goals and objectives.
Good post. Most importantly, by conducting formal data analysis, the organization will be able to define the importance of these data and determine the appropriate level of security measures based on their importance.
To me the data design approach is not the most effective way to handle data. Instead doing so would be like trying to find a solution without first knowing that the problem is which would completely waste time. The project needs to be fully analyzed before the design starts which will lower the chances of risks. In the instance of any risk appearing during the project despite the throughout analysis, they can still be easily mitigated. In other words if the data is not analysed before moving to the design phase the integrity of the data could be affected reducing efficiency. If the data is analysed before the designing of a new database, it will mitigate risks, reduce errors and costs.
We would not need to use the formal method only in the case the database contains multiple types of data that cannot be handled using the traditional method.
I have learned in previous MIS classes that it is not advantageous to begin with designing the solution. There needs to be brainstorming and planning when carrying out a project. One needs to understand the problem at hand and create a plan in order to carry out the solution. I really think that it should be used all the time, unless there is some kind of model that has already established this step. When one goes straight into design, it is hard to know the boundaries of what you are doing (scope creep). It is very helpful to have a guideline for the project.
Great point. Data modeling enhance the clear project scope and defining the project path through the design phase.
I totally agree with you! When it comes to a project, it can be detrimental to go straight to solution without fully understanding and analyzing the problem. Doing the correct steps early on can save the company money, resources, time, and heartache.
I agree on the idea of to design physical data base according to its data needs. We need to set the goals and directions correctly to make sure our walk into the right directions. I think analyzing the data needs first is a better strategy. I think all database designs must follow this rule to make the project more efficient and function well. For projects bypasses this formal analysis, they may ignore the critical functions needs, but adding unnecessary functions or having un-human-friendly interfaces and complicate the working processes.
I agree with your opinion. Before designing physical database, the detailed data analysis should be conducted to help reasonably allocate time and resources and avoid unnecessary mistakes in whole process. Analyzing the data is just like find the correct direction so that we can keep our design on the right track.
I agree with your point to design the database according to the data needs and requirements at the beginning. Just not to omit the fact that the database modeling is an iterative process and some requirements can come to play after starting the physical design.
Several interesting points here. I agree, as stated, that data analyses is most important up front. I also agree that there are things that can be added and also be of value – that may be incorporated after the build has begun or even as an update to a first draft of the project.
As mentioned in the textbook, file and database design occurs in two steps, which begins with developing a logical database model and followed by physical database design. Developing a logical database model is the process of analyzing data need. Collecting the detailed specifications of data necessary for logical database design as designing system inputs and outputs. Based on logical database design, the inputs and outputs are then used in physical design activities to specify to computer programmers, database administrators, network managers, and others regarding how to implement the new information system. From this perspective, I think the principle of analyzing data first is basic and necessary in all cases.
There are financial risks to a project that bypasses this formal analysis. Without analyzing data need, the organization is hard to clearly define what’s the benefit and risk from physical database design. It would result ignorance or overestimation for some parts or details in the process of designing. This kind of mistake may result wrong time allocation and resource waste, in other words, it increases costs for the organization and may actually hard to achieve cost-benefit balance.
Hello Yingyan,
Good summary, you made good explanations toward the definitions about logical database model and physical database design. I can’t agree more on your idea and the support points toward the necessary of analyzing data first in all cases.
Thank you
I agree that it is hard to define a cost-benefit without performing this process first. It is nearly impossible to do a thorough evaluation of how things will pan out from a cost or benefit perspective if you are not confident you know what you’re working with. As you mentioned, this often leads to ignorance or overestimation which are even more costly to organizations.
Data modeling is an essential step in the process of creating any complex software. It helps developers understand the domain and organize their work accordingly.
I like you post Yingyan. In addition, begin the data modeling before design physical database can be helpful for designing the security infrastructure for the organization because the date modeling process will provide the details and security needs for sensitive data.
Well said. during physical design, people transform the entities into tables, the instances into rows, and the attributes into columns.
Main phases of database design are data requirements collection and analysis, functional analyst, logical design (data model mapping), application program design, physical design, and operation implementation. Moving along with this path can clearly be noticed that the database design is connected with application design.
Data modeling is an iterative effort, not a workflow. Those integrations can be sprints or have longer intervals. Sometimes the iteration exists just between efforts to complete the data models, prior to generating a database. But it’s highly iterative just like software development.
Data modeling prior to the database design can have several benefits listed as follows.
– Higher database quality
– Reduce project cost
– Quicker time to design the database
– Clear scope
– Faster performance
– Better documentation
– Fewer application errors
– Fewer data errors
– Managed risks
– A good start for data mining
Hi Mahroo,
I like how you explained the idea that data modeling is not a workflow but rather an iterative process. Furthermore, the benefits you mentioned are some I had not thought of before but can see as being beneficial to companies.
Analyzing data needs help further develop the system’s requirements. These requirements are the very conditions or capability necessitated by stakeholder(s) to help solve the problem at hand or achieve the organizations objectives. Analyzing data needs help develop the behavior, attributes, and properties of the future system in a way that can understood and agreed upon by all stakeholders. Therefore, in a sense, it helps to build the business case for a system while acting as the foundation of the design process.
An organization may believe that formal data analysis is not necessary when they already have a sound understanding of what they need or ultimately due to time, budget, or resource constraints. I however believe that the risk of not performing formal data analysis far out way the benefits of skipping this step. Data analysis assist in understanding the organization for which the system is being developed so I do not believe there are scenarios where data analysis is not needed. Perhaps only scenarios where not as extensive data analysis needs to be performed
From a project perspective, bypassing this formal analysis could result in the following risks:
•Lack of communication between the stakeholders, developers, and the end user(s)
•Scope creep as there is no initial model to focus on determining the scope
•Increased cost due to failure to catch errors and oversight early on
•Lack of structural independence
•Complication during system implementation and management
•Data anomalies
•Weak documentation for long-term reference
Data modeling creates the structure your data will live in. It defines how things are labeled and organized, which determines how your data can and will be used and ultimately what story that information will tell.
Iyana,
Increased cost and data anomolies are both excellent examples of possible causes to build out a project prior to proper data analyses. Just another two excellent reasons why for most organizations, it really makes no sense to opt for a build of project as a first step. If data is inconsistent in any way as compared to expectations in that example, increased cost is almost a certainty. Great points.
It is important for individual or organization to analyzed data then creating the physical database. as the question said ” they tend to start designing immediately based on their assumptions about the objects that must be tracked in persistent storage.” every creating physical database base on their assumption. if the assumption was wrong? therefor, before creating this, we should analyze data first.
Data modeling provides a coherent framework for designing a system as opposed to some ad hoc construction of various parts with no regards to overall functionality/integrability within a larger system.
All great points here. There really are very few case examples I can think of where a build of project would be the appropriate go-to first step. And yes, its an excellent point that proper analyses provides a ‘coherent framework’ for design, rather than guessing at what the appropriate design might be. Great discussion.
I agree with you, the purpose of building a physical design of the database is to optimize performance while ensuring data integrity by avoiding unnecessary data redundancies.
Data modeling to the best of my knowledge is generally the generation of a conceptual model that describes how different types of data presented will interact within a larger model/architecture. In this sense, data modeling is very important as it provides a coherent framework for designing a system as opposed to some ad hoc construction of various parts with no regards to overall functionality/integrability within a larger system.
In my mind, data must always be analyzed first, prior to building a physical database. In much of our discussion in this course we focus on processes and the flow of those processes, etc. I feel that there is a strong chance of error in the database if data is not properly analyzed on the front end. Hypothetically, if you could build a database first – the question I would ask is: Why would you want to? What I mean by this is – why take the chance that something as important as a database could be flawed based on incorrect analyses. If data is analyzed first, it stands to reason that the chances would be lessened for errors later in the IS/IT process.
Hi Arron,
Excellent point. I would think that if a project had a financial asset tied to it that getting it right the first time would be at the top of the list. The risk of data not being analyzed first is too great and could be very costly. I couldn’t imagine completing a project without first analyzing the process in its entirety.
Well said, Aaron! I agree with you. Likelihood of errors and inconsistencies are extremely high without the formal data analysis.
I truly can not think of any scenario where formal data analysis is not needed. However, I am certain that there are cases out there where data analysis was not completed because someone believed that it was not needed. Needless to say, I’m sure the implementation process must have been awful. Data analysis assist in allowing a team to make an informed decision about the project in its entirety. It moves the project forward and improve efficiency, and ensures that the team will achieve the organization’s goals.
Great Lezlie, I like this “informed decision.” Without the analysis, decision will be made based on guesses which is risky. If the assumption is wrong, it would leave to inefficiency. To correct the wrong, adjustment will be required which could cost time and other other resources.
Hi pascal,
Correct. Can’t help but ask myself why would any organization/project move forward without conducting a data analysis. Preforming adjustments is tedious and time consuming, and I rather take the time spent possibly completing an analysis to insure data integrity.
I completely agree with you, Lezlie! The implementation process will certainly be challenging if a formal data analysis id not conducted. And just like Pascal mentioned, without formal data analysis, the assumption would lead to inefficiency.
Assuming is no problem with starting a data modeling by thining about the physical database and structuring their data by building tables and fields and assigning data types and keys. As we know assumption is not based on factual knowledge or observable evidence; since assuming is a chance, there is high possibility for failure. If there is an assumption with data modeling, think about these questions:
What are you working to achieve?
Is there a problem that needs resolution or is the modeling for enhancement only?
Who are the participant/beneficiaries (entity) and how do the data affect the participants/beneficiaries and vice versa?
These questions can be easily answer with the data been analyzed.
Data modeling without an analysis is a recipe for failure or lost. It is a risky.
For efficiency and effectiveness reason, there should not be any scenario where formal data analysis is not required. You just cannot cross a bridge before you reach it.
I believe that analyzing the data should be the first priority. Structuring the database based on their customer needs after analyzing will certainly create more meaningful and useful platform for the prospective users. On the other hand, if developers simply structure their database based on their personal assumption, the final product might not be beneficial for the user. In such case, the product will not be able to create high impact for the customer, and would only be serving the developers. However, in some exceptional scenarios such formal analysis might not needed. For instance, if developers were creating a database solely for their private use, they would not require any formal analysis.
The purpose of building a physical design of the database is to optimize performance while ensuring data integrity by avoiding unnecessary data redundancies. During physical design, people transform the entities into tables, the instances into rows, and the attributes into columns. In my opinion, the way that the developers start designing immediately based on their assumption about the objects that must be tracked in persistent storage is not appropriate and efficient. The risks that a project bypasses the formal analysis maybe a data leaks, deployment failures, the abuse of database features, hopscotch, broken databases, so and so forth.
Good point. The purpose of the physical design of the database is to optimize performance by avoiding unnecessary data redundancy while ensuring data integrity. In the physical design process, people convert entities into tables, convert instances into rows, and convert properties into columns.
I think that formal data analysis should be a standardized practice in an organization. A functional system requires the collection of system requirements and implementation of these requirements to serve business functions and needs. An organization needs to know what the critical processes are and what the system is intended to do. Without understanding the business process, the project would be doomed just as writing a paper is when a thesis is not premeditated and defined. Not following a formal data analysis could result in programmers making coding mistakes and poorly designing the system. These mistakes could result in a vulnerable an ineffective system.
Data analysis’s is always needed for 2 reasons:
1. Uses are always changing. From customer needs to regulation changes and a myriad of other variables that affect to use on a day-to-day basis it can never be assume that even if a small changes needed to the system that only that isolated change should be taken into consideration. Not every day to analysis’s means to be a months long reinvention of the wheel. That doesn’t mean you shouldn’t take a quick look at the wheel and the road a rides on.
2. Technology in resources are always changing. Even if there are no changes to the uses, they’re still maybe technological changes that should be taken into account. Again not all technological changes require multi million dollar investment in order to be incorporated into the new use case or change being addressed. The technological change could be something simple or quiet low investment but in some way shape or can effect the desired outcome drastically. For this reason it must be looked at.
There is a saying that doing the same thing twice and expecting a different result is the mark of madness. I think the business equivalent is assuming that 1 solution can solve every problem that comes after it Is analytical madness. Anytime you are going to the trouble of or crusting a change to AIS system for the purposes of a business process then you’re saying that what you have cannot be easily changed over. Going forward until building a 5th them runs the risk of encountering some more issues to the ones you already have.
For an organization, When the data is converted to a new database, it is important to match the format, semantics and. arithmetic. When an organization changes a new database system, it should ensure data integrity. The risk of moving the data directly to the new database is that if the format does not match between the old database and the new database, data integrity will be affected. The organization will lose data, such as customer and order information. In addition, the relationship between data will also be affected. It will lead to inefficient work. However, there is a situation where people do not care about the format of the data. This is big data. Big data mixes complex data in different formats, such as video and voice. This is data that people cannot analyze using traditional software.