Pages

Wednesday, 26 October 2022

EER - Enhanced Entity Relationship Model

EER - Enhanced Entity Relationship Model is a high-level data model that incorporates the extensions to the original Entity Relationship model. It is a technique for displaying the concepts such as
1.Sub Class and Super Class
2.Specialization and Generalization
3.Union or Category
4.Aggregation

Features of EER Model:
•EER creates a design more accurate to database schemas.
•It reflects the data properties and constraints more precisely.
•It includes all modelling concepts of the ER model.
•Diagrammatic technique helps for displaying the EER schema.
•It includes the concept of specialization and generalization.
•It is used to represent a collection of objects that is union of objects of different entity types.

1.Sub Class and Super Class:
  • Sub class and Super class relationship leads the concept of Inheritance.
Super Class:
  • Super class is an entity type that has a relationship with one or more subtypes.
  • For example: Shape super class is having sub groups as Square, Circle, Triangle.
Sub Class:
  • Sub class is a group of entities with unique attributes.
  • Sub class inherits properties and attributes from its super class.
  • For example: Square, Circle, Triangle are the sub class of Shape super class.
2.Specialization and Generalization:
Specialization(Top to Bottom):
•Specialization is a process that defines a group entities which is divided into sub groups based on their characteristic.
•It is a top down approach, in which one higher entity can be broken down into two lower level entity.
•It maximizes the difference between the members of an entity by identifying the unique characteristic or attributes of each member.
•It defines one or more sub class for the super class and also forms the superclass/subclass relationship.
For example: In the below example, Employee can be specialized as Developer or Tester, based on what role they play in an Organization.

Generalization(Bottom to Top):
•Generalization is the process of generalizing the entities which contain the properties of all the generalized entities.
•It is a bottom approach, in which two lower level entities combine to form a higher level entity.
•Generalization is the reverse process of Specialization.
•It defines a general entity type from a set of specialized entity type.
•It minimizes the difference between the entities by identifying the common features.
For example: In the below example, Tiger, Lion, Elephant can all be generalized as Animals.
3.Union or Category:
•Category represents a single super class or sub class relationship with more than one super class.
•It can be a total or partial participation.
For example :Car booking - Person, Bank, Company
Car owner can be a person, a bank (holds a possession on a Car) or a company. 
Category (sub class) → Owner is a subset of the union of the three super classes → Person, Bank, Company. A Category member must exist in at least one of its super classes.
4.Aggregation:
•Aggregation is a process that represents a relationship between a whole object and its component parts.
•It abstracts a relationship between objects and viewing the relationship as an object.
•It is a process when two entity is treated as a single entity.
For example: In the below example, the relation between College and Course is acting as an Entity in Relation with Student.

Sunday, 16 October 2022

Types of Databases

1) Centralized Database: It is the type of database that stores data at a centralized database system. It comforts the users to access the stored data from different locations through several applications. These applications contain the authentication process to let users access data securely.
Example: Centralized database can be Central Library that carries a central database of each library in a college/university.

2) Distributed Database
Unlike a centralized database system, in distributed systems, data is distributed among different database systems of an organization. These database systems are connected via communication links. Such links help the end-users to access the data easily. 
Example :Apache Cassandra, HBase etc.
We can further divide a distributed database system into:
1.Homogeneous Distributed Data Base 
2.Heterogeneous Distributed Data Base 

1.Homogeneous Distributed Data Base : Database systems which execute on the same operating system and use the same application process and carry the same hardware devices.

2.Heterogeneous Distributed Data Base : Database systems which execute on different operating systems under different application procedures, and carries different hardware devices.


3) NoSQL Database(Not Only SQL)
It is a type of database that is used for storing a wide range of data sets. It is not a relational database as it stores data not only in tabular form but in several different ways. It came into existence when the demand for building modern applications increased. Thus, NoSQL presented a wide variety of database technologies in response to the demands.

4) Cloud Database
A type of database where data is stored in a virtual environment and executes over the cloud computing platform. It provides users with various cloud computing services for accessing the database.
IaaS - Infrastructure as a Service 
PaaS - Platform as a Service 
SaaS - Software as a Service 
FaaS - Functions as a Service 

5)Relational Database
This database is based on the relational data model, which stores data in the form of rows(tuple) and columns(attributes), and together forms a table(relation). A relational database uses SQL for storing, manipulating, as well as maintaining the data. 
E.F. Codd invented the database in 1970. Each table in the database carries a key that makes the data unique from others. 
Example: MySQL, Microsoft SQL Server, Oracle, etc.

Properties of Relational Database

There are following four commonly known properties of a relational model known as ACID properties, where:
  • A means Atomicity
  • C means Consistency
  • I means Isolation
  • D means Durability
A means Atomicity: This ensures the data operation will complete either with success or with failure. It follows the 'all or nothing' strategy. 
For example, a transaction will either be committed or will abort.

C means Consistency: If we perform any operation over the data, its value before and after the operation should be preserved. 
For example, the account balance before and after the transaction should be correct, i.e., it should remain conserved.

I means Isolation: There can be concurrent users for accessing data at the same time from the database. Thus, isolation between the data should remain isolated. 
For example, when multiple transactions occur at the same time, one transaction effects should not be visible to the other transactions in the database.

D means Durability: It ensures that once it completes the operation and commits the data, data changes should remain permanent.

6) Network Databases
It is the database that typically follows the network data model. Here, the representation of data is in the form of nodes connected via links between them. Unlike the hierarchical database, it allows each record to have multiple children and parent nodes to form a generalized graph structure.

7) Object-oriented Databases
Database that uses the object-based data model approach for storing data in the database system. The data is represented and stored as objects which are similar to the objects used in the object-oriented programming language.

8) Hierarchical Databases
It is the type of database that stores data in the form of parent-children relationship nodes. Here, it organizes data in a tree-like structure.

Conflict Serializability

Find out conflict serializability for the given transactions T1 T2 T3 R(X)     ...