Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методическое пособие по Access.doc
Скачиваний:
3
Добавлен:
06.11.2018
Размер:
632.32 Кб
Скачать

Начало занятия

  • Запустите Microsoft Access, если Вы этого еще не сделали.

  • От­кройте базу данных Сластена Лили

  • Разверните окно программы до раз­меров полного экрана.

Что такое таблица

Таблица базы данных — это совокупность сведений, по определенной теме или категории объектов. Скажем, одна таблица может содержать данные о клиентах - их фамилию, адрес, телефон и т.п. другая таблица может быть посвящена типам конфет и включать их наименования, картинку, стоимость и пр.

База данных Microsoft Access - это набор таблиц, которые Вы используете для хранения взаимосвязанных сведений. Например, таблицы базы данных Сластена Лили содержат разного рода информацию, имеющую отношение к деятельности одноименной компании.

Каждое поле таблицы представляет собой столбец таблицы и содержит определен­ную категорию информации. Например, поля таблицы Конфеты содержат све­дения, так или иначе описывающие сладкую продукцию фирмы: название конфет, применяемый при их изготовлении сорт шоколада, стоимость про­изводства и т.д.

Каждая запись представляет собой строку таблицы и содержит всю инфор­мацию о конкретном человеке, событии или предмете. Например, каждая запись в таблице Конфеты содержит информацию о конкретном изделии. Каж­дая запись в таблице Заказчики содержит полную информацию об отдельном клиенте.

Создавая новую таблицу, Вы определяете, сколько полей будет в ней и ка­кая информация будет храниться в каждом поле. После присвоения табли­це имени и ее сохранения Вы можете приступить к вводу данных.

Как создать таблицу с помощью программы-мастера

Microsoft Access предлагает вам в качестве проводника создания таблицы Мастер таблиц. Он будет незаменимым помощником и тогда, когда Вы толь­ко приступите к созданию базы данных, и когда будете добавлять новую таб­лицу в уже существующей базе. В таблицы, созданные посредством Масте­ра таблиц, Вы в дальнейшем можете вносить любые изменения.

  • В окне базы данных щелкните на объекте Таблицы, чтобы появился список имеющихся таблиц, а затем щелкните на кнопке Создать. Появится диалоговое окно Новая таблица.

  • В этом окне щелкните на кнопке Мастер таблиц и за­тем на ОК. Откроется первый диалог Мастера.

  • Прокрутив список Образцы Таблиц, найдите и выде­лите строку Поставщики.

  • В поле списка Образцы Полей дважды щелкните на каждой из следующих строк, чтобы переместить их в поле списка Поля новой таблицы:

Название Поставщика

Обращаться к

Номер Телефона

Факс

  • Щелкните на кнопке Далее. В текстовом поле представлено предполагаемое имя таблицы: Поставщики. Поскольку Вы хотели назвать таблицу именно так, то ничего здесь не меняйте.

  • По умолчанию поставлена опция Автоматическое определение ключа в Microsoft Access. He меняя ничего, щелк­ните на кнопке Далее.

Ключ — это одно или несколько полей, в которых находятся обозначения, единственно возможным. образом идентифицирующие каждую запись. Проще всего предоставить выбор ключевых полей программе.

  • В следующем окне Вы определяете, связана ли ваша таблица с другими таблицами базы данных и в необходимых случаях устанавливаете связи. Поскольку новая таблица пока не имеет связей, щелкните на кнопке Далее.

  • В следующем диалоге оставьте заданную по умолчанию опцию Ввести данные непосредственно в таблицу и щелкните на кнопке Готово.

На экране появляется заготовка вашей таблицы.

Как внести в таблицу данные

Если Вы находитесь в другом режиме, то переключиться в Ре­жим таблицы можно, щелкнув на кнопке Вид панели инструментов и выбрав в ниспадающем спис­ке пункт Режим таблицы.

Microsoft Access добавил в вашу таблицу поле Код Поставщика, и оно будет использоваться в качестве ключевого. Под именем написано Счетчик. Таким образом программа дает вам знать, что вам не надо за­полнять ячейки поля. Microsoft Access автоматически присвоит номер каж­дой записи. В другие поля информацию будете вводить Вы сами.

  • Нажмите клавишу Tab , чтобы перейти к полю Название. Как только Вы начнете печатать, Microsoft Access присвоит записи номер 1.

  • Введите с клавиатуры название Шоколадный мир и нажмите клавишу Tab, чтобы перейти к полю Обращаться к.

  • Напечатайте имя вашего представителя Бэкки Рейнгардт и на­жмите клавишу Tab, чтобы перейти к полю Телефон.

  • Напечатайте номер телефона (617) 555-5460 и нажмите клави­шу Tab, чтобы перейти к полю Факс.

  • Напечатайте номер факса (617) 555-5460, чтобы закончить за­пись.

