relational algebrathat may be 1970 and given by**Kode Edgar f**. In addition, it provides a theoretical foundation for relational databases. In other words, we also call relational algebra formal query language or procedural query language.

Table of contents

## relational algebra

After that, why is it so important what value relational algebra has today? Here we use SQL (Structured Query Language). This is a structured query language based on relational algebra.

Relational algebra has no tool here. It is also a collection of mathematical expressions. Typically, a theoretical model has been created using different mathematical expressions than the way it is accessed.

As a general rule, the mathematical expression model is used to run SQL. There are many versions of the platform. However, they are used as SQL. But SQL help created for relational algebra.

## Relational Algebra Operators

Most important are two mathematical operations (also relational algebra symbols)

**basic operations**

- Projection (P)
- selection (p)
- cross product ( × )
- union ( ⋃ )
- Rename ( ρ )
- Set difference (-)

**derivatives transactions**

- Join ( ⋈ )
- Intercept ( ⋂ ) ( x ⋂ y ) = x-( x – y )
- division ( / , ÷ )

**projection**

This is followed by the operator Π. Otherwise it is the first operator in the algebra of nations. First of all, what is the use of a projection operator?

Besides, this is a table. We call the relationships we establish RDBMS (Relationship Database Management System). There are actually many different types of relationships, but for now we'll use RDBMS.

Projection (P):-

don't roll | Name | Years |

1 | A | 20 |

2 | B | 21 |

3 | C | 32 |

The primary operator (Π) means to retrieve the data. Let's see query:- Don't get the role off the table (student).

Now there are no columns in a student table, so we don't get any columns from the table, so the query is**table name**

Get the first column:-**Π no throw (student)**

The two-column roll number and name:-**Π role number, name (student)**

**Have the result of the first column checked:-**

don't roll |

1 |

2 |

3 |

**Get the two-column reel number and name. Result: -**

don't roll | Name |

1 | A |

2 | B |

3 | C |

For example, if we retrieve the name column or if there are two or more similar dates in the column, both names will be the same.

So the result shows only one data value that does not contain duplicate data in the projection operator. So as we have to show an example with the table.

don't roll | Name |

1 | A |

2 | B |

3 | A |

Let's look at the name column above, there is some data from A on the students. Here the test result is only given a name in the student table**Π Name (student)**

**Result with example:-**

Name |

A |

B |

**selection (p)**

**The next**operator is a selection, the sigma operator (**Page**). Like using choice operators from the algebra of relations. In general, in-row selection works. When we get the row along with the selection condition, let's leave the last one as an example.

don't roll | Name | Years |

1 | A | 20 |

2 | B | 21 |

3 | A | 32 |

Query to get the name of the student whose list number = '2'

**Π nombre( σ rollno=2 ( Estudiante ) )**

**Result:-**

Name |

B |

**Use:-**Projection always works on column and selection always works on rows (projection = column, selection = row)

**Cross product**

Here a cross product of the relational algebra has a basis operator. Along with the cross product example. So we need 2 tables R1 and R2, both tables of two relations**(R1 × R2)**.

By the way why do we need to calculate cross product because SQL relation algebra is important for performance?**Unit.**This also means that we have to make a joint under the tables. More about that herejQuery has class

**Table R1:-**

A | B | C |

1 | 2 | 3 |

2 | 1 | 4 |

**Table R2:-**

C | D | mi |

3 | 4 | 5 |

2 | 1 | 2 |

**Cross product example:-**Here not column in R1 = 3 and not column in R2 = 3, which means 3 + 3 = 6 columns. Along with this number of rows in table R1 and the number of rows in table R2. Normally, which means it's 2 * 2 = 4 rows.

**Results with example:-**

A | B | C | C | D | mi |

1 | 2 | 3 | 3 | 4 | 5 |

1 | 2 | 3 | 2 | 1 | 2 |

2 | 1 | 4 | 3 | 4 | 5 |

2 | 1 | 4 | 2 | 1 | 2 |

**(R1 × R2)**

**Use:-**So according to DBMS at least two columns should be the same. So if two columns in the tables were not otherwise equal, we will not join the table.

**Set difference (-)**

According to the set difference of the algebra of relations a set of (A-B) = A but not B what it means**( A ⋂ B)**. Here we will see with the example. Here you will find the best themeHighlighted JQuery radio button

S1 = 1, 2, 3

S2 = 3, 4

Therefore**S1 - S2 = 1, 2**answer

Therefore (A – B) does not equal (B – A)

and**S2 – S1 = 4**answer

**Use:-**

- In the table, the column number must be the same.
- The domain (data) of each column must be the same in the table.

Finally, let's see an example, we need to create two tables, one for students and one for staff, and the fixed difference of both tables will be implemented.

not matter | Name |

1 | A |

2 | B |

3 | C |

**(Student)**

Emp-Nr | Name |

7 | mi |

1 | A |

**(Employees)**

**Result:-**(student) – (employee).

not matter | Name |

2 | B |

3 | C |

## Relational Algebra Department

**Split Method: -**In summary, the division operator is an operator derived from relational algebra. Like the division operator (/, -), but we use the common operator for (**×,**P, p, p).

sid | Cid |

S1 | C1 |

S2 | C2 |

S1 | C1 |

S3 | C2 |

(Entered)

Cid |

C1 |

C2 |

( Course )

Then A( x, y ) / B(y) = follows from the value of x, so for every value of y of the relation B there should be a tuple < x, y >. So, as an example**E(Sid, Cid) / C(Cid) = S1.**

Here's how to find an enrolled student, so let me enroll all S1, S2 students in all C1, C2 courses in the table. So here make a table showing all the students with course for this cross product.

