
- •«Информатика»
- •2. Проектирование таблиц субд Microsoft Access
- •2.1.Описание полей
- •2.2.Ключевые поля
- •3. Пример проектирования таблиц субд Microsoft Access
- •4. Разработка схемы данных субд ms Access
- •5. Ссылочная целостность
- •6. Ввод данных в таблицы субд Microsoft Access
- •6.1. Ввод данных при помощи таблиц
- •6.2. Ввод данных при помощи форм1
- •Вопросы для самопроверки
2.2.Ключевые поля
Для
того чтобы какое-либо поле сделать
ключевым, необходимо установить курсор
в строку конструктора таблиц с этим
полем и щелкнуть мышью по кнопке “Ключевое
поле”
.
Для того чтобы образовать составной ключ, необходимо при нажатой клавише “Ctrl” установить курсор в строку каждого ключевого поля и щёлкнуть мышью по кнопке “Ключевое поле”. Ключевые поля не обязательно должны располагаться в таблице подряд.
3. Пример проектирования таблиц субд Microsoft Access
В качестве примера рассмотрим проектирование таблиц Покупатель, Товар, Счет, Спецификация счета и Продажа. На рис. 11, 12, 13, 14 и 15 изображены диалоговые окна этих таблиц. В них имя поля, тип данных и размер поля соответствуют наименованию, типу и размеру реквизитов Таблицы 1, значения которых определены из ограничений предметной области. База данных, в которой размещены эти таблицы, хранится в приложении Access под именем sale.mdb на сервере локальной сети СПГУЭФ в папке Students\Common\МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ. Загрузив ее, можно последовательно просмотреть все свойства каждого из полей таблиц.
Рис.11. Таблица Покупатель
Рис.12. Таблица Товар
В
данной таблице число десятичных знаков
(число цифр после запятой) устанавливается
автоматически, в соответствии с выбранной
валютой. Щелкнув по кнопке
свойства Формат
поля, можно
выбрать
Рис.13. Таблица Счет
желаемый формат даты.
Рис.14. Таблица Спецификация счета
Таблица Спецификация счета имеет составной ключ, состоящий из полей Номер счета и Код товара. В соответствии с данными выше рекомендациями свойство Индексированное поле обоих полей имеет значение Нет.
Рис.15. Таблица Продажа
В той таблице ключевое поле Номер записи имеет тип Счетчик с последовательным возрастанием значений ключа. Размер этого поля Длинное целое.
4. Разработка схемы данных субд ms Access
Схема данных позволяет:
-
установить связи между записями в таблицах,
-
отобразить их графически на экране монитора и/или вывести на печать,
-
обеспечить защиту от случайного удаления или изменения связанных данных,
-
автоматически использовать эти связи при построении:
-
запросов к БД,
-
составных (подчинённых) форм
-
отчётов.
Наличие схемы данных обязательно только для проверки ссылочной целостности, построения составных форм и ввода данных в связанные таблицы. Схема данных позволяет объединить отдельные реляционные таблицы, полученные на этапе информационного анализа из первичного документа, в единое целое – информационное отображение исходного документа посредством входных форм СУБД Access.
Схема
данных приложения sale.mdb
приведена на рис. 16.
Рис. 16. Схема данных приложения sale.mdb
Построение
схемы данных можно выполнить двумя
способами:
-
при помощи меню Microsoft Access,
-
при помощи кнопок панели управления.
В первом случае следует выбрать в меню Сервис пункт Схема данных…, а затем в появившемся диалоговом окне Схема данных выбрать пункт Отобразить таблицу в меню Вид или пункт Добавить таблицу в меню Связи.
Во
втором случае следует щёлкнуть мышью
по кнопке
Схема данных,
а затем в окне Схема
данных по
кнопке
Отобразить
таблицу.
В обоих случаях появляется диалоговое окно Добавление таблицы (рис. 17), в котором на вкладке Таблицы отображаются все таблицы активной БД.
Рис. 17. Выбор таблиц в схеме БД
Для выбора связываемой таблицы нужно дважды щёлкнуть мышью по её имени или выделить нужную таблицу и щёлкнуть по кнопке Добавить.
Связать таблицы можно также при помощи кнопок управления или пунктов меню; обычно используют первый способ.
В Microsoft Access можно установить три типа связей:
-
“Один-к-одному”
-
“Один-ко-многим”
-
“Не определено”.
Последний тип связи соответствует связи типа “Многие-ко-многим”.
В связи “Один-к-одному” одной строке первой таблицы соответствует только одна строка во второй. Эта связь используется для разделения таблиц, имеющих большое количество полей, или для отделения части таблицы, содержащей важные или секретные данные, доступ к которым разрешён ограниченному кругу лиц.
Связь “Один-к-одному” возникает, если в обеих связываемых таблицах:
-
в связи участвуют все ключевые поля и связываемые таблицы имеют одинаковое количество ключевых полей или
-
связываемые поля индексированы и значение свойства Индексированное поле имеет значение “Да (Совпадения не допускаются)”.
В связи “Один-ко-многим” каждой строке первой таблицы (главной) могут соответствовать несколько строк во второй (подчинённой), а строка в подчинённой таблице не может иметь более одной соответствующей ей строки в главной. В главной таблице связываемое поле должно быть ключевым уникальным, а в подчинённой таблице – любым. Связь “Один-ко-многим” используется наиболее часто.
Связь “Один-ко-многим” возникает, если:
-
связываемое поле подчинённой таблицы является неключевым
или
-
связываемые поля подчинённой таблицы образуют составной ключ и количество ключевых полей в ней больше, чем в главной.
Поля связи подчинённой таблицы образуют внешний ключ.
В связи “Многие-ко-многим” одной строке первой таблицы могут соответствовать несколько строк второй таблицы, а одной строке второй таблицы несколько строк первой. Как правило, этот тип связи не может быть правильно реализован в СУБД Microsoft Access и для её осуществления вводится третья таблица, связанная отношением “Многие-к-одному” с исходными таблицами.
Предполагая, что таблица соответствует информационному объекту предметной области (ПО), можно считать, что схема БД является отображением в Microsoft Access семантической модели ПО. При условии, что таблицы в схеме расположены по уровням иерархии, схема БД является отображением в Microsoft Access канонической формы ИЛМ ПрО.
Связи между таблицами в Microsoft Access можно устанавливать непосредственно при проектировании запросов, и поэтому наличие схемы данных обязательно только для проверки ссылочной целостности, построении составных форм и ввода данных в связанные таблицы.
В схеме БД рекомендуется устанавливать не все возможные связи между таблицами, а только реально используемые проектировщиком БД при построении составных экранных форм. Эти связи отображают объединение таблиц, полученных на основе информационного анализа одного документа (сущности). Например, таблица Счет соединена с таблицей Спецификация счета и не соединена с таблицей Продажа, поскольку таблицы Счет и Спецификация счета отображают ИО, полученные из сущности Счет, а таблица Продажа не является информационным отображением части документа Счет.
Таблицы в Схеме данных рекомендуется располагать по уровням иерархии в соответствии с канонической формой ИЛМ ПО. Это делает более наглядными связи между таблицами, что, в свою очередь, облегчает определение последовательности заполнения таблиц Microsoft Access исходными данными (см. п. “Ввод исходных данных в таблицы СУБД Microsoft Access”).