Запись автоматически сохранится, когда Вы перейдете на следующую стро­ку. Но прежде обратите внимание на значок индикатора записи. Если он имеет вид карандаша, значит Вы внесли в запись изменения, но еще не со­хранили ее.

  • Нажмите клавишу Tab, чтобы перейти к следующей записи. Microsoft Access автоматически сохранит запись, и значок карандаша исчезнет.

  • Нажмите клавишу Tab, чтобы перейти к полю Название второй строки, и добавьте записи с информацией еще о двух поставщиках:

Поле Поставщик орехов Поставщик эссенции

Название

Обращаться к

Телефон

Факс

Ореховый сад

Берни Каттер

(313)555-9987 (313)555-9990

Море ароматов

Беверли Симе

(515)555-9834

(515)555-9888

  • Выберите команду меню Файл -Закрыть или щелкните на кнопке Закрыть в правом верхнем углу окна таблицы. Таблица исчезнет с экрана, а ее имя появится в списке таблиц базы данных Сластена Лили.

Как конструировать таблицу

  • В окне базы данных щелкните на ярлычке Таблицы и, убе­дившись, что появился список таблиц, щелкните на кнопке Создать.

  • В появившемся диалоге Новая таблица выделите пункт Режим таблицы и щелкните на ОК. На экране появит­ся бланк таблицы, состоящей из 20 столбцов и 30 строк.

Как присвоить имена полям таблицы

  • Дважды щелкните на обозначении Поле1 (имя поля напечетано на сером фоне) и напечатайте Транспортная компания. Имя поля может содержать до 64 зна­ков, включая пробелы. В имени могут использоваться знаки пре­пинания, кроме точки, восклицательного знака и квадратных ско­бок.

  • Поместите указатель на правую границу столбца и, когда он при­мет вид двуглавой стрелки, произведите двойной щелчок. Шири­на столбца изменится так, что название поля поместится в нем це­ликом.

  • Дважды щелкните на обозначении Поле2 и напечатайте Доставка авиатранспортом.

  • Увеличьте ширину столбца, как это было сделано для первого поля

  • Щелкните в ячейке первой записи поля Транспортная компания v напечатайте Неутомимые перевозчики. Затем нажмите клавиша Tab, чтобы перейти к следующему полю.

  • В этом поле будет содержаться информация типа «Да/Нет». Поло­жительное значение соответствует доставке товара по воздуху, а от­рицательное - сухопутным транспортом. Значение по умолчанию этого поля будет Нет. Компания «Неутомимые перевозчики» исполь­зует наземный транспорт, поэтому напечатайте Нет. Когда Вы введе­те несколько однотипных записей в это поле, Microsoft Access задает ему соответствующий тип (в дальнейшем Вы сможете его изменить).

  • Щелкните во второй строке поля Транспортная компания.

  • Внесите информацию двух следующих записей в соответствии с приводимой ниже таблицей.

Поле

Запись 2

Запись 3

Транспортная компания

Серые гуси

Ночной Пегас

Доставка авиатранспортом

Да

Да

  • Щелкните на кнопке Сохранить панели инструментов. Посколь­ку сохраняется новая таблица, появится окно Сохранение.

  • Напечатайте в качестве имени Транспорт и щелкните на ОК. На экране появится окно с предложением создать ключевое поле. В каждой таблице должно быть одно или несколько полей, значе­ния в которых однозначно определяют запись. Ключевые поля по­могают программе находить данные, объединять их и обрабаты­вать наиболее эффективно.

  • Учитывая изложенное, щелкните на кнопке Да. Microsoft Access сам создаст ключевое поле и затем сохранит таблицу под именем Транспорт. Таблица тем не менее с экрана не исчезла, а на­против, даже приобрела новое поле Код. Вам нужно присвоить этому поле свое имя.

  • Дважды щелкните на поле Код, напечатайте Код транспорта и нажмите клавишу Enter.

Как задавать и изменять свойства полей

