Компоненты SQL
Эти операторы CREATE VIEW соединяют данные из множества таблиц, используя для этого оператор JOIN. Диаграмма всего этого процесса показана на рис. 3.4.
Рис. 3.4. Создание многотабличного представления с помощью оператора JOIN
Ниже приведены положения для четырех операторов CREATE VIEW.
- Первый оператор соединяет столбцы из таблицы CUSTOMER со столбцом из таблицы INVOICE и создает представление SKI_CUST1.
- Второй оператор соединяет представление SKLCUST1 со столбцом из таблицы INVOICE_LINE, создавая таким образом представление SKI_CUST2.
- Третий оператор соединяет представление SKLCUST2 со столбцом из таблицы PRODUCT и создает представление SKI_CUST3.
- Четвертый оператор отбрасывает все строки, где в поле категории товара отмечено не 'Ski' (лыжи). В результате получается представление SKI_CUST, в котором находятся имена, фамилии и адреса тех клиентов, которые хотя бы один раз купили товары категории 'Ski'. Каждому из этих клиентов, даже если он покупал лыжи много раз, в представлении SKI_CUST будет соответствовать только одна запись. Это достигается благодаря ключевому слову DISTINCT (отдельный), которое находится в SELECT четвертого оператора CREATE VIEW. (Об операторах JOIN подробно говорится в главе 10.)
Сборка таблиц в схемы
Таблица состоит из строк и столбцов и обычно соответствует какому-либо объекту, такому, например, как множество клиентов, товаров и счетов-фактур. Для полезной работы обычно требуется информация о нескольких (или многих) объектах, имеющих между собой какие-либо отношения. Таблицы, соответствующие этим объектам, вы располагаете вместе, согласно логической схеме. (Логическая схема – это организационная структура совокупности таблиц, связанных между собой отношениями.)
В системе, где может сосуществовать несколько несвязанных друг с другом проектов, можно соединить все таблицы, связанные друг с другом отношениями, в одну схему. А из таблиц, не вошедших в эту схему, можно образовать другие схемы. Чтобы таблицы из одного проекта не оказались случайно в другом, схемам следует дать имена. У каждого проекта имеется своя собственная схема, которую по имени можно будет отличать от других схем. Некоторые табличные имена (например, CUSTOMER, PRODUCT и т.д.) могут встречаться сразу в нескольких проектах. Если есть хоть малейший шанс, что возникнет путаница с именами, необходимо в именах таблиц указывать имя схемы (примерно так: ИМЯ_СХЕМЫ.ИМЯ_ТЛБЛИЦЫ). Если имя схемы не указано, SQL будет считать, что эта таблица относится к схеме, подразумеваемой по умолчанию.
Помни:
У базы данных, кроме логической, есть еще и физическая схема. Физическая схема – это способ, с помощью которого данные и соответствующие им компоненты, например индексы, физически размещаются на диске компьютера. И когда в книге говорится о схеме базы данных, то имеется в виду логическая схема, а не физическая.