CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

05 April, 2022

Relational Algebra

 Programing Coderfunda     April 05, 2022     DBMS     No comments   

Relational Algebra

Relational algebra is a procedural query language. It gives a step-by-step process to obtain the result of the query. It uses operators to perform queries.

Types of Relational operation


DBMS Relational Algebra

1. Select Operation:

  • The select operation selects tuples that satisfy a given predicate.
  • It is denoted by sigma (σ).
  1. Notation:  σ p(r)  

Where:

σ is used for selection prediction
r is used for relation
p is used as a propositional logic formula which may use connectors like: AND OR and NOT. These relational can use as relational operators like =, ≠, ≥, <, >, ≤.

For example LOAN Relation

BRANCH_NAMELOAN_NOAMOUNT
DowntownL-171000
RedwoodL-232000
PerryrideL-151500
DowntownL-141500
MianusL-13500
RoundhillL-11900
PerryrideL-161300

Input:

  1. σ BRANCH_NAME="ferry ride" (LOAN)  

Output:

BRANCH_NAMELOAN_NOAMOUNT
PerryrideL-151500
PerryrideL-161300

2. Project Operation:

  • This operation shows the list of those attributes that we wish to appear in the result. The rest of the attributes are eliminated from the table.
  • It is denoted by ∏.
  1. Notation: ∏ A1, A2, An (r)   

Where

A1, A2, A3 are used as an attribute name of relation r.

Example: CUSTOMER RELATION

NAMESTREETCITY
JonesMainHarrison
SmithNorthRye
HaysMainHarrison
CurryNorthRye
JohnsonAlmaBrooklyn
BrooksSenatorBrooklyn

Input:

  1. ∏ NAME, CITY (CUSTOMER)  

Output:

NAMECITY
JonesHarrison
SmithRye
HaysHarrison
CurryRye
JohnsonBrooklyn
BrooksBrooklyn

3. Union Operation:

  • Suppose there are two tuples R and S. The union operation contains all the tuples that are either in R or S or both in R & S.
  • It eliminates the duplicate tuples. It is denoted by ∪.
  1. Notation: R ∪ S   

A union operation must hold the following condition:

  • R and S must have the attribute of the same number.
  • Duplicate tuples are eliminated automatically.

Example:

DEPOSITOR RELATION

CUSTOMER_NAMEACCOUNT_NO
JohnsonA-101
SmithA-121
MayesA-321
TurnerA-176
JohnsonA-273
JonesA-472
LindsayA-284

BORROW RELATION

CUSTOMER_NAMELOAN_NO
JonesL-17
SmithL-23
HayesL-15
JacksonL-14
CurryL-93
SmithL-11
WilliamsL-17

Input:

  1. ∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)  

Output:

CUSTOMER_NAME
Johnson
Smith
Hayes
Turner
Jones
Lindsay
Jackson
Curry
Williams
Mayes

4. Set Intersection:

  • Suppose there are two tuples R and S. The set intersection operation contains all tuples that are in both R & S.
  • It is denoted by intersection ∩.
  1. Notation: R ∩ S   

Example: Using the above DEPOSITOR table and BORROW table

Input:

  1. ∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR)  

Output:

CUSTOMER_NAME
Smith
Jones

5. Set Difference:

  • Suppose there are two tuples R and S. The set intersection operation contains all tuples that are in R but not in S.
  • It is denoted by intersection minus (-).
  1. Notation: R - S  

Example: Using the above DEPOSITOR table and BORROW table

Input:

  1. ∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR)  

Output:

CUSTOMER_NAME
Jackson
Hayes
Willians
Curry

6. Cartesian product

  • The Cartesian product is used to combine each row in one table with each row in the other table. It is also known as a cross-product.
  • It is denoted by X.
  1. Notation: E X D  

Example:

EMPLOYEE

EMP_IDEMP_NAMEEMP_DEPT
1SmithA
2HarryC
3JohnB

DEPARTMENT

DEPT_NODEPT_NAME
AMarketing
BSales
CLegal

Input:

  1. EMPLOYEE X DEPARTMENT  

Output:

EMP_IDEMP_NAMEEMP_DEPTDEPT_NODEPT_NAME
1SmithAAMarketing
1SmithABSales
1SmithACLegal
2HarryCAMarketing
2HarryCBSales
2HarryCCLegal
3JohnBAMarketing
3JohnBBSales
3JohnBCLegal

7. Rename Operation:

The rename operation is used to rename the output relation. It is denoted by rho (ρ).

Example: We can use the rename operator to rename STUDENT relation to STUDENT1.

  1. ρ(STUDENT1, STUDENT)  
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook

Related Posts:

  • ACID Properties in DBMS ACID Properties in DBMSDBMS is the management of data that should remain integrated when any changes are done in it. It is because if the integr… Read More
  • Data model Schema and Instance Data model Schema and InstanceThe data which is stored in the database at a particular moment of time is called an instance of the database.The … Read More
  • Data Independence Data IndependenceData independence can be explained using the three-schema architecture.Data independence refers characteristic of being ability… Read More
  • Database Language Database LanguageA DBMS has appropriate languages and interfaces to express database queries and updates.Database languages can be used to read,… Read More
  • DBMS ER Model ConceptER modelER model stands for an Entity-Relationship model. It is a high-level data model. This model is used to define the data elements and relationsh… Read More
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Spring boot app (error: method getFirst()) failed to run at local machine, but can run on server
    The Spring boot app can run on the online server. Now, we want to replicate the same app at the local machine but the Spring boot jar file f...
  • Log activity in a Laravel app with Spatie/Laravel-Activitylog
      Requirements This package needs PHP 8.1+ and Laravel 9.0 or higher. The latest version of this package needs PHP 8.2+ and Laravel 8 or hig...
  • Laravel auth login with phone or email
          <?php     Laravel auth login with phone or email     <? php     namespace App \ Http \ Controllers \ Auth ;         use ...
  • Failed to install 'cordova-plugin-firebase': CordovaError: Uh oh
    I had follow these steps to install an configure firebase to my cordova project for cloud messaging. https://medium.com/@felipepucinelli/how...
  • Vue3 :style backgroundImage not working with require
    I'm trying to migrate a Vue 2 project to Vue 3. In Vue 2 I used v-bind style as follow: In Vue 3 this doesn't work... I tried a...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (68)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

  • Failed to install 'cordova-plugin-firebase': CordovaError: Uh oh - 9/21/2024
  • pyspark XPath Query Returns Lists Omitting Missing Values Instead of Including None - 9/20/2024
  • SQL REPL from within Python/Sqlalchemy/Psychopg2 - 9/20/2024
  • MySql Explain with Tobias Petry - 9/20/2024
  • How to combine information from different devices into one common abstract virtual disk? [closed] - 9/20/2024

Laravel News

  • Auto-translate Application Strings with Laratext - 5/16/2025
  • Simplify Factory Associations with Laravel's UseFactory Attribute - 5/13/2025
  • Improved Installation and Frontend Hooks in Laravel Echo 2.1 - 5/15/2025
  • Filter Model Attributes with Laravel's New except() Method - 5/13/2025
  • Arr::from() Method in Laravel 12.14 - 5/14/2025

Copyright © 2025 CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda