Ответы на вопросы по Базам, страница 5
Описание файла
Документ из архива "Ответы на вопросы по Базам", который расположен в категории "". Всё это находится в предмете "базы данных" из 6 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "базы данных (бд)" в общих файлах.
Онлайн просмотр документа "Ответы на вопросы по Базам"
Текст 5 страницы из документа "Ответы на вопросы по Базам"
Пересечение
Определение 3. Пересечением двух совместимых по типу отношений и называется отношение с тем же заголовком, что и у отношений и , и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям и .
Синтаксис операции пересечения:
Пример 3. Для тех же отношений и , что и в предыдущем примере пересечение имеет вид:
Табельный номер | Фамилия | Зарплата |
1 | Иванов | 1000 |
Таблица 4 Отношение A INTERSECT B
Замечание. Казалось бы, что в отличие от операции объединения, потенциальные ключи могли бы наследоваться пересечением отношений. Однако это не так. Вообще, никакие реляционные операторы не передают результатирующему отношению никаких данных о потенциальных ключах. В качестве причины этого можно было бы привести тривиальное соображение, что так получается более просто и симметрично - все операторы устроены одинаково. На самом деле причина более глубока, и заключается в том, что потенциальный ключ - семантическое понятие, отражающее различимость объектов предметной области. Наличие потенциальных ключей не выводится из структуры отношения, а явно задается для каждого отношения, исходя из его смысла. Реляционные же операторы являются формальными операциями над отношениями и выполняются одинаково, независимо от смысла данных, содержащихся в отношениях. Поэтому, реляционные операторы ничего не могут "знать" о смысле данных. Трактовка результата реляционных операций - дело пользователя.
Вычитание
Определение 4. Вычитанием двух совместимых по типу отношений и называется отношение с тем же заголовком, что и у отношений и , и телом, состоящим из кортежей, принадлежащих отношению и не принадлежащих отношению .
Синтаксис операции вычитания:
Пример 4. Для тех же отношений и , что и в предыдущем примере вычитание имеет вид:
Табельный номер | Фамилия | Зарплата |
2 | Петров | 2000 |
3 | Сидоров | 3000 |
Таблица 5 Отношение A MINUS B
Декартово произведение
Определение 5. Декартовым произведением двух отношений и называется отношение, заголовок которого является сцеплением заголовков отношений и :
,
а тело состоит из кортежей, являющихся сцеплением кортежей отношений и :
,
таких, что , .
Синтаксис операции декартового произведения:
Замечание. Мощность произведения равна произведению мощностей отношений и , т.к. каждый кортеж отношения соединяется с каждым кортежем отношения .
Замечание. Если в отношения и имеются атрибуты с одинаковыми наименованиями, то перед выполнением операции декартового произведения такие атрибуты необходимо переименовать.
Замечание. Перемножать можно любые два отношения, совместимость по типу при этом не требуется.
Пример 5. Пусть даны два отношения и с информацией о поставщиках и деталях:
Номер поставщика | Наименование поставщика |
1 | Иванов |
2 | Петров |
3 | Сидоров |
Таблица 6 Отношение A (Поставщики)
Номер детали | Наименование детали |
1 | Болт |
2 | Гайка |
3 | Винт |
Таблица 7 Отношение B (Детали)
Декартово произведение отношений и будет иметь вид:
Номер поставщика | Наименование поставщика | Номер детали | Наименование детали |
1 | Иванов | 1 | Болт |
1 | Иванов | 2 | Гайка |
1 | Иванов | 3 | Винт |
2 | Петров | 1 | Болт |
2 | Петров | 2 | Гайка |
2 | Петров | 3 | Винт |
3 | Сидоров | 1 | Болт |
3 | Сидоров | 2 | Гайка |
3 | Сидоров | 3 | Винт |
Таблица 8 Отношение A TIMES B
Замечание. Сама по себе операция декартового произведения не очень важна, т.к. она не дает никакой новой информации, по сравнению с исходными отношениями. Для реальных запросов эта операция почти никогда не используется. Однако операция декартового произведения важна для выполнения специальных реляционных операций, о которых речь пойдет ниже.
Специальные реляционные операторы
Выборка (ограничение, селекция)
Определение 6. Выборкой (ограничением, селекцией) на отношении с условием называется отношение с тем же заголовком, что и у отношения , и телом, состоящем из кортежей, значения атрибутов которых при подстановке в условие дают значение ИСТИНА. представляет собой логическое выражение, в которое могут входить атрибуты отношения и (или) скалярные выражения.
В простейшем случае условие имеет вид , где - один из операторов сравнения ( и т.д.), а и - атрибуты отношения или скалярные значения. Такие выборки называются -выборки (тэта-выборки) или -ограничения, -селекции.
Синтаксис операции выборки:
,
или
Пример 6. Пусть дано отношение с информацией о сотрудниках:
Табельный номер | Фамилия | Зарплата |
1 | Иванов | 1000 |
2 | Петров | 2000 |
3 | Сидоров | 3000 |
Таблица 9 Отношение A
Результат выборки будет иметь вид:
Табельный номер | Фамилия | Зарплата |
1 | Иванов | 1000 |
2 | Петров | 2000 |
Таблица 10 Отношение A WHERE Зарплата<3000
Смысл операции выборки очевиден - выбрать кортежи отношения, удовлетворяющие некоторому условию. Таким образом, операция выборки дает "горизонтальный срез" отношения по некоторому условию.
Проекция
Определение 7. Проекцией отношения по атрибутам , где каждый из атрибутов принадлежит отношению , называется отношение с заголовком и телом, содержащим множество кортежей вида , таких, для которых в отношении найдутся кортежи со значением атрибута равным , значением атрибута равным , …, значением атрибута равным .
Синтаксис операции проекции:
Замечание. Операция проекции дает "вертикальный срез" отношения, в котором удалены все возникшие при таком срезе дубликаты кортежей.
Пример 7. Пусть дано отношение с информацией о поставщиках, включающих наименование и месторасположение:
Номер поставщика | Наименование поставщика | Город поставщика |
1 | Иванов | Уфа |
2 | Петров | Москва |
3 | Сидоров | Москва |
4 | Сидоров | Челябинск |
Таблица 11 Отношение A (Поставщики)