Операторы (запросы) проекции. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Операторы (запросы) проекции.



Предположим, что необходимо реализовать операцию, обеспечивающую получение проекции исходной таблицы на конкретные столбцы. Общий формат такого запроса имеет вид.

SELECT (<имя 1-го столбца>,<имя 2-го столбца>…)

FROM (<имя таблицы, из которой выбираются столбцы>).

Например, необходимо выбрать из таблицы Р данные о номерах деталей и о весе деталей, умноженному на заданный коэффициент.

 

SELECT P.NP, P.ВЕС*50 AS CW FROM P.

РЕЗУЛЬТАТ:

 

NP CW(ВЕС*50)
P1  
P2  
P3  
Р4  
P5  

 

 

Операции селекции.

Назначение: выделение кортежей (строк), для которых выполнение заданного условия является истинным.

Общий формат записи такого оператора следующий

SELECT (<имя 1-го столбца>,<имя 2-го столбца>…)

FROM (<имя таблицы, из которой выбираются столбцы>).

WHERE <условие>

Пример. Пусть необходимо получить данные из отношения Р о цвете и городе для деталей, которые могут быть поставлены не из Парижа и весом более 12 граммов.

SELECT P.COLOR, P.CITY

FROM P

WHERE (P.вес >12) and (город<>’Париж’); условие выборки кортежей

Результат:

Цвет Город
Голубой Рим
Красный Лондон

Запросы с использованием специальных функций.

К специальным операторам относятся:

1. Операторы принадлежности множеству — IN;

2. Операторы принадлежности диапазону изменения — BETWEEN;

3. Операторы принадлежности шаблону — LIKE (%…);

4. Операторы проверки на неопределенные значения — IS NULL.

 

Пример. Предположим, что необходимо получить данные о именах поставщиков проживающих в Лондоне.

SELECT S.SN, S.имя

FROM S

WHERE S.ГОРОД IN (’Лондон’)

Результат.

NS Имя
S1 Смит
S2 Кларк

 

Запросы с использованием агрегатных (итоговые) функций.

Набор агрегатных функций языка SQL достаточно обширен и содержит в том числе такие функции как:

1. Вычисление суммарных значений.

2. Вычисление максимальных и минимальных значений.

3. Вычисление среднего значения

и т.д.

Пример: Пусть необходимо получить суммарный вес всех деталей:

SELECT SUM (Вес)

FROM P

Результат – 72.

 

Операторы обновления таблицы в языке SQL.

Это операторы INSERT, UPDATE, DELETE.

Пример. Необходимо в таблице Р добавить новую строку, в которой должна содержаться следующая информация:

Деталь Р8, шуруп, белый, вес=18, город Вена.

INSERT

INTO P (NP, наименование, цвет, вес, город)

VALUES (‘P8’, ‘шуруп’, ‘белый’, 18, ‘Вена’)

 

Реализация некоторых операций алгебры средствами реляционного СУБД FOXPRO(Visual FOXPRO).

Предположим, имеют место 2 таблицы ABC и DEF. Рассмотрим пример реализации операции “проекции”.

ABC

Фамилия Комната TLE
Иванов    
Петров    
Сидоров    

 

DEF

TEL TIP
  Персональный
  Спаренный
  Спаренный
  Персональный

 

Пример 1. Необходимо получить из ABC сведения о том, в каких комнатах размещены сотрудники(операция проекция).

USE ABC

COPY TO RESUL2 FIELDS ФАМИЛИЯ, КОМНАТА

USE RESULT2

LIST

Результат.

RECORD# Фамилия Комната
  Иванов  
  Петров  
  Сидоров  

Пример2. Необходимо из таблиц ABC и DEF получить данные о сотрудниках, о номерах комнат, в которых они работают, о номерах телефонов и типах телефонов.

Операция соединения: новое отношение получается путем конкатенции кортежей из первого и второго отношения. Только те кортежи подвергаются конкатенции, для которых одинаковы значения выбранного атрибута. В данном случае объединение проводится по номерам телефонов TEL и TLE.

SELECT 02

USE DEF ALIAS 02

SELECT 01

USE ABC ALIAS 01

JOIN WITH TO RESULT3 FOR TLE=02=>TEL

USE RESULT3

LIST

В результате получаем.

Фамилия Комната TLE TEL TIP
Иванов       Персональный
Петров       Спаренный
Сидоров       Спаренный

 

 

Тема 6. Физические модели баз данных и физическое проектирование

 



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 272; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.229.113 (0.005 с.)