Упражнения и задачи

Вопросы на повторение

Заключение

Квантор всеобщности

Квантор всеобщности – это выражение реляционного исчисления, обозначающее, что некоторое условие применяется к каждой строке определенного типа.

Он используется в тех же целях, что и операция деления реляционной алгебры. Проиллюстрируем его применение на примере. В таблицу решения включим только тех клиентов, которые покупали каждый товар. Если проанализировать приведенные в разделе 3.2.2 таблицы, что только один клиент (Петров) покупал каждый товар. Решение в реляционном исчислении таково:

 

(r.CustName : r IN Customer AND there exists t IN Product AND exists s IN Sale)

(s.CustId = r.CustId AND s.ProdId = t.ProdId)

 

 

 

В этой главе мы рассмотрели реляционную алгебру и реляционное исчисление Кодда. Оба этих теоретических языка манипулируют таблицами реляционной базы данных на основе их логических характеристик, не обращаясь к их физической структуре. Реляционная алгебра – это процедурный язык, дающий пошаговые решения задач создания запросов. Реляционное исчисление – непроцедурный язык, в котором решение формулируется в виде определения нужной таблицы, а не процесса получения желаемого результата. Кодд показал, что реляционная алгебра и реляционное исчисление логически эквивалентны. Другими словами, любой запрос, выполнимый на одном из этих языков, может быть выполнен и на другом.

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

 

 

1) Объясните своими словами смысл терминов:

· Реляционная алгебра

· Непроцедурный

· Реляционно полный

· Пересечение

· Вычитание

· Проектирование

· Естественное соединение

· Тета-соединение

· Деление

· Квантор всеобщности

 

2) Опишите, в каких обстоятельствах вы могли бы воспользоваться каждой из следующих операций реляционной алгебры:

· Выборка

· Создание проекции

· Соединение

· Присвоение

· Вычитание

· Пересечение

· Деление

 

3) Объясните функции каждого из следующих элементов формулировки запроса в реляционном исчислении:

· Целевой список

· Определяющее выражение

· Булевы операции (И, ИЛИ, НЕ)

· Квантор существования

· Квантор всеобщности

 

 

1) Пользуясь приведенной реляционной схемой базы данных, определите, какая(ие) операция(ии) может быть использована для ответа на поставленные вопросы:

 

КЛИЕНТ (идентификатор_клиента, имя, доход)

ПЕРЕВОЗКА (номер, идентификатор_клиента, вес, пункт_назначения, водитель)

 

· Какие клиенты имеют годовой доход свыше 5 миллионов рублей?

· Как называется клиент 555?

· Какой пункт назначения перевозки №4566?

· Как называются клиенты, отправлявшие грузы в Иваново?

· В какие пункты назначения компании с годовым доходом более 10 миллионов рублей отправляли грузы?

 

2) Дайте решение следующих задач создания запросов в реляционной алгебре:

 

· Список всех номеров грузов свыше 500 кг.

· Название клиентов с годовым доходом более 10 миллионом рублей.

· Названия городов, получавших грузы свыше 600 кг.

· Имена водителей, доставлявших грузы в Кострому.

· Клиенты, чьи грузы доставлял водитель Петров.

· Клиенты с годовым доходом более 5 миллионов рублей, отправлявших грузы весом менее 1 кг.

· Дайте список клиентов с максимальным годовым доходом.

· Клиенты, чьи грузы перевозились каждым водителем.

 

3) Сформулируйте вопросы задания 2 в реляционном исчислении.

4) Над представленными отношениями выполнить теоретико-множественные и/или специальные реляционные операторы. При необходимости обеспечить совместимость отношений по типу.

· Даны два отношения, кортежи которых содержат личные данные абитуриентов, поступающих в университет. Проиллюстрировать выполнение следующих теоретико-множественных операторов над отношениями А и В: объединение, пересечение и вычитание.

 

Таблица А

Фамилия Имя Отчество № паспорта Адрес
Иванов Иван Иванович Владимир
Петров Петр Александрович Муром
Сидоров Михаил Викторович Владимир

 

Таблица В

Фамилия Имя Отчество № паспорта Прописка
Соколов Иван Сергеевич Москва
Петров Петр Александрович Муром
Сергеев Алексей Викторович Ковров

 

· Даны отношения А и В, кортежи которых содержат личные данные абитуриентов, поступающих в университет. Проиллюстрировать выполнение следующих теоретико-множественных операторов над отношениями А и В: объединение, пересечение и вычитание.

 

Таблица А

Фамилия Имя Отчество № паспорта Адрес
Соколов Сергей Викторович Ковров
Иванов Иван Иванович Владимир
Петров Петр Александрович Муром
Сидоров Михаил Викторович Владимир

 

Таблица В

Фамилия Имя Отчество Паспортные данные Прописка
Соколов Иван Сергеевич Москва
Петров Петр Александрович Муром
Соколов Сергей Викторович Ковров
Сергеев Алексей Викторович Ковров

 

 

· Дано отношение В, кортежи которого содержат информацию о сдаче вступительных экзаменов в университет. Проиллюстрировать выполнение реляционных операторов, позволяющих ответить на следующие вопросы: кто из абитуриентов получил положительные оценки на вступительных экзаменах в университет? когда и по каким предметам проводятся вступительные экзамены в университет?

 

Таблица В

№ экз. листа Предмет Дата экзамена Оценка
Математика 20.06.2006 отлично
Информатика 25.06.2006 хорошо
Информатика 25.06.2006 отлично
Математика 20.06.2006 хорошо
Физика 23.06.2006 удовлетворительно
Математика 20.06.2006 хорошо
Информатика 25.06.2006 отлично
Математика 20.06.2006 хорошо

 

· Даны отношения А и В, кортежи которых содержат информацию об абитуриентах и результатах сдачи экзаменов. Проиллюстрировать выполнение реляционных операторов, позволяющих ответить на следующие вопросы: какие оценки получил каждый студент на вступительных экзаменах в университет?кто из студентов получил на вступительных экзаменах хотя бы одну оценку «отлично»?кто из студентов получил оценку «отлично» по всем трем вступительным экзаменам?

 

Таблица А

№ Экз. листа Фамилия Имя Отчество
Соколов Сергей Викторович
Иванов Иван Иванович
Петров Петр Александрович
Сидоров Михаил Викторович

Таблица В

№ экз. листа Предмет Дата экзамена Оценка
Математика 20.06.2006 отлично
Информатика 25.06.2006 хорошо
Информатика 25.06.2006 отлично
Математика 20.06.2006 хорошо
Физика 23.06.2006 удовлетворительно
Математика 20.06.2006 хорошо
Информатика 25.06.2006 отлично
Математика 20.06.2006 хорошо

 

 

· Даны отношения А и В, кортежи которых содержат информацию о проходных баллах по специальностям факультета информационных технологий и результатах сдачи экзаменов абитуриентами.Проиллюстрировать выполнение реляционных операторов, позволяющих ответить на следующие вопросы: кто из студентов и на какие специальности поступил, исходя из суммы баллов за два экзамена?Кто из студентов не поступит на специальность 230101?

 

Таблица А

№ абитуриента Фамилия Имя Отчество Сумма баллов за два экзамена
Соколов Сергей Викторович
Иванов Иван Иванович
Петров Петр Александрович
Сидоров Михаил Викторович

 

Таблица В

Специальность Проходной балл

 

Глава 4 УПРАВЛЕНИЕ РЕЛЯЦИОННОЙ БАЗОЙ ДАННЫХ С