Once you sign in, your details will show here.
Knowledge Hub
Filter (2)
Sort
29 topics · Data Modeling and Design · Advanced · 10 shown
Show allEvery topic is free to read. A free account also lets you search the topics, react to a topic and comment under it.
- I Am Datapedia!
Data Modeling and Design
Domain-Driven Design (DDD) Modelling
Domain-Driven Design, commonly known as DDD, is an approach to modelling and system design that starts by deeply understanding the business domain. The term domain refers to the problem area the business is working in, such as banking, healthcare, education, or retail. DDD Modelling focuses on capturing the key business concepts, rules, and meanings, and making sure both business people and technical teams talk about them in the same way.
The main goal of DDD Modelling is to ensure that system design closely reflects real business needs. Instead of designing systems based only on technical convenience, DDD encourages teams to model software around how the business actually operates. When done correctly, the system grows naturally alongside the business, rather than becoming disconnected from it.
A central idea in DDD is the creation of a shared or ubiquitous language. This means that the same terms are used consistently by business experts, analysts, and developers. When a business person says “approved loan,” the developer and the analyst understand exactly what that term means, without needing further clarification. This shared language reduces misunderstandings and makes collaboration much easier.
4 min readMore
- I Am Datapedia!
Data Modeling and Design
Information Modelling (NIAM, ORM and FCO-IM)
Information Modelling is the discipline concerned with how information is described, structured, and communicated so that it can be clearly understood and consistently interpreted by people, processes, and systems. Its focus is not on technology or databases, but on ensuring that the meaning of information is precise and unambiguous.
The primary goal of Information Modelling is to achieve semantic clarity. When information is clearly defined and consistently represented, it can be exchanged reliably across departments, systems, and even organizations. This clarity is essential for effective collaboration between business and IT, as well as for building systems that truly reflect business intent.
Information Modelling concentrates on capturing facts, terms, and relationships in a structured and rigorous way. It emphasizes meaning over implementation. Instead of asking how data will be stored, it asks what facts exist in the business, how those facts are expressed in language, and how they relate to one another. Because of this, Information Modelling acts as a bridge between business communication and data modelling.
4 min readMore
- I Am Datapedia!
Data Modeling and Design
NIAM Modelling
NIAM, which stands for Natural Language Information Analysis Method, is an early fact-oriented approach to Information Modelling that was developed in the 1970s and 1980s. Its key idea is simple but powerful: business information should first be expressed in plain natural language before being transformed into formal models. By doing this, NIAM allows business users to understand and validate information models without needing technical knowledge.
- NIAM originally stood for “Nijssen’s Information Analysis Methodology.” This refers to the fact-based modeling approach developed by G. M. Nijssen in the 1970s.
- Later on, the acronym was generalized to “Natural Language Information Analysis Method.” This change was made because many people contributed to the method, not just Nijssen, and to emphasize its basis in natural language.
The primary goal of NIAM is to capture business information in a way that is both easy to understand and structurally precise. Instead of starting with diagrams or tables, NIAM begins with sentences that describe facts about the business. These sentences reflect how people naturally talk about their work, making it easier to confirm whether the model accurately represents reality.
3 min readMore
- I Am Datapedia!
Data Modeling and Design
ORM Modelling
Object-Role Modelling, commonly known as ORM, is a fact-oriented conceptual modelling method that represents information as objects playing roles in facts. Unlike traditional data modelling approaches that focus on attributes or tables, ORM treats facts as the core building blocks of information. Each fact describes how one or more objects participate in a relationship.
The main goal of ORM is to provide a precise and expressive way to capture business information and rules directly in the model. It allows modellers to describe not only what facts exist, but also the constraints that govern those facts. This makes ORM particularly useful in environments where accuracy, consistency, and clarity of business rules are critical.
ORM builds on the ideas introduced by NIAM but adds much stronger structure and formality. In ORM, every piece of information is modelled as a fact type. For example, instead of saying that an employee has a department attribute, ORM represents the information as the fact “Employee works for Department.” In this statement, both Employee and Department are objects, and “works for” describes the roles they play in the fact. This approach keeps the model close to business language while making relationships explicit.
4 min readMore
- I Am Datapedia!
Data Modeling and Design
FCO-IM Modelling
Fully Communication Oriented Information Modelling, commonly referred to as FCO-IM, is a modern fact-oriented information modelling method that focuses on capturing information exactly as it is communicated in natural language. Developed from the 2000s onward, FCO-IM addresses a long-standing problem in modelling: the loss of meaning that often occurs when business statements are translated into technical models.
The primary goal of FCO-IM is to eliminate the gap between business communication and technical design. Instead of forcing business facts to fit immediately into predefined structures such as entities and attributes, FCO-IM records facts in their original verbal form. These verbalized facts are then systematically transformed into formal models, ensuring that nothing is lost or reinterpreted along the way.
Unlike earlier modelling approaches, FCO-IM treats communication itself as the object of modelling. It recognises that business knowledge is first expressed through spoken or written sentences. These sentences carry nuances, timing, responsibility, and intent that are often weakened or removed when models jump too quickly into abstraction. FCO-IM preserves this richness by treating each sentence as a first-class modelling artefact.
9 min readMore
- I Am Datapedia!
Data Modeling and Design
Ontology / Knowledge Modelling
Ontology or Knowledge Modelling is the practice of defining a formal and structured representation of knowledge within a domain. It identifies the important concepts, shows how they are related, and defines rules that govern those relationships. The purpose is to create a shared understanding that can be interpreted consistently by both humans and machines.
The main goal of Ontology Modelling is to build a framework that supports semantic clarity, interoperability, and reasoning. Unlike traditional data models that primarily focus on structure and storage, ontologies are designed so that systems can understand meaning and draw logical conclusions from it. This makes them especially valuable in environments where information must be integrated across different systems and interpreted intelligently.
Ontologies go beyond simple definitions of concepts. They define categories, hierarchies, constraints, and rules within a domain. For example, in a healthcare context, an ontology may define that a Patient undergoes a Treatment, and that Treatment can be classified as either a Procedure or a Medication. It may further define that a Medication is a type of Therapeutic Intervention. By establishing such hierarchies and relationships, the ontology provides a structured knowledge framework rather than just isolated definitions.
10 min readMore
- I Am Datapedia!
Data Modeling and Design
Knowledge Graph Modelling
Knowledge Graph Modelling is the practice of representing information as a network of interconnected entities and relationships, enriched with semantic meaning. Instead of viewing data as isolated records stored in tables, this approach treats knowledge as a web of connections. Entities become nodes in a graph, and relationships between them become edges. The structure itself reflects how concepts are linked in the real world.
The primary goal of Knowledge Graph Modelling is to create a flexible and interconnected view of knowledge. By explicitly representing relationships, it becomes easier to integrate information from multiple sources, discover hidden patterns, and enable reasoning across domains. This modelling approach is especially valuable in environments where connections matter as much as individual data points.
A knowledge graph models the world as nodes and edges. Nodes represent entities such as Customer, Loan, or Product. Edges represent relationships such as applies for, owns, guarantees, or reviews. Unlike traditional relational models, where relationships are often embedded in foreign keys, the connections in a knowledge graph are first-class elements. They are visible, traversable, and central to the model.
4 min readMore
- I Am Datapedia!
Data Modeling and Design
Metagraph Modelling
Metagraph Modelling is an advanced form of graph-based modelling in which nodes and relationships can themselves represent groups, sets, or even entire subgraphs. In other words, it allows relationships to carry their own structure and meaning. This makes it possible to represent complex, multi-level interactions that traditional graph models cannot fully capture.
The primary goal of Metagraph Modelling is to provide a more expressive framework for modelling context, grouping, and higher-order relationships. While a standard graph connects entities through simple relationships, a metagraph can describe relationships about relationships. This added expressiveness is particularly useful in domains where context, provenance, and interaction details are as important as the entities themselves.
To understand the difference, consider a simple graph example. In a loan system, we might represent the fact that a Customer applies for a Loan Application. In a traditional knowledge graph, this would appear as a node for the Customer, a node for the Loan Application, and an edge labeled appliesFor connecting them. This captures the relationship, but it does not fully describe the circumstances under which the application occurred.
4 min readMore
- I Am Datapedia!
Data Modeling and Design
BCNF – Boyce–Codd Normal Form
Boyce–Codd Normal Form (BCNF) is a stricter refinement of Third Normal Form. While 3NF eliminates transitive dependencies, it still allows certain edge cases where a non-key attribute (or a non-superkey determinant) can functionally determine other attributes. BCNF addresses these edge cases by strengthening the dependency rule.
Formally, a table is in BCNF if, for every functional dependency X → Y, the determinant X is a superkey of the relation. In simpler terms, whenever one attribute (or group of attributes) determines another, that determining attribute must uniquely identify rows in the table. If it does not, the design violates BCNF.
To understand the difference from 3NF, consider a scenario in the loan approval domain. Suppose a table stores LoanID, ProductType, and InterestRate. Assume that business rules state that each ProductType has exactly one InterestRate. This creates the functional dependency:
3 min readMore
- I Am Datapedia!
Data Modeling and Design
4NF – Fourth Normal Form
Fourth Normal Form (4NF) addresses multi-valued dependencies. A table is in 4NF if it is already in Boyce–Codd Normal Form and does not contain two or more independent multi-valued facts about the same key. In simpler terms, a single row should not attempt to store multiple independent lists related to the same primary key.
A multi-valued dependency occurs when one key determines multiple independent sets of values that are unrelated to each other. When these independent lists are stored in the same table, they can unintentionally create false combinations, often described as a Cartesian explosion. This happens because relational tables combine values across columns, even when those values are logically independent.
Consider an extension of the loan domain. Suppose we attempt to store, in one table, the following information about each LoanID:
- A list of CollateralTypes (e.g., House, Car)
- A list of Guarantors (e.g., PersonA, PersonB)
3 min readMore
Build a strong foundation in Data & AI
Follow the Data Foundations learning path (Beginner to Advanced).