Практическая работа 6. Создание таблиц. Режим таблицы. Режим конструктора. Связывание таблиц. Создание и модификация форм. Создание и модификация отчетов. Формы в СУБД. Создание и модификация форм.
Создать новую базу данных можно при помощи команды Office + Создать. После этого на экране справа следует указать имя новой базы данных, выбрать папку, где она будет храниться и затем нажать кнопку Создание.
Планирование баз данных.
Перед созданием новой базы данных обязательно необходимо хорошо продумать следующие вопросы:
- Какие данные будут храниться в БД и как их организовать наилучшим образом? - Это позволит определить, какие потребуются таблицы и какие связи необходимо организовать между ними.
- Какие действия с данными необходимо будет производить в процессе эксплуатации БД? - это позволит определить, какие потребуются формы.
- Какие документы необходимо будет выводить на печать? - Это позволит определить, какие потребуются отчеты.
Таблицы и связи между ними представляют собой так называемую модель данных, которая является основой любой БД. В теории БД существуют так называемые правила нормализации данных, которые позволяют устранить избыточность, противоречивость и непоследовательность модели данных.
При проектировании таблиц базы данных рекомендуется:
- Избегать повторения информации
Если информация повторяется то логичнее разбить информацию в две таблицы, задать ключевые поля и связать таблицы по ключевым полям.
- Избегать повторяющихся групп
Повторяющаяся группа - это столбцы, которые повторяются в пределах одной и той же строки для хранения нескольких значений данных одного вида.
Например, мы храним таблицу со списком зарегистрированных фирм, и в ней 10 столбцов с наименованиями фирм-учредителей. Но количество учредителей чаще всего меньше 10-ти и поэтому многие поля в этой таблице будут пустыми.
С другой стороны, если когда-нибудь придется зарегистрировать фирму с количеством учредителей больше 10-ти, то придется заводить новый столбец. Если наша таблица связана с другими, и мы уже разработали много форм и отчетов, то такая ситуация повлечет за собой переделку всей базы данных.
- Каждая таблица должна описывать одну сущность реального мира
Не следует смешивать, например, в одной таблице сведения о сотрудниках фирмы и заключенных ими договорах.
- Там, где это возможно, следует использовать коды (первичные ключи)
Первичные ключи помогают связывать таблицы.
- Справочную информацию следует помещать в отдельные таблицы.
Создание таблиц в Access.
Для создания новой таблицы в базе данных необходимо перейти ко вкладке Главная + Таблицы в окне базы данных выбрать объект Таблица.
Конструктор таблиц. Чтобы добавить поле, в верхней части окна таблицы в режиме конструктора следует ввести имя поля и определить его тип. Имя поля должно содержать не более 64 символов и может включать любые комбинации букв, цифр и пробелов, а также специальных символов, за исключением точки, восклицательного знака, надстрочного символа и прямых скобок. Имя не должно начинаться с пробела и содержать управляющие символы (рисуноки 3.1-3.2)
Рисунок 3.1 − Ввод имени поля
Тип данных определяет, какого вида данные допускается вводить в поле.
Рисунок 3.2 − Определение типа данных
Уникальная метка, называемая ключом, используется для определения каждой записи таблицы. Подобно тому, как номерной знак однозначно определяет автомобиль, ключ определяет запись.
Ключевые поля в таблицах используются для создания межтабличных связей. Чтобы определить ключ, необходимо выделить строку с описанием нужного поля и нажать пиктограмму Ключ.
Для задания свойства поля надо выбрать его в верхней части окна конструктора таблиц и в нижней части окна ввести значения этого свойства или выбрать его из списка.
По окончании описания полей таблицы, необходимо закрыть окно конструктора.
Для наполнения таблицы данными откройте ее в режиме таблицы (двойной щелчок по значку таблицы в окне база данных) и внесите информацию, соответственно типам данных каждого поля.
Связывание таблиц. От того, как новая таблица связана с остальными, зависит, какое из ее полей следует назначить первичным ключом. В теории баз данных известны 4 варианта связей между двумя таблицами, называемых обычно отношениями.
Связь Один-к-одному. , Каждой записи первой таблицы соответствует не больше одной записи второй, таблицы и наоборот,. Соответствие записей устанавливается в результате поиска в поле, являющегося первичным ключом, одной из таблиц, значения поля, называемого внешним ключом второй таблицы.
Связь Многие-к-одному. , Любой записи второй таблицы может соответствовать любое количество записей первой, таблицы, но не наоборот. , В этом случае ключевое поле первой, таблицы будет внешним ключом,, и повторяющиеся значения в нем допускаются.
Связь Один-ко-многим. , Первичный ключ первой, таблицы (поле, содержащее уникальные значения), связывается с внешним ключом второй , таблицы (значения поля могут повторяться). При этом каждой записи первой таблицы может соответствовать несколько записей второй. Можно сказать, что «один-ко-многим» , - это «многие-к-одному» , наоборот.
Связь Многие-ко-многим,. Каждой записи одной таблицы может соответствовать любое количество записей другой таблицы и наоборот. Соответственно, поля обеих таблиц, по которым осуществляется связь, являются внешними ключами и могут содержать повторяющиеся значения.
Создание межтабличных связей. Для создания межтабличных связей в СУБД MS Access существует команда Работа с базами данных – Схема данных, а также на панели инструментов расположена одноименная пиктограмма Схема данных.
Рисунок 3.3 − Изменение связей между таблицами
В окне схемы данных связи можно создавать путем перетаскивания полей из одной таблицы в другую.
При создании межтабличной связи очень важно, из какой таблицы в какую перетаскивается поле. Поля надо перетаскивать из таблицы со стороны «один» в таблицу со стороны «многие». При этом в окне Изменение связей (рисунок 3.3) главная таблица (со стороны «один») окажется слева под заголовком Таблица/запрос, а таблица со стороны «многие» - справа под заголовком Связанная таблица/запрос. При попытке сделать наоборот мы получим сообщение об ошибке.
На созданной в схеме связи следует щелкнуть правой кнопкой мыши, чтобы установить дополнительные параметры:
В окне Изменение связей щелкнуть на кнопке Объединение. Появится окно Параметры объединения (рисунок 3.4). Если необходимо, например, чтобы в дальнейшем при объединении данных таблиц отображались все записи таблицы «СТИПЕНДИЯ», независимо от того, имеется ли соответствующая запись в таблице «СЕССИЯ», надо выбрать 2-й тип объединения.
Рисунок 3.4 − Параметры объединения
В диалоговом окне Изменение связей есть очень полезный флажок – Обеспечение целостности данных. Следует установить его, чтобы Access отказывалась сохранять в подчиненной таблице записи, относящиеся к несуществующей записи в главной таблице.
Щелкните на кнопке Создать, чтобы новая связь появилась в окне Схема данных.
Связи между таблицами в Access можно создавать разными способами. На первых порах удобнее всего использовать команду Вставка - Поле подстановки в режиме конструктора для вызова мастера создания связей.
Разработка пользовательских форм
Форма – объект, в основном предназначенный для удобного ввода данных. Форма – это формат (бланк) показа данных на экране компьютера. В форму могут быть внедрены рисунки, диаграммы, аудио и видеоизображения.
Режимы работы с формой.
Режим форм. Используется для просмотра и редактирования данных. Режим форм предоставляет дружественную среду для работы с данными и удобный дизайн их представления на экране.
Для работы с мастером форм:
- В окне Создание выберите объект Формы.
- Нажмите кнопку Создать.
- В диалоговом окне Новая форма выберите нужного мастера.
- Выберите имя таблицы или запроса, содержащих данные, на основе которых будет создана форма.
При выборе элементов Автоформа: в столбец, Автоформа: ленточная или Автоформа: табличная - форма создается автоматически.
Изменить созданную форму можно в режиме конструктора.
Режим конструктора форм. Используется для изменения структуры или шаблона формы. Режим таблицы. Режим позволяет увидеть таблицу, включающую все поля формы; чтобы переключаться в этот режим при работе с формой, надо нажать кнопку таблицы на панели инструментов.
Связывание главной формы и подчиненной формы.
Форму или таблицу данных, помещенную в другую форму, называют подчиненной формой.
При создании подчиненной формы с помощью мастера форм или мастера подчиненных форм главная форма и подчиненная форма связываются автоматически при соблюдении некоторых условий. Если главная форма и подчиненная форма не удовлетворяют этим условиям, можно связать их следующим образом.
Откройте главную форму в режиме конструктора формы.
Убедитесь, что элемент управления подчиненной формы выделен, и нажмите кнопку Элементы управления на панели инструментов, затем Подчиненная форма/отчет, растягиваем поле на котором будет находится подчиненная форма, затем нажимаем в поле правой кнопкой мыши и выбираем Построить.
Создание отчетов. Создание вычисляемых полей
Отчеты во многом похожи на формы, но имеют иное функциональное назначение – они служат для форматированного вывода данных на печатающие устройства и, соответственно, при этом должны учитывать параметры принтера и параметры используемой бумаги.
Для создания отчетов существуют средства автоматического, автоматизированного и ручного проектирования. Средства автоматического проектирования реализованы автоотчетами.
Средства автоматического проектирования отчетов запускаются по команде Создать - Мастер отчетов - Автоотчет в столбец. Кроме автоотчетов в столбец существуют ленточные автоотчеты.
Средством автоматизированного создания отчетов является Мастер отчетов. При его работе выполняется выбор базовых таблиц или запросов, на которых отчет базируется, выбор полей, отображаемых в отчете, выбор полей группировки, выбор полей и методов группировки, выбор формы печатного макета и стиля оформления.
Структура готового отчета отличается от структуры формы только увеличенным количеством разделов. Кроме разделов заголовка, примечания и данных, отчет может содержать разделы верхнего и нижнего колонтитула.
Редактирование структуры отчета выполняют в режиме Конструктора. Приемы редактирования те же, что и для форм.
Задание
- Создайте новую базу данных Microsoft Access. Назовите ее «Продажа товаров»
- В режиме конструктора создайте таблицу ОПЕРАЦИИ следующей структуры (таблица 3.1)
Таблица 3.1−«Операции»
Название поля | Тип поля | Описание |
КодОперации | Счетчик | Уникальное поле БД |
Дата | Дата/Время | Дата продажи |
КодТовара | Числовой | Шифр товара |
КодПокупателя | Числовой | Шифр фирмы покупателя |
Цена | Числовой | |
Кол_во | Числовой | |
Сумма | Числовой | |
Ф_опл | Текстовый | Форма оплаты |
- Для поля Дата установите свойство Значение по умолчанию. Удобно, если при заполнении таблицы в это поле автоматически будет проставляться текущая дата (а если необходимо, то ее можно будет изменить). Для этого щелкните кнопкой мыши в поле ввода для свойства Значение по умолчанию и введите туда следующий текст: =Date(). Для свойства Формат поля установите значение Краткий формат даты.
- Для поля Сумма удалите в свойстве Значение по умолчанию число 0, оставив это свойство пустым, а формат данного поля установите как Денежный.
- Задайте для поля Дата Условие на значение ( дата должны быть не позже сегодняшней); заполните поле Сообщение об ошибке.
Задайте для полей Количество, Цена и Сумма Условие на значение (Значения этих полей должны быть обязательно больше нуля); заполните поле Сообщение об ошибке.
Задайте в качестве ключевого поля - поле КодОперации. Воспользуйтесь пиктограммой Ключевое поле или командой Сервис – Ключевое поле.
- Закройте окно конструктора и сохраните таблицу под именем Операции (таблица 3.1).
По аналогии создайте вторую таблицу базы данных ТОВАР в режиме конструктора (таблица 3.2).
Таблица 3.2−«Товары»
Название поля | Тип поля | Описание |
КодТовара | Счетчик | Уникальное поле БД |
Наименование | Текстовый | |
Ед_изм | Текстовый | Единица измерения |
- Для удобства заполнения данных в поле Ед_Изм создадим поле с раскрывающимся списком значений. Для этого в свойстве этого поля Подстановка - Тип элемента управления выберите значение Поле со списком. Свойство Тип источника строк - Список значений. Число строк списка задайте равное пяти.(так как в таблице используется всего пять единиц измерения товара). Свойство Источник строк заполните следующим образом – кг.;бул.;пач.;шт.;лит. Задайте в качестве ключевого поля - поле КодТовара. Закройте окно конструктора и сохраните таблицу под именем Товары.
- Откройте таблицу ОПЕРАЦИИ (таблица3.4) в режиме Конструктора. Аналогично создайте поле с раскрывающимся списком значений Ф_опл (см. таблицу ОПЕРАЦИИ)- б/р (безналичный расчет), н/р (наличный расчет),бар (бартер).
- Создайте третью таблицу базы данных ПОКУПАТЕЛИ следующей структуры (таблица 3.3):
Таблица 3.3−«Покупатели»
Название поля | Тип поля | Описание |
КодПокупателя | Счетчик | Уникальное поле БД |
Покупатель | Текстовый | Наименование покупателя |
РНН | Числовой | |
р/с | Числовой | Расчетный счет |
Телефон | Текстовый | |
- Для поля Телефон в свойстве Маска ввода задайте ###\-##\-##. Задайте маску для заполнения полей РНН и р/с, с учетом того, что РНН состоит из 12 цифр, а расчетный счет из 6 цифр.
Задайте в качестве ключевого поля - поле КодПокупателя.
Закройте окно конструктора и сохраните таблицу под именем Покупатели (таблица 3.3). В окне базы данных появятся только что созданные таблицы. Открывайте таблицы двойным щелчком мыши и заполняйте их данными:
Таблица 3.4−«Операции»
Код Операции | Дата | Код Товара | Код Покупателя | Цена | Кол-во | Сумма | Ф_опл |
1 | 01.01.04 | 1 | 1 | 20 | 550 | 11000 | б/р |
2 | 01.01.04 | 2 | 1 | 68 | 200 | 13600 | б/р |
3 | 03.01.04 | 1 | 2 | 20 | 900 | 18000 | б/р |
4 | 03.06.04 | 3 | 3 | 25 | 300 | 7500 | н/р |
5 | 04.01.04 | 6 | 5 | 150 | 26000 | 3900000 | бар |
6 | 04.01.04 | 4 | 4 | 150000 | 250 | 37500000 | б/р |
7 | 13.01.04 | 3 | 3 | 25 | 520 | 13000 | н/р |
8 | 03.02.04 | 2 | 2 | 68 | 4580 | 311440 | б/р |
9 | 12.02.04 | 3 | 2 | 26 | 300 | 7800 | н/р |
10 | 12.02.04 | 7 | 2 | 59 | 12000 | 708000 | б/р |
11 | 02.03.04 | 4 | 1 | 120000 | 15 | 1800000 | б/р |
12 | 02.03.04 | 4 | 4 | 120520 | 520 | 62670400 | бар |
13 | 05.03.04 | 6 | 5 | 250 | 5 | 1250 | б/р |
14 | 05.03.04 | 5 | 2 | 25 | 150 | 3750 | б/р |
15 | 04.04.04 | 7 | 3 | 53 | 200 | 10600 | н/р |
16 | 13.04.04 | 5 | 2 | 20 | 200 | 4000 | бар |
17 | 13.04.04 | 1 | 1 | 25 | 500 | 12500 | н/р |
Таблица 3.5−«Товары»
КодТовара | Наименование | Ед. изм. |
1 | соль | кг. |
2 | сахар | кг. |
3 | хлеб | бул. |
4 | Шоколад | шт. |
5 | Сода | пач. |
6 | Лимон | кг. |
7 | Молоко | лит. |
Таблица 3.6−«Покупатели»
Код Покупателя | Покупатель | РНН | р/с | Адрес | Телефон |
1 | ЧП «Седьмой континент» | 456987568940 | 321654 | г.Москва, Смирновская, 18, к.198 | 111-56-09 |
2 | АО «Сервис» | 458962108945 | 215456 | г.Омск, Победы, 13, к.1 | 550-67-90 |
3 | АО «Закусочная» | 546542123547 | 546211 | г.Павлодар, ул. 8 марта, 33, к.11 | 123-45-67 |
4 | Д/с №120 | 789320145214 | 457021 | г.Павлодар, ул.Кутузова 279 | 234-32-22 |
5 | СОШ №17 | 781258045785 | 645213 | г.Омск, ул. Майская 15 | 453-67-20 |
Откройте схему данных и отобразите все таблицы базы данных.
Свяжите таблицы базы данных. Продумайте какие таблицы и по каким полям следует соединить.
Откройте таблицу ОПЕРАЦИИ, проверьте, появилась ли вложенность таблиц. Произведите сортировку таблицы по полю Дата – с помощью Расширенного Фильтра (Главная – Сортировка и Фильтр – Фильтр) отберите все данные об операциях за январь. Если на панели отсутствует Расширенный фильтр, то необходимо щелкнуть правой кнопкой мыши на панели, открыть Настройки панели быстрого доступа, в графе Выбрать команды из найти Все команды, в списке выбрать расширенный фильтр и установить его на панель.
Отключите фильтр. Проведите фильтрацию по полю Цена – оставьте только те товары, в которых цена больше 100. (используйте расширенный фильтр).
Отключите фильтр. Проведите фильтрацию по полю Форма оплаты – отберите операции по безналичному расчету.
- Разработка пользовательских форм
Создайте форму для таблицы ПОКУПАТЕЛИ (таблица 3.6) с помощью мастера (Внешний вид формы – в один столбец, стиль выберите самостоятельно). Сохраните форму под именем ПОКУПАТЕЛИ.
- Добавьте в таблицу данных две записи в режиме формы:
Таблица 3.7−«Покупатели» (добавление столбцов)
Покупатель | РНН | р/с | АдресТелефон
Д/с №123 | 456548754101 | 456210 | Ул. 1 Мая 25780-56-69
СОШ №1 | 545771474101 | 879871 | Ул. Толстого45456-78-90
- Создайте форму с помощью средства Автоформа для таблицы ТОВАРЫ. Сохраните форму под именем ТОВАРЫ.
Создайте Форму для таблицы ОПЕРАЦИИ с помощью мастера. Сохраните ее под именем ОПЕРАЦИИ.
Создайте форму в режиме Мастера для таблиц ОПЕРАЦИИ, ПОКУПАТЕЛИ, ТОВАРЫ. Создание – Формы - Другие формы - Мастер форм. Форма должна выглядеть следующим образом:
Рисунок 3.5− форма «Заказы»
Сохраните форму под именем ЗАКАЗЫ.
Создай те форму ОПЕРАЦИИ ПО ДАТАМ следующего вида (подумайте какие поля и из каких таблиц были выбраны для построения формы):
Рисунок 3.6 – форма «Операции по дат
Контрольные вопросы
- >Назовите основные элементы окна Access.
- >Перечислите основные объекты окна базы данных.
- >Какие режимы работы используются для работы с таблицей?
- >Что такое Конструктор в СУБД Access?
- >Для чего служит ключевое поле?
- >Объясните для чего необходимо связывать таблицы при работе с базами данных?
- >Перечислите виды связей между таблицами базы данных.
- >Назовите обязательные условия при создании связей между главной и подчиненной таблицами?
- >Как вы понимаете связь «Один к одному», «Один ко многим», «Многие ко многим»? Что такое целостность данных?
- >Для чего служат формы в базах данных Access?
- >Какие виды форм вы знаете? Можно ли построить форму по полям, находящимся в разных таблицах?