DBMS Concepts

DBMS Tutorial Components of DBMS. Applications of DBMS The difference between file system and DBMS. Types of DBMS DBMS Architecture DBMS Schema Three Schema Architecture. DBMS Languages.

DBMS ER Model

ER model: Entity Relationship Diagram (ERD) Components of ER Model. DBMS Generalization, Specialization and Aggregation.

DBMS Relational Model

Codd’s rule of DBMS Relational DBMS concepts Relational Integrity Constraints DBMS keys Convert ER model into Relational model Difference between DBMS and RDBMS Relational Algebra DBMS Joins

DBMS Normalization

Functional Dependency Inference Rules Multivalued Dependency Normalization in DBMS: 1NF, 2NF, 3NF, BCNF and 4NF

DBMS Transaction

What is Transaction? States of transaction ACID Properties in DBMS Concurrent execution and its problems DBMS schedule DBMS Serializability Conflict Serializability View Serializability Deadlock in DBMS Concurrency control Protocols

Difference

Difference between DFD and ERD

Misc

Advantages of DBMS Disadvantages of DBMS Data Models in DBMS Relational Algebra in DBMS Cardinality in DBMS Entity in DBMS Attributes in DBMS Data Independence in DBMS Primary Key in DBMS Foreign Key in DBMS Candidate Key in DBMS Super Key in DBMS Aggregation in DBMS Hashing in DBMS Generalization in DBMS Specialization in DBMS View in DBMS File Organization in DBMS What Is A Cloud Database What Is A Database Levels Of Locking In DBMS What is RDBMS Fragmentation in Distributed DBMS What is Advanced Database Management System Data Abstraction in DBMS Checkpoint In DBMS B Tree in DBMS BCNF in DBMS Advantages of Threaded Binary Tree in DBMS Advantages of Database Management System in DBMS Enforcing Integrity Constraints in DBMS B-Tree Insertion in DBMS B+ Tree in DBMS Advantages of B-Tree in DBMS Types of Data Abstraction in DBMS Levels of Abstraction in DBMS 3- Tier Architecture in DBMS Anomalies in Database Management System Atomicity in Database Management System Characteristics of DBMS DBMS Examples Difference between Relational and Non-Relational Databases Domain Constraints in DBMS Entity and Entity set in DBMS ER Diagram for Banking System in DBMS ER Diagram for Company Database in DBMS ER Diagram for School Management System in DBMS ER Diagram for Student Management System in DBMS ER Diagram for University Database in DBMS ER Diagram of Company Database in DBMS Er Diagram Symbols and Notations in DBMS How to draw ER-Diagram in DBMS Integrity Constraints in DBMS Red-Black Tree Deletion in DBMS Red-Black Tree Properties in DBMS Red-Black Tree Visualization in DBMS Redundancy in Database Management System Secondary Key in DBMS Structure of DBMS 2-Tier Architecture in DBMS Advantages and Disadvantages of Binary Search Tree Closure of Functional Dependency in DBMS Consistency in Database Management System Durability in Database Management System ER Diagram for Bank Management System in DBMS ER Diagram for College Management System in DBMS ER Diagram for Hotel Management System in DBMS ER Diagram for Online Shopping ER Diagram for Railway Reservation System ER Diagram for Student Management System in DBMS Isolation in DBMS Lossless Join and Dependency Preserving Decomposition in DBMS Non-Key Attributes in DBMS Data Security Requirements in DBMS DBMS functions and Components What is Homogeneous Database? DBMS Functions and Components Advantages and Disadvantages of Distributed Database Relational Database Schema in DBMS Relational Schema Transaction Processing in DBMS Discriminator in DBMS

Types of Data Abstraction in DBMS

What Is Data Abstraction?

To ship an email, you want to know the address. But to send the email, you don't need to see where the email is physically stored. You can use a data model to represent the information you need.

Complex data structures are present in database systems. Developers employ abstraction or hide unnecessary details from users to make the system effective in data retrieval and reduce complexity in terms of user-friendliness. Database design is made simpler with this method.

“Data abstraction is the process of shielding the user from unnecessary or pointless details. It offers a distinct perspective and aids in achieving data independence, both utilized to improve data security.”

Database systems keep data away from users so they can easily access it, which is done by hiding complicated data structures and relationships. In this way, only the specific information that user need is displayed to them.

For example, you were looking at a list of people but wanted to avoid seeing their addresses. You could ask the database to show you the names of the person in front of you without seeing the other information. It is called data abstraction.

Database systems are made up of intricate data relations and structures. These difficulties are concealed so that users can easily access the data, and only the pertinent portion of the database is made available through data abstraction.

Example: If we need to get the credentials to login any mail from our Gmail, then we do not know wherein that statistics are bodily saved, i.e., are the statistics found in India or USA or what statistics version has been used to keep that statistics? We aren't worried approximately those things. We are the handiest concerned with our email. So, data like those, i.e., place of statistics and statistics fashions, are inappropriate to us, and we do that handiest in statistics abstraction. Apart from the site of statistics and statistics fashions, there are different elements that we do not care We conceal the pointless statistics from the consumer, and this method of hiding undesirable statistics is known as Data Abstraction.

