Например:
SELECT*FROM _ Music _ WHERE _ Publisher ‘Polygram’ ’Elektra’ ‘Capitol’
Указанная команда SELECT вернёт все строки данных, которые имеют отношения к звукозаписям, выпущенным компанией «Polygram», «Elektra», «Capitol».
Логические операторы конъюнкции (AND) и дизъюнкции (OR) требует наличие двух операторов. Оператор NOT – унарный оператор. Предложение WHERE может содержать любое число предикатов, соединяющих вместе логическими операторами сгруппированных с помощью круглых скобок.
SELECT*FROM Music WHERE _ Publisher =‘Capitol’ AND LastName = _ ‘Cocker’ OR LastName = ‘Merchat’.
3.3.3 Сортировка данных
Сортировка данных конструкции выражения SELECT позволяет упорядочить возвращённые наборы данных по возрастанию или убыванию значений полей.
Этой цели служит приложение ORDERBY. После которого указывается одно или несколько выражений вида: имя поля _ [Порядок сортировки, раздел. запятой]. Аргументы имя поля указывают на поля таблиц перечисленные в предложении FROM. В качестве необез. параметра – порядок – порядок сортировки допустимо использовать сл. сл. ASC и DESC возвращает по возрастанию и убыванию соответственно.
SELECT*FROM _ Music _ ORDERBYArtistDESC , TitleAsc
3.3.4 Группировка столбцов
Предложение GROUPBY применяется для группировки данных в столбцах. К нему необходимо обращаться при использовании так называемых агрегатирующих функций языка SQL. Например SUM. Группируя данные по определённым столбцам возвращающего набора следует включать в группу, либо все столбцы набора данных, либо те из них, которые не использованы в качестве аргументов агрегатирующих функций.
Предложение GROUPBY применяется в тех случаях, когда необходимо получить только одну строку из группы строк, в определённых структурах, которых характеризуется практичные значения.
3.3.5 Использование предложения HAVING
Предложение HAVING подобно WHERE помогает ограничить объем множества данных, получаемых в результате выполнения SELECT.
HAVING позволяет включать любое число предикатов, объединенных посредством булевых логических операторов.
Листинг 1:
Демонстрирует пример использования HAVING и применение вложенного запроса.
1: SELECT * FROM Music WHERE ID =
2: SELECT Music_ID FROM TRACKS
3: GROUP BY Music_ID
4: Having CDATE (SUM (Track_Length))>CDATE (“0:6:0”)
Строка 1 содержит заголовок внешнего запроса.
В строках 2,3,4 расположен текст подчиненного запроса. Подзапрос группирует записи таблицы TRACKS в соответствии с полями MUSIC_ID.
Предложение HAVING осуществляет сравнение суммы, продолжительность звучания всех композиций данного альбома. С константой равной 6 мин.
В результате выполнения всего запроса будут возвращен набор записей таблицы. MUSIC для каждой из которых существует внешний ключ из таблицы Tracks и удовлетворяется условие подчиненного запроса.
В строке 4 демонстрируется пример употребления встроенной SQL функции CDATE, выполняющей преобразование числа значения DATETIME.
В нашем случае с помощью CDATE осуществляется сопоставление функции внешних интервалов длительности звучания, выраженных в секундах.
3.3.6 Объединение таблиц
Реляционная БД предполагает наличие механизма объединения хранящихся в нескольких таблицах. Процесс и результат сбора данных об определенном объекте, которые хранятся в нескольких таблицах – объединение таблиц.
INNERJOIN – позволяет возвратить все записи для которых выполняется условие равенство, содержимого столбцов 2-х объединяемых таблиц.
Пример:
SELECT *
FROM MUSIC INNER JOIN TRACKS ON_MUSIC. ID, TRACKS. MUSIC_ID
Эта конструкция возвратит все записи таблиц MUSIC и TRACKS для которых MUSIC и TRACKS равны.
LEFTJOIN – Применяется в случаях, когда следует вернуть все записи левой таблицы, и только те строки правой, значения полей которой соотв. данным левой таблицы.
RIGHTJOIN – противоположно по значению оператора LEFTJOIN. При использовании этого оператора, возвращ. набор данных будет содержать
Практическое применение:
1. Оператор BEETWEN сопровождается сл. сл. And использующий в контексте предложения WHERE для задания границ интервала, величины аргумента.
2. Оператор IN. Он позволяет задавать искомые значения в полях таблиц.
3. Сортировка данных конструкции выражения SELECT позволяет упорядочить возвращённые наборы данных по возрастанию или убыванию значений полей.
4. Логические операторы конъюнкции (AND) и дизъюнкции (OR).
3.4 Анализ и оптимизация разработанной (модернизированной) БД и объектов управления данными
Для быстродействия БД в среде Access можно пользоваться анализатором быстродействия. Анализатор быстродействия недоступен для вызова проектов MS Access. Проектом БД называется программное средство, обеспечивающее подключение к БД MS SQL Server, который используется для создания приложений в архитектуре «Клиент- Сервер». Файл проекта не содержит данных, как объектов так и таблиц.
Последовательность проведения работ по оптимизации БД.
1) Открыть БД Access быстродействие которой необходимо повысить.
2) Выбрать Сервис – Анализ – Быстродействие.
3) Выбрать вкладку соответствующую типу объекта БД, который нужно оптимизировать, выбрать вкладку все типы объектов для просмотра всех объектов.
4) Выбрать имена оптимизированных объектов и нажать ОК.
5) Повторить пункты 3,4.
Далее БД предложит:
1) Совет
2) Предложение
3) Мысль
Предложение – подразумевает определенные компромиссы применяемые к оптимизации.
Для получения дополнительных сведений, целесообразно в мысли выбрать опцию таблицы и руководствоваться ею для совершенствования структуры БД.
3.5 Программирование управление структур свойствами макросов
3.5.1 Макросы. Общие сведения
Макрос представляет собой набор микрокоманд, которые создаются для автоматизации часто выполняемых задач. Группа макросов позволяет выполнять несколько задач последовательно. Основной компонент макроса – замкнутая инструкция, самостоятельная или в комбинации с другими макрокомандами, определяющая выполняемые в макросе действия. Если макросов много объединение родственных макросов в группы используются под одним общим именем.
Например: следующая группа макросов связанная с именем кнопки состоит из трёх родственных макросов: «Сотрудники», «Товары», «Отчёты». В каждом макросе выполняется макрокоманда «открыть форму».
В некоторых случаях требуется выполнять макрокоманду только при выполнении нескольких условий. Условие включения поля «Автор» и отношение «Равно» должно так же соединять и значение поле.
Если в макросе проверяется условие назначения, то для одних значений одно сообщение для других другое.
В подобных случаях условия позволяют определить порядок передачи управления между макросом в макросе. Условие задаётся любым логическим выражением, которое возвращает true или false. В зависимости от значений true или false управление передаётся разным макрокомандам.
После задания макрокоманд следует задать в нижней части макроса аргументы макрокоманды.
Основные правила задания аргументов макрокоманд.
1) В общем случае следует задавать аргументы макрокоманд в том порядке в котором они перечислены.
2) Если макрокоманда добавляется в макрос путём перетаскивания объекта БД из окна БД Access. Автоматически задаются подходящие аргументы для этой макрокоманды.
3) Если макрокоманда имеет аргумент, вызывающий имя объекта БД значение этого аргумента и соответствующий тип объекта можно задавать автоматически перетащив объект из окна БД в поле аргумента.
4) Для задания многих аргументов макрокоманд используется выражение перед которым используется «=».
3.5.2 Создание макросов
1) В окне БД выделить макросы
2) Создать
3) Добавить инструкции
· Нажать иконку ”раскрытие” и выбрать имя макрокоманды.
· В нижней части окна при необходимости указать аргументы макрокоманды, 2 значения которой являются объектами БД. Эти значения можно задавать путем перетаскивания.
3.5.3 Создание групп макросов
Чтобы объединить несколько макросов, необходимо создать группу макросов.
В условии макроса допускается использование любых выражений, которые возвращают значение true и false. Макрос будет выполняться, когда выражение true.
Таблица 1.
Город = ”Москва” | Поле город из которого запускается макрос, содержит значения ”Москва” |
Dcount (”[Код Заказы]”,”Заказы ”)>35 | Имеется более 35 значений |
Dcount(”*”,”Заказано”,[Код Заказа]=Forms! ”[Пример формы]! [Код заказа]”)>3 | Имеется больше 3 значений в заказано, у которых значение поля Код Заказа совпадает с Заказано. |
Forms! [Товары]! [На складе]<5 | Значение поля На складе в форме товары <5 |
Is Null ([Имя]) | Поле имя содержит пустое значение |
[Страна]=”Литва” AndForms! [Сумма продаж]![Объем заказов]>100 | Поле Страна содержит значение Литва в котором Сумма продаж >100 |
MsgBox (”Изменить?”)=1 | Нажать ОК. ОК – открывается ф-я MsgBox. |
3.5.4 Запуск макроса
Можно запускать непосредственно в группе макросов из другого макроса, или процедуры обработки события, а также в ответ на событие в форме, отчете, элементе управления.
Запуск из окна БД
Сервис – макрос – включить макрос процедуру. VBA Do cmd. Run Macro ”Выход”.