Механизм представления данных в реляционной модели.

Работа с разными БД в одном запросе.

В одном запросе можно использовать таблицы из разных БД. В этом случае имя таблицы указывается в формате

 

:ПсевдонимБД:ИмяТаблицы

 

Под псевдонимом БД понимается псевдоним, определенный в утилите BDE Administrator.

Ниже приведен пример обращения в одном запросе к таблицам БД InterBase (псевдоним ' MONITOR') и Oracle (псевдоним 'DWH'):

 

SELECT U.*

FROM ":MONITOR:NLS" N, ":DWH:OLAP_UPE" U

WHERE U.SC_CODE = N.COD_SCENARIO

ORDER BY U.SC_CODE

 

КОНТРОЛЬНЫЕ ВОПРОСЫ:

1. Укажите причины использования подзапросов.

2. Что представляет собой внутренний подзапрос?

3. Где могут быть помещены и в каких операторах могут использоваться внутренние запросы?

4. Назовите типы подзапросов.

5. Что возвращает скалярный подзапрос?

6. Что возвращает строковый подзапрос?

7. Что возвращает табличный подзапрос?

8. Какие правила и ограничения применяются к подзапросам?

9. В каком случае в условии поиска указывается предложение EXISTS (<подзапрос>)?

10. Для чего предназначены ключевые слова EXISTS и NOT EXISTS? Чему равен результат их обработки?

11. Какое предложение нужно указать в условии поиска, когда из таблицы требуется выбрать лишь те записи, для которых подзапрос возвращает только одно значение?

12. Какое предложение применяется, когда необходимо указать, что сравниваемое значение (значение столбца, результат вычисления выражения) должно находиться в определенных отношениях со всеми значениями из множества значений, возвращаемых подзапросом?

13. Что определяет служебное слово ALL?

14. Что определяет служебное слово SOME?

15. Как в предложении FROM определяется внешнее соединение?

16. Что определяет вид внешнего соединения? Что такое «ведущая» таблица?

17. Что можно производить при помощи оператора UNION?

18. Что соединяет операция «сцепления»? Где ее можно использовать?

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

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

С точки зрения пользователя базы данных, представление выглядит как реальная таблица данных, содержащая набор поименованных столбцов и строк данных. В отличие от реальных таблиц, представления не существуют в базе как некоторый набор сохраняемых значений данных. В действительности доступные через представления строки и столбцы данных являются результатом выполнения запроса, заданного при определении представления. СУБД сохраняет определение представления в базе данных.

Столкнувшись со ссылкой на представление, программы СУБД находят его определение и преобразуют исходный запрос к представлению в эквивалентный запрос к таблицам, использованным в определении представления, после чего модифицированный запрос выполняется. Этот процесс слияния, называется разрешением представления.