Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

6371

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
775.75 Кб
Скачать

40

около года и более не рассматриваются). Указанное свойство устанавлива-

ется в строке (раскрывающемся списке) "Размер поля" на вкладке "Об-

щие", расположенной в левой нижней части окна конструктора в области

"Свойства поля".

 

 

Таблица 5

 

Структура таблицы " Туры"

 

 

 

Имя поля

Тип данных

 

 

 

 

КодТура

Счетчик

 

 

 

 

НазваниеТура

Текстовый

 

 

 

МестоОтдыха

Мастер подстановок (из таблицы "МестоОтдыха")

 

 

ВидОтдыха

Мастер подстановок (из таблицы "ВидОтдыха")

 

 

 

Продолжительность

Числовой (размер поля –

байт)

 

 

 

Стоимость

Числовой (размер поля –

длинное целое)

 

 

НазваниеФирмы*

Мастер подстановок (из таблицы "Фирмы")

 

 

 

* – поле добавляется позже, после создания соответствующей таблицы ("Фир-

мы", п. 2.4).

По условию работы в таблицу "Туры" вводятся стоимости туров в валюте принимающей страны. На территории России продажа туров воз-

можна только за рубли. Именно эта стоимость, которая может быть рас-

считана с помощью соответствующего запроса (см. раздел 3.7), интересует клиента. В то же время иностранные контрагенты анонсируют стоимость своих услуг в валюте, поэтому вводить именно ее в таблицу, предназна-

ченную для внутреннего употребления, вполне оправданно.

В случае отсутствия в рекламных объявлениях названий туров предлагается придумать их самостоятельно. Также самостоятельно могут быть заданы продолжительность и стоимость тура с учетом реалий и здра-

вого смысла. Вид отдыха выбирается из значений данного реквизита, ис-

ходя из характера тура.

41

Создание новых таблиц в Access–2007 имеет некоторые особенно-

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

ме таблицы.

При открытии пустой БД на экране появляется автоматически соз-

данная таблица из трех столбцов. Первый столбец назван "Код" и предна-

значен для создания ключевого поля. Второй столбец (пустой, озаглавлен-

ный "Добавить поле") предназначен для создания следующего поля.

Для переименования поля надо вызвать быстрое меню его заголов-

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

крывающегося списка в группе кнопок "Форматирование и тип данных",

находящихся на ленте на вкладке "Таблица".

Для задания ключевого поля надо выделить его и нажать кнопку

"Ключевое поле" группы "Сервис" на вкладке "Конструктор".

После задания структуры таблицы можно выйти из режима конст-

руктора в режим таблицы для ввода данных. Режим выбирается с помо-

щью раскрывающегося списка – единственной кнопки из группы "Режи-

мы". При переходе к режиму таблицы в случае изменения структуры про-

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

"Таблица1" и введя нужное название с клавиатуры.

Другой способ переключения режимов работы с компонентом БД – выбор быстрого меню компонента нажатием правой кнопки мыши на пик-

тограмме рядом с именем компонента в заголовке окна и выбор в быстром меню нужного режима.

В Access–2007 существует еще один режим работы с компонентами БД – режим макета, который по своим возможностям представляет нечто среднее между режимами компонента и конструктора.

42

Для создания следующей таблицы надо выбрать одну из кнопок вкладки "Создание" группы "Таблица": "Конструктор таблиц" – для зада-

ния структуры в режиме конструктора или "Таблица" – для задания струк-

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

шим числом полей (таблицы "Валюта", "ВидОтдыха", "МестоОтдыха")

проще работать в режиме таблицы. При создании таблиц с большим чис-

лом полей и задании их свойств, отличных от присваиваемых по умолча-

нию, проще работать в режиме конструктора (таблицы "Страны", "Туры").

Задать мастер подстановок в Access–2007 можно также непосредст-

венно в режиме таблицы. Для этого надо вызвать быстрое меню заголовка

(как правило, пустого столбца) и выбрать команду "Столбец подстановок".

Альтернативный вариант – выделить нужное поле и выбрать ту же коман-

ду в группе кнопок "Поля и столбцы" на вкладке "Режим таблицы". Запус-

кается мастер подстановок. Дальнейшие действия практически аналогичны предыдущим версиям программы.

2.4. Мастер таблиц. Некоторые свойства полей

Мастер таблиц позволяет создавать таблицы с использованием уже готовой структуры, поля которых наиболее соответствуют реквизитам объектов нужного класса. Данный способ создания таблиц рассматривает-

ся на примере таблицы "Фирмы".

Задание А. Создать структуру таблицы "Фирмы" согласно приве-

денному ниже описанию.

В ранних версиях Access в окне базы данных выбираем "Создание таблицы с помощью мастера". В окне "Создание таблиц" надо выбрать об-

разец из представленных в списке в левой части окна. Предлагается вы-

брать образец "Поставщики" из группы "Деловые", структура которого наиболее близка к таблице, предназначенной для сведений об организа-

ции-контрагенте.

43

В средней части окна представлены образцы полей. Во вновь созда-

ваемую таблицу можно включить все поля нажатием кнопки " >> ", но, как правило, лучше выбрать группу полей, наиболее подходящую для нужного класса объектов конкретной БД. Для этого надо поочередно выделять щелчком эти поля в списке и нажимать кнопку " > ".

Обязательным является поле "КодПоставщика". По условиям зада-

ния надо также выбрать поля "НазваниеПоставщика", "Адрес", "НомерТе-

лефона" и "УсловияОплаты". Рекомендуется сразу переименовать некото-

рые поля, а именно "КодПоставщика" на "КодФирмы" и "НазваниеПо-

ставщика" на "НазваниеФирмы". Для этого надо выделить нужное поле и нажать кнопку "Переименовать поле…" в правом нижнем углу окна.

Следующий шаг – задание имени для создаваемой таблицы (стереть

"Поставщики" и написать "Фирмы"), а также выбрать способ определения ключа. Ключевым задается поле "КодФирмы", которому программой по умолчанию присвоен тип "Счетчик". Поэтому переключатель вариантов способа определения ключа оставляется в положении "Microsoft Access

автоматически определяет ключ".

Таблица 6

 

Структура таблицы "Фирмы"

 

 

Имя поля

Тип данных

 

 

КодФирмы

Счетчик

 

 

НазваниеФирмы

Текстовый

 

 

Телефон

Текстовый (с использованием маски ввода)

 

 

Адрес

Текстовый (с использованием условия на значение)

 

 

КонтактноеЛицо

Текстовый

 

 

УсловияОплаты

Мастер подстановок (фиксированный набор значений)

 

 

Следующий шаг – задание связей с другими таблицами, – пропус-

каем (кнопка "Далее"). На последнем шагу рекомендуется поставить пере-

44

ключатель в положение "Изменить структуру таблицы" с целью ее дора-

ботки в режиме конструктора и нажать "Готово".

В Access-2007 создание таблицы по образцу выполняется иначе. На вкладке "Создание" в группе "Таблицы" выбирается кнопка "Шаблоны таблиц", а в ней – нужный шаблон. Далее структуру созданной таблицы можно изменить в режиме конструктора.

По условию работы выбирается шаблон "Контакты". В созданной таблице надо оставить следующие поля: "Код", "Организация", "Обра-

щатьсяК", "Рабочий телефон", "Адрес", добавить поле "Условия оплаты".

В режиме конструктора надо удалить лишние поля, для чего строку со све-

дениями об определенном поле надо выделить щелчком на прямоугольни-

ке слева от столбца "Имя поля" и в быстром меню дать команду "Удалить строки". Также в режиме конструктора рекомендуется переименовать поля в соответствии с табл. 6 чтобы избежать путаницы в дальнейшем.

Чтобы переименовать таблицу "Контакты" на "Фирмы" надо щелк-

нуть правой кнопкой мыши на названии таблицы в области данных и в бы-

стром меню выбрать нужную команду.

Необходимо провести доработку структуры таблицы "Фирмы". Ал-

горитм одинаков во всех версиях Access.

На примере таблицы "Фирмы" рассмотрим некоторые свойства по-

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

Маска ввода. Иногда значение поля представляется в некоторой стандартной форме. Так, семизначные номера телефонов записываются обычно следующим образом: три цифры-(дефис)две цифры-(дефис)две цифры. Номер сотового телефона состоит из 10 цифр, не считая цифры 8 в

начале. Для удобства ввода подобных значений можно использовать свой-

ство поля "Маска ввода". В окне конструктора на вкладке "Общие" надо выбрать соответствующую строчку и ввести в нее нужные символы. Про-

45

грамма интерпретирует большинство из них как константы, то есть не из-

меняемую часть маски, а некоторые – как пустое место, оставленное для ввода или любого символа, или определенной группы символов. Так, для последующего обязательного ввода цифры надо в маске ввода набрать 0 (нуль), а для необязательного ввода любого символа или пробела – англий-

скую букву С, причем обязательно большую (регистр имеет значение).

Пример. Для ввода семизначного номера телефона надо ввести

000-00-00, номер сотового телефона можно ввести в следующем формате: 8-000-000-00-00. Если приводятся телефоны в определенном городе с ука-

занием междугороднего кода, то сам код можно ввести как константу, а

вместо цифр внутригородского номера поставить нули. Например, для Нижнего Новгорода маска ввода номеров телефонов в указанном формате будет выглядеть так: 8-(831)-000-00-00.

Для кодирования маски ввода программа использует также кавыч-

ки, обозначающие часть, являющуюся текстовой константой, и косую чер-

ту \, которая показывает, что следующий за ней символ также является текстовой константой. Упомянутую кодировку программа производит са-

мостоятельно. Например, маска ввода номеров междугородних телефонов автоматически принимает в окне конструктора вид "8-(831)-"000\-00\-00.

В случае, если 0 (нуль) является константой, пользователю надо са-

мостоятельно ввести перед ним косую черту.

Задание Б. Установить маску ввода для поля "НомерТелефона"

таблицы "Фирмы". Для этого в режиме конструктора выделить указанное поле, а затем поставить курсор в окошко "Маска ввода" на вкладке "Об-

щие", расположенной в левой нижней части окна конструктора в области

"Свойства поля". Набрать с клавиатуры 8-(831)-000-00-00. Убедиться, что программа выполнила кодирование – установку кавычек и косых черт как указано выше.

46

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

ки ввода значение по умолчанию может быть изменено непосредственно в режиме таблицы. Рассмотрим задание указанного свойства на примере по-

ля "Адрес" таблицы "Фирма".

Общий вид адреса: название населенного пункта – Н. Новгород (по условию работы общее для всех фирм); название улицы (бульвара, про-

спекта, переулка); номер дома, который может быть дробным, включать номер корпуса или литеры А, Б и др.; номер квартиры (комнаты, кабинета,

офиса), который может и отсутствовать. Общими для всех адресов, кроме названия города, будет сокращение "ул." – улица, которое в случаях ис-

ключений можно поменять на "пер." – переулок, "пр." – проспект и др., а

также сокращение "д." – дом.

Задание В. Установить значение по умолчанию для поля "Адрес"

таблицы "Фирмы". Для этого в режиме конструктора выделить указанное поле, а затем поставить курсор в окошко "Значение по умолчанию" на вкладке "Общие", расположенной в левой нижней части окна конструктора в области "Свойства поля". Далее набрать с клавиатуры "Н.Новгород,

ул. , д. "

Для поля "УсловияОплаты" предлагается изменить тип поля и ис-

пользовать фиксированный набор значений мастера подстановок. Вводи-

мый в поле реквизит может иметь (по условию работы) следующие значе-

ния: "Предоплата"; "Обычные"; "Кредит". Технология использования мас-

тера подстановок описана в разделе 2.3.

Задание Г. Заполнить созданную таблицу "Фирмы", используя имеющиеся в задании исходные данные, а при отсутствии некоторых из них (например, условий оплаты для конкретных фирм) ввести их произ-

вольно. После создания таблицы "Фирмы" ввести поле "НазваниеФирмы"

в таблицу "Туры" с помощью мастера подстановок в режиме конструктора

47

(технология работы в режиме конструктора описана в разделе 2.3) и далее заполнить это поле в режиме таблицы.

2.5Обеспечение целостности данных

Вразделе 1.4 говорилось о необходимости создания связей между таблицами. Связи типа "Один-ко-многим" создаются автоматически при использовании мастера подстановок. Для просмотра существующих свя-

зей, корректировки их характеристик и создания новых связей предназна-

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

Окно "Схема данных" открывается командой "Сервис" – " Схема данных" или соответствующей кнопкой на панели инструментов при ак-

тивном окне "Базы данных" (в Access–2007 – кнопка "Схема данных" на вкладке "Работа с базами данных" в группе "Показать или скрыть"). Если какой-либо таблицы в схеме нет, то надо вызвать быстрое меню (щелчок правой кнопкой мыши в пустом месте окна) и дать команду "Добавить таблицу". Для корректной работы БД предлагается задать в указанном ок-

не необходимые характеристики связей.

Внимание! Чтобы успешно изменить свойства связей, рекоменду-

ется перед входом в окно "Схема данных" закрыть все компоненты БД.

Для задания характеристик определенной связи надо вызвать бы-

строе меню связи (щелчок правой кнопкой мыши в пустом месте окна) и

выбрать команду "Изменить связь".

При включении флажка "Обеспечение целостности данных" фикси-

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

дение какого-либо значения показателя из исходной таблицы. Также ста-

новятся доступными две другие опции связи.

48

После включения флажка "Каскадное обновление связанных полей"

будет происходить одновременное изменение содержимого ячеек как в ис-

ходной таблице, так и в связанных. Например, если фирма изменила на-

звание, то изменять его в таблице "Туры" во всех записях о турах данной фирмы нерационально. Достаточно редактировать название в таблице

"Фирма".

После включения флажка "Каскадное удаление связанных полей"

будет происходить одновременное удаление данных об определенном объ-

екте в исходной таблице и всех связанных записей в связаннных таблицах.

Например, при прекращении туров в какую-либо страну из-за произошед-

шего в ней переворота и начала вооруженного конфликта появилась необ-

ходимость удалить из БД все туры в эту страну. Достаточно удалить на-

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

"Каскадное удаление связанных полей" задано как для связи между табли-

цами "Страна" и "МестоОтдыха", так и для связи между таблицами "Ме-

стоОтдыха" и "Туры".

Для корректной работы создаваемых позже запросов стоит также установить параметры объединения связей, что можно сделать в соответ-

ствующем диалоговом окне после нажатия кнопки "Объединение…". Ре-

комендуется включить "Объединение ВСЕХ записей из "/название связан-

ной таблицы/" и только тех записей из "/название исходной таблицы/", в

которых связанные поля совпадают" (третий пункт в окне "Параметры объединения").

После установки и проверки свойств всех связей БД готова к рабо-

те. Схема данных должна принять вид, показанный на рис. 3.

49

3.ЗАПРОСЫ

3.1.Общие сведения о запросах. Создание запроса

спомощью конструктора

Запрос – это условие на выполнение СУБД определенного действия с данными.

С точки зрения задач АИС (см. раздел 1.1) запросы можно разде-

лить на несколько групп.

1. Запросы, предназначенные для поиска и выборки определенной информации из имеющейся в БД, а также для представления информации в удобном для пользователя виде. В Access это некоторые запросы из груп-

пы запросов на выборку.

2. Запросы для автоматизации изменения с последующим сохране-

нием информации в БД. В Access это запросы на добавление и на удале-

ние, в некоторых случаях – запросы на обновление.

3. Запросы для получения новой информации путем математиче-

ских расчетов. Их проведение возможно в запросах любой группы Microsoft Access.

Внешне запрос имеет вид таблицы, в которой отображены поля из одной или нескольких таблиц или ранее созданных запросов (далее – ис-

ходных компонентов). В запросе могут быть представлены или все записи из исходных компонентов, или часть записей, отобранных по заданному признаку, или новые записи, созданные на основе преобразования содер-

жания существующих записей (запросы итоговые и перекрестные).

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

ципиальной разницы между ними нет. В обоих случаях сначала произво-

дится выбор исходных компонентов, потом выбор нужных полей в каждом из них. Если при создании запроса используется большое количество ис-

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]