Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка ИСЭ.doc
Скачиваний:
85
Добавлен:
21.05.2015
Размер:
14.69 Mб
Скачать

Раздел 2. Работа с базами данных в microsoft access

Тема 1. Знакомство с интерфейсом и основными функциями программы microsoft access

Цель работы: ознакомиться с интерфейсом программы MICROSOFT ACCESS, основными элементами баз данных.

Запустите программу MicrosoftAccess.

После запуска программы MicrosoftAccessна экране монитора появляется Главное окно системы (рис 2.1.).

Рис. 2.1. Рабочее окно программы Microsoft Access.

Строка меню содержит ряд элементов (заголовков меню). Каждому элементу соответствует отдельное меню, содержащее команды или опции.

Программа MicrosoftAccessиспользует систему контекстно-зависимых меню. Это означает, что внешний вид меню зависит от текущей ситуации в системе, от типа обрабатываемого объекта и т.д.

В строке состояния MicrosoftAccessвыводит сообщения о ходе выполнения команд и о текущем состоянии системы.

Прежде чем начать работу с базами данных, вызовите справку в открытом окне программы (СПРАВКА – СПРАВКА ПО MICROSOFT ACCESS). Откройте в появившемся окнеСоздание и работа с базами данных – Базы данных, что это такое. Прочитайте. Затем откройтеСоздание и разработка таблиц – Таблицы, что это такое и как они работают. Прочитайте. Закройте окно Справки.

Контрольные вопросы:

Что такое контекстно-зависимое меню?

Что представляет собой база данных?

Что представляет собой таблица?

Каким способом можно создать и редактировать таблицу в Мicrosoft Access?

Тема 2. Создание таблиц в microsoft access

Цель работы: освоить основные приемы работы с базами данных на примере построения таблиц в приложении Microsoft Access.

Пример

Задание. Создайте базу данных для отдела кадров, состоящую из двух взаимосвязанных таблиц. Первая таблица должна содержать сведения о сотрудниках, вторая – сведения о штатном расписании. Данные для первой таблицы приведены на рис 2.2, вторую таблицу заполните самостоятельно, учитывая созданные связи между таблицами.

Рис.2.2. Таблица – «Сведения о работниках»

Решение.

Существует несколько способов создания таблиц в программе MicrosoftAccess: с помощьюМастера таблиц, с помощьюКонструктора, путем экспорта из другого приложения офис и др.

Создание таблиц в режиме «Мастер таблиц»

Начните работу с создания первой таблицы, которая будет называться «Сведения о работниках».

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

Запустите программу MicrosoftAccess. В открывшемся окне выберитеНовая база данных. Раскроется окно сохранения новой базы данных. Необходимо задать имя создаваемой базе данных. В отличие от других приложений пакетаMicrosoftOfficeвMicrosoftAccessнеобходимо сохранить файл до того, как с ним будет начата работа. Задайте следующее имя базе данных: «Отдел кадров,фамилия студента». Нажмите кнопкуСоздать.(рис. 2.3).

Рис. 2.3. Присвоение имени новой базе данных

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

Для создания новой таблицы выберите вкладку Таблицы(окно открывается на этой вкладке автоматически), нажмите кнопкуСоздать. На экране появится диалоговое окноНовая таблица(рис. 2.4).

Рис. 2.4. Выбор режима создания таблицы

В появившемся окне выберите Мастер таблиц. НажмитеОк. Появилось окноСоздание таблицы, в котором предлагается выбрать необходимую таблицу из предложенных образцов таблиц (рис. 2.5).

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

Выберите поля Код сотрудника (выделите образец поля и нажмите на одиночную стрелку вправо, если нажмете на двойную стрелку вправо, то перенесете сразу все образцы полей в новую таблицу), ИНН (такого поля среди образцов полей нет, поэтому выберите любой образец поля, вставьте его в новую таблицу, а затем переименуйте),Фамилия, Дата рождения, Адрес, Телефон, Пол, Дата найма, Сегодняшняя дата.НажмитеДАЛЕЕ. Измените имя таблицы наСведения о работниках.

Рис. 2.5. Создание таблицы в режиме «Мастер таблиц»

Далее необходимо определить: самостоятельно устанавливать ключевое поле или программа сделает это автоматически.

Ключевое поле однозначно определяет каждую запись таблицы.

Выделите - Пользователь определяет ключ самостоятельно. Нажмите -ДАЛЕЕ. Выберите поле с уникальными для каждой записи данными. В данном случае это будет поле ИНН, так как, например, фамилии могут совпадать и т.д. НажмитеДАЛЕЕ, ГОТОВО (рис. 2.6).

Появилось окно таблицы Сведения о работниках. Таблица пустая. В первом поле таблицы - словоСчетчикозначает, что в это поле будет автоматически вводится номер – код сотрудника (рис. 2.7).

Рис. 2.6. Выбор способа определения ключевого поля

