Алгебра Кодда.ppt
- Количество слайдов: 25
Основы реляционной алгебры Кодда
Реляционная алгебра Кодда В конце 1960 – х годов Э. Кодд впервые опубликовал свою теорию (алгебру), которая основное внимание уделяла тому, как конструируются результирующие множества кортежей. Сегодня, не смотря на недостатки данной алгебры, эта теория лежит в основе семантики языка SQL.
Реляционная алгебра Кодда Поскольку отношения являются множествами , то средства манипулирования отношениями базируются на традиционных теоретико – множественных операциях, дополненных специфическими для реляционных баз данных.
Реляционная алгебра Кодда В состав теоретико – множественных операций входят: Операция объединения (UNION): Создание нового отношения, содержащего все кортежи отношений – операндов. При этом операнды должны иметь одинаковые атрибуты. n
Сотрудники проекта № 1 Номер Отдел ФИО Зарплата 2934 310 Иванов 22000. 00 2935 310 Петров 30000. 00 2936 313 Сидоров 18000. 00 Сотрудники проекта № 2 Номер Отдел ФИО Зарплата 2934 310 Иванов 22000. 00 2941 315 Иваненко 22000. 00 2935 310 Петров 30000. 00
Результат выполнения операции объединения Номер Отдел ФИО Зарплата 2934 310 Иванов 22000. 00 2935 310 Петров 30000. 00 2936 313 Сидоров 18000. 00 2941 315 Иваненко 22000. 00 Сотрудники проекта № 1 UNION Сотрудники проекта № 2
Реляционная алгебра Кодда Операция пересечения (INTERSECT): Создание нового отношения, содержащего кортежи, общие для исходных операндов. При этом операнды должны иметь одинаковые атрибуты. n
Результат выполнения операции пересечения Номер Отдел ФИО Зарплата 2934 310 Иванов 22000. 00 2935 310 Петров 30000. 00 Сотрудники проекта № 1 INTERSECT Сотрудники проекта № 2
Реляционная алгебра Кодда Операция разности отношений (MINUS): Создание нового отношения, содержащего кортежи первого операнда, отсутствующие во втором операнде. При этом операнды должны иметь одинаковые атрибуты. n
Результат выполнения операции взятия разности Номер 2936 Отдел 313 ФИО Сидоров Зарплата 18000. 00 Сотрудники проекта № 1 MINUS Сотрудники проекта № 2
Реляционная алгебра Кодда Операция декартово произведение отношений (TIMES): Создание нового отношения, в котором имеются все атрибуты первого и второго операндов, а кортежи получены попарным сцеплением кортежей исходных отношений. Число кортежей (мощность нового отношения) равна произведению мощностей 1 и 2 отношения. При этом множество атрибутов отношений не должны пересекаться. n
Сотрудники проекта № 1 Номер Отдел ФИО Зарплата 2934 310 Иванов 22000. 00 2935 310 Петров 30000. 00 2936 313 Сидоров 18000. 00 Проекты Название проекта Проект 1 Проект 2 Руководитель Воробьев Скворцов
Результат выполнения операции произведения Номер Отдел ФИО Зарплата Название проекта Руководитель 2934 310 Иванов 22000. 00 Проект 1 Воробьев 2935 310 Петров 30000. 00 Проект 1 Воробьев 2936 313 Сидоров 18000. 00 Проект 1 Воробьев 2934 310 Иванов 22000. 00 Проект 2 Скворцов 2935 310 Петров 30000. 00 Проект 2 Скворцов 2936 313 Сидоров 18000. 00 Проект 2 Скворцов Сотрудники проекта № 1 TIMES Проекты
Реляционная алгебра Кодда Специальные реляционные операции включают: Ограничение отношения (WHERE): Создание нового отношения, отбором в него картежей отношения – операнда (исходного отношения), которые удовлетворяют условию ограничения. (горизонтальная вырезка) n Для задания ограничений допустимы: n Операции сравнения; n Логические связки; n Скобки.
Результат выполнения операции ограничения Номер Отдел ФИО Зарплата 2934 310 Иванов 22000. 00 2935 310 Петров 30000. 00 Сотрудники проекта № 1 WHERE (Зарплата > 20000. 00 AND (Отдел = 310 OR Отдел = 315))
Реляционная алгебра Кодда Специальные реляционные операции включают: Проекция отношения (PROJECT): Создание нового отношения, отбором в него определенных атрибутов исходного отношения – операнда. (вертикальная вырезка) n
Результат выполнения операции проекции Отдел 310 313 PROJECT Сотрудники проекта № 2 {Отдел}
Реляционная алгебра Кодда Специальные реляционные операции включают: Соединение отношений (JOIN): Создание нового отношения, кортеж которого является результатом сцепления кортежей операндов (исходных отношений). n Различают соединения отношений двух видов: естественное и по условию.
Реляционная алгебра Кодда При соединении отношений по условию производится сцепление кортежей их операндов, и проверка полученного кортежа на соответствие заданному условию. Если условие выполнено, то кортеж включается в результирующее отношение. При естественном соединении отношений производится сцепление кортежей операндов и включение полученного кортежа в результирующее отношение без проверки. Применяется в том случае, если отношения – операнды обладают общими атрибутами.
Сотрудники Номер Отдел ФИО Зарплата Название проекта 2934 310 Иванов 22000. 00 Проект 1 2935 310 Петров 30000. 00 Проект 2 2936 313 Сидоров 18000. 00 Проект 1 Проекты Название проекта Руководитель Проект 1 Федоров Проект 2 Степанов
естественное соединение Номер Отдел ФИО 2934 310 Иванов 2935 310 2936 313 Зарплата Руководитель 22000. 00 Название проекта Проект 1 Федоров Петров 30000. 00 Проект 2 Степанов Сидоров 18000. 00 Проект 1 Федоров Соединение по условию Номер Отдел 2935 310 ФИО Петров Зарплата 30000. 00 Название проекта Руководитель Проект 2 Степанов
Реляционная алгебра Кодда Специальные реляционные операции включают: Деление отношений (DIVIDE BY): Создание нового отношения, содержащего атрибуты 1 -ого операнда, отсутствующие во 2 -м операнде, и кортежи 1 -ого операнда, которые совпали с кортежами 2 -ого операнда. Для выполнения этой операции 2 -й операнд должен содержать лишь атрибуты, совпадающие с атрибутами 1 -ого операнда n
Результат выполнения операции деления Сотрудники проекта № 1 Номер Отдел ФИО Отдел Зарплата Отдел 2934 310 Иванов 22000. 00 310 2935 310 Петров 30000. 00 315 2936 313 Сидоров 18000. 00 313 310
Результат выполнения операции деления Номер 2934 2936 Отдел 310 313 ФИО Иванов Сидоров Зарплата 22000. 00 18000. 00 Сотрудники проекта № 1 DIVIDE BY Отдел
Реляционная алгебра Кодда Кроме этого в состав алгебры включаются: Операция переименования (RENAME): Результатом является отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены. n Операция присваивания (: = ): Позволяет сохранить результаты вычисления реляционного выражения в существующем отношении БД. n
Алгебра Кодда.ppt