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

учебное пособие. Часть1. Информатика

.pdf
Скачиваний:
42
Добавлен:
04.06.2015
Размер:
2.87 Mб
Скачать

5. ОСНОВЫ СУБД. РАБОТА С БАЗОЙ ДАННЫХ MS ACCESS

Access стала самой продаваемой в мире системой управления базами данных, потому что в ней оптимальным образом сочетаются мощность и легкость в использовании. Пакет Access достаточно легок в использовании, так что за короткое время новичок может научиться управлять своими собственными данными при помощи Access. Пользователи могут создавать с ее помощью законченные приложения с незначительным использованием приемов программирования, либо совсем не программируя. В то же время Access содержит современный язык программирования Visual Basic for Applications, который может быть использован для разработки более совершенных приложений.

5.1. Основные понятия MS Access

Система управления базами данных (СУБД) Access работает со следующими объектами:

таблицами;

формами;

запросами;

отчетами.

Таблица – это базовый объект MS Access: мы проектируем таблицы именно так, как рассказано в предыдущей главе. Все остальные объекты являются производными и создаются нами только на базе ранее подготовленных таблиц.

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

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

Отчет – это фактически тот же запрос, но оформленный так, чтобы его можно было напечатать на бумаге.

Форма не является самостоятельным объектом Access: она просто помогает нам вводить, просматривать и модифицировать информацию в таблице или запросе. Запросы и отчеты выполняют самостоятельные функции: выбирают, группируют, представляют, печатают информацию.

Объектом обработки MS Access является файл базы данных, имеющий произвольное имя и расширение .MDB. Информационная система, созданная в Access, – это файл базы данных .MDB плюс инструментарий самой Access.

Прежде чем пользоваться каким-либо объектом (например, заполнять данными таблицу), надо создать этот объект (например, создать макет таблицы).

Каждый объект MS Access имеет имя. Длина имени любого объекта MS Access (таблицы, формы и т. д.) – не более 64 произвольных символов (за

61

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

5.2. Запуск MS Access

Запуск MS Access начинается с нажатия кнопки Пуск, расположенной на Панели задач в нижней части экрана монитора.

В открывшемся Главном Меню выберем пункт Программы и затем в раскрывшемся списке программ выберем пиктограмму Microsoft Access и дважды щелкнем левой кнопкой мыши.

После запуска программы, на экране появляется Главное окно Access.

Рис. 5.1

На рис. 5.1 показано окно Access вместе с окном базы данных db1. Пока в этом файле нет ни одного объекта.

После загрузки Access ожидает от вас одного из следующих распоряжений:

либо создать новую базу данных, т. е. файл с расширением .MDB;

либо открыть существующую базу данных, т. е. файл с расширением .MDB.

Создание БД. После выбора команды Файл/Создать..., на экране появляется стандартное окно, в котором вам надо указать имя и адрес создаваемого файла базы данных. Создав файл, Access раскрывает пустое окно базы данных, и в этом окне вы будете проводить все операции – создавать и манипулировать объектами БД.

Открытие БД. После выбора команды Файл/Открыть..., на экране появляется окно, в котором необходимо указать имя и адрес существующего файла базы данных. Затем раскрывается окно базы данных, обеспечивающее вам доступ к уже созданным объектам БД и возможность создавать новые объекты.

62

В окне базы данных мы видим три кнопки Открыть, Конструктор и Создать и в левой части окна семь вкладок с корешками: Таблицы, Запросы, Формы, Отчеты, Страницы, Макросы и Модули.

Если выбрана вкладка Таблицы, в окне этой вкладки отображается список существующих таблиц данной БД.

Чтобы открыть существующую таблицу, надо выделить ее имя в этом списке и нажать кнопку Открыть.

Чтобы включить в БД новую таблицу, надо нажать кнопку Создать. Чтобы исправить макет существующей таблицы, надо выделить ее имя

в списке и нажать кнопку Конструктор.

Типы данных в MS Access. В MS Access допускаются следующие

типы данных:

1) текстовый – произвольная последовательность символов длиной до

