Skip to main content

Data Abstraction and Data Independence

Data Abstraction and Data Independence

Database systems comprise complex data structures. In order to make the system efficient in terms of retrieval of data, and reduce complexity in terms of usability of users, developers use abstraction i.e. hide irrelevant details from the users. This approach simplifies database design.

There are mainly 3 levels of data abstraction:

Physical: This is the lowest level of data abstraction. It tells us how the data is actually stored in memory. The access methods like sequential or random access and file organization methods like B+ trees and hashing are used for the same. Usability, size of memory, and the number of times the records are factors that we need to know while designing the database. Suppose we need to store the details of an employee. Blocks of storage and the amount of memory used for these purposes are kept hidden from the user.

Logical: This level comprises the information that is actually stored in the database in the form of tables. It also stores the relationship among the data entities in relatively simple structures. At this level, the information available to the user at the view level is unknown. We can store the various attributes of an employee and relationships, e.g. with the manager can also be stored.

View: This is the highest level of abstraction. Only a part of the actual database is viewed by the users. This level exists to ease the accessibility of the database by an individual user. Users view data in the form of rows and columns. Tables and relations are used to store data. Multiple views of the same database may exist. Users can just view the data and interact with the database, storage and implementation details are hidden from them.

Example: In case of storing customer data,
Physical level – it will contains a block of storages (bytes, GB, TB, etc)
Logical level – it will contain the fields and the attributes of data.
View level – it works with CLI or GUI access of database

Data Abstraction and Data Independence

The main purpose of data abstraction is to achieve data independence in order to save the time and cost required when the database is modified or altered.

Data Independence is mainly defined as a property of DBMS that helps you to change the database schema at one level of a system without requiring to change the schema at the next level. it helps to keep the data separated from all program that makes use of it.
We have namely two levels of data independence arising from these levels of abstraction :

Physical level data independence: It refers to the characteristic of being able to modify the physical schema without any alterations to the conceptual or logical schema, done for optimization purposes, e.g., the Conceptual structure of the database would not be affected by any change in storage size of the database system server. Changing from sequential to random access files is one such example. These alterations or modifications to the physical structure may include:
  • Utilizing new storage devices.
  • Modifying data structures used for storage.
  • Altering indexes or using alternative file organization techniques etc.

Logical level data independence: It refers characteristic of being able to modify the logical schema without affecting the external schema or application program. The user view of the data would not be affected by any changes to the conceptual view of the data. These changes may include insertion or deletion of attributes, altering table structures entities or relationships to the logical schema, etc.

Comments

Popular posts from this blog

Control Key Shortcuts

Control Key Shortcuts (Image by - Sharma Guides | Subham232330) CTRL+A = All Select CTRL+B = Bold CTRL+C = Copy CTRL+D = Duplicate CTRL+E = Alignment Center Side CTRL+F = Find CTRL+G = Group & Go To CTRL+H = Replace CTRL+I = Italic CTRL+J = Justify CTRL+K = Hyperlink CTRL+L = Alignment Left Side CTRL+M = New Slide CTRL+N = New Document & Page CTRL+O = Open CTRL+P = Print CTRL+Q = Quit CTRL+R = Alignment Right Side CTRL+S = Save CTRL+T = New Tab CTRL+U = Underline CTRL+V = Paste CTRL+W = Close The Window CTRL+X = Cut CTRL+Y = Redo CTRL+Z = Undo CTRL+Esc = Windows Start Menu CTRL+Tab = Switch between open tabs in the browser or other tabbed programs. CTRL+Shift+Tab = Will go backwards (right to left). CTRL+Delete = Delete Next Word. CTRL+Backspace = Delete Previous Word. CTRL+PgDn = Next Tab CTRL+PgUp = Previous Tab CTRL + ← = Previous Word CTRL + → = Next Word CTRL + Alt + ↑ = Rotate Screen Right Side C TRL + Alt + ↓ = Rotate Screen upsid...

SQL Constraints, NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT, CREATE INDEX

SQL Constraints (Image by - Sharma Guides | Subham232330) Constraints   |   |- CHECK   |   |- NOT NULL   |   |- UNIQUE   |   |- PRIMARY KEY   |   |- DEFAULT   |   |- FOREIGN KEY   |   |- INDEX * These constraints are also known as Integrity Constraints . * SQL Constraints:- Constraints are the rules and restrictions applied to the data in a table. * NOT NULL:- Value cannot be Null in a column. * UNIQUE:- Value cannot be the same in a column. * PRIMARY KEY:- Used to uniquely identify a row. * FOREIGN KEY:- References a row in another table. * CHECK:- Satisfies a specific condition. * DEFAULT:- Set default value. * CREATE INDEX:- Used to speed up the reading process.

Authentication vs Authorization

Authentication vs Authorization - Authentication and authorization are the two words used in the security world. They might sound similar but are completely different from each other. Authentication is used to authenticate someone's identity, whereas authorization is a way to provide permission to someone to access a particular resource. These are the two basic security terms and hence need to be understood thoroughly. In this topic, we will discuss what authentication and authorization are and how they are differentiated from each other. What is Authentication? Authentication is the process of identifying someone's identity by assuring that the person is the same as what he is claiming for. It is used by both server and client. The server uses authentication when someone wants to access the information, and the server needs to know who is accessing the information. The client uses it when he wants to know that it is the same server that it claims to be. The authentication by t...