Релационната алгебра е процедурен език за заявки. Той дава стъпка по стъпка процес за получаване на резултата от заявката. Той използва оператори за извършване на заявки.
Видове релационни операции
1. Изберете операция:
- Операцията select избира кортежи, които отговарят на даден предикат.
- Означава се със сигма (σ).
Notation: σ p(r)
Където:
стр се използва за прогнозиране на селекцията
r се използва за отношение
стр се използва като пропозиционална логическа формула, която може да използва съединители като: И ИЛИ и НЕ. Тези релационни оператори могат да се използват като релационни оператори като =, ≠, ≧, , ≦.
Например: Заемна връзка
BRANCH_NAME | LOAN_NO | КОЛИЧЕСТВО |
---|---|---|
В центъра | L-17 | 1000 |
Секвоя | L-23 | 2000 г |
Перирайд | L-15 | 1500 |
В центъра | L-14 | 1500 |
Мианус | L-13 | 500 |
Раундхълм | L-11 | 900 |
Перирайд | L-16 | 1300 |
Вход:
σ BRANCH_NAME='perryride' (LOAN)
Изход:
към низ метод java
BRANCH_NAME | LOAN_NO | КОЛИЧЕСТВО |
---|---|---|
Перирайд | L-15 | 1500 |
Перирайд | L-16 | 1300 |
2. Операция на проекта:
- Тази операция показва списъка с тези атрибути, които искаме да се показват в резултата. Останалите атрибути се елиминират от таблицата.
- Означава се с ∏.
Notation: ∏ A1, A2, An (r)
Където
A1 , A2 , A3 се използва като име на атрибут на релация r .
Пример: ВРЪЗКА С КЛИЕНТА
ИМЕ | УЛИЦА | ГРАД |
---|---|---|
Джоунс | Основен | Харисън |
Смит | север | ръж |
Хейс | Основен | Харисън |
Къри | север | ръж |
Джонсън | Душа | Бруклин |
Брукс | Сенатор | Бруклин |
Вход:
∏ NAME, CITY (CUSTOMER)
Изход:
ИМЕ | ГРАД |
---|---|
Джоунс | Харисън |
Смит | ръж |
Хейс | Харисън |
Къри | ръж |
Джонсън | Бруклин |
Брукс | Бруклин |
3. Операция на Съюза:
- Да предположим, че има два кортежа R и S. Операцията за обединение съдържа всички кортежи, които са или в R, или в S, или и двете в R & S.
- Той елиминира дублиращите се кортежи. Означава се с ∪.
Notation: R ∪ S
Операцията на обединение трябва да отговаря на следното условие:
- R и S трябва да имат атрибут на едно и също число.
- Дублиращите се кортежи се елиминират автоматично.
Пример:
ВРЪЗКА С ВЛОЖИТЕЛ
ПОТРЕБИТЕЛСКО ИМЕ | ACCOUNT_NO |
---|---|
Джонсън | А-101 |
Смит | А-121 |
Майес | А-321 |
Търнър | А-176 |
Джонсън | А-273 |
Джоунс | А-472 |
Линдзи | А-284 |
ЗАЕМНО ОТНОШЕНИЕ
списък за сортиране на java
ПОТРЕБИТЕЛСКО ИМЕ | LOAN_NO |
---|---|
Джоунс | L-17 |
Смит | L-23 |
Хейс | L-15 |
Джаксън | L-14 |
Къри | L-93 |
Смит | L-11 |
Уилямс | L-17 |
Вход:
конвертиране на низ в int
∏ CUSTOMER_NAME (BORROW) ∪ ∏ CUSTOMER_NAME (DEPOSITOR)
Изход:
ПОТРЕБИТЕЛСКО ИМЕ |
---|
Джонсън |
Смит |
Хейс |
Търнър |
Джоунс |
Линдзи |
Джаксън |
Къри |
Уилямс |
Майес |
4. Задайте пресичане:
- Да предположим, че има два кортежа R и S. Операцията за пресичане на множество съдържа всички кортежи, които са и в R & S.
- Означава се с пресичане ∩.
Notation: R ∩ S
Пример: Използвайки горната таблица DEPOSITOR и таблица BORROW
Вход:
∏ CUSTOMER_NAME (BORROW) ∩ ∏ CUSTOMER_NAME (DEPOSITOR)
Изход:
ПОТРЕБИТЕЛСКО ИМЕ |
---|
Смит |
Джоунс |
5. Задаване на разлика:
- Да предположим, че има два кортежа R и S. Операцията за пресичане на множество съдържа всички кортежи, които са в R, но не и в S.
- Означава се с пресечна точка минус (-).
Notation: R - S
Пример: Използвайки горната таблица DEPOSITOR и таблица BORROW
Вход:
∏ CUSTOMER_NAME (BORROW) - ∏ CUSTOMER_NAME (DEPOSITOR)
Изход:
ПОТРЕБИТЕЛСКО ИМЕ |
---|
Джаксън |
Хейс |
Уилямс |
Къри |
6. Декартово произведение
- Декартовият продукт се използва за комбиниране на всеки ред в една таблица с всеки ред в другата таблица. Известен е също като кръстосано произведение.
- Означава се с X.
Notation: E X D
Пример:
СЛУЖИТЕЛ
EMP_ID | EMP_NAME | EMP_DEPT |
---|---|---|
1 | Смит | А |
2 | Хари | ° С |
3 | Джон | Б |
ОТДЕЛЕНИЕ
DEPT_NO | DEPT_NAME |
---|---|
А | Маркетинг |
Б | Продажби |
° С | Законни |
Вход:
EMPLOYEE X DEPARTMENT
Изход:
EMP_ID | EMP_NAME | EMP_DEPT | DEPT_NO | DEPT_NAME |
---|---|---|---|---|
1 | Смит | А | А | Маркетинг |
1 | Смит | А | Б | Продажби |
1 | Смит | А | ° С | Законни |
2 | Хари | ° С | А | Маркетинг |
2 | Хари | ° С | Б | Продажби |
2 | Хари | ° С | ° С | Законни |
3 | Джон | Б | А | Маркетинг |
3 | Джон | Б | Б | Продажби |
3 | Джон | Б | ° С | Законни |
7. Операция за преименуване:
Операцията за преименуване се използва за преименуване на изходната релация. Означава се с ро (p).
азбука с цифри
Пример: Можем да използваме оператора за преименуване, за да преименуваме връзката STUDENT на STUDENT1.
ρ(STUDENT1, STUDENT)