There are mainly three tiers of records abstraction, and we divide it into three stories to achieve Data Independence. 

In Data Independence approach, customers and records must no longer engage with each other. The person must be at a specific degree, and the documents must be a gift of a few extra degrees. By doing so, Data Independence may be achieved. So, let's have a look at in info what are those three tiers of records abstraction:

Levels/Types of Data Abstraction

Complex data structures are one of the levels of abstraction for DBMS systems. Developers employ degrees of abstraction to hide unnecessary details from users to make the system efficient and reduce complexity regarding data retrieval and user-friendliness. Database design is made simpler by abstraction levels.

For DBMS, there are primarily three levels of abstraction, which are as follows:

  • Internal or Physical Level
  • View or External Level
  • Logical or Conceptual Level

1. Internal or Physical Level

The data structures to store data and the database's access techniques are all defined at this lowest level of abstraction for DBMS. Developers or database application programmers choose how to store the data in the database.

Overall, the physical or internal level of the database describes the whole thing. It isn't easy to comprehend on this level. For instance, customer data is kept in tables, and information is kept in storage units like bytes, gigabytes, etc.

The physical position is the nethermost position of the abstraction situations. This position tells us how the data is stored in the database. 

 In this position, we fully describe the complex low-position data structures. i.e., it tells the entire region of the information being saved via way of means of the user. The Database Administrators(DBA) determine which data has to be kept at which unique disk drive, how the information needs to be fragmented, in which it needs to be saved, etc. They determine if the data needs to be centralized or distributed. Though we see the information within the shape of tables at view degree, the information right here is honestly saved within the physique of documents only. It relies upon the DBA and how they manage the database on the bodily degree.

2. Logical level

Logical or conceptual level A logical level is a middle level or the next highest level. It describes the data stored in the database and the relationships between that data. It tries to describe the data in its entirety or its entirety to describe the tables it creates and the links between those created tables. It's more complicated than the physical level. Logical levels are used by developers or database administrators (DBAs). The logical level includes tables (fields and attributes) and relationships between table attributes.

Example: Let us take an instance where we use the relational version to store the statistics. We should keep the statistics of a scholar; the columns within the scholar desk might be student name, age, mail id, roll no, and many others. We should outline these types at this degree while we're growing the database. Though the statistics are saved within the database, the shape of the tables, just like the scholar desk, trainer desk, books desk, and many others, are described right here within the conceptual degree or logical degree. Also, how the tables are associated with every difference is described here. Overall, we're growing a blueprint of the statistics on the conceptual degree.

3. View Level

 It is best for users who need to become more familiar with the site. It's simple and easy to use.

Users can interact with a system using a graphical user interface (GUI) that is view level and allows them to enter details at the GUI or screen. However, the user does not know how or what data is stored; this information is hidden from the user.

External views are a way to see different parts of a database simultaneously. This way, you can more easily access and understand data.

Data independence

Data Independence is a data property that can be used without depending on other data. For example, you can use a number without needing to know what it means or a letter without needing to know what it stands for.

It is a way to make a database more efficient and easier to work with. This is done by separating the data in a database into different, independent pieces.

Data independence means you can change the way data is stored without affecting the programs or applications that use it. This means you can change data storage without affecting how the programs or applications work.

This is the pinnacle level. There are numerous perspectives on the view level, with every view defining the most effective part of the whole data. It additionally allows consumer engagement with the aid of using presenting a lot of perspectives or several perspectives of an unmarried database. All customers have to get entry to the view level. This is the very best and maximum easy level.

Example: - If we've got a login identification and password of a college device, then as a pupil, we can view our marks, attendance, rate structure, etc. But the staff of the college may have a unique view. He may have alternatives like salary, edit marks of a pupil, input attendance of the students, etc. So, each pupil and the college staff have a unique view. By doing so, the safety of the device additionally increases. In this example, the pupil cannot edit his marks; however, the college staff that's legal to edit the marks can edit the pupil's marks. Similarly, the university or college dean may have a few extra authorizations, and accordingly, he'll have his view. So, unique customers may have a unique view in step with the authorization they have.

  • Physical level Independence
    This means you can keep your thoughts and ideas the same while changing how you look or behave. This is helpful when you want to do something different but want to keep everything the same.
  • Logical level independence
    This means that the person can think about things at a different level without affecting what they see or what they do with their computer. The data in your mind is the same as the data on the screen. No matter what you change, you'll still see the information the way you do now.

Advantages of Data Abstraction

  • Data abstraction makes the system easier to use, as the user doesn't need to know the details of how the data is stored. This makes the system more secure, as the user doesn't need to know the specific details of the code used to store the data.
  • Moreover, Data abstraction makes the code more reusable, making it easier to understand and change.