Свойства поля в первую очередь зависят от типа данных. Так, поля с тексто­вым и числовым типами данных имеют такое свойство, как размер поля. Этим свойством определяется максимальная длина вводимого в поле значения. Поля типа, «Да/Нет» такого свойства не имеют, поскольку содержащиеся здесь данные имеют фиксированный размер.

  • Щелкните, на стрелке около кнопки Вид, в ниспадающем списке выберите пункт Конструктор. Те­перь ваша таблица показывается в режиме конструктора. Значок ключа слева от имени поля Код транспорта указывает, что это поле яв­ляется ключевым для данной таблицы. В столбце Тип данных перечислены значения, которые Microsoft Access установил для по­лей самостоятельно без вашей подсказки. Вы легко можете изменить эти значения, если щелкнете в ячейке типа данных соответствую­щего поля и после щелчка на кнопке со стрелкой выберете нужный тип данных из ниспадающего списка. Свойства полей устанавлива­ют или изменяют на вкладках в нижней части окна Конструктора.

  • Щелкните в столбце Тип данных строки Доставка авиатранспортом и в раскрывающемся списке выберите Логический. В ниж­ней части Конструктора будут перечислены свойства этого поля.

  • В диалоге Свойства поля щелкните на ярлычке вкладки Подстановка. По умолчанию задан тип элемента управления Поле.

  • Щелкните на строке Тип элемента управления. Спра­ва появляется кнопка со стрелкой. Щелчком на ней откройте нис­падающий список и выберите там пункт Флажок. Теперь в таблице и во всех формах, созданных на основе данных табли­цы, появится флажок.

  • Переключитесь в режим таблицы, чтобы посмотреть на изме­нения, которые Вы произвели. Если Microsoft Access спросит вас, нужно ли сохранить таблицу, щелкните в появившемся сообще­нии на кнопке Да.

  • В окне таблицы щелкните на кнопке Закрыть окно. Таблица закроется, а ее имя появится в списке окна базы данных.

Как задать новые свойства таблицы

Чтобы работать с информацией, включающей также наименование представителя и его телефона, Вам нужно создать свойства новых полей и затем внести в базу данных следующие све­дения:

Транспортная компания

Представитель

Контактный телефон

Неутомимые перевозчики

Клайд Бэрроу

380 (069) (55-57-83)

Серые гуси

Бони Паркер

380 (065) (57-98-74)

Ночной Пегас

Морис Янг

380 (065) (27-30-53)

Для этого Вам необходимо выполнить следующие действия:

  • В окне базы данных щелкните на ярлычке Таблицы и вы­делите таблицу Транспорт.

  • Переключитесь в режим Конструктора таблиц.

  • В столбце Имя поля ниже имеющихся впечатайте на­звания двух новых полей: Представитель и Контактный телефон.

Как только закончив ввод названия поля и нажав клавишу Tab или Enter, Вы увидите, что Microsoft Access присваивает этим полям по умолчанию текстовый тип данных.

  • Щелкните на строке Контактный телефон. После этого в диалоге свойств дважды щелкните на поле Размер поля и введите с клавиатуры число 24. Теперь вам не удастся ввести в это поле текст длиной более 24 знаков.

  • Сейчас Вы приступите к созданию маски ввода, чтобы избежать расстановки знаков пунктуации, обычно присутствующих в но­мерах телефонов. Щелкните на поле Маска ввода в окне Свойства поля и затем на появившейся кнопке с изоб­ражением многоточия. Если Microsoft Access спросит Вас, сохра­нить ли таблицу, щелкните на кнопке Да. Microsoft Access за­пустит Мастер маски.

  • В окне Мастера выделите пункт списка Телефон и щелкните на кнопке Готово. Если в списке отсутствует пункт Телефон, его следует создать. Для этого необходимо щелкнуть на кнопке Список и далее на навигационной кнопке новой записи в появившемся окне. В поле Описание: введите Телефон. В поле Маска ввода сформируйте образец, например, 999 (999) (99-99-99). В качестве заполнителя выберите символ «*». Введите какой-нибудь образец, например, 380 (065) (44-95-62) и щелкните на кнопке Закрыть. Созданная маска ввода появится в общем списке доступных масок.

  • С помощью кнопки Вид переключи­тесь в режим таблицы и введите данные, сообщенные вам в слу­жебной записки начальника экспедиции. Если появится сообще­ние с требованием сохранить таблицу, щелкните на кнопке Да.

  • Закройте таблицу. На вопрос о необходимости сохранить изме­нения щелкните на кнопке Да.

Как воспользоваться фильтром для поиска записей

Вам позво­нили из экспедиции и сообщили, что ими получен запрос от некоего Клайда о том, какие товары в ближайшее время будут отправлены самолетом. Им хотелось бы уточнить, какая транспортная компания связана с этим Клай­дом.

  • В окне базы данных откройте таблицу Транспорт.

  • Выберите команду меню Записи - Фильтр - Расширенный фильтр.

  • В списке полей в верхней части окна фильтра дважды щелкни­те на пункте Представитель. Этот пункт переходит в нижнюю часть окна в сетку установок фильтра.

  • Поскольку неизвестно, является ли искомое слово именем или фамилией представителя, введите в поле Условие отбора с клавиатуры выражение *клайд*, указывая таким образом, что образец поиска является только частью имени представителя.

  • Щелкните на кнопке Применить фильтр и посмотрите на результат своих действий.

