Why Semantic Models?: Semanticmodels/index - HTML

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 31

Why semantic models?

https://www.ibm.com/developerworks/library/x-ind-
semanticmodels/index.html
 First, for clarity let’s compare models in Unified Modeling Language (UML)
versus OWL.
 UML is a modeling language that is used in software engineering to design
artifacts largely around object-oriented systems. When we talk about
operational system integration based on information-oriented architecture, in
this context, we are really referring to leveraging semantic models as the
functional core of an application to provide a navigable model of data and
associated relationships that represent knowledge in our target domain.
Example:
• Semantic models allow users to ask questions about what is happening in a modeled system in
a more natural way.
As an example, an oil production enterprise might consist of five geographic regions, with
each region containing three to five drilling platforms, and each drilling platform monitored by
several control systems, each having a different purpose. One of those control systems might
monitor the temperature of extracted oil, while another might monitor vibration on a pump.
A semantic model will allow a user to ask a question like, "What is the temperature of the oil
being extracted on Platform 3?", without having to understand details such as, which specific
control system monitors that information or which physical sensor is reporting the oil
temperature on that platform.
Contd…
Therefore, semantic models can be used to relate the physical world, as it is known to
control systems engineers in this example, to the real world, as it is known to line-of-
business leaders and decision makers.
In the physical world, a control point such a valve or temperature sensor, is known by its
identifier in a particular control system, possibly through a tag name like 14-WW13.
 This could be one of several thousand identifiers within any given control system, and
there could be many similar control systems across an enterprise. To further complicate the
problem of information referencing and aggregation, other data points of interest could be
managed through databases, files, applications, or component services with each having its
own interface method and naming conventions for data accessing.
A key value of the semantic model then is to provide access of information in context of the real
world in a consistent way. Within a semantic model implementation, this information is identified
using "triples" of the form "subject-predicate-object"; for example:
 Tank1 <has temperature> Sensor 7
 Tank 1 <is part of> Platform 4
 Platform 4 <is part of> Region 1
These triples, taken together, make up the ontology for Region 1 and can be stored in a model
server. This information, then, can be easily traversed using the model query language to answer
questions such as "What is the temperature of tank 1 on Platform 4", much more easily than was
the case without a semantic model relating engineering information to the real world.
Models:
• Another advantage of semantic models for this type of application is maintenance.
• The real world model we described here can be implemented with any of the types of
models shown in the Figure in previous slide. The relational model has relations
between entities established through explicit keys (primary, foreign) and, for many-
to-many relationships, associative entities. Changing relationships in this case is
cumbersome, as it requires changes to the base model structure itself, which can be
difficult for a populated database. Querying for this kind of data based on a relational
model can also be cumbersome since it can result in very complicated where clauses
or significant table joins.
Hierarchical models and graph models
Hierarchical models have similar limitations when it comes to real world updates and are not
very flexible when it comes to trying to traverse the model "horizontally".
The graph model, which is how semantic models are implemented, makes it much easier to both
query and maintain the model once deployed. For example, if a new relationship is needed to be
represented that had not been anticipated during design. With a triple store representation that
additional representation is easily maintained. A new triple is simply added to the data store. A
critical point is the relations are part of the data, not part of the database structure.
Likewise, you can traverse the model from many different perspectives to answer questions that
you had not thought of at design time. In contrast, other types of database design might require
structural changes to answer new questions that arise after initial implementation.
Contd…
• Semantic models (based on graphs) allow us to easily make inferences in
a nonlinear way. As an example, consider an online service for purchasing
books or music. Such an application should be very good at making
additional purchase suggestions based on your buying patterns. This is
very common for e-tail sites, which provide recommendations such as
"Since you liked this movie, you might also like...", or "Because you liked
this music, you would probably also like the following...".
Information model
• An information model in software engineering is a representation of concepts and the
relationships, constraints, rules, and operations to specify data semantics for a chosen
domain of discourse. Typically it specifies relations between kinds of things, but may also
include relations with individual things. It can provide sharable, stable, and organized
structure of information requirements or knowledge for the domain context.
• The term information model in general is used for models of individual things, such as
facilities, buildings, process plants, etc. In those cases the concept is specialised to 
facility information model, building information model, plant information model, etc. Such
an information model is an integration of a model of the facility with the data and
documents about the facility.
• Within the field of software engineering and data modeling an information model is usually an
abstract, formal representation of entity types that may include their properties, relationships and
the operations that can be performed on them. The entity types in the model may be kinds of real-
world objects, such as devices in a network, or occurrences, or they may themselves be abstract,
such as for the entities used in a billing system. Typically, they are used to model a constrained
domain that can be described by a closed set of entity types, properties, relationships and
operations.
• An information model provides formalism to the description of a problem domain without
constraining how that description is mapped to an actual implementation in software. There may be
many mappings of the information model. Such mappings are called data models, irrespective of
whether they are object models (e.g. using UML), entity relationship models or XML schemas.
What is Data Modelling?

• Data modeling (data modelling) is the process of creating a data model for
the data to be stored in a database. This data model is a conceptual
representation of Data objects, the associations between different data
objects, and the rules. Data modeling helps in the visual representation of
data and enforces business rules, regulatory compliances, and government
policies on the data. Data Models ensure consistency in naming
conventions, default values, semantics, security while ensuring quality of
the data.
Data Model

• The Data Model is defined as an abstract model that organizes data description, data semantics, and
consistency constraints of data. The data model emphasizes on what data is needed and how it should
be organized instead of what operations will be performed on data. Data Model is like an architect's
building plan, which helps to build conceptual models and set a relationship between data items.