255;

2)числовой – любое число;

3)денежный (число, обрабатываемое с повышенной точностью);

4)дата/время;

5)логический (TRUE или FALSE);

6)счетчик;

7)поле MEMO;

8)поле объекта OLE.

Тип поля «Счетчик» удобно применять для первичного ключа таблицы (если вы не используете каких-то специфических кодов). В качестве значений таких полей Access автоматически выбирает целые порядковые номера (1, 2, ...). В дальнейшем номер, присвоенный записи при ее создании, не изменяется (независимо от удаления, вставки новых записей и т. п.).

«Значением» поля с типом данных «Поле объекта OLE» является объект OLE, внедренный в базу данных Access. С помощью такого поля вы можете создавать мультимедийные базы данных.

Выражения в MS Access. Как и в MS Excel, для проведения арифметических расчетов и проверки различных условий, надо научиться записывать в Access выражения: арифметическое, условное, логическое.

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

Стоимость: [Цена]*[Количество].

Условные и логические выражения применяются:

при формировании условия на значения вводимых данных, т. е. для проверки соответствия вводимых в таблицу данных некоторым ограничениям. По-английски эти условия называются validation rules – правила верификации данных;

при установке фильтра для таблицы;

при создании запроса.

Например:

[Номер]<=25 And [Номер]>=10,

63

[Код]=2 Or [Код] =4 Or [Код]=6.

Операндами всех выражений могут быть:

имена полей (они играют роль переменных и записываются в квадратных скобках), например: [Цена], [Номер], ...;

числовые литералы, например: 78, 29.4;

текстовые литералы (они записываются в кавычках), например: "Мир", "МОСКВА";

функции.

5.3. Создание объектов в MS Access

Любой объект (таблицу, запрос, форму, отчет) можно создать либо вручную (Новая таблица), либо с помощью Мастера. Поля новой таблицы

создаем с помощью кнопок: .

Рис. 5.2

Для начинающих пользователей MS Access мы рекомендуем следующую схему:

таблицы и запросы создавать вручную;

формы и отчеты создавать с помощью Мастера.

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

1.В окне базы данных выберите вкладку Таблица и нажмите кнопку

Создать.

2.Диалоговое окно рис. 5.1 (выбор способа создания) является стандартным для всех объектов. Создаем таблицу в режиме Мастера или в режиме Конструктора (рис. 5.2).

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

Создание производных объектов – запросов, форм и отчетов – ведется примерно по той же схеме. Вот некоторые особенности:

64

для производных объектов необходимо указать имя (имена) таблицы (запроса), на базе которой создается этот объект;

при использовании Мастера выполним команду Сервис/Настройка где на закладке Панели инструментов необходимо установить флажок «Панель элементов», и на экране появится набор пиктограмм, с помощью которого вы проектируете форму (отчет, запрос).

Окно таблицы в режиме конструктора показано на рис. 5.3.

Рис. 5.3

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

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

Бланк свойств представляет собой перечень свойств (слева название свойства, справа – значение этого свойства) с окном подсказки по каждому свойству.

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

Для текстового и числового поля надо указать размер поля, причем для текста – это допустимая длина значения (например, 20 или 40 символов), а для числа – формат представления в машине (байт, целое (два байта), длинное целое и т. д.).

Для поля «Дата/время» обязательно надо указать формат, чтобы система знала, как обрабатывать вводимые данные. Например, если выбрать «Краткий формат даты», система будет ожидать от вас ввода именно даты

65

русской версии – ДД.ММ.ГГГГ), а если выбрать «Краткий формат времени»,

вэтом поле придется набирать ЧЧ:ММ (часы и минуты).

Вкачестве значения свойства «Условие на значение» можно указать правило верификации, т. е. логическое выражение, которое должно принимать значение TRUE («Истина») при вводе данных в это поле. Например, если для поля БАЛЛ записать:

[Балл]>=1 And [Балл]<=12

(или еще проще: >=1 And <=12), система признает ошибочным ввод в

это поле любого значения, кроме 1-12.