Окончание занятия

  • Для перехода к следующему уроку щелкните на кнопке Закрыть окно базы данных или выберите команду меню Файл - Закрыть. Вы закроете окна, но останетесь в программе.

  • Для завершения работы щелкните на кнопке Закрыть окна Microsoft Access или выберите команду меню Файл - Выход. Вы закроете окна и вый­дете из программы.

Занятие 7

УСТАНОВЛЕНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ

Цель занятия: научиться создавать связи между двумя таблицами; связывать таблицы с несколькими ключевыми полями; выявлять отношения типа многие-ко-многим и использовать связующую таблицу.

Начало занятия

  • Запустите Microsoft Access, если Вы этого еще не сделали.

  • От­кройте базу данных Сластена Лили

  • Разверните окно программы до раз­меров полного экрана.

В этом уроке мы будем пользоваться таблицей Транспорт, полу­ченной в предыдущих уроках. Если Вы пропустили эти уроки, просмотри­те их, чтобы добавить указанную таблицу в базу данных Сластена Лили.

Нам также будет нужна таблица Поставка, которую мы импортируем. Для этого выделим в окне базы данных объект Таблицы. В меню Файл выберем Внешние данные – Импорт. Откроется окно Импорт. В поле Тип файлов выберем Paradox. Откроем папку, где хранятся файлы базы данных, выделим файл shipping.db и щелкнем на кнопке Импорт и далее на кнопке Закрыть. Выбранный файл будет помещен в состав таблиц базы данных. Переименуем его, присвоив имя Поставка , откроем и переименуем столбцы: Carrier ID в Код транспорта; Ship State/Province в Поставка в Штат/Провинцию; Shipping Charge в Тариф.

Что такое взаимосвязи ?

Microsoft Access управляет реляционными базами данных. Другими сло­вами, Вы одновременно можете пользоваться сведениями, заключенными в нескольких таблицах базы. Это становится возможным благодаря уста­новлению взаимосвязей между таблицами с использованием ключевых полей.

Взаимосвязи позволяют программе объединять в запросах, формах и отче­тах разные данные, относящиеся к какому-либо одному объекту.

В Microsoft Access есть два типа взаимосвязей: отношения один-ко-многим и отношения один-к-одному. В первом случае, более распространенном, одна запись таблицы связана с множеством, записей другой таблицы. Допустим, клиент может разместить несколько различных заказов. Поэтому одной за­писи в таблице Заказчики, которая в данной взаимосвязи будет главной таб­лицей, может соответствовать несколько записей в таблице Заказы, которая называется связанной таблицей.

В случае менее распространенного отношения один-к-одному одной записи в главной таблице соответствует только одна запись связанной таблицы. Подобный тип взаимосвязи имеет смысл устанавливать в том случае, когда Вы хотите, например, разделить данные на открытые и конфиденциальные. Например, фамилия, имя и должность сотрудника фирмы могут распола­гаться в одной таблице, а данные о зарплате - в другой. Между этими табли­цами будет существовать отношение один-к-одному, поскольку каждой за­писи в одной из них соответствует единственная запись в другой.

Примечание. Взаимосвязи между таблицами порой помогают убе­диться в том, что таблицы лишены противоречивых сведений: например, что в таблице Заказы нет заказов, которым не соответ­ствовал бы какой-либо клиент из таблицы Заказчики.

Как организовать поля подстановки для связи таблиц