• The two types of Data Modeling Techniques are

• Entity Relationship (E-R) Model


• UML (Unified Modelling Language)
Why use Data Model?

• The primary goal of using data model are:

Ensures that all data objects required by the database are accurately represented. Omission of data will lead to
creation of faulty reports and produce incorrect results.
A data model helps design the database at the conceptual, physical and logical levels.
Data Model structure helps to define the relational tables, primary and foreign keys and stored procedures.
It provides a clear picture of the base data and can be used by database developers to create a physical database.
It is also helpful to identify missing and redundant data.
Though the initial creation of data model is labor and time consuming, in the long run, it makes your IT
infrastructure upgrade and maintenance cheaper and faster.
Types of Data Models

• Types of Data Models: There are mainly three different types of data models: conceptual data models, logical data
models, and physical data models, and each one has a specific purpose. The data models are used to represent the data
and how it is stored in the database and to set the relationship between data items.

 Conceptual Data Model: This Data Model defines WHAT the system contains. This model is typically created by
Business stakeholders and Data Architects. The purpose is to organize, scope and define business concepts and rules.
 Logical Data Model: Defines HOW the system should be implemented regardless of the DBMS. This model is typically
created by Data Architects and Business Analysts. The purpose is to developed technical map of rules and data
structures.
 Physical Data Model: This Data Model describes HOW the system will be implemented using a specific DBMS
system. This model is typically created by DBA and developers. The purpose is actual implementation of the database.
Types of Data Model
1. Conceptual Data Model

• A Conceptual Data Model is an organized view of database concepts and their relationships. The
purpose of creating a conceptual data model is to establish entities, their attributes, and relationships. In
this data modeling level, there is hardly any detail available on the actual database structure. Business
stakeholders and data architects typically create a conceptual data model.

• The 3 basic tenants of Conceptual Data Model are

• Entity: A real-world thing


• Attribute: Characteristics or properties of an entity
• Relationship: Dependency or association between two entities
Example of conceptual data model

• Customer and Product are two entities. Customer number and name are
attributes of the Customer entity
• Product name and price are attributes of product entity
• Sale is the relationship between the customer and product
Characteristics of a conceptual data model

• Offers Organisation wide coverage of the business concepts.


• This type of Data Models are designed and developed for a business audience.
• The conceptual model is developed independently of hardware specifications like
data storage capacity, location or software specifications like DBMS vendor and
technology. The focus is to represent data as a user will see it in the "real world."
• Conceptual data models known as Domain models create a common vocabulary
for all stakeholders by establishing basic concepts and scope.
2. Logical Data Model

• The Logical Data Model is used to define the structure of data elements
and to set relationships between them.
• The logical data model adds further information to the conceptual data
model elements.
• The advantage of using a Logical data model is to provide a foundation to
form the base for the Physical model. However, the modeling structure
remains generic.
• At this Data Modeling level, no primary or secondary key is defined. At
this Data modeling level, you need to verify and adjust the connector
details that were set earlier for relationships.
Characteristics of a Logical data model
• Describes data needs for a single project but could integrate with other
logical data models based on the scope of the project.
• Designed and developed independently from the DBMS.
• Data attributes will have datatypes with exact precisions and length.
• Normalization processes to the model is applied typically till 3NF.
3. Physical Data Model

• A Physical Data Model describes a database-specific implementation of


the data model. It offers database abstraction and helps generate the
schema. This is because of the richness of meta-data offered by a Physical
Data Model. The physical data model also helps in visualizing database
structure by replicating database column keys, constraints, indexes,
triggers, and other RDBMS features.
Characteristics of a physical data model:

• The physical data model describes data need for a single project or application though it
maybe integrated with other physical data models based on project scope.
• Data Model contains relationships between tables that which addresses cardinality and
nullability of the relationships.
• Developed for a specific version of a DBMS, location, data storage or technology to be
used in the project.
• Columns should have exact datatypes, lengths assigned and default values.
• Primary and Foreign keys, views, indexes, access profiles, and authorizations, etc. are
defined.
Advantages of Data Model:

• The main goal of a designing data model is to make certain that data objects offered by
the functional team are represented accurately.
• The data model should be detailed enough to be used for building the physical database.
• The information in the data model can be used for defining the relationship between
tables, primary and foreign keys, and stored procedures.
• Data Model helps business to communicate the within and across organizations.
• Data model helps to documents data mappings in ETL process
• Help to recognize correct sources of data to populate the model
Disadvantages of Data model:

• To develop Data model one should know physical data stored


characteristics.
• This is a navigational system produces complex application development,
management. Thus, it requires a knowledge of the biographical truth.
• Even smaller change made in structure require modification in the entire
application.
• There is no set data manipulation language in DBMS.
Conclusion
1. Data modeling is the process of developing data model for the data to be stored in a
Database.
2. Data Models ensure consistency in naming conventions, default values, semantics,
security while ensuring quality of the data.
3. Data Model structure helps to define the relational tables, primary and foreign keys and
stored procedures.
4. There are three types of conceptual, logical, and physical.
5. The main aim of conceptual model is to establish the entities, their attributes, and their
relationships.
6. Logical data model defines the structure of the data elements and set the relationships
between them.
Contd.
1. A Physical Data Model describes the database specific implementation of the data
model.
2. The main goal of a designing data model is to make certain that data objects offered by
the functional team are represented accurately.
3. The biggest drawback is that even smaller change made in structure require
modification in the entire application.
4. Reading this Data Modeling tutorial, you will learn from the basic concepts such as
What is Data Model? Introduction to different types of Data Model, advantages,
disadvantages, and data model example.

You might also like