Разработка и создание базы данных осуществляется на основе ранее разработанной информационной модели. Сущности информационной модели будут являться основой для создания таблиц в БД.
В Access используются несколько способов создания таблиц:
- путем ввода данных;
- с помощью Конструктора таблиц;
- с помощью Мастера создания таблиц;
Создание таблицы путем ввода данных осуществляется вводом данных в окно с традиционной табличной формой.
Создание таблицы с помощью Мастера осуществляется путем выбора полей таблиц из определенного набора полей.
В данном курсовом проекте все таблицы создаются с помощью Конструктора таблиц. В Конструкторе нам предоставляется возможность самим задавать имена полей, их типы и свойства. Такой способ дает наиболее широкие возможности для создания необходимых таблиц.
Создадим в режиме конструктора таблицу Изделия. Для этого:
1) После открытия БД выберем слева категорию «таблицы»
2) Нажмем кнопку <Создать>. В окне «Новая таблица» выбираем вариант создания Конструктор
3) В столбце «имя поля» вводим имена полей создаваемой таблицы:
- Код изделия
- Наименование изделия
- Цена изделия
- Еденица изделия
4) В столбце «Описание» мы можем ввести поясняющий текст к полям таблицы.
5) Чтобы сделать поле «Код изделия» ключевым, выделим его и щелкнем мышью на кнопке «ключевое поле», а можно выделить поле щелкнуть правой кнопкой мыши и выбрать в раскрывающемся меню пункт «ключевое поле». (Для удаления ключа необходимо выделить это поле и щелкнуть по кнопке «ключевое поле»)
6) Завершив ввод структуры таблицы, сохраним её. Выполним команду Файл\Сохранить, здесь же введем имя таблицы Изделия. Теперь, если дважды щелкнуть на ней мышью, на экране появится таблица Изделия, внешний вид которой изображен на следующей таблице 13:
Таблица13. Изделия
Созданную таблицу можно закрыть и после этого ее название появится в окне созданной базы данных.
Аналогичным образом создадим таблицы: Заказчики, ТТН, ПТР, ОТТН, ОПТР. После этого в окне базы данных отобразятся названия всех созданных таблиц. Структуры всех таблиц базы данных можно найти в Приложении 1.
Связи между таблицами будут использоваться при создании запросов таблиц при вводе данных таблицы, при создании форм и отчетов. Поля таблиц, с помощью которых устанавливается связь, могут иметь различные имена, но рекомендуется использовать одинаковые имена.
В отношении «один ко многим» (создается в том случае, когда только одно поле является ключевым или имеет уникальный индекс) главной таблицей является та, которая содержит первичный ключ и составляет часть «1» в отношении «один ко многим». Вторая таблица называется подчиненной таблицей. В данном курсовом проекте все связи будут иметь тип «один ко многим».
Внешний ключ должен иметь такой же тип информации, что и поля первичного ключа.
Для того, чтобы наиболее удобным образом можно было просматривать, создавать, удалять и модифицировать связи между таблицами, в Microsoft Access используется Схема данных. Для того, чтобы ее открыть необходимо выполнить команду Сервис\Схема данных или щелкнуть мышкой на кнопке <Схема данных>, расположенной на панели инструментов.
Рассмотрим процесс создания связей на примере создание связи «один ко многим» между таблицами Изделия и ОТТН:
1) Щелкнем мышью в пространстве схемы данных и из контекстного меню выберем команду «Добавить таблицу» или щелкнем мышью на кнопке <Отобразить таблицу>, которая расположена на панели инструментов
2) В диалоговом окне «Добавление таблицы» раскроем вкладку «Таблицы» и выберем из списка таблицу для добавления: Изделия. Затем повторим эти действия для таблицы ОТТН.
В данном отношении главной таблицей является таблица Изделия, она содержит первичный ключ «Код изделия» и составляет часть «один». Таблица ОТТН является подчиненной. В ней также содержится поле «Код изделия», но здесь оно является внешним ключом. Это поле имеет такой же тип информации, что и поле первичного ключа главной таблицы.
3) Для создания связи щелкнем мышью на поле главной таблице Изделия, по которому хотим осуществить связывание, в данном случае на поле «Код изделия», и, не отпуская кнопку мыши перетащим его к аналогичному полю подчиненной таблицы ОТТН. После чего на экране появится диалоговое окно «Изменение связей».
При создании связей между таблицами можно обеспечить целостность данных.
Целостность данных означает систему правил, используемых для поддержания связей между записями в связанных таблицах, а также обеспечивает защиту от случайного удаления или изменения связанных данных. Чтобы обеспечить целостность данных, необходимо в окне «Изменение связей» установить флажок в поле «Обеспечение целостности данных».
4) В диалоговом окне «Изменение связей» установим флажок в поле «Обеспечение целостности данных» . После этого нажимаем на клавишу «ОК>. Мы увидим, что на схеме данных отразилась созданная нами связь. Подобным образом создадим связи между другими таблицами.
Полная схема данных отображена в Приложении 1.
Реализацию процесса ввода и редактирования данных приведем на примере таблицы Изделия.
- Выбираем в списке таблиц таблицу Изделия и дважды щелкаем по ней мышью. Перед нами открывается окно таблицы.
- Вводим информацию в поле. Указатель в виде треугольника -указатель выбора записей. * - появляется в новой пустой записи в конце таблицы. + - означает, что с этой таблицей есть связанные таблицы.
- Чтобы изменить уже существующую запись, достаточно поместить указатель мыши на поле, в котором необходимо изменить данные. После этого вводить данные, а затем нажать «ТаЬ» , для перехода на следующее поле. Окончательно данные будут изменены только после перехода на другую запись. До тех пор, пока работа выполняется над одной записью, все изменения можно отменить, нажав клавишу <Езс>.
Есть определенные правила работы со связанными таблицами:
- Нельзя удалять запись из главной таблицы, если существует запись в связанной с ней таблице.
- Нельзя изменить значение первичного ключа в главной таблице, если есть записи, связанные с данной записью в подчиненной таблице.
- Нельзя ввести в поле внешнего ключа связанной таблицы значение, не содержащееся в ключевом поле главной таблице.
Чтобы правила соблюдались, необходимо установить «Обеспечение целостности данных». Чтобы преодолеть эти ограничения следует установить «Каскадное обновление связанных полей», что означает, что при изменении значения ключевого поля главной таблице, автоматически меняются внешние ключи в связанных таблицах. «Каскадное удаление связанных полей» - автоматическое удаление записей в подчиненных таблицах, связанных с записью главной таблицы.
Запросы используются для просмотра, анализа и изменения данных из одной или нескольких таблиц. Сам запрос не содержит данных, но позволяет выбирать данные из таблиц и выполнять над ними операции.
Наиболее часто применяемый тип запросов - запрос на выборку, осуществляющий выборку данных из таблиц.
Для создания запроса в режиме Конструктора необходимо выполнить следующие действия:
1) В окне базы данных выбираем категорию «Запросы» и нажимаем кнопку «Создать» на панели инструментов.
2) Выбираем вариант создания Конструктор и нажимаем <ОК>.
3) Выбираем таблицу, информацию по которым хотим выводить в результате запроса, и нажимаем кнопку «Добавить». Затем выбираем другую таблицу и тоже нажимаем «Добавить» и т.д. В верхней части окна запросов отражается схема данных запроса. В нижней части окна расположен бланк запроса (см. Приложение 2).
В запрос не следует включать все поля таблиц, нужно включать только интересующие нас.
В запросе устанавливаются критерии, которым должны удовлетворять отбираемые записи. Так можно произвести сортировку записей (например, по дате заказа).
Чтобы удалить таблицу или запрос, необходимо в верхней части окна запроса выделить удаляемую таблицу или запрос, и нажать клавишу Del.
Запросы добавления используются для добавления записей из одной таблицы в другую. Запросы обновления позволяют изменять некоторые значения в таблице. Запросы, позволяющие создавать таблицы, удалять значения, изменять обновление называются модифицирующими.
Исходя из требований, предъявляемых к информационной системе, реализуем следующие запросы с целью получения определенной информации:
1) Оценка оплаченной части. Этот запрос позволяет получить данные о недоплате по заданному изделию. На примере данного запроса рассмотрим процесс построения запросов. Данный запрос будет содержать следующие поля:
Код _изделия, №ТТН, Код_заказчика, Дата_отгрузки, Кол_отг_изделия, Кол_опл_изделия, Цена_изделия
Так же в запросе будет содержаться вычисляемое поле со значением НедоплатаСум:(([ОТТН]![Кол_отг_изделия-[ОПТР]![Кол_опл_изделия])*[Изделия]![Цена_изделия])
Для построения этого вычисляемого поля необходимо проделать следующие действия:
- В окне конструктора запроса перейдем на строку «поле» пустого столбца бланка и нажмем кнопку <Построить> на панели инструментов или щелкнем правой кнопкой мыши и в раскрывающемся списке выберем «Построить»
- Открывается специальное окно построителя выражений. В окне построения выражений набираем недоплата. Слева внизу показываются типы объектов: запросы, таблицы и т.д. выделяем «таблицы» и выбираем таблицу ОТТН, затем в появившемся списке полей щелкаем два раза мышью на поле «Кол_опл_изделия», потом на знаке «-» и т.д.. В окне построения выражений будет все видно. После этого <ОК>.