СУБД Microsoft Access 2007


Практическая работа 6. Создание таблиц. Режим таблицы. Режим конструктора. Связывание таблиц. Создание и модификация форм. Создание и модификация отчетов. Формы в СУБД. Создание и модификация форм.

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

Планирование баз данных.

Перед созданием новой базы данных обязательно необходимо хорошо продумать следующие вопросы:

  1. Какие данные будут храниться в БД и как их организовать наилучшим образом? - Это позволит определить, какие потребуются таблицы и какие связи необходимо организовать между ними.
  2. Какие действия с данными необходимо будет производить в процессе эксплуатации БД? - это позволит определить, какие потребуются формы.
  3. Какие документы необходимо будет выводить на печать? - Это позволит определить, какие потребуются отчеты.

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

При проектировании таблиц базы данных рекомендуется:

  1. Избегать повторения информации
  2. Если информация повторяется то логичнее разбить информацию в две таблицы, задать ключевые поля и связать таблицы по ключевым полям.
  3. Избегать повторяющихся групп
  4. Повторяющаяся группа - это столбцы, которые повторяются в пределах одной и той же строки для хранения нескольких значений данных одного вида.

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

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

  5. Каждая таблица должна описывать одну сущность реального мира
  6. Не следует смешивать, например, в одной таблице сведения о сотрудниках фирмы и заключенных ими договорах.
  7. Там, где это возможно, следует использовать коды (первичные ключи)
  8. Первичные ключи помогают связывать таблицы.
  9. Справочную информацию следует помещать в отдельные таблицы.

Создание таблиц в Access.

Для создания новой таблицы в базе данных необходимо перейти ко вкладке Главная + Таблицы в окне базы данных выбрать объект Таблица.

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

Рисунок 3.1 − Ввод имени поля

Тип данных определяет, какого вида данные допускается вводить в поле.

Рисунок 3.2 − Определение типа данных

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

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

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

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

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

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

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

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

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

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

Создание межтабличных связей. Для создания межтабличных связей в СУБД MS Access существует команда Работа с базами данных – Схема данных, а также на панели инструментов расположена одноименная пиктограмма Схема данных.

Рисунок 3.3 − Изменение связей между таблицами

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

При создании межтабличной связи очень важно, из какой таблицы в какую перетаскивается поле. Поля надо перетаскивать из таблицы со стороны «один» в таблицу со стороны «многие». При этом в окне Изменение связей (рисунок 3.3) главная таблица (со стороны «один») окажется слева под заголовком Таблица/запрос, а таблица со стороны «многие» - справа под заголовком Связанная таблица/запрос. При попытке сделать наоборот мы получим сообщение об ошибке.

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

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

Рисунок 3.4 − Параметры объединения

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

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

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

Разработка пользовательских форм

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

Режимы работы с формой.

Режим форм. Используется для просмотра и редактирования данных. Режим форм предоставляет дружественную среду для работы с данными и удобный дизайн их представления на экране.

Для работы с мастером форм:

  1. В окне Создание выберите объект Формы.
  2. Нажмите кнопку Создать.
  3. В диалоговом окне Новая форма выберите нужного мастера.
  4. Выберите имя таблицы или запроса, содержащих данные, на основе которых будет создана форма.

При выборе элементов Автоформа: в столбец, Автоформа: ленточная или Автоформа: табличная - форма создается автоматически.

Изменить созданную форму можно в режиме конструктора.

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

Связывание главной формы и подчиненной формы.

Форму или таблицу данных, помещенную в другую форму, называют подчиненной формой.

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

Откройте главную форму в режиме конструктора формы.

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

Создание отчетов. Создание вычисляемых полей

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

Для создания отчетов существуют средства автоматического, автоматизированного и ручного проектирования. Средства автоматического проектирования реализованы автоотчетами.

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

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

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

Редактирование структуры отчета выполняют в режиме Конструктора. Приемы редактирования те же, что и для форм.

