- •20.7. Средства sql
- •20.8. Резюме
- •21.1. Введение
- •21.2. Некоторые аспекты технологам поддержки принятия решений
- •21.3. Проектирование базы данных поддержки принятия решений
- •21.5. Хранилища данных и магазины данных
- •21.6. Оперативная аналитическая обработка
- •21.7. Разработка данных
- •21.8. Резюме
- •22.1. Введение
- •22.2. Хронологические данные
- •22.3. Основная проблема хронологических баз данных
- •22.4. Интервалы
- •22.5. Интервальные типы
- •22.6. Скалярные операторы для интервалов
- •22.7. Операторы обобщения для интервалов
- •22.8. Реляционные операторы для обработки интервалов
- •22.9. Ограничения, включающие интервалы
- •22.10. Операторы обновления, включающие интервалы
- •22.11. Проектирование базы данных
- •22.12. Резюме
- •23.1. Введение
- •23.2. Обзор основных концепций
- •23.3. Исчисление высказываний
- •23.4. Исчисление предикатов
- •23.5. Базы данных с точки зрения доказательно-теоретического подхода
- •23.6. Дедуктивные субд
- •23.7. Обработка рекурсивных запросов
- •23.8. Резюме
- •Часть VI
- •24.1. Введение
- •24.2. Объекты, классы, методы и сообщения
- •24.3. Еще раз об объектах и объектных классах
- •Cdo для класса set (ref(emp))
- •24.4. Простой пример
- •1 | Course с001 , с001 0ffs , с001 ny offs |
- •24.5. Дополнительные аспекты
- •24.6. Резюме
- •25.1. Введение
- •X2 rational, y2 rational ) ... ;
- •25.2. Первая грубейшая ошибка
- •25.3. Вторая грубейшая ошибка
- •25.4. Вопросы реализации
- •25.5. Преимущества реального сближения двух технологий
- •25.6. Резюме
22.4. Интервалы
А теперь займемся разработкой соответствующего набора сокращений. Первый и наиболее важный шаг— понять необходимость применения интервалов как таковых вместо того, чтобы интерпретировать их как пары отдельных значений, как мы это делали до сих пор.
Что же конкретно представляет собой интервал времени? Согласно рис. 22.3 поставщик с номером 'S1' мог поставлять деталь с номером 'Pi' в течение интервала с дня4 по день 10. Но что означает выражение "интервал с дня 4 по день 10"? Ясно, что дни 5, 6, 7, 8 и 9 в него включаются, но что можно сказать о начальной и конечной точках, о днях 4 и 10? Оказывается, задавая некоторый конкретный интервал, мы иногда считаем, что указанные начальная и конечная точки включаются в интервал, а иногда — нет. Если интервал с дня 4 по день 10 включает день 4, то говорят, что он закрыт относительно его начальной точки, в противном случае говорят, что интервал открыт относительно его начальной точки. Точно так, если интервал включает день 10, то говорят, что он закрыт относительно его конечной точки, в противном случае говорят, что интервал открыт относительно его конечной точки.
Поэтому принято обозначать интервал начальной и конечной точками (именно в этом порядке), предваряя его открывающей квадратной скобкой или открывающей круглой скобкой и заключая его закрывающей квадратной скобкой или закрывающей круглой скобкой. Квадратные скобки используются, когда интервал закрыт, а круглые скобки — когда он открыт. Таким образом, интервал, например, с 4 по 10 день, можно обозначить четырьмя различными способами.
[d04,dl0] [d04,dll) (d03,dl0) (d03,dll)
Замечание. Вам может показаться странным, например, что используются открывающая квадратная скобка и закрывающая круглая скобка. Однако есть веские причины использования всех четырех вариантов обозначения интервалов. В действительности на практике наиболее часто используется так называемый "закрыто-открытый" вариант (открывающие квадратные скобки и закрывающие круглые скобки)6.
Однако "закрыто-закрытый" вариант (открывающие квадратные скобки и закрывающие квадратные скобки), несомненно, наиболее интуитивно понятный, и поэтому мы будем отдавать предпочтение именно ему.
6
Чтобы понять, почему "закрыто-открытый"
вариант интервала может быть более
предпочтительным, рассмотрим операцию
разбиения интервала [U0$,Ul(l]
перед,
скажем, днем d07.
В
результате получим смежные интервалы
/d04,d07
)
и
fd07,d!0
).
