Written by Sandra Suszterova |
Companies routinely collect raw data, and this data needs to be organized so that stakeholders can gain significant knowledge for future decisions. Data models help these stakeholders to visualize the collected data and reveal connections among them. Also, data models enable the development of effective information systems by helping to define and structure data in the context of relevant business operations.
Read on for an in-depth explanation of data models, data modeling, and their types and advantages.
Definition of a Data Model
A data model refers to an abstract model representing organized data elements and their relationships based on real-world objects.
A data model reveals what companies have at their disposal and how this data is related to real-life objects. A data model can connect different teams within an enterprise, such as IT, business analysts, and management, to create a fully functional information system or applications. Each app or information system is assigned to a formal, well-organized data model to collect and store data, process and distribute valuable information.
Image credit: Tibco
What Is Data Modeling?
Data modeling is the process of creating a data model. Throughout the process, developers will work closely with stakeholders (i.e., potential users of the to-be-created systems). Data modeling begins with collecting information about business requirements and rules from stakeholders. These principles are then converted into data structures, which are used to create a concrete database design.
Data modeling involves various methods and techniques. Here are two approaches to building data models (a third option is a combination of both):
- Bottom-up data modeling: Bottom-up data modeling focuses on identifying and resolving the data requirements of small groups within a company and then integrating these individual results together to meet the requirements of the whole company.
- Top-down data modeling: Top-down data modeling initially focuses on the principles and the problems of the whole company. Then, the model is broken down into smaller pieces to meet the specific requirements of each group within a company.
Types of Data Models
There are three main data model types. These types of data models are usually known as perspectives or stages of data modeling processes:
- Conceptual data model: A conceptual data model describes business concepts typically used at the start of a project when high-level information is required. It refers to a structured view of data, which supports business processes throughout the company. Its leading objective is to identify the entity classes, rather than the specific characteristics of each entity.
- Logical data model: A logical data model is similar to a conceptual model, but it is more detailed. Besides entities, it defines the data structure — the attributes of entities — and the relationships among them.
- Physical data model: A physical data model describes the data model in a high level of detail. It expands upon a logical data model with primary and foreign keys, data types, validation rules, triggers, and procedures. This is typically used in preparation for an implementation process.
Image credit: Fintechos
Advantages of Data Models
Data models offer many benefits to a business, including:
- Improved quality: Before creating and building any applications, it's recommended to create data models to serve as their blueprints first. Data models encompass well-defined terms and enable alignment among stakeholders. Moreover, data models help to reveal initial problems before they escalate and require consideration of various approaches — ultimately increasing application quality and performance.
- Data source revelation: When preparing a data model, a critical step is identifying the essential data sources to be used in future applications. It's important to know which data will be needed and how they will be structured and organized. Companies can decide which data is more or less important based on different departments or business processes.
- Clear data flow within organizations: A data model enables a clear flow of data throughout an organization. In other words, a well-designed data model can serve as a valuable reference point.. Everyone knows where to find the necessary data, who is responsible for the data, how to work with the data, how the data are interconnected, and more. Data modeling provides documentation to facilitate cross-organizational communication.
- Cost reduction: Data models can help reveal potential problems for future development. Mistakes and failures can be prevented in advance, thus allowing for easy corrections without additional costs.
- Faster performance: A well-designed data model is the basis of every database that’s part of the prepared application. The rules for converting the data model into a database must be precisely defined to achieve the data model's optimal performance and fast response. Because developers know the principles they must follow, they can develop the overall application without any significant flaws to improve its performance.
Data Models in GoodData
GoodData's data model is broken down into a logical data model and a physical data model (PDM). A logical data model (LDM) describes how data is organized in a workspace, and you can define datasets, customize datasets, and manage relationships between the datasets. A PDM specifies how the data elements in the LDM are written to the data warehouse on a technical level. The user's interface (UI) sits on the top of the data models. It's a framework for building analytical applications on top of the users' data by using multiple libraries. You can create utility programs that interact with GoodData's platforms, create different visualizations of stored data using visual components, embed insights, or create new features based on your specific analytical requirements. Check our documentation to learn more about GoodData's UI.
The GoodData LDM’s key feature is that users can interact with the LDM without needing to know how to query the PDM — the required knowledge for the analytics used for database technologies and SQL are removed. Only the business intelligence engineers have to directly interact with the physical data model. The LDM helps and assists users in answering analytical questions without preparing datasets specific to use cases. The LDM contains entities based on real-life objects separately, as well as the relationships among them and their specified attributes. It ensures that different analysis results make sense.
As previously mentioned, there are many tools supporting data modeling. GoodData offers different possibilities for how users can create and customize data models:
- GoodData LDM Modeler: The GoodData LDM Modeler supports the creation, testing, and deployment of LDMs in workspaces on the GoodData platform. Users can define datasets, add attributes, and develop connections through a drag-and-drop interface. To find out more about the GoodData LDM Modeler, read our blog post on what is a logical data model.
- Rest APIs: Rest APIs allow developers to programmatically create and manage LDMs, such as upload an LDM; load and modify workspaces; and create and manage metrics, insights, and dashboards. To learn more about GoodData's Rest APIs, see the API Reference page in our documentation.
- Gray pages: Gray pages are used to make small changes in your workspaces. Developers can use the gray pages, a form-based interface, to make these changes to the technical description of your deployed workspaces. Read our documentation about Access the Gray Pages for a Workspace to find out more about gray pages.
Ready to learn more?
Are you interested in data modeling? Try out GoodData.CN Community Edition to start data modeling. For more information, read our documentation about data modeling and attend GoodData's University to better understand logical data models.
Written by Sandra Suszterova |