What is data Abstraction in DBMS?
Looking for in depth insights about data Abstraction in DBMS?
Well, look no further and read this blog to enlighten yourself with data Abstraction in DBMS.
Data abstraction is the process of defining the logical structures of a database in terms of entities, relationships, and attributes. It is also known as object-oriented design (OOD). It acts as a map to help the user navigate through the model and retrieve the required data from it.
In this article, we will explain what data abstraction is. We will also explain why it is important for database developers to understand.
Data Abstraction in DBMS
Data abstraction in DBMS is the process of physically representing data as a whole. It involves translating the meaning and characteristics of an entire entity into a single conceptual construct, which can be viewed as a view or external view.
This level of abstraction allows us to understand how our data structures work together and how they relate to each other. At this point, we are talking primarily about concepts rather than concrete objects—which makes sense because at this level we are not dealing with literal data values.
Instead, we are dealing with abstractions that represent those values (i.e., records). There are three levels of data abstraction in DBMS, namely
- Physical or Internal Level,
- Logical or Conceptual Level, and
- View or External Level.
Let us discuss these three levels in detail.
Physical or Internal Level
Physical or the internal level is the lowest level of abstraction in database management systems (DBMS). It tells the user the exact way in which the data is stored in memory.
The methods used to do the same include organization methods such as hashing and B+ trees. The database is described as a whole in the physical (internal) level. Database application programmers or developers are the ones who actually decide how data is stored in the database.
The data model is the representation of your records in a database. There are two types of models:
- Physical data model: This describes how the physical storage structures and access methods work. It includes the logical schema, which defines how multiple tables are structured together and their relationships with one another to form a complete entity that can be queried or manipulated by users.
- Relational data model: The relational model defines how individual records are stored in relation to each other on disk or tape so that they are easily retrieved by users through queries or updates when necessary.
Logical or Conceptual Level
The logical or conceptual level is the next level of data abstraction in DBMS, where information is represented in terms of entities, relationships, attributes, and constraints. It defines the overall logical structure of a database.
Entity:
The entity is the basic unit of a database. It can be any object that is stored in the database and has attributes, relationships with other entities, etc.The entity is the main unit of data in a database.
It contains all the information that you want to store in your system, and it is constructed by combining attributes and relationships. It represents an object of interest to a user.
For example, if you want to store a person’s name, address, and phone number then these three fields will be used as entities. This entity may have many attributes such as age or marital status etc., which are called attributes of this entity type (entity).
Relationship:
It represents connection between two entities which may have different types but share some common attributes (properties). A relationship between two or more entities is called association between them because they have some common property (attribute).
For example, students have both relationships with faculty members as well as courses they take while attending university courses taught by faculty members.
Constraint:
A constraint defines restrictions on allowable values within an attribute such as maximum length limitation imposed by SQL Server database engine on string data types like varchar(max), nchar(max) etc.
Data abstraction hides internal details from users, so they don’t need any knowledge about how data gets organized internally within databases when using them for their purposes
View or External Level
This level represents the data from the perspective of application programs and users. It provides a view of the data that is independent of its internal representation, allowing access to it via an understandable interface.
Views can be created by the user or by the system.They are used by application programs to access data in these databases.
The View Level describes internal storage structures and access methods through which users manipulate information stored in DBMSs (e.g., SQL). These include description of database objects such as tables, indexes, sequences etc., file organizations, concurrency control techniques (elements), concurrency management issues, security considerations etc., but also include information about constraints specified by users during table creation time.
It is a representation of one or more tables that can be used to provide users with access to information from the database. Views are defined by the user and not the DBMS, so they are independent of any physical structure in the database.
Views are only visible to application programs and do not affect other parts of your system, such as schema management or data integrity checks (such as referential integrity). They may also be used for security purposes.
For example, you might create a view that shows only those rows from one table whose columns match some condition(s). Views provide an alternative way for applications running on different servers within a single database instance to share information easily without having to know about each other’s structures or limitations on which fields are available in what order (e.g., primary key versus foreign keys).
Along with data abstraction, it is also good to have knowledge about recursion in data structure.
What is recursion in data structure?
When a function calls a duplicate of itself to work on a smaller problem, recursion is the result. Any function that calls itself is referred to as a recursive function, and the calls made by such functions are known as recursive calls. There are numerous recursive calls involved in recursion. However, it’s crucial to impose a recursion termination condition. Although recursive code is shorter than iterative code, it is more cryptic.
Recursion in data structure cannot be used for every problem, but it is more beneficial for tasks that can be broken down into related subtasks. Recursion can be used to solve sorting, searching, and traversal issues.
Conclusion
Well, this was all about data abstraction in DBMS. We hope that you found this article of ours to be informative and knowledgeable, and that it expanded your information base about what data abstraction in DBMS is!