What is Data Modeling?

What is Data Modeling?

Data modeling is the process of creating a visual representation of either a whole information system or parts of it to communicate connections between data points and structures.

The goal of data modeling to illustrate the types of data used and stored within the system, the relationships among these data types, the ways the data can be grouped and organized and its formats and attributes.

Data models are built around business needs. Rules and requirements are defined upfront through feedback from business stakeholders so they can be incorporated into the design of a new system or adapted in the iteration of an existing one.

Data can be modeled at various levels of abstraction. The process begins by collecting information about business requirements from stakeholders and end users. These business rules are then translated into data structures to formulate a concrete database design. A data model can be compared to a roadmap, an architect’s blueprint or any formal diagram that facilitates a deeper understanding of what is being designed.

Data modeling employs standardized schemas and formal techniques. This provides a common, consistent, and predictable way of defining and managing data resources across an organization, or even beyond.

Ideally, data models are living documents that evolve along with changing business needs. They play an important role in supporting business processes and planning IT architecture and strategy. Data models can be shared with vendors, partners, and/or industry peers.

The latest AI News + Insights ?

Discover expertly curated insights and news on AI, cloud and more in the weekly Think Newsletter.?

Subscribe today

Types of data models

Like any design process, database and information system design begins at a high level of abstraction and becomes increasingly more concrete and specific. Data models can generally be divided into three categories, which vary according to their degree of abstraction. The process will start with a conceptual model, progress to a logical model and conclude with a physical model. Each type of data model is discussed in more detail in subsequent sections:

Conceptual data models

They are also referred to as domain models and offer a big-picture view of what the system will contain, how it will be organized, and which business rules are involved. Conceptual models are usually created as part of the process of gathering initial project requirements. Typically, they include entity classes (defining the types of things that are important for the business to represent in the data model), their characteristics and constraints, the relationships between them and relevant security and data integrity requirements. Any notation is typically simple.

Logical data models

They are less abstract and provide greater detail about the concepts and relationships in the domain under consideration. One of several formal data modeling notation systems is followed. These indicate data attributes, such as data types and their corresponding lengths, and show the relationships among entities. Logical data models don’t specify any technical system requirements. This stage is frequently omitted in agile or?DevOps?practices. Logical data models can be useful in highly procedural implementation environments, or for projects that are data-oriented by nature, such as?data warehouse?design or reporting system development.

Physical data models

They?provide a schema for how the data will be physically stored within a database. As such, they’re the least abstract of all. They offer a finalized design that can be implemented as a?relational database, including associative tables that illustrate the relationships among entities as well as the primary keys and foreign keys that will be used to maintain those relationships. Physical data models can include database management system (DBMS)-specific properties, including performance tuning.

Data modeling process

As a discipline, data modeling invites stakeholders to evaluate data processing and storage in painstaking detail. Data modeling techniques have different conventions that dictate which symbols are used to represent the data, how models are laid out, and how business requirements are conveyed. All approaches provide formalized workflows that include a sequence of tasks to be performed in an iterative manner. Those workflows generally look like this:

  1. Identify the entities.?The process of data modeling begins with the identification of the things, events or concepts that are represented in the data set that is to be modeled. Each entity should be cohesive and logically discrete from all others.
  2. Identify key properties of each entity.?Each entity type can be differentiated from all others because it has one or more unique properties, called attributes. For instance, an entity called “customer” might possess such attributes as a first name, last name, telephone number and salutation, while an entity called “address” might include a street name and number, a city, state, country and zip code.
  3. Identify relationships among entities.?The earliest draft of a data model will specify the nature of the relationships each entity has with the others. In the above example, each customer “lives at” an address. If that model were expanded to include an entity called “orders,” each order would be shipped to and billed to an address as well. These relationships are usually documented via unified modeling language (UML).
  4. Map attributes to entities completely.?This will ensure the model reflects how the business will use the data. Several formal data modeling patterns are in widespread use. Object-oriented developers often apply analysis patterns or design patterns, while stakeholders from other business domains may turn to other patterns.
  5. Assign keys as needed, and decide on a degree of normalization that balances the need to reduce redundancy with performance requirements.?Normalization is a technique for organizing data models (and the databases they represent) in which numerical identifiers, called keys, are assigned to groups of data to represent relationships between them without repeating the data. For instance, if customers are each assigned a key, that key can be linked to both their address and their order history without having to repeat this information in the table of customer names. Normalization tends to reduce the amount of storage space a database will require, but it can at cost to query performance.
  6. Finalize and validate the data model.?Data modeling is an iterative process that should be repeated and refined as business needs change.

要查看或添加评论,请登录

Shruti Anand的更多文章

  • What is a machine learning Model?

    What is a machine learning Model?

    A machine learning model is a program that can find patterns or make decisions from a previously unseen dataset. For…

  • What Is Data Analytics?

    What Is Data Analytics?

    The term data analytics refers to the science of analyzing raw data to make conclusions about information. Many of the…

  • Python

    Python

    Today Python is used in all kinds of development from game development, basic programming, and scripting to large and…

  • Data visualization

    Data visualization

    Data visualization is the graphical representation of information and data. By using visual elements like charts…

  • Machine Learning

    Machine Learning

    Machine learning is a branch of artificial intelligence that enables algorithms to uncover hidden patterns within…

  • What Is Actuarial Science?

    What Is Actuarial Science?

    Actuarial science is a discipline that assesses financial risks in the insurance and finance fields, using mathematical…

  • Python

    Python

    Python is a programming language that is interpreted, object-oriented, and considered to be high-level too. What is…

  • What Is Visual Basic for Applications (VBA)?

    What Is Visual Basic for Applications (VBA)?

    Visual Basic for Applications (VBA) is used to write programs for the Windows operating system. It runs as an internal…

  • SAS

    SAS

    Statistical Analysis System (SAS) is a software suite that has been developed by SAS Institute, one of the leaders in…

  • DBMS

    DBMS

    A Database Management System (DBMS) is a software solution designed to efficiently manage, organize, and retrieve data…

社区洞察

其他会员也浏览了