Клиенты обращаются в компанию «Сластена Лили» с целью разместить в ней заказы на шоколадные наборы. В базе данных Сластена Лили имеется со­ответствующая таблица Заказы, содержащая записи по каждому заказу со сведениями, когда поступил заказ, куда его следует направить, по способу оплаты и т.д. В базе данных есть также таблица Сотрудники с информацией о штате фирмы, такой, например, как имя работника, телефон, дата найма.

  • В окне базы данных откройте вкладку Таблицы и дважды щелкните на значке таблицы Заказы.

  • Выберите команду меню Вставка - Столбец подстановок. По этой команде запускается Мастер Создание подстановки и вы­дает на экран первое диалоговое окно. Поскольку в поле подста­новок будут размещаться данные из другой таблицы, оставьте ак­тивной опцию, заданную по умолчанию.

  • Щелкните на кнопке Далее. Мастер в следующем окне спра­шивает, в какой таблице или запросе содержатся данные для стол­бца подстановок.

  • Удостоверьтесь, что в группе опций Показать выделена Таб­лицы, в списке имен таблиц выделите Сотрудники и щелкни­те на кнопке Далее. Теперь Вы должны сообщить мастеру, какие поля таблицы Сотрудники должны быть включены в столбец подстановок. Это может быть несколько полей, например Имя и Фамилия, но в самой таблице заказов будет храниться только одно поле значений, а именно Код.

  • Произведите в списке двойные щелчки на пунктах Имя, Фами­лия и Код и щелкните на кнопке Далее. Мастер в следующем окне отобразит макет столбца подстановок. Здесь Вы можете от­регулировать размеры колонок, дважды щелкнув на правой гра­нице заголовков. Столбец с кодами (ключевой) по умолчанию скрыт, поскольку вам нет необходимости иметь дело с кодом, ког­да Вы подставляете имя сотрудника. Тем не менее, значения этого столбца находятся в таблице заказов.

  • Щелкните на кнопке Далее.

  • В ответ на последний вопрос мастера, какое название дать стол­бцу, напечатайте имя Сотрудники и щелкните на кнопке Готово. Откроется таблица Заказы с новым столбцом в ее левой ча­сти. Теперь при приеме заказов сотрудник легко может ввести свое имя, щелкнув в соответствующей записи на кнопке со стрелкой первого столбца Сотрудники и выбрав из открывшегося списка свои данные. Более того, во всех формах, созданных на основе таблицы Заказы, теперь будет находиться комбинированное поле Код.

  • Переключитесь в режим конструктора.

  • Щелкните на области выделения поля Код, находящегося в вер­хней части списка полей.

  • С помощью мыши, перетащите строку в конец списка.

  • Щелкните на кнопке Сохранить панели инструментов, что­бы сохранить произведенные в таблице Заказы изменения.

  • В нижней части окна конструктора щелкните на ярлычке вклад­ки Подстановка. В строке Тип элемента управления Вы видите запись Поле со списком — именно так было за­дано мастером подстановки.

  • Закройте таблицу Заказы.

Как организовать связи в окне схемы данных

При установлении связи между таблицами Транспорт и Поставка ключевое поле Код транспорта является совпадающим.

Данный тип взаимосвязи можно определить как один-ко-многим: каждая транспортная компания устанавливает на свои услуги различные тарифы в зависимости от места доставки. Таким образом, таблица Транспорт является главной. При установлении связи Вы отнесете поле Код Транспорта таблицы Транспорт к совпадающему полю таблицы Поставка.

  • На панели инструментов щелкните на кнопке Схема данных. Откроется одноименное окно.

  • Для выполнения дальнейших процедур окно схемы данных должно быть пустым. Если на вашем компьютере окно за­полнено таблицами, соединенными линиями связи, щелкните на кнопке Очистить макет панели инструментов. Если хоти­те, можете также воспользоваться командой меню Правка - Очис­тить макет.

  • Выберите команду меню Связи - Добавить таблицу или щелкните на кнопке Отобразить таблицу панели инструментов.

  • В списке таблиц щелчком выделите пункт Транспорт и щелкните на кнопке Добавить.

  • Аналогично поступите с таблицей Поставка. Теперь в окне схемы данных находятся две таблицы.

  • Щелкните на кнопке Закрыть окна Добавление таблицы.

Как создать связь между таблицами

  • В окне Схема данных перетащите имя поля Код транс­порта таблицы Транспорт на то же имя в таблице Поставка. Перетас­кивать нужно имя поля главной таблицы (Транспорт) в список по­лей связанной таблицы (Поставка). Как только Вы отпустите кнопку мыши, появится окно Связи. Удостоверьтесь, что в обе­их таблицах есть совпадающие поля. В противном случае щелк­ните на кнопке со стрелкой у имени поля и выделите в открыв­шемся списке необходимое.

  • Щелкните в диалоговом окне на командной кнопке Создать. Теперь таблица Поставка привязана к таблице Транспорт. Вы видите линию, которая соединяет два совпадающих поля в этих табли­цах. Теперь ничто не нарушит связь, пока Вы сами ее не удалите.

  • В окне Схема Данных щелкните на кнопке Закрыть. В появившемся сообщении Вы должны выбрать, сохраните ли Вы макет окна Схема Данных. Заметим, что от вашего ре­шения зависит лишь графическое представление окна. Установ­ленные же связи останутся в вашей базе данных.

  • Щелкните на кнопке Да, чтобы сохранить макет окна взаи­мосвязей. Открыв в следующий раз окно Схема Данных, Вы увидите его таким, каким сохранили.