Вследующем свойстве можно записать произвольное сообщение об ошибке, которое будет выдано системой, например: «Это значение балла недопустимо» или «Балл неверен». В дальнейшем, если введете, например, в поле Балл число 14, на экран поступит это сообщение.

Всвойстве «Обязательное поле» можно указать «Да» (пустые значения не допускаются) или «Нет» (пустые значения допускаются).

Если в первичный ключ вашей таблицы входит одно поле, в свойстве «Индексированное поле» для него выберите: «Да, совпадения не допускаются», а затем щелкните в панели инструментов на кнопке «Определить ключ» (с изображением ключа). Тем самым вы определите первичный ключ своей таблицы (и запретите ввод записей с повторяющимся значением первичного ключа).

Если вы хотите изменить (модифицировать) макет существующего объекта, выделите этот объект в списке соответствующей вкладки окна базы данных и нажмите кнопку Конструктор. На экране появится окно с макетом объекта (такое же, как и при создании). Вы можете исправить макет и сохранить его под тем же или под другим именем.

5.4. Работа с таблицей

Для таблицы ЗАКАЗЫ выбраем следующие типы данных: НОМЕР (заказа), КОД КЛИЕНТА и КОД ПРОДУКТА – числовой (целое число); КОЛИЧЕСТВО – числовой (с плавающей точкой); ДАТА ПОСТАВКИ – дата/время (краткий формат даты) (рис.5.4).

66

Рис. 5.4

Закончив создание таблицы, открываем ее (кнопкой Открыть в окне базы данных) и заполняем данными рис. 5.5.

Рис. 5.5

Также создаем таблицы КЛИЕНТЫ и ПРОДУКТЫ (рис. 5.6): Если вам не нравится ширина столбца таблицы, отображаемой на экране (например, она слишком велика или, наоборот, мала и скрывает часть данных), ее можно уменьшить или увеличить, – точно так же, как вы изменяли ширину столбца в Excel.

Рис. 5.6

Перемещение по таблице. Для перемещения по таблице служат кнопки переходов в строке состояния (слева направо: переход к первой записи таблицы, к предыдущей записи, к следующей записи и к последней записи таблицы).

67

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

Кроме того, по таблице можно перемещаться с помощью клавиш

{Tab}, {Shift+Tab}, стрелок курсора.

Примечание. Примерно так же вы можете работать и с окном запроса. Редактирование таблицы. При вводе данных используется основной стандарт редактирования. Закончив ввод или модификацию данных в конкретном поле, нажмите {Tab} или {Enter} (или щелкните мышью в

другой ячейке таблицы).

Для ввода (внедрения) объекта OLE надо щелкнуть правой кнопкой на его поле и выбрать OLE-сервер.

После внедрения OLE-объекта отображаемым в таблице значением его поля будет название соответствующего OLE-сервера (например, «Microsoft Word»). Чтобы просмотреть или отредактировать объект (или воспроизвести звукозапись) надо, как всегда, дважды щелкнуть на этом названии.

Фильтр. Работая с таблицей в оперативном режиме, вы можете установить фильтр, т. е. задать логическое выражение, позволяющее выдавать на экран только записи, для которых это выражение принимает значение TRUE («Истина»).

Фильтр набирается в окне фильтра, – точно так же, как и условие отбора для запроса.

Чтобы установить (или изменить фильтр), выберите команду [ЗаписиИзменить фильтр...], отредактируйте фильтр и выберите команду [ЗаписиПрименить фильтр]. Чтобы восстановить показ всех записей, выберите команду [Записи-Показать все записи].

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

5.5. Форма

Итак, в п. 5.4 нами рассмотрен универсальный способ представления в окне всех полей конкретной таблицы (рис. 5.5 и 5.6). Основные недостатки этого способа заключаются в следующем.

1.Если полей слишком много, они не умещаются на экране, и приходится прибегать к различным манипуляциям, чтобы отрегулировать («оптимизировать») представление: прятать некоторые столбцы, изменять ширину столбцов, перемещаться по таблице с помощью полосы прокрутки.

