Welcome to Data Modeling Tutorials. The objective of these tutorials is to gain understanding of Data Modeling.
In addition to Data Modeling , we will cover common interview questions and issues inData Modeling.
Data Models are fundamental entities to introduce abstraction in a DBMS. Data models define how data is connected to each other and how they are processed and stored inside the system. The very first data model could be flat data–models, where all the data used are to be kept in the same plane.
Database modeling is the idea of designing a database structure that defines how stored information can be accessed, categorized and manipulated. It’s the very foundation of a database design effort, and the specific data model employed drives the database diagram and overall development endeavors.
Data Model Design: Presents the different strategies that you can choose from when determining your data model, their strengths and their weaknesses.
Operational Factors and Data Models: Details features you should keep in mind when designing your data model, such as lifecycle management, indexing, horizontal scalability, and document growth.
Three general data models we will review:
De-normalized Expected by many SAS procedures
Normalized Often used in transaction based systems such as order entry
Dimensional Often used in data warehouse systems and systems subject to ad hoc queries. The dimensional model may be used for any reporting or query data even if not a “data warehouse”
Relational Model: Founded on mathematical theory, this database model takes information storage and retrieval to a new level because it offers a way to find and understand different relationships between the data. By looking at how different variables can change the relationship between the data, new perspectives can be gained as the information’s presentation is altered by focusing on different attributes or domains. These models can often be found within airline reservation systems or bank databases.
Interested in mastering Data Modeling Training? Enroll now for FREE demo on Online Data Modeling Training.
Graph Model: Graph model is another model that is gaining popularity. These databases are created based on the Graph theory and used nodes and edges to represent data. The structure is somewhat similar to object oriented applications. Graph databases are generally easier to scale and usually perform faster for associative data sets.
Hierarchical Model: Much like the common organizational chart used to organize companies, this database model has the same tree-like appearance and is often used to structure XML documents. In looking at data efficiency, this is an ideal model where the data contains nested and sorted information, but it can be inefficient when the data does not have an upward link to a main data point or subject. This model works well for an employee information management system in a company that seeks to restrict or assign equipment usage to certain individuals and/or departments.
Network Model: Using records and sets, this model uses a one-to-many relationship approach for the data records. Multiple branches are allocated for lower-level structures and branches that are then connected by multiple nodes, which represent higher-level structures within the information. This database modeling method provides an efficient way to retrieve information and organize the data so that it can be looked at multiple ways, providing a means of increasing business performance and reaction time. This is a viable model for planning road, train, or utility networks.
Dimensional Model: This is an adaptation of the relational model and is often used in conjunction with it by adding the “dimension” of fact to the data points. Those facts can be used as measuring sticks for the other data to determine how a size of a group or the timing of a group impacted upon certain results. This can help a business make more effective strategic decisions and help them get to know their target audience. These models can be useful to organizations with sales and profit analysis.
Object Relational Model: These models have created an entirely new type of database, which combines database design with application program to solve specific technical problems while leveraging the best of both worlds. To date, object databases still need to be refined to achieve greater standardization. Real world applications of this model often include technical or scientific fields, such as engineering and molecular biology.
Logical Data Model
Logical data models help to define the detailed structure of the data elements in a system and the relationships between data elements. They refine the data elements introduced by a Conceptual data model and form the basis of the Physical data model. In Enterprise Architect, a Logical data model is typically represented using the UML Class notation.
Example: This is a simple example of a Logical data model:
Note: The data elements ‘Customers’ and ‘Customers Addresses’ contain UML attributes; the names and generic data types to remain platform-independent. Platform-specific data types and other meta-data that relate to a specific DBMS implementation are defined by the Physical data model.
Advantages of Dimensional Data Modeling
-Ad hoc queries are difficult to construct for end-users or must go through database “gurus.”
-Even standard reports require considerable effort and detail knowledge of the database.
-Data is not integrated or is inconsistent across sources.
-Changes in data values or in data sources cannot be handled gracefully.
-The structure of the data does not mirror business processes or business rules.
-The data model limits which BI tools can be used.
-There is no system for maintaining change history or collecting metadata.
-Disk space is wasted on redundant values.
-Users who might benefit from the data don’t use it.
-Maintenance is tedious and ad hoc.