Поля связанной таблицы, соответствующие ключевым полям глав­ной таблицы, необязательно должны быть одноименными. Одна­ко они непременно должны содержать совпадающие данные. Кро­ме того, для них должен быть задан одинаковый тип данных (с двумя исключениями), а поля с цифровым типом данных должны также иметь одинаковый размер.

Что касается упомянутых нами исключений, то, могут совпадать, во-пер­вых, поле счетчика с числовым полем, для которого установлен размер длин­ного целого, и, во-вторых, реплицировнные поле счетчика и числовое поле, для которого установлен формат длинного целого. Например, для поля Код Транспорта в таблице Транспорт установлен тип данных счетчик, т. е. каждая последующая запись увеличивает значение в этом поле на единицу, а для поля Код транспорта в таблице Поставка установлен числовой тип данных с раз­мером длинного целого.

Как удалить и восстановить связь между двумя таблицами

  • Щелкните на кнопке Схема данных панели инструментов. В окне отобразится схема из двух таблиц, т.е. тот макет, который Вы сохранили.

  • Щелкните на линии связи между таблицами. Толщина линии на экране увеличится.

  • Чтобы теперь удалить связь, достаточно нажать клавишу Delete

  • Прежде чем программа уничтожит связь, Вы должны подтвер­дить свое решение, получив соответствующее сообщение.

  • Если Вы окончательно решили сделать свои таблицы автономны­ми, щелкните на Да. Линия между таблицами исчезнет, и они станут независимыми.

  • Так же несложно восстановить утерянную связь. Для этого дос­таточно произвести действия, описанные выше в разделе «Как создать связь между таблицами».

  • Закройте окно схемы данных. В запросе относительно сохранения нового макета можете щелк­нуть по вашему желанию либо на Да, либо на Нет.

Как связать таблицы с несколькими ключевыми полями

Некоторые таблицы могут содержать более одного ключево­го поля. Если такая таблица является главной, Вы должны связать все клю­чевые поля с совпадающими полями связанной таблицы.

Чтобы понять, почему это должно быть сделано, обратимся к таблицам По­ставка и Заказы базы данных Сластена Лили. Эти таблицы связаны типом соот­ношения один-ко-многим, причем таблица Поставка является главной.

В таблице Поставка два ключевых поля: Код транспорта и Поставка в штат/провин­цию. Прежде чем Microsoft Access свяжет тариф доставки с заказом нужно определить совпадающие поля для обоих; ключевых полей, поскольку раз­мер тарифа зависит и от транспортной компании, которую выбирает кли­ент, и от места доставки.

  • Щелкните на кнопке Схема данных панели инструментов. Откроется окно Схема данных с макетом, кото­рый был в нем на момент сохранения.

  • Щелкните на кнопке Очистить макет панели инструментов и затем в окне-сообщении щелкните на Да.

  • Щелкните на кнопке Добавить таблицу панели инструментов.

  • В диалоговом окне Добавление таблицы выделите в спис­ке и добавьте в окно схемы данных обе таблицы: Поставка и Заказы. Затем закройте окно.

  • В окне схемы данных перетащите имя Код транспорта из списка таблицы Поставка на место Код доставки в списке поля Заказы. Когда Вы отпустите кнопку мыши, откроется окно Связи. Про­верьте, чтобы оба связанных поля находились в первой строке списка связанных полей. В противном случае щелкните на кнопке со стрелкой у имени поля и выделите в открывшемся списке не­обходимое.

  • Щелкните в ячейках, находящихся во второй строке списка связан­ных полей, затем щелчком на появляющихся справа кнопках со стрел­ками откройте списки полей и выделите в левом и правом списках со­ответственно Поставка в штат/провинцию и Штат/провинция получателя.

  • Щелкните в окне на командной кнопке Создать. В окне схе­мы данных будут отображены связи между таблицами. Картинка будет более наглядной, если Вы перетащите нижнюю границу таб­лицы Заказы, чтобы в ней появились оба имени связанных полей.

Примечание. Если Microsoft Access сообщит, что установить связь между таблицами невозможно, откройте таблицу Поставка в режи­ме конструктора. В списке полей значки в виде ключа должны быть у обоих полей Код транспорта и Поставка в штат/провинцию. Тип данных поля Код транспорта должен быть Числовой, а его размер в нижней части Свойства поля должен быть обозначен как Длинное целое. Тип данных поля Поставка в штат/провинцию должен иметь значение Тек­стовый.

  • Щелкните на кнопке Закрыть окна схемы данных. В появившем­ся диалоговом окне щелкните на Да, чтобы сохранить макет. Поскольку таблицы теперь связаны, Microsoft Access будет по ва­шему требованию искать информацию в обеих.

