5.3Создание связей и построение схемы данных в МS Access
Связь между таблицами устанавливает отношения между совпадающими значениями в ключевых полях — обычно между полями разных таблиц. В большинстве случаев связывают ключевое поле одной таблицы с соответствующим ему полем (часто имеющим то же имя), которое называют полем внешнего ключа во второй таблице. Таблица, содержащая ключевое поле, называется главной, а таблица, содержащая внешний ключ — связанной. Существует четыре вида отношений:
-
Один к одному. При использовании отношения "один к одному" запись в таблице "А" (главной таблице) может иметь не более одной связанной записи в таблице "В" (связанной таблице) и наоборот. Этот тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением "один к одному" используют для разделения очень широких таблиц или для отделения части таблицы по соображениям защиты. В таблицах связанных отношением "один к одному" ключевые поля должны быть уникальными.
-
Один ко многим. Связь с отношением "один ко многим" является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице "А" могут соответствовать несколько записей в таблице "В", а запись в таблице "В" не может иметь более одной соответствующей ей записи в таблице "А". В таблице "А" ключевое поле должно быть уникальным. Связь с отношением "один ко многим" таблиц "А" и "В" можно рассматривать как связь с отношением "многие к одному" таблиц "В" и "А".
-
Многие к одному. При использовании отношения "многие к одному" одной записи в таблице "А" может соответствовать одна запись в таблице “B”, а запись в таблице "В" может иметь более одной соответствующей ей записи в таблице "А". В таблице "А" ключевое поле должно быть уникальным. Связь с отношением "один ко многим" таблиц "А" и "В" можно рассматривать как связь с отношением "многие к одному" таблиц "В" и "А".
-
Многие ко многим. При использовании отношения "многие ко многим" одной записи в таблице "А" могут соответствовать несколько записей в таблице "В", а одной записи в таблице "В" несколько записей в таблице "А". В этом случае не требуется уникальности ключевых полей таблиц "А" и "В". Этот вид отношения используется для связывания таблиц, имеющих только внешние ключи.
Связанные поля не обязательно должны иметь одинаковые имена, однако, они должны иметь одинаковые типы данных. Кроме того, связываемые поля типа "Числовой" должны иметь одинаковые значения свойства "Размер поля". Исключениями из этого правила являются поля счетчика с последовательной нумерацией, которые могут связываться с числовыми полями размера "Длинное целое". Существует возможность создать связь между текстовыми полями разной длины, но это может вызвать сложности при создании запросов.
Для разрабатываемой базы данных структура будет выглядеть так, как показано на рис. 5.3 .
Схема данных, отображаемая в окне MS Access
Рис. 5.3
6АЛГОРИТМИЗАЦИЯ И ИНТЕРФЕЙС
6.1Построение основных алгоритмов
На данном этапе, когда уже подготовлены и заполнены все таблицы, продуманы связи, необходимо разработать алгоритмы. Каждая поставленная ранее задача описывается последовательностью конкретных действий. Таким образом осуществляется подготовка для создания «работающих» форм в MS Access.
Перечень поставленных задач:
-
вывод на экран информации в удобном для пользователя формате;
-
добавление нового оборудования;
-
прикрепление оборудования к конкретному объекту;
-
списание оборудования, т.е. исключение из базы в архив;
-
постановка оборудования на ремонт и проверку;
-
добавление новых сотрудников;
-
удаление сотрудников, т.е. исключение из базы в архив;
-
добавление новых объектов;
-
формирование отчетов.
Для примера представлены несколько алгоритмов:
-
алгоритм списания оборудования (рис. 6.1)
-
алгоритм закрепления оборудования на объекте (рис. 6.2)
-
алгоритм добавления сотрудников в архив (рис.6.3)
Алгоритм списания оборудования
да
нет
Добавление zav в таблицу «СписанноеОборудование»
Удаление zav из таблицы «ОборудованиеВСервисе»
Удаление zav из таблицы «Оборудование»
Рис. 6.1
Алгоритм закрепления оборудования на объекте
нет
да
нет
да
Рис. 6.2
Алгоритм удаления сотрудников в архив
нет
Да
Рис. 6.3
|