2.Если в таблице имеются какие-то коды, таблица теряет информативность: приходится иметь под рукой классификатор, чтобы понять, какому экземпляру объекта соответствует тот или иной код (а при вводе – правильно указать такой код).

68

Чтобы упростить просмотр, ввод и модификацию данных в конкретной таблице, вы можете (но не обязаны) создать для нее одну или несколько форм. Форма – это документ, в окне которого отображается, как правило, одна запись таблицы, причем пользователь имеет возможность по своему усмотрению разместить поля на форме.

По структуре форма похожа на окно диалога.

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

Как и любой объект MS Access, можно создать форму вручную или воспользоваться услугами Мастера форм. Форма создается для конкретной таблицы или конкретного запроса. Чтобы создать форму, необходимо выполнить серию стандартных шагов, описанных в п. 5.3

Для ввода данных в оперативную таблицу ЗАКАЗЫ, с помощью Мастера мы создали форму-столбец с именем Ввод ЗАКАЗОВ.

Чего мы добились? В данном случае почти ничего: по сравнению с рис. 5.5, нам удалось лишь «оптимизировать» ширину и расположение полей, но коды клиента и продукта вводить по-прежнему неудобно. Поэтому в качестве примера мы покажем, как заменить поле ввода Код клиента: полем со списком. В этом списке, кроме кода, будет отображаться и наименование клиента, и это упростит и просмотр, и ввод, и модификацию информации.

1.Вызовите окно формы <Ввод заказов> в режиме конструктора.

2.Установите флажки Вид/Панель элементов и Вид/Мастера (или щелкните на соответствующих кнопках в панели инструментов и панели элементов).

3.Щелкните в панели элементов на кнопке «Поле со списком».

4.Установите указатель мыши в окне формы на поле Код клиента: (т. е. на то место, где вы хотите создать поле со списком) и щелкните мышью.

На экране появится окно Мастера форм. Вам необходимо ответить на серию его вопросов (переход к очередному вопросу – кнопка Далее) и щелкнуть на кнопке Готово. В результате форма <Ввод заказов> примет вид, показанный на рис. 5.7.

Рис. 5.7

69

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

5.6. Таблица и форма

Таблица и форма – основные объекты в современных информационных системах. Они неотделимы друг от друга, и очень часто разработчики совмещают их в одном окне документа, на разных вкладках.

Выделив какую-либо строку списка, вы можете щелкнуть на вкладке Форма и получить более подробные сведения о выделенном экземпляре объекта. Обратите внимание на кнопку со знаком вопроса у поля Категория. Эта кнопка эквивалентна кнопке раскрывающегося списка и позволяет выдать на экран классификатор категорий (а затем выбрать из него категорию).

На вкладке Форма вы можете и просмотреть данные по выделенному экземпляру объекта, и модифицировать их, и ввести новый экземпляр объекта.

Таким образом, рассмотренные нами таблица и форма позволяют выполнять все «рутинные» операции по обслуживанию вашей информационной системы.

5.7.Связь между таблицами и целостность данных

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

Между одноименными полями двух таблиц MS Access устанавливает связь автоматически. Например, между таблицами ЗАКАЗЫ и КЛИЕНТЫ устанавливается связь по полю Код клиента. Это означает, что при формировании запроса к этой паре таблиц Access сможет объединить строки таблиц, в которых значения поля Код клиента совпадают.

Access позволяет вручную установить связь между таблицами по разноименным полям, однако этой возможностью лучше не пользоваться: это запутывает и аналитиков, и пользователей.

Целостность данных. Итак, если установлена связь между двумя таблицами (автоматически или вручную), данные из обеих таблиц можно объединять. Иногда этого достаточно, однако при создании серьезных баз данных нам придется позаботиться о дополнительных средствах контроля связанных данных, вводимых в разные таблицы. Например, при ведении таблицы ЗАКАЗЫ (п. 5.4.) нельзя допустить случайный ввод в эту таблицу данных о несуществующих клиентах или продуктах, нельзя удалять из словарей записи о клиентах, которые заказывают продукты и т. п.

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

70