Рис. 2.7. Таблица «Сведения о работниках» в режиме ввода данных

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

В диалоговом окне базы данных «Отдел кадров, Иванов» выберите таблицуСведения о работниках, пока это единственная таблица в созданной базе данных, нажмите кнопкуКонструктор. Появилась рабочая область конструктора, состоящая из двух таблиц: верхней - содержит три столбца -имя поля,где указываются поля таблицы,тип данных– определяется тип данных для каждого поля в зависимости от того, какая информация будет содержаться в этом поле,описание- используется для описания особенностей или предназначения поля.

Нижняя часть отражает свойства поля, изменяется в зависимости от выбранного типа данных поля (рис. 2.8).

Рис. 2.8. Таблица «Сведения о работниках» в режиме конструктора

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

Основные типы данных:

  • Текстовый – предполагает текст или числа, не требующие проведения расчётов.

  • МЕМО. Поле этого типа предназначено для хранения небольших текстовых данных (до 64000 символов). Поле этого типа не может быть ключевым или проиндексированным.

  • Числовой тип данных содержит множество подтипов. От выбора подтипа (размера) зависит точность вычислений.

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

  • Логический тип данных определяет логические значения, а так же поля, которые могут содержать одно из двух возможных значений.

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

  • Дата/Время. Дата и время, которые могут быть записаны в специальном фиксированном формате.

  • Поле объекта OLE предполагает звукозапись, рисунок и прочие типы данных. Поле этого типа не может быть ключевым или проиндексированным.

  • Гиперсвязь. Содержит адреса Web-страниц.

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

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

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

Закройте таблицу Сведения о работниках.

Создание таблицы в режиме «Конструктор»

Создайте таблицу Штат сотрудниковс помощьюКонструктора.Выберите элементТаблицы, нажмите кнопку СОЗДАТЬ, КОНСТРУКТОР, ОК.На экране появилось пустое окно конструирования таблицы. В верхней части окна введите следующие имена полей, и задайте необходимый тип данных (рис. 2.9):

Рис. 2.9. Окно Конструктора таблиц

Код сотрудника (формат поля – счетчик), ИНН, Фамилия, Должность – формат - текстовый, Разряд (формат – числовой, так как в дальнейшем значение разряда будет использоваться в расчетах), Оклад (формат – денежный), Количество детей (формат – числовой).

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

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

Рис 2.10. Определение ключевого поля

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

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

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

Создание связей между таблицами.

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

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

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

В данном примере обе таблицы содержат три одинаковых поля: Код сотрудника, ИНН, Фамилия. Связывать таблицы по полюКод сотрудникаилиФамилиянецелесообразно, так как один и тот же сотрудник будет иметь разный код в каждой из таблиц, а фамилия может повторяться, например, в штате может быть два сотрудника с фамилией Иванов. Поэтому в данном примере связь будет строиться по полюИНН.

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

Рис. 2.11. Создание связи между таблицами.

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

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

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

Рис. 2.12. Изменение связей

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

Нажмите кнопку СОЗДАТЬ. Между макетами таблиц появилась соединяющая линия с цифрами 1 на концах, что означает тип отношенияодин-к-одному (рис. 2.13).

Рис. 2.13.Связь один-к-одному

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

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

Рис. 2.14. Просмотр информации из таблицы штатное расписание в таблице сведения о сотрудниках

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

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

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

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

После того, как ключевое поле изменено, закройте режим конструктора, сохранив изменения.

Откройте Схему данных. Необходимо изменить тип связи, для этого удалите существующую связь: путем нажатия правой клавиши мыши на линии связи в тонкой ее части вызовите контекстное меню, выберитеУДАЛИТЬ, подтвердите удаление.

Создайте связь между таблицами по полю ИНН, как было описано ранее. В окнеИзменение связейуказан типодин-ко-многим. Как и ранее установите галочку напротив надписи Обеспечение целостности данных, Каскадное обновление связанных полей. Нажмите кнопкуСОЗДАТЬ (рис. 2.15).

Рис. 2.15. Тип связи один-ко-многим

Для того, чтобы просмотреть, как на практике работает связь между таблицами, заполните их данными, таким образом, чтобы в таблице Сведения о сотрудникахсотрудник был записан один раз, а в таблицеШтатное расписаниенесколько раз с разными должностями.

Рис. 2.16. Две записи из таблицы Штатное расписание соответствую одной записи из таблицы Сведения о работниках

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

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

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

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

Настройте таблицу Сведения о работникахтаким образом, чтобы:

в поле Полвводилось не более трех знаков (например: муж, жен);

в поле ИННзаписывались номера, начинающиеся на 2632, состоящие из 8 цифр, причем первые 4 цифры должны появляться автоматически, так как в Ставропольском крае все идентификационные номера налогоплательщика начинаются на 2632 (другими словами необходимо создать маску ввода для поляИНН);

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