**(Πsid (enrolled) × Πcid (course)**

**Result:-**

S1 | C1 |

S1 | C2 |

S2 | C1 |

S2 | C2 |

S3 | C1 |

S3 | C2 |

Now:-**(Πsid ( Enrolled ) )× Πcid( Course ) – ( Enrolled )**

S2 | C2 |

S3 | C1 |

**Use:-**Here you get the SID of a student who has enrolled in all courses.

### unions

Here, when we join two or more tables, we use join methods to find the result. The result cannot therefore be taken from a table.

- Also, common attributes must exist in both relationship tables.
- Cross product + select statement (conditional statements) = join

**Types of main links (relational algebra in DBMS)**

- connect cross.
- natural union.
- conditional union.
- Right now, unite.
- Join automatically.
- Outer join (left outer, right outer, full outer).

### Join SQL query

**Interunion: -**As an example of a cross product. Also create a table with the data and implement the cross join query.

That | Name | Direction |

1 | John | EU |

2 | Harry | You have |

3 | to the | London |

(Employees)

**Inquiry:-**

Select Ename From Employee Where Eno = '1';

**natural union**

Likewise, if two and more than two tables have common attributes of both tables. So we use the natural join method to find below an example with a sql query in brief.

Eno | Name | Direction |

1 | John | EU |

2 | Harry | You have |

3 | to the | London |

4 | poul | If |

(Employees)

Fonds | Name | Eno |

D1 | HOUR | 1 |

D2 | THE | 2 |

D3 | Marketing | 4 |

(Department)

**Inquiry:-**

Select Employee Name, Department Where Employee.Eno = Department.Eno;Select Employee Name Department from Natural Join;(Main Query for Natural Join)

**Result:-**

Name |

John |

Harry |

poul |

## join yourself

Also, in which the table joins. As an example, let's join a table from the same table.

sid | Cid | Year |

1 | C1 | 2000 |

2 | C2 | 2020 |

1 | C3 | 2021 |

(Student)

**Inquiry:-**

Select academic year as T1, student as T2, where T1.Sid = T2.Sid and T1.Cid <> T2.Cid

**Result:-**

sid | Cid | Year |

1 | C3 | 2021 |

1 | C1 | 2000 |

(Student)

**Use:-**Here when we create a student spreadsheet where the spreadsheet implements auto linking. Also apply the cross product in this table along with the help of allies. Now let's add two tables in different courses.

In this section we get all the data of the students with different courses. Here you can find the result above the table, we only show one complete course per student along with a SQL query.

**Join Equi:-**Similarly, the natural join method is applied in the just join. The main difference between natural join and fair join is largely that the attributes of both tables are the same.

Therefore, Equi is linked to the implementation conditions. Also, we need to explain ourselves as an example and also show the equi-join query. First, let me have two tables, one table is an employee table and another is a department table.

Usually we get the data in the employee table along with the department match. Therefore, due to the conditions, we need to implement Equi Join.

There are two tables and each table has two columns, one column ie address and another table column ie location. Here we get the data from both columns along with the same position of the employee IDs.

**Inquiry:-**

Select employee's Ename, Department where Employee. Eno = department. Eno and Employee.Address = Department.Location;

**outer union**

**Left Outer Connection**:- It also provides the matching rows and the rows that are in the left table but not in the right table.

**Inquiry:-**

Wählen Sie Eno, Ename, Dname, Employee Left Outer Join Department Location At (Employee.Did = Department.Dno);

**Use:-**Here are employee and department tables where there are several different columns. By the way, let employees get all data and other department tables easily general data like you want to get data from tables.

**Right Outer Join: -**After that it gives the matching rows and the rows that are in the right table but not in the left table.

**Inquiry:-**

Wählen Sie Eno, Ename, Dname, Employee Right Outer Join Department Location At (Employee.Did = Department.Dno);

**Use:-**Also, as we know, the left join method is the same. This is followed by two tables Employee and Department. Therefore, as with the department, all data in the table is displayed with the corresponding data from the employee tables.

Therefore, the main employee table will only get condition data in the same way if the data in both tables is common.

**Complete outside connection: -**When you get the left outer join and the right outer join, both tables usually have common attributes that are collected in a full outer join. As an an example,**GROSS ⋃ BEER**in the corresponding table, as a result, the same show all the data.

Also, this is the full outer join of each join in the left and right outer join tables.

## Relational Algebra Symbols

Just as we defined symbols together as an example of symbols in the previous section on relational algebra. Here we also collect an operator using DBMS SQL methods.

**Symbol:-**^, Π, ρ, σ, ⋈, ⋂, ÷, ×, ⋃

## Relationale Algebra in SQL

Here relational algebra in**sql**You have a query that retrieves the data along with the condition. As we know, briefly discuss all the SQL queries in the example section above.

Actually, relational algebra and SQL methods are both the same here, but their implementation is different. In this case we use the SQL query as we did when retrieving the data.

Select Employee Name, Department Where Employee.Eno = Department.Eno;Select Employee Name Department from Natural Join;(Main Query for Natural Join)

## Relationale Algebra in DBMS

In this case, the database management system comes firstrelational algebra in**DBMS**to obtain when the condition to retrieve all table data was implemented using the DBMS condition. Also, we know join = cross product + condition.

So this means that the data is displayed along with the DBMS query implemented by RA. In addition, we define moreDBMSrefer to the example in the previous section that you can find and implement.

### Conclusion:-

In this paragraph we have removed the related topic from the whole topic Algebra of Relations along with an example. Also if you have any problems, all on topic. Here you can post your request in the comment section. However, shortly I will solve your query as an example.

Also more relative articles follow this link :-Python-Pass.