Как установить наличие отношения многие-ко-многим

Когда Вы оцениваете взаимосвязь двух таблиц, важно посмотреть на нее с двух сторон. Дело в том, что отношение, которое мы обозначили как один-ко-многим, может на самом деле оказаться отношением многие-ко-многим. Последнее имеет место, когда одна запись в каждой из таблиц может соот­ветствовать нескольким записям в другой таблице. В таких случаях для ус­тановления взаимосвязи вам требуется третья таблица, которая связывает две рассматриваемые.

Наглядным примером подобной взаимосвязи являются таблицы Конфеты и Наборы базы данных Сластена Лили. На первый взгляд между этими таблицами существует отношение один-ко-многим, так как каждый набор комплек­туется несколькими сортами конфет. Однако посмотрите на данное отноше­ние со стороны наборов: конфеты одного сорта могут содержаться в разных наборах.

При попытке связать таблицы Вы столкнетесь с проблемой: какая же из таб­лиц будет главной?

Предположим Вы решили, что главной будет таблица Наборы. Чтобы полу­чить совпадение полей, Вы добавляете к таблице конфет код шоколадного набора. Но в записи, касающейся конфеты «Горная фантазия» (код В02) вам бы пришлось внести уже два кода наборов: для «Времен года» и «Альпийс­кого набора», поскольку указанная конфета является составной частью обо­их наборов. Однако в этом случае Microsoft Access не сможет связать запись конфеты с соответствующим набором - в совпадающих полях может содер­жаться лишь по одному значению. То же самое касается варианта, когда Вы попытаетесь сделать главной таблицу Конфеты.

Решение проблемы состоит в создании связующей таблицы, содержащей ключевые поля таблиц, находящихся в отношении многие-ко-многим. Вы включаете в связующую таблицу дополнительное поле, которого нет ни в одной из связываемых таблиц, но содержащее информацию, значимую для них обеих. В базе данных Сластена Лили такой является таблица Подробности наборов. В нее включены поля кодов конфет и наборов, т.е. ключевых полей обеих таблиц, а также поле Количество, указывающее, сколько конфет данно­го сорта входит в набор.

Как пользоваться связующими таблицами

Когда Вы создаете связующую таблицу, Вы не добавляете к ней поля, при­надлежащие какой-либо из таблиц, между которыми Вы устанавливаете взаимосвязь. Например, представляется логичным добавить в таблицу Под­робности наборов поле Название набора. Но это поле уже имеется в таблице Набо­ры, и ваши действия будут представлять дублирование. Здесь необходим минимум полей — только те, которые определяют связь таблиц (поля кодов), а также поле, данные которого описывают взаимоотношение между запися­ми связываемых таблиц. Поле Количество удовлетворяет этому условию, по­скольку его данные относятся к обеим связываемым таблицам: в нем указа­но сколько конфет того или иного сорта содержится в наборе.

Таблица Наборы связана с таблицей Подробности наборов отношением один-ко-многим. Аналогичное отношение существует и между таблицами Конфеты и Подробности наборов. Таким образом таблица Подробности наборов является свя­зующей между таблицами, имеющими отношение многие-ко-многим.

  • В окне базы данных щелкните на объекте Таблицы, после чего щелкните на кнопке Схема данных панели инструментов.

  • Щелкните на кнопке Очистить макет панели инстру­ментов и затем в окне-сообщении щелкните на Да.

  • Щелкните на кнопке Добавить таблицу панели инстру­ментов.

  • В диалоговом окне Добавление таблицы выделите в спис­ке и добавьте в окно схемы данных таблицы: Конфеты, Подробности наборов и Наборы. Затем закройте диалог. Вы увидите, как действу­ют связи между таблицами.

Окончание занятия

  • Для перехода к следующему уроку щелкните на кнопке Закрыть окно базы данных или выберите команду меню Файл - Закрыть. Вы закроете окна, но останетесь в программе.

  • Для завершения работы щелкните на кнопке Закрыть окна Microsoft Access или выберите команду меню Файл - Выход. Вы закроете окна и вый­дете из программы.

КОНТРОЛЬНЫЕ УПРАЖНЕНИЯ К ЗАНЯТИЯМ 6-7

Вы повторите пройденное и потренируетесь:

  • создавать таблицу;

  • создавать взаимосвязи между таблицами;

  • устанавливать в таблице ключевые поля;

  • выявлять отношение многие-ко-многим;

  • создавать связующую таблицу;

  • удалять таблицу из базы данных.