Для того, чтобы настроить таблицу Сведения о работникахв соответствии с требованиями, откройте ее в режиме конструктора. Выделите полеПол, вСвойствах поля установите Размер поля – 3.Таким образом, при заполнении пользователь не сможет ввести в это поле более трех знаков.

Создание маски ввода

Чтобы создать для поля ИНН маску ввода, выделите это поле, вСвойствах полянажмите правой клавишей мыши в строкеМаска ввода. Справа от строки появилась кнопка, нажатие на которую раскроет окноСоздание масок ввода (рис. 2.17).

Мастер создания масок ввода предлагает выбрать маску ввода из имеющихся образцов или создать новую. В столбце Маска вводауказано, для каких данных она применяется, в столбцеВид данных– приводиться образец записи данных в поле таблицы в режиме ввода данных. В строкеПробапользователь может просмотреть, как будет выглядеть маска ввода в поле при заполнении таблицы. Например, если выбрать маску вводаКраткий формат даты, то в таблице в поле, для которого она установлена, будет появляться шаблон «__.__.____», это позволит пользователю вводить дату без точек – 12122006, а программа автоматически преобразует запись в 12.12.2006.

Рис. 2.17. Создание масок ввода

Маски ввода для поля ИННв образцах нет. Для того, чтобы создать ее самостоятельно, воспользуйтесь кнопкойСПИСОК. Откроется окноНастройка масок ввода (рис.2.18).

В строку Описаниевведите название данных, для которых она создается – идентификационный номер налогоплательщика.

В строке Маска вводанеобходимо с помощью специальных символов записать маску, которая автоматически будет записывать цифры 2632, далее - пробел и далее - четыре цифры от 0 до 9.

Рис. 2.8. Окно настройки масок ввода

Изучите таблицу 2 и запишите с помощью знаков маску ввода для поля ИНН.

Таблица 2

Символы, использующиеся для создания маски ввода

Знак

Описание

0

Цифра (от 0 до 9, ввод обязателен; знаки плюс [+] и минус [-] не допускаются).

9

Цифра или пробел (ввод не обязателен; знаки плюс и минус не допускаются).

#

Цифра или пробел (ввод не обязателен; пустые знаки преобразуются в пробелы, допускаются знаки плюс и минус).

L

Буква (от A до Z или от А до Я, ввод обязателен).

?

Буква (от A до Z или от А до Я, ввод не обязателен).

A

Буква или цифра (ввод обязателен).

a

Буква или цифра (ввод необязателен).

&

Любой знак или пробел (ввод обязателен).

C

Любой знак или пробел (ввод необязателен).

. , : ; - /

Десятичный разделитель и разделители тысяч, значений дат и времени. (Отображаемый знак зависит от настроек языка и стандартов на панели управления Microsoft Windows.)

<

Указывает перевод всех следующих знаков на нижний регистр.

>

Указывает перевод всех следующих знаков на верхний регистр.

!

Указывает заполнение маски вводасправа налево, а не слева направо. Заполнение маски знаками всегда происходит слева направо. Восклицательный знак в маске ввода можно помещать в любую позицию.

\

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

Пароль

Значение Пароль, заданное для свойства Маска ввода (InputMask), создает поле для ввода пароля. Любой знак, введенный в поле, сохраняется как знак, но отображается как звездочка (*).

Маска ввода будет иметь следующий вид: «\2\6\3\2\ 0000» (рис. 2.9).

Рис. 2.9. Маска ввода для поля ИНН

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

В строке Образцы данныхможно проверить, как будет работать маска ввода в таблице при записи данных. Наведите курсор на эту строку, появиться маска 2632 ____, попробуйте сделать запись – введите любые четыре цифры. Символы, кроме цифр, в это поле записываться не будут.

Нажмите кнопку закрыть. К списку имеющихся масок ввода добавилась еще одна – ИНН. Выберите ее и нажмите кнопку ГОТОВО.

Создание списка для поля таблицы

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

В режиме конструктора создайте таблицу под названием Дополнительные данные, состоящую из поля№п/п(тип данных –счетчик, ключевое) и поляНаселенные пункты(тип данных –текстовый).

Откройте таблицу в режиме ввода данных, введите 6-7 названий населенных пунктов Ставропольского края (рис. 2.10).

Рис. 2.10. Таблица Дополнительные данные

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

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

В строке источник строк укажите таблицу Дополнительные данные. ВызовитеПостроитель запросов, нажатием на кнопку справа от строки, где укажите непосредственно то поле, которое содержит список данных - полеНаселенные пункты (рис. 2.12).

Рис 2.11. Настройка свойств поля

Рис. 2.12. Окно Построитель запросов

Закройте окно построителя запросов, подтвердив сохранение.

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

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

Контрольные вопросы

Что представляет собой таблица Microsoft Access?

Какими различными способами можно построить таблицу?

Какое поле может быть задано ключевым?

Что означает тип данных Счетчик?

В каких случаях удобно использовать Маску ввода?

Какие способы используются при необходимости редактировать созданную таблицу?