Задание

  1. Создайте новую базу данных Microsoft Access. Назовите ее «Продажа товаров»
  2. В режиме конструктора создайте таблицу ОПЕРАЦИИ следующей структуры (таблица 3.1)
  3. Таблица 3.1−«Операции»

    Название поляТип поляОписание
    КодОперацииСчетчикУникальное поле БД
    ДатаДата/ВремяДата продажи
    КодТовараЧисловойШифр товара
    КодПокупателяЧисловойШифр фирмы покупателя
    ЦенаЧисловой
    Кол_воЧисловой
    СуммаЧисловой
    Ф_оплТекстовыйФорма оплаты
  4. Для поля Дата установите свойство Значение по умолчанию. Удобно, если при заполнении таблицы в это поле автоматически будет проставляться текущая дата (а если необходимо, то ее можно будет изменить). Для этого щелкните кнопкой мыши в поле ввода для свойства Значение по умолчанию и введите туда следующий текст: =Date(). Для свойства Формат поля установите значение Краткий формат даты.
  5. Для поля Сумма удалите в свойстве Значение по умолчанию число 0, оставив это свойство пустым, а формат данного поля установите как Денежный.
  6. Задайте для поля Дата Условие на значение ( дата должны быть не позже сегодняшней); заполните поле Сообщение об ошибке.
  7. Задайте для полей Количество, Цена и Сумма Условие на значение (Значения этих полей должны быть обязательно больше нуля); заполните поле Сообщение об ошибке.

    Задайте в качестве ключевого поля - поле КодОперации. Воспользуйтесь пиктограммой Ключевое поле или командой Сервис – Ключевое поле.

  8. Закройте окно конструктора и сохраните таблицу под именем Операции (таблица 3.1).
  9. По аналогии создайте вторую таблицу базы данных ТОВАР в режиме конструктора (таблица 3.2).

    Таблица 3.2−«Товары»

    Название поляТип поляОписание
    КодТовараСчетчикУникальное поле БД
    НаименованиеТекстовый
    Ед_измТекстовыйЕдиница измерения
  10. Для удобства заполнения данных в поле Ед_Изм создадим поле с раскрывающимся списком значений. Для этого в свойстве этого поля Подстановка - Тип элемента управления выберите значение Поле со списком. Свойство Тип источника строк - Список значений. Число строк списка задайте равное пяти.(так как в таблице используется всего пять единиц измерения товара). Свойство Источник строк заполните следующим образом – кг.;бул.;пач.;шт.;лит. Задайте в качестве ключевого поля - поле КодТовара. Закройте окно конструктора и сохраните таблицу под именем Товары.
  11. Откройте таблицу ОПЕРАЦИИ (таблица3.4) в режиме Конструктора. Аналогично создайте поле с раскрывающимся списком значений Ф_опл (см. таблицу ОПЕРАЦИИ)- б/р (безналичный расчет), н/р (наличный расчет),бар (бартер).
  12. Создайте третью таблицу базы данных ПОКУПАТЕЛИ следующей структуры (таблица 3.3):
  13. Таблица 3.3−«Покупатели»

    Название поляТип поляОписание
    КодПокупателяСчетчикУникальное поле БД
    ПокупательТекстовыйНаименование покупателя
    РННЧисловой
    р/сЧисловойРасчетный счет
    ТелефонТекстовый
  14. Для поля Телефон в свойстве Маска ввода задайте ###\-##\-##. Задайте маску для заполнения полей РНН и р/с, с учетом того, что РНН состоит из 12 цифр, а расчетный счет из 6 цифр.
  15. Задайте в качестве ключевого поля - поле КодПокупателя.

    Закройте окно конструктора и сохраните таблицу под именем Покупатели (таблица 3.3). В окне базы данных появятся только что созданные таблицы. Открывайте таблицы двойным щелчком мыши и заполняйте их данными:

    Таблица 3.4−«Операции»

    Код
    Операции
    ДатаКод
    Товара
    Код
    Покупателя
    ЦенаКол-воСуммаФ_опл
    101.01.04112055011000б/р
    201.01.04216820013600б/р
    303.01.04122090018000б/р
    403.06.0433253007500н/р
    504.01.0465150260003900000бар
    604.01.044415000025037500000б/р
    713.01.04332552013000н/р
    803.02.0422684580311440б/р
    912.02.0432263007800н/р
    1012.02.04725912000708000б/р
    1102.03.0441120000151800000б/р
    1202.03.044412052052062670400бар
    1305.03.046525051250б/р
    1405.03.0452251503750б/р
    1504.04.04735320010600н/р
    1613.04.0452202004000бар
    1713.04.04112550012500н/р

    Таблица 3.5−«Товары»

    КодТовараНаименованиеЕд. изм.
    1солькг.
    2сахаркг.
    3хлеббул.
    4Шоколадшт.
    5Содапач.
    6Лимонкг.
    7Молоколит.

    Таблица 3.6−«Покупатели»

    Код ПокупателяПокупательРННр/сАдресТелефон
    1ЧП «Седьмой континент»456987568940321654г.Москва, Смирновская, 18, к.198111-56-09
    2АО «Сервис»458962108945215456г.Омск, Победы, 13, к.1550-67-90
    3АО «Закусочная»546542123547546211г.Павлодар, ул. 8 марта, 33, к.11123-45-67
    4Д/с №120789320145214457021г.Павлодар, ул.Кутузова 279234-32-22
    5СОШ №17781258045785645213г.Омск, ул. Майская 15453-67-20

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

    Откройте таблицу ОПЕРАЦИИ, проверьте, появилась ли вложенность таблиц. Произведите сортировку таблицы по полю Дата – с помощью Расширенного Фильтра (Главная – Сортировка и Фильтр – Фильтр) отберите все данные об операциях за январь. Если на панели отсутствует Расширенный фильтр, то необходимо щелкнуть правой кнопкой мыши на панели, открыть Настройки панели быстрого доступа, в графе Выбрать команды из найти Все команды, в списке выбрать расширенный фильтр и установить его на панель.

    Отключите фильтр. Проведите фильтрацию по полю Цена – оставьте только те товары, в которых цена больше 100. (используйте расширенный фильтр).

    Отключите фильтр. Проведите фильтрацию по полю Форма оплаты – отберите операции по безналичному расчету.

  16. Разработка пользовательских форм
  17. Создайте форму для таблицы ПОКУПАТЕЛИ (таблица 3.6) с помощью мастера (Внешний вид формы – в один столбец, стиль выберите самостоятельно). Сохраните форму под именем ПОКУПАТЕЛИ.

  18. Добавьте в таблицу данных две записи в режиме формы:
  19. Таблица 3.7−«Покупатели» (добавление столбцов)

    АдресТелефонУл. 1 Мая 25780-56-69Ул. Толстого45456-78-90
    ПокупательРННр/с
    Д/с №123456548754101456210
    СОШ №1545771474101879871
  20. Создайте форму с помощью средства Автоформа для таблицы ТОВАРЫ. Сохраните форму под именем ТОВАРЫ.
  21. Создайте Форму для таблицы ОПЕРАЦИИ с помощью мастера. Сохраните ее под именем ОПЕРАЦИИ.

    Создайте форму в режиме Мастера для таблиц ОПЕРАЦИИ, ПОКУПАТЕЛИ, ТОВАРЫ. Создание – Формы - Другие формы - Мастер форм. Форма должна выглядеть следующим образом:

    Рисунок 3.5− форма «Заказы»

    Сохраните форму под именем ЗАКАЗЫ.

    Создай те форму ОПЕРАЦИИ ПО ДАТАМ следующего вида (подумайте какие поля и из каких таблиц были выбраны для построения формы):

    Рисунок 3.6 – форма «Операции по дат

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

  1. >Назовите основные элементы окна Access.
  2. >Перечислите основные объекты окна базы данных.
  3. >Какие режимы работы используются для работы с таблицей?
  4. >Что такое Конструктор в СУБД Access?
  5. >Для чего служит ключевое поле?
  6. >Объясните для чего необходимо связывать таблицы при работе с базами данных?
  7. >Перечислите виды связей между таблицами базы данных.
  8. >Назовите обязательные условия при создании связей между главной и подчиненной таблицами?
  9. >Как вы понимаете связь «Один к одному», «Один ко многим», «Многие ко многим»? Что такое целостность данных?
  10. >Для чего служат формы в базах данных Access?
  11. >Какие виды форм вы знаете? Можно ли построить форму по полям, находящимся в разных таблицах?