- Software Requirements
- Functional And Non-Functional Requirements
- User Requirements
- System Requirements
- Interface Specification
- software requirements document
- Requirements Engineering Process
- Feasibility Studies
- Requirements Elicitation And Analysis
- Requirements Validation
- Requirement Management
- System Models
- context model
- Behavioral Model
Data models
Introduction
A data model is an abstract view of the data referred to in the product being developed.
Data modeling explains and visualizes how the data will be used by the software and defines data objects that will be stored in a database.
Example:
Types of data models
Type 1: Conceptual data model
It gives a front view of each data entity and not a technical detail of data.
It presents all the data entities referred to by the business and their characteristics called attributes and the dependency or the connection between entities called relationships.
It makes communication easy and clear among all stakeholders, reducing communication gaps.
Type 2: Logical data model
It gives a detailed description of each data entity, their attributes, and the relationship between two entities, giving business purpose to each data.
The relationship is presented more explicitly with details like primary key, foreign key, and parent-child dependent entity type.
Type 3: Physical data model
A physical data model is the layout of the actual database with all its components.
It gives a technical view of the data, i.e., the table name, column name, data type, constraints, indexes, primary key, triggers, stored procedures, etc.
It is developed by using databases like SQL, Oracle, etc.
A data model is an abstract view of the data referred to in the product being developed.
Data modeling explains and visualizes how the data will be used by the software and defines data objects that will be stored in a database.
Â
Importance of data modeling
Helps in building the information system and database
Facilitates easy access to business data
Helps management to take decisions
Facilitates business to function efficiently
Provides all stakeholders with a clear and easy understanding of what information is going to be stored
Defines the core rules and policies that will govern each entity
Techniques for data modeling
1. Hierarchical model
It has a root or a parent node and then follows a tree-like structure with other child nodes.
Only one parent is allowed for a child node, and a parent node can have multiple child nodes.
It is very easy and simple to understand.
Simplex data models can be represented using this technique.
2. Network model
This model is an advancement of the hierarchical model. It shows the graph of the system.
A child node could have multiple parent nodes.
Navigation is faster in this model, as there are multiple paths to reach a child entity.
This model also gets very complex when data is large.
3. Object oriented model
Object-oriented databases gained popularity with object-oriented programming.
A real-world entity is represented as an object with attributes.
The model presents a view as a collection of objects.
Each object has its own methods and features.
4. Entity relationship model
This model represents the system at a very high level.
Real-world problems can be represented through this model.
It is very easy for all technical and non-technical stakeholders to understand.
It is referred by database architects and developers to build the physical database.
5. Relational model
The relational model is the most popular model.
In this model, the entity information is represented as a table.
All the attributes are represented as columns.
The primary key and foreign key of each entity are also mentioned.
Data modeling tools
MySQL Workbench
ER/Studio
erwin Data Modeler
SQuirreL SQL Client
Draw.io
Lucidchart
Amundsen
Postico
Navicat
Datagrip