Изучаем sql



Pdf көрінісі
бет53/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   49   50   51   52   53   54   55   56   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

Представления
Представление (view) – это запрос, хранящийся в словаре данных (data
dictionary). Оно выглядит и работает как таблица, но с представлени
ем не ассоциированы никакие данные (вот почему я называю это 
вир
туальной 
таблицей). При выполнении запроса к представлению за
прос соединяется с описанием представления и создается окончатель
ный запрос, который и будет выполнен.
Чтобы продемонстрировать это, приведу описание представления, за
прашивающего таблицу 
employee
и включающего вызов встроенной
функции:
CREATE VIEW 
employee_vw
AS
SELECT emp_id, fname, lname,
YEAR(start_date) start_year
FROM employee;
После создания представления никакие дополнительные данные не соз
даются: сервер просто сохраняет выражение 
select
для дальнейшего


Блок from
61
использования. Теперь, когда представление существует, можно де
лать запросы к нему:
SELECT emp_id, start_year
FROM employee_vw;
Emp_id start_year
1 2001
2 2002
3 2000
4 2002
5 2003
6 2004
7 2004
8 2002
9 2002
10 2002
11 2000
12 2003
13 2000
14 2002
15 2003
16 2001
17 2002
18 2002
Представления создаются по разным причинам, в том числе с целью
скрыть столбцы от пользователей и упростить сложно устроенные БД.
MySQL до версии 5.0.1 не поддерживает представления. Однако
они широко используются другими серверами БД, поэтому тот,
кто планирует работать с MySQL, должен помнить о них.
Поскольку MySQL версии 4.1.11 не включает представления,
в предыдущем запросе намеренно не показано приглашение
mysql>
и обычное форматирование результирующего набора.
Этот же прием применяется в других главах книги при описа
нии возможности SQL, еще не реализованной в MySQL.
Связи таблиц
Второе отступление от определения простого блока 
from
: если в блоке
from
присутствует более одной таблицы, обязательно должны быть
включены и условия, используемые для 
связывания 
(
link
) таблиц. Это
не требование MySQL или какогото другого сервера БД, а утвержден
ный ANSI метод соединения нескольких таблиц, и это способ, наибо
лее переносимый между серверами БД. Соединение нескольких таб
лиц будет подробно рассматриваться в главах 5 и 10; здесь приведен
лишь простой пример для утоления любопытства:


Достарыңызбен бөлісу:
1   ...   49   50   51   52   53   54   55   56   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет