![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Пример. Выберем из отношения R фамилии всех студентов получивших оценки 5.
R
Фамилия | Дисциплина | Оценка |
Иванова | БД | |
Иванова | Ин.яз | |
Петров | Философия | |
Петров | БД |
(R WHERE Оценка=5) [Фамилия]
Фамилия |
Петров |
Пример 9. Определить, кто из студентов (пример 7) и по каким предметам сдал экзамены на 3. В этом случае необходимо выполнить две реляционных операции: селекцию и проекцию:
R
Фамилия | Дисциплина | Оценка |
Иванова | БД | |
Иванова | Ин.яз | |
Петров | Философия | |
Петров | БД |
(R WHERE Оценка=3) [Фамилия, Дисциплина]
Фамилия | Дисциплина |
Иванова | Ин.яз |
Петров | БД |
Пример 10. Проекции отношений Р и S (рис. 10.1).
а) б)
Р [Тип, Город_Д] (S WHERE Город_П = "Киев") [П#]
Тип | Город_Д | П# | ГородП | |
каленый | Москва | S2 | Киев | |
мягкий | Киев | S3 | Киев | |
твердый | Ростов | |||
твердый | Киев |
Операция соединения
СоединениеCf (R1, R2) отношений R1 и R2 по условию, заданному формулой f, представляет собой отношение R, которое можно получить путем декартова произведения отношений R1 и R2 с последующим применением к результату операции выборки по формуле f. Правила записи формулы f такие же, как и для операции селекции.
Другими словами, соединением отношения R1 по атрибуту А с отношением R2 по атрибуту В (отношения не имеют общих имен атрибутов) является результат выполнения операции вида:
(R1 Ä R2) WHERE f,
f = A Q В,
где Q — логическое выражение над атрибутами, определенными на одном (нескольких — для составного атрибута) домене.
Соединение Cf(R1, R2), где формула f имеет произвольный вид (в отличие от частных случаев, рассматриваемых далее), называют также условным соединением (Q–соединением).
Пример 12. Условное соединение.
Заданы отношения R1 и R2 содержащие коды и размеры (диаметры) шпилек и шайб соответственно. Необходимо подобрать шайбы к шпилькам при условии, что диаметр шайбы должен быть больше диаметра шпильки. Для этого выполним операцию условного соединения:
R1 R2
Код_шпильки | Диаметр_шпильки | Код_шайбы | Диаметр_шайбы | |
(R1 Ä R2) WHERE Диаметр_шпильки < Диаметр_шайбы
Код_шпильки | Диаметр_шпильки | Код_шайбы | Диаметр_шайбы |
Дата публикования: 2015-07-22; Прочитано: 542 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!