Павел Дубнов - Access 2002: Самоучитель
- Название:Access 2002: Самоучитель
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Павел Дубнов - Access 2002: Самоучитель краткое содержание
В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.
Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).
Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.
Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.
Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.
Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.
Access 2002: Самоучитель - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Рис. 11.26
Запросы с участием нескольких связанных таблиц
Запросы этой группы применяются, если пользователю необходима информация, которая содержится не в одной, а в нескольких таблицах.
Для начала вернемся к уже рассмотренному примеру, когда вы создали запрос на выборку российских фирм из одной таблицы – Фирмы,а в качестве критерия использовали код России – «0 6» (см. рис. 11.12). Попробуем сформулировать этот же запрос более естественным образом, задав условием отбора название страны – Россия.
Откройте окно конструктора запроса и введите в него две таблицы: Фирмыи Страны.Как и раньше, вы используете таблицу Добавить таблицу,но теперь по очереди выбираете из нее две или более таблицы (см. рис. 11.3). Вы снова указываете в таблице Фирмыполе Название фирмы,а в таблице Страны– поле Страна;однако в ячейке Условие отборастолбца Странавводите критерий Россия(см. рис. 11.27).
Рис. 11.27Отправив запрос на выполнение, вы получите таблицу, содержащую отобранные сведения (см. рис. 11.28). Она похожа на таблицу с рис. 11.13, но вместо кода содержит название страны.
Рис. 11.28Если вы теперь откроете инструкцию SQL (рис. 11.29), то увидите в ней новый элемент, который указывает на связь между таблицами Фирмыи Страны.Это ключевое слово INNER JOIN. Операция INNER JOIN доступна в любом предложении FROM и позволяет осуществить самое простое связывание – объединить записи двух таблиц, если их связующие поля содержат одинаковые значения. При этом INNER JOIN определяет объединяемые таблицы, а другое ключевое слово ON – объединяемые поля, которые имеют одинаковые значения.
Рис. 11.29Теперь попробуем усложнить задачу и сформировать универсальный запрос. Предположим, вы постоянно работаете с той частью объединенного банка данных, которая включает сведения о контрольно-измерительных приборах. Иначе говоря, вы имеете дело с базой данных Контрольно-измерительные приборы.Вам приходится создавать запросы, очень разнообразные по своему построению. Однако вам некогда вникать в структуру таблиц и связей между ними, а также разбираться в том, какие таблицы нужны для подготовки ответа на какой-либо запрос. Необходимо более простое решение. Конечно, можно построить запрос с параметрами, но есть и другой путь. Он не противоречит первому варианту, а скорее дополняет его.
Введите в окно конструктора все таблицы базы данных Контрольно-измерительные приборысо всеми их связями (см. рис. 2.1). (Позднее дело дойдет и до других БД в составе объединенного банка данных.) Ничего не изменяя в ее структуре, в бланке запроса будем формировать запросы различных типов.
Допустим, вы хотите узнать, какие приборы используются для измерения тех или иных физических параметров. На рис. 11.30 показан бланк соответствующего запроса. В этом же окне конструктора вы видите макеты всех таблиц, содержащихся в нашей базе данных. (Отметим, что не все таблицы будут привлекаться в конкретных запросах.) На рис. 11.31 выведена результирующая выборка записей, полученная в ответ на ваш запрос.
Рис. 11.30Рис. 11.31
На рис. 11.32 показана инструкция SQL для этого запроса. Мы видим, что все ключевые слова сохраняются, как и прежде, на своих местах, но их содержание становится богаче и разнообразнее.
Рис. 11.32Предположим, что пользователь интересуется другой проблемой: какими приборами для измерения кислотности занимается менеджер по фамилии Флеминг. На рис. 11.33 показан заполненный бланк соответствующего запроса. Вы видите, что здесь в разных столбцах введено два условия отбора: «*кислотн*» и «Флеминг».
Рис. 11.33В то же время перечень таблиц и схема связей между ними остаются неизменными. Результат выполнения этого запроса приведен на рис. 11.34. Отобраны сведения лишь о тех приборах для измерения кислотности, которыми ведает менеджер Флеминг. Если сравнить рис. 11.34 с рис. 11.31, то можно легко заметить, что число отобранных записей существенно сократилось – с 91 до 5.
Рис. 11.34
Пояснения к инструкции SQL
Теперь более подробно исследуем инструкцию SQL, приведенную на рис. 11.35. Мы несколько раз усложняли структуру запроса, поэтому и инструкция нуждается в определенном комментарии.
Рис. 11.35В предложении с ключевым словом SELECT содержится перечень используемых в запросе таблиц и их полей. Как уже говорилось, группы (Имя таблицы. Имя поля) разделяются между собой запятыми, а внутри группы имя таблицы отделяется от имени поля точкой. Если в имени есть пробел, оно заключается в квадратные скобки. Параметр SELECT имеет следующий синтаксис:
SELECT [предикат] [* | таблица.* |] [таблица. ]поле 1
[AS псевдоним 1] [, [таблица. ]поле 2 [AS псевдоним 2] […]]}
FROM выражение […] [IN внешняя База Данных]
[WHERE…]
[GROUP BY…]
[HAVING…]
[ORDER BY…]
[WITH OWNERACCESS OPTION]Перечислим аргументы ключевого слова SELECT:
• предикат. Задается один из следующих предикатов отбора:
– ALL;
– DISTINCT;
– DISTINCTROW;
– TOP.
Предикаты ограничивают число возвращаемых записей. Если предикат не указан, по умолчанию используется ALL. Это означает, что выбраны все поля заданной таблицы или таблиц;
• таблица. Указывается имя таблицы, из которой надо отобрать записи;
• поле_1, поле_2. Указываются имена полей, откуда следует отбирать данные. Сведения будут извлекаться из полей в том порядке, в каком они перечислены;
• псевдоним_1, псевдоним_2. Задаются имена, которые станут заголовками столбцов вместо названий, заданных по умолчанию;
• выражение. Здесь указываются имена одной или нескольких таблиц, содержащих необходимые данные;
• внешняя База Данных. Вводится имя той базы данных, где расположены таблицы, которые указаны с помощью аргумента выражение, но находятся за пределами текущей БД.
При выполнении операции SELECT Access 2002 находит указанную таблицу или таблицы, извлекает из нее (из них) необходимые столбцы, выделяет строки, которые отвечают условию отбора, а затем сортирует или группирует результирующие строки в заданном порядке. (Отметим, что инструкции SELECT не изменяют ни сами данные, ни их расположение в БД.)
Обычно слово SELECT является первым словом инструкции SQL, поскольку большая часть этих инструкций относится к типу SELECT или SELECT… INTO.
Минимальный синтаксис инструкции SELECT таков:SELECT поля FROM таблица
Чтобы были отобраны все поля таблицы, добавьте символ звездочки (*).
Если несколько таблиц, включенных в предложение FROM, содержат одноименные поля, то перед именем каждого из таких полей следует ввести имя таблицы и оператор «точка» (.).
Предложение с ключевым словом FROM описывает связи между таблицами. По мере усложнения этих связей все более важную роль играет конструкция INNER JOIN… ON, которая имеет следующий синтаксис:FROM таблица 1 INNER JOIN таблица 2 ON таблица 1.поле 1 оператор таблица 2.поле 2
Читать дальшеИнтервал:
Закладка: