Relational Algebra is a procedural query language. Relational algebra mainly provides a theoretical foundation for
relational databases and SQL.
Types of Relational operation
1. Select Operation:
• The select operation selects tuples that satisfy a given predicate.
• It is denoted by sigma (σ).
Syntax: σ 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 =, ≠, ≥, <, >, ≤.
BRANCH_NAME LOAN_NO AMOUNT
Downtown L-17 1000
Redwood L-23 2000
Perryride L-15 1500
Downtown L-14 1500
Mianus L-13 500
Roundhill L-11 900
Perryride L-16 1300
σ BRANCH_NAME="perryride" (LOAN)
BRANCH_
NAME
LOAN_NO AMOUNT
Perryride L-15 1500
Perryride L-16 1300
Output:
2. Project Operation:
• This operation shows the list of those attributes that we wish to
appear in the result.
• It is denoted by ∏
• ∏ (R) A1, A2, An
NAME STREET CITY
Jones Main Harrison
Smith North Rye
Hays Main Harrison
Curry North Rye
Johnson Alma Brooklyn
Brooks Senator Brooklyn
Example: CUSTOMER RELATION
∏ NAME, CITY (CUSTOMER)
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 ∪.
SYNTAX - 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.
DEPOSITOR RELATION
CUSTOMER_NAME ACCOUNT_NO
Johnson A-101
Smith A-121
Mayes A-321
Turner A-176
Johnson A-273
Jones A-472
Lindsay A-284
BORROW RELATION
CUSTOMER_NAME LOAN_NO
Jones L-17
Smith L-23
Hayes L-15
Jackson L-14
Curry L-93
Smith L-11
Williams L-17
∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)
Output:
CUSTOMER_NAME
Johnson
Smith
Hayes
Turner
Jones
Lindsay
Jackson
Curry
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 ∩.
• Notation: R ∩ S
∏ 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 (-).
Notation: R - S
∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME
(DEPOSITOR)
Output:
CUSTOMER_NAME
Jackson
Hayes
DEPARTMENT
DEPT_NODEPT_NAME
A Marketing
B Sales
C Legal
EMPLOYEE
EMP_ID EMP_NAME EMP_DEPT
1 Smith A
2 Harry C
3 John B
DEPARTMENT
DEPT_NO DEPT_NAME
A Marketing
B Sales
C Legal
Input:
EMPLOYEE X DEPARTMENT
Output:
EMP_ID EMP_NAME EMP_DEPT DEPT_NO DEPT_NAME
1 Smith A A Marketing
1 Smith A B Sales
1 Smith A C Legal
2 Harry C A Marketing
2 Harry C B Sales
2 Harry C C Legal
3 John B A Marketing
3 John B B Sales
3 John B C Legal
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.
• ρ(STUDENT1, STUDENT)
Join Operations:
A Join operation combines related tuples from different relations, if
and only if a given join condition is satisfied. It is denoted by ⋈.
Result:
EMP_CODE EMP_NAME SALARY
101 Stephan 50000
102 Jack 30000
103 Harry 25000
1. Natural Join:
A natural join is the set of tuples of all combinations in R and S that
are equal on their common attribute names.
It is denoted by ⋈.
Input:
∏EMP_NAME, SALARY (EMPLOYEE ⋈ SALARY)
Output:
EMP_NAME SALARY
Stephan 50000
Jack 30000
Harry 25000
What are Joins?
JOINS in SQL are commands which are used to combine rows from two or more tables, based
on a related column between those tables. There are predominantly used when a user is
trying to extract data from tables which have one-to-many or many-to-many relationships
between them.
Now, that you know what joins mean, let us next learn the different types of joins.
How many types of Joins are there in SQL?
There are mainly four types of joins that you need to understand. They are:
INNER JOIN
FULL JOIN
LEFT JOIN
RIGHT JOIN
INNER JOIN
This type of join returns those records which have matching values in both tables. So, if you
perform an INNER join operation between the Employee table and the Projects table, all
the tuples which have matching values in both the tables will be given as output.
Syntax:
SELECT Table1.Column1,Table1.Column2,Table2.Column1,....
FROM Table1
INNER JOIN Table2
ON Table1.MatchingColumnName = Table2.MatchingColumnName;
SELECT Employee.EmpID, Employee.EmpFname, Employee.EmpLname,
Projects.ProjectID, Projects.ProjectName
FROM Employee
INNER JOIN Projects ON Employee.EmpID=Projects.EmpID;
LEFT JOIN
The LEFT JOIN or the LEFT OUTER JOIN returns all the records from the left table and also those
records which satisfy a condition from the right table. Also, for the records having no matching
values in the right table, the output or the result-set will contain the NULL values.
Syntax:
SELECT Table1.Column1,Table1.Column2,Table2.Column1,....
FROM Table1
LEFT JOIN Table2
ON Table1.MatchingColumnName = Table2.MatchingColumnName;
EXAMPLE:
SELECT Employee.EmpFname, Employee.EmpLname, Projects.ProjectID, Projects.ProjectName
FROM Employee
LEFT JOIN
ON Employee.EmpID = Projects.EmpID ;
RIGHT JOIN
The RIGHT JOIN or the RIGHT OUTER JOIN returns all the records from the
right table and also those records which satisfy a condition from the left table.
Also, for the records having no matching values in the left table, the output or
the result-set will contain the NULL values.
Syntax:
SELECT Table1.Column1,Table1.Column2,Table2.Column1,....
FROM Table1
RIGHT JOIN Table2
ON Table1.MatchingColumnName = Table2.MatchingColumnName;
SELECT Employee.EmpFname, Employee.EmpLname, Projects.ProjectID,
Projects.ProjectName
FROM Employee
RIGHT JOIN
ON Employee.EmpID = Projects.EmpID;
FULL JOIN
Full Join or the Full Outer Join returns all those records which either have a match in the
left(Table1) or the right(Table2) table.
Syntax:
SELECT Table1.Column1,Table1.Column2,Table2.Column1,....
FROM Table1
FULL JOIN Table2
ON Table1.MatchingColumnName = Table2.MatchingColumnName;
Example:
SELECT Employee.EmpFname, Employee.EmpLname, Projects.ProjectID
FROM Employee
FULL JOIN Projects
ON Employee.EmpID = Projects.EmpID;
1695304562_RELATIONAL_ALGEBRA.pdf