Прежде чем начать работать с запросами, на практическом примере повто­рите те приемы и процедуры, с которыми познакомились.

Сценарий

Отдел маркетинга компании планирует рекламные мероприятия на следу­ющий квартал. Решено обратить внимание на рекламу отдельных наборов конфет. Вам предстоит создать новую таблицу и связать ее с имеющимися. Когда Вы закончите эти упражнения, таблицу можно будет удалить.

Этап 1. Создайте новую таблицу

Отдел маркетинга собирается с помощью Microsoft Access отслеживать ре­зультаты рекламной кампании по отдельным шоколадным наборам и оце­нивать деятельность сотрудника отдела, ответственного за организацию кампании.

  1. Создайте новую таблицу, включающую следующие поля: Код сотрудника, Рекламируемый набор, Код набора и Дата начала кампании. Но при этом не поручайте программе назначение ключевых полей таб­лицы. Если Вы будете пользоваться мастером таблиц, то для разрабатываемой таблицы наиболее подходит образец Проекты.

  2. Сохраните таблицу под именем Реклама.

  3. Для поля Код сотрудника выберите тип данных Счетчик.

  4. Ключевым сделайте поле Рекламируемый набор.

  5. Закройте таблицу и проверьте, появилось ли ее имя в списке таблиц базы данных.

Этап 2. Свяжите таблицы, находящиеся в отношении один-ко-многим

Реклама конкретного набора поручена одному из сотрудников отдела мар­кетинга, но за каждым сотрудником может быть закреплено несколько на­боров. Между таблицами Сотрудники и Реклама надо установить отношение один-ко-многим, и совпадающем полем будет поле Код сотрудника.

  1. Определите, какую из таблиц Вы сделаете главной.

  2. Воспользуйтесь окном Схема Данных для создания связи между таблицей Сотрудники и Реклама.

  3. Не сохраняйте макет окна схемы данных, когда закроете его.

Этап 3. Свяжите таблицы, находящиеся в отношении миогие-ко-миогим

Отделу маркетинга нужны сведения по датам размещения заказов по от­дельным видам наборов и мест, откуда заказы поступают. Записи таблицы Заказы содержат информацию о том, когда каждый заказ поступил в компа­нию, куда он должен быть отправлен и как клиент будет за него расплачи­ваться. Таблица Наборы посвящена всем выпускаемым шоколадным наборам и включает данные о названии набора, его весе, качественных характерис­тиках и цене. Нужно при этом учитывать, что каждый заказ может содер­жать несколько наборов, а каждый набор может входить в несколько зака­зов. Как же связать эти таблицы, чтобы легко находить названия наборов в конкретном заказе?

  1. Проанализируйте с обеих сторон существующее между табли­цами Наборы и Заказы отношение.

  2. Откройте таблицу Подробности заказов, которая является связу­ющей между интересующими вас исходными таблицами и осно­вана на их ключевых полях. Связующая таблица также содержит поле с данными о количестве того или иного набора в конкретном заказе

  3. Закройте таблицу и просмотрите работу связей между всеми тремя таблицами в окне схемы данных.

Подробнее Смотрите

О выявлении отношения многие-ко-многим Занятие 7

О функциях связующих таблиц Занятие 7

Этап 4. Удалите таблицу из базы данных

Руководство отдела маркетинга проинформировало вас, что в дальнейшем оно будет прибегать к услугам сторонних специалистов по организации рек­ламных кампаний. Поэтому сведения о результативности работы по продви­жению товаров на рынке им больше не понадобятся.

1. В окне схемы данных удалите связь между таблицами Сотрудни­ки и Реклама.

2. Перейдя в окно базы данных, удалите оттуда таблицу Реклама.

Подробнее Смотрите

Об удалении связей Занятие 7

Окончание практики

Для перехода к следующему уроку: Щелкните на кнопке Закрыть окно базы данных или выберите команду меню Файл - Закрыть. Вы закроете окна, но останетесь в программе.

Для завершения работы: Щелкните на кнопке Закрыть окна Microsoft Access или выберите команду меню Файл - Выход. Вы закроете окна и вый­дете из программы.

Занятие 8

ОТБОР НУЖНЫХ ЗАПИСЕЙ

Цель занятия: научиться создавать запрос на основе таблицы или другого запроса; устанавливать условия отбора связанных записей; сортировать данные и «прятать» поле в запросе; создавать запрос, в котором отражены связанные данные; объединять в запросе таблицы и суммировать данные; изменять имя поля в табличном представлении; представлять в полях вычисления.