Учебно-практическое пособие
"Работа с базами данных Microsoft Access 2000"
Введение
Любое предприятие, фирма, банк, учреждение обрабатывает большой объем информации, связанной как с внешними партнерами, так и с внутренними операциями, начиная от начисления заработной платы сотрудникам и заканчивая учетом операций с материальными и денежными средствами внутри и вне фирмы. Эти данные могут представлять собой бизнес-информацию (имя клиента, суммы платежей в платежных ведомостях, данные о сотрудниках и т.д.), предоставляться другой системой (информация о курсах валют, акций), носить временный характер (результаты промежуточных преобразований информации, имена временных файлов и т.д.). Независимо от типа используемой информации и способа работы с ней, данные должны быть логически организованы. Может понадобиться ввод новых данных, редактирование имеющихся, их просмотр и представление в виде отчета.
Табличный процессор Microsoft Excel позволяет хранить данные в одной или нескольких таблицах, проводить однотипные расчеты с большими наборами данных, формировать сводные таблицы и т.д. Однако в электронных таблицах данные не всегда структурированы, в связи с этим в записях таблицы имеется много повторений. Все это затрудняет корректировку и обработку данных. Более гибкие средства обработки данных представляет приложение Microsoft Access 2000.
Система управления базами данных (СУБД) Microsoft Access 2000 поддерживает самую распространенную модель хранения данных – реляционную. Ссылка из одной таблицы на другую через какое-нибудь общее (ключевое) поле называется отношением (relation), а база данных, построенная на таком принципе, – реляционной.
Реляционная модель баз данных представляет данные как коллекцию таблиц. Структура базы данных определяется введением связей между простыми таблицами.
Пусть фирма ведет учет продаж, данные о которых хранятся в следующей таблице:
Таблица 1
Объемы продаж фирмы «Гигант» | ||||||||
Покупатель | Товар | Ед.измер. | Кол-во | Цена за ед., руб. | Сумма, руб. | НДС% | Сумма с НДС | Дата сделки |
Атлант | Бананы | кг | 25 | 12 | 25 | 02.11.05 | ||
Рога и копыта | Бананы | кг | 30 | 12 | 25 | 02.11.05 | ||
Атлант | Консервы | банка | 20 | 15,5 | 25 | 01.11.05 | ||
Метеор | Консервы | банка | 50 | 8,3 | 25 | 02.11.05 | ||
Атлант | Консервы | банка | 20 | 7,5 | 25 | 05.11.05 | ||
Рога и копыта | Консервы | банка | 60 | 8,7 | 25 | 05.11.05 | ||
Метеор | Конфеты | шт. | 30 | 45 | 25 | 01.11.05 | ||
Рога и копыта | Конфеты | кг | 25 | 10,5 | 25 | 01.11.05 | ||
Метеор | Конфеты | кг | 40 | 12,5 | 25 | 05.11.05 | ||
Рога и копыта | Яблоки | кг | 50 | 10 | 25 | 01.11.05 | ||
Метеор | Яблоки | кг | 50 | 8 | 25 | 04.11.05 | ||
Атлант | Яблоки | кг | 10 | 11,5 | 25 | 07.11.05 | ||
Атлант | Конфеты | кг | 25 | 40 | 25 | 08.11.05 | ||
Рога и копыта | Бананы | кг | 30 | 12 | 25 | 08.11.05 | ||
Атлант | Конфеты | кг | 20 | 30 | 25 | 07.11.05 | ||
Метеор | Консервы | банка | 20 | 8,3 | 25 | 09.11.05 | ||
Атлант | Консервы | банка | 40 | 12 | 25 | 08.11.05 | ||
Рога и копыта | Консервы | банка | 30 | 8,7 | 25 | 05.11.05 | ||
Метеор | Конфеты | шт. | 10 | 45 | 25 | 08.11.05 | ||
Рога и копыта | Консервы | банка | 25 | 5 | 25 | 08.11.05 | ||
Метеор | Бананы | кг | 40 | 12,5 | 25 | 07.11.05 | ||
Рога и копыта | Конфеты | кг | 50 | 25 | 25 | 09.11.05 | ||
Метеор | Яблоки | кг | 50 | 8 | 25 | 08.11.05 | ||
Атлант | Яблоки | кг | 100 | 11,5 | 25 | 05.11.05 |
Таблица содержит избыточную информацию: имя покупателя, наименование товара, единицы измерения повторяются в разных ее строках. Разработчик базы данных должен структурировать данные таким образом, чтобы устранить излишнее дублирование и обеспечить скорейший поиск всех нужных данных. Проводимое с этой целью разделение данных на отдельные таблицы называется нормализацией. Простейшие базы данных можно нормализовать, следуя простому правилу: таблицы, содержащие повторяющиеся данные, нужно разделить на отдельные таблицы, чтобы исключить повторения.
Между таблицами могут быть установлены отношения один ко многим, когда каждой записи одной таблицы соответствует несколько записей другой таблицы, и многие ко многим, когда одной записи первой таблицы соответствует много записей второй и наоборот. Отношение многие ко многим реализуется через два и более отношений один ко многим.
Для повышения эффективности нормализуем таблицу Объемы продаж фирмы «Гигант» (табл. 1), разделив ее на отдельные таблицы: Покупатели (табл. 2), Товары (табл. 3), Заказы (табл. 4) со соответствующей структурой.
Таблица 2
Таблица Покупатели | Таблица Покупатели (структура) |
ИДКл |
Покупатель |
Фамилия |
Адрес |
Город |
Таблица Товары | Таблица Товары (структура) |
КодТовара |
Товар |
Поставщик |
ЕдИзм. |
Цена |
В_наличии |
Таблица Заказы | Таблица Заказы (структура) |
КодЗаказа |
ИДКл |
Дата |
НДС |
КодТовара |
Кол-во |
Покупатели | Заказы | Товары |
ИДКл | КодЗаказа | КодТовара |
Покупатель | ИДКл | Товар |
Фамилия | Дата | Поставщик |
Адрес | НДС | Ед.изм. |
Город | КодТовара | Цена |
Кол-во | В наличии |
Тип отношений, приведенный в таблице Заказы, называется отношением один ко многим, так как одни клиент может сделать несколько заказов, но конкретный заказ может быть размещен только одним заказчиком, и один товар может быть заказан несколькими клиентами.
Между таблицами Покупатели и Товары установлено отношение многие ко многим. Один клиент может заказать несколько товаров, а один товар может быть заказан несколькими клиентами. Отношение «многие ко многим» реализовано путем создания двух отношений «один ко многим», с общей таблицей «многие» (таблица Заказы), которая содержит внешние ключи других таблиц: таблица Заказы связана как с таблицей Товары (через поле КодТовара), так и с таблицей Покупатели (через поле ИДКл).
Так как таблицы нормализованы, можно изменять данные о заказах, исправив всего одну запись в таблицах Покупатели или Товары. Кроме того, используя нормализованные таблицы, можно составить новые, виртуальные таблицы, содержащие требуемую информацию, сделать удобным ввод данных в БД.
Для проектирования собственной базы данных загрузите приложение Microsoft Access, для этого нажмите кнопку
на панели Microsoft Office.После загрузки приложения появится диалоговое окно, в котором пометьте переключатель Новая база данных и нажмите кнопку ОК.
После этого появится диалоговое окно с предложением ввести имя базы данных. Введите имя базы данных и нажмите кнопку Создать. На экране появится окно База данных с именем базы (рис. 1).