1695304562_RELATIONAL_ALGEBRA.pdf

  • 1.
    Relational Algebra isa procedural query language. Relational algebra mainly provides a theoretical foundation for relational databases and SQL. Types of Relational operation
  • 2.
    1. Select Operation: •The select operation selects tuples that satisfy a given predicate. • It is denoted by sigma (σ). Syntax: σ 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 =, ≠, ≥, <, >, ≤.
  • 3.
    BRANCH_NAME LOAN_NO AMOUNT DowntownL-17 1000 Redwood L-23 2000 Perryride L-15 1500 Downtown L-14 1500 Mianus L-13 500 Roundhill L-11 900 Perryride L-16 1300 σ BRANCH_NAME="perryride" (LOAN) BRANCH_ NAME LOAN_NO AMOUNT Perryride L-15 1500 Perryride L-16 1300 Output:
  • 4.
    2. Project Operation: •This operation shows the list of those attributes that we wish to appear in the result. • It is denoted by ∏ • ∏ (R) A1, A2, An NAME STREET CITY Jones Main Harrison Smith North Rye Hays Main Harrison Curry North Rye Johnson Alma Brooklyn Brooks Senator Brooklyn Example: CUSTOMER RELATION ∏ NAME, CITY (CUSTOMER)
  • 5.
    3. Union Operation: •Supposethere 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 ∪. SYNTAX - 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.
  • 6.
    DEPOSITOR RELATION CUSTOMER_NAME ACCOUNT_NO JohnsonA-101 Smith A-121 Mayes A-321 Turner A-176 Johnson A-273 Jones A-472 Lindsay A-284 BORROW RELATION CUSTOMER_NAME LOAN_NO Jones L-17 Smith L-23 Hayes L-15 Jackson L-14 Curry L-93 Smith L-11 Williams L-17 ∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR) Output: CUSTOMER_NAME Johnson Smith Hayes Turner Jones Lindsay Jackson Curry
  • 7.
    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 ∩. • Notation: R ∩ S ∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR) Output: CUSTOMER_NAME Smith Jones
  • 8.
    5. Set Difference: Supposethere 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 (-). Notation: R - S ∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR) Output: CUSTOMER_NAME Jackson Hayes
  • 9.
    DEPARTMENT DEPT_NODEPT_NAME A Marketing B Sales CLegal EMPLOYEE EMP_ID EMP_NAME EMP_DEPT 1 Smith A 2 Harry C 3 John B DEPARTMENT DEPT_NO DEPT_NAME A Marketing B Sales C Legal
  • 10.
    Input: EMPLOYEE X DEPARTMENT Output: EMP_IDEMP_NAME EMP_DEPT DEPT_NO DEPT_NAME 1 Smith A A Marketing 1 Smith A B Sales 1 Smith A C Legal 2 Harry C A Marketing 2 Harry C B Sales 2 Harry C C Legal 3 John B A Marketing 3 John B B Sales 3 John B C Legal
  • 11.
    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. • ρ(STUDENT1, STUDENT)
  • 12.
    Join Operations: A Joinoperation combines related tuples from different relations, if and only if a given join condition is satisfied. It is denoted by ⋈.
  • 13.
    Result: EMP_CODE EMP_NAME SALARY 101Stephan 50000 102 Jack 30000 103 Harry 25000
  • 14.
    1. Natural Join: Anatural join is the set of tuples of all combinations in R and S that are equal on their common attribute names. It is denoted by ⋈. Input: ∏EMP_NAME, SALARY (EMPLOYEE ⋈ SALARY) Output: EMP_NAME SALARY Stephan 50000 Jack 30000 Harry 25000
  • 15.
    What are Joins? JOINSin SQL are commands which are used to combine rows from two or more tables, based on a related column between those tables. There are predominantly used when a user is trying to extract data from tables which have one-to-many or many-to-many relationships between them. Now, that you know what joins mean, let us next learn the different types of joins. How many types of Joins are there in SQL? There are mainly four types of joins that you need to understand. They are: INNER JOIN FULL JOIN LEFT JOIN RIGHT JOIN
  • 19.
    INNER JOIN This typeof join returns those records which have matching values in both tables. So, if you perform an INNER join operation between the Employee table and the Projects table, all the tuples which have matching values in both the tables will be given as output. Syntax: SELECT Table1.Column1,Table1.Column2,Table2.Column1,.... FROM Table1 INNER JOIN Table2 ON Table1.MatchingColumnName = Table2.MatchingColumnName; SELECT Employee.EmpID, Employee.EmpFname, Employee.EmpLname, Projects.ProjectID, Projects.ProjectName FROM Employee INNER JOIN Projects ON Employee.EmpID=Projects.EmpID;
  • 21.
    LEFT JOIN The LEFTJOIN or the LEFT OUTER JOIN returns all the records from the left table and also those records which satisfy a condition from the right table. Also, for the records having no matching values in the right table, the output or the result-set will contain the NULL values. Syntax: SELECT Table1.Column1,Table1.Column2,Table2.Column1,.... FROM Table1 LEFT JOIN Table2 ON Table1.MatchingColumnName = Table2.MatchingColumnName; EXAMPLE: SELECT Employee.EmpFname, Employee.EmpLname, Projects.ProjectID, Projects.ProjectName FROM Employee LEFT JOIN ON Employee.EmpID = Projects.EmpID ;
  • 23.
    RIGHT JOIN The RIGHTJOIN or the RIGHT OUTER JOIN returns all the records from the right table and also those records which satisfy a condition from the left table. Also, for the records having no matching values in the left table, the output or the result-set will contain the NULL values. Syntax: SELECT Table1.Column1,Table1.Column2,Table2.Column1,.... FROM Table1 RIGHT JOIN Table2 ON Table1.MatchingColumnName = Table2.MatchingColumnName;
  • 24.
    SELECT Employee.EmpFname, Employee.EmpLname,Projects.ProjectID, Projects.ProjectName FROM Employee RIGHT JOIN ON Employee.EmpID = Projects.EmpID;
  • 25.
    FULL JOIN Full Joinor the Full Outer Join returns all those records which either have a match in the left(Table1) or the right(Table2) table. Syntax: SELECT Table1.Column1,Table1.Column2,Table2.Column1,.... FROM Table1 FULL JOIN Table2 ON Table1.MatchingColumnName = Table2.MatchingColumnName; Example: SELECT Employee.EmpFname, Employee.EmpLname, Projects.ProjectID FROM Employee FULL JOIN Projects ON Employee.EmpID = Projects.EmpID;