Изучаем sql


SELECT name >  FROM corporation



Pdf көрінісі
бет16/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   12   13   14   15   16   17   18   19   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

SELECT name

FROM corporation

WHERE corp_id = 27
;
++
| name |
++
| Acme Paper Corporation |
++
Все элементы БД, созданные посредством SQLвыражений управления
схемой, хранятся в специальном наборе таблиц, который называется
словарем данных 
(
data dictionary
). Все эти «данные о базе данных» на


Что такое SQL?
21
зывают 
метаданными 
(
metadata
). К таблицам словаря данных можно
делать запросы с помощью оператора 
select
, в точности как к создан
ным вами таблицам. Таким образом, текущие структуры данных, раз
вернутые в БД во время выполнения, становятся доступными. Напри
мер, если требуется создать отчет о новых счетах, открытых за послед
ний месяц, можно жестко закодировать известные на момент написа
ния отчета имена столбцов таблицы 
account
либо сделать запрос
к словарю данных, получить текущий набор столбцов и динамически
генерировать отчет при каждом выполнении.
Данная книга посвящена главным образом той части языка для рабо
ты с данными, к которой относятся команды 
select

update
(обновить),
insert
и 
delete
(удалить). SQLвыражения управления схемой рассмот
рены в главе 2, где создается БД, используемая в примерах данной
книги. Вообще говоря, SQLвыражения управления схемой не требуют
особого внимания, за исключением их синтаксиса, тогда как у SQLвы
ражений для работы с данными (хотя их и немного) есть масса нюан
сов, нуждающихся в подробном изучении. Поэтому большинство глав
данной книги посвящены SQLвыражениям для работы с данными.
SQL: непроцедурный язык
Если в прошлом вам приходилось работать с языками программирова
ния, вы привыкли к описанию переменных и структур данных, ис
пользованию условной логики (ifthenelse), циклическим конструк
циям (do while … end) и разделению кода на небольшие многократно
используемые части (объекты, функции, процедуры). Код передается
компилятору, и результирующий исполняемый код делает в точности
(ну, не всегда 
в точности
) то, что вы запрограммировали. С каким бы
языком программирования ни работали, Java, C#, C, Visual Basic или
любым другим 
процедурным 
языком, вы полностью управляете дейст
виями программы. С SQL, однако, понадобится отказаться от привыч
ного контроля над выполнением, потому что SQLвыражения опреде
ляют необходимые входные и выходные данные, а способ выполнения
выражения зависит от компонента механизма СУБД (database engine),
называемого 
оптимизатором 
(
optimizer
). Работа оптимизатора заклю
чается в том, чтобы рассмотреть SQLвыражение и с учетом конфигура
ции таблиц и доступных индексов принять решение о самом эффектив
ном пути выполнения запроса (ну, не всегда 
самом 
эффективном).
Большинство СУБД позволяют программисту влиять на решения опти
мизатора с помощью 
подсказок оптимизатору 
(
optimizer hints
), на
пример предложений по использованию конкретного индекса. Однако
большинство пользователей SQL никогда не доберется до этого уровня
сложности и будет оставлять подобные тонкости администраторам БД
или специалистам по вопросам производительности.
Следовательно, с SQL писать полные приложения не получится. Если
требуется создать чтото сложнее простого сценария для работы с оп


22

Достарыңызбен бөлісу:
1   ...   12   13   14   15   16   17   18   19   ...   261




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

    Басты бет