Окно схема данных в программе microsoft access используется для
Между таблицами БД существуют связи, позволяющие избегать избыточности при проектировании. То есть не вносить одни и те же значения в несколько объектов, а создать только один и использовать в других, добавляя в них ссылку на основной. При этом необходимо соблюдать требование целостности БД.
Связи в базах данных
В качестве примера рассмотрим связи в БД туристического агентства. В ее состав входит таблица гостиниц Таиланда – страны, в которую турагентство отправляет гостей. Отели расположены в различных регионах Королевства.
Если компания работает с отелями только нескольких регионов, а в каждой из областей находятся десятки или сотни гостиниц, то заполнять каждый раз поле региона для каждого отеля – пустая работа. Поэтому в базе создается отдельная таблица, содержащая только список регионов, а при вводе отеля пользователь просто выбирает нужный из выпадающего списка.
По аналогии добавлен список стран для компании, работающей с несколькими государствами. Тогда к перечню регионов добавляется еще одно поле – «Страна», а в базу вносится справочник стран, наименования которых затем выбираются из списка.
Таблицы связаны по типу один-ко-многим. Это означает, что одна запись из таблицы «Регионы» встречается много раз в таблице «Отели». Кроме этого, существуют виды «многие-ко-многим» и «один-к-одному». Но последняя крайне редко применяется на практике. Ниже мы ознакомимся, как эти типы обозначаются на схемах данных в Access.
Схема данных БД
В приведенном примере «Отели» связаны с «Регионами», а те, в свою очередь, со «Странами». Эта информация, написанная текстом, не слишком наглядно показывает связи между объектами. И в нашей базе всего три таблицы, а их могут быть сотни. Держать в голове все соединения разработчику затруднительно.
В качестве вспомогательного средства в базах создаются схемы данных, которые наглядно визуально показывают все объекты и отношения между ними. В Access схемы данных создаются с помощью специального инструмента. Для нашей БД это выглядит так:
Прямоугольниками обозначены таблицы со списком полей, линии между ними – связи. На линии связи в местах примыкания к прямоугольникам таблиц сделаны обозначения: «1» и «∞». Они показывают, какой тип связи применен в этом отношении. Значок «1» у таблицы-источника со значком «∞» у приемника обозначают вид «один-ко-многим». Обе связи в нашей БД – такого типа.
Соответственно, две единицы у двух концов линии говорят о виде «один-к-одному», а два знака бесконечности – «многие-ко-многим».
Создание схемы данных
Для создания схемы данных в Access добавлен инструмент на панели «Работа с базами данных». СУБД автоматически создает схему по тем таблицам и связям, что существуют в базе. Приведенная выше схема создана системой самостоятельно. Пользователь может внести изменения в макет. Некоторые из них не отразятся на структуре БД, только на отображении информации. А некоторые приведут к изменениям в структуре.
В режиме "Конструктора" доступна операция «Очистить макет». При ее выполнении экран схемы данных в Access очищается, а таблицы и отношения скрываются. Это не значит, что они пропадают из базы - просто не отражаются в макете схемы.
Операция «Скрыть таблицу» произведет то же действие над выделенным объектом. Он просто исчезнет с экрана вместе со своими линиями-отношениями. Вернуть скрытые таблицы поможет операция «Отобразить таблицу». Выбираются объекты, которые нужно добавить в макет. При этом связи с ним отображаются автоматически.
Создание отношений между таблицами
В нашем примере отношения между таблицами уже были определены во время создания. Остановимся более подробно на том, как это сделать. Как мы уже знаем, «Отели» содержит поле «Регион», данные для которого берутся из одноименной таблицы. При добавлении столбца «Регион» указывается тип поля «Подстановка и отношение».
Открывается мастер создания поля, в котором мы выбираем вариант получения значения ячеек из другого объекта. На втором шаге мастера выбираем объект, из которого будут подставляться значения. В нашем случае это таблица «Регионы». Из списка доступных для отображения полей нам нужно «Наименование» - в таблице отелей будут показаны названия регионов. При необходимости задаем порядок сортировки наименований и ширину столбца.
На последнем шаге даем имя новому полю и указываем параметр целостности. Подробнее на нем мы остановимся ниже. После нажатия на кнопку «Готово» в таблицу отелей добавлен столбец «Регион», значения для него берутся из указанного объекта.
Связь между таблицами отелей и регионов теперь отображается на схеме.
Изменение отношений
Для уже созданной связи есть возможность изменять параметры объединения записей в запросах. Для этого вызываем диалоговое окно схемы данных MS Access «Изменение связей» и нажимаем кнопку «Объединение». В форме редактирования параметров предложены варианты объединений:
- В первом случае в результатах запроса отображаются только те строки, в которых поля таблиц «Отели» и «Регионы» совпадают.
- Во втором случае объединяются все строки «Регионов» и только совпадающие «Отелей».
- В третьем ситуация обратна второму – все строки «Отелей» объединяются с совпадающими «Регионов».
Мы оставляем автоматический выбор системы – первый вариант.
Целостность данных БД
Связи между объектами БД на схеме данных в Access подводят нас к понятию целостности данных. Как было показано выше, при создании связей между полями объектов базы указывается параметр целостности. Если он включен, связи между объектами поддерживаются и охраняются системой.
Покажем это наглядно на примере базы туристической компании. В «Отелях» гостиница с наименованием Anantara Lawana Koh Samui Resort относится к региону Самуи. Предположим, мы удалили этот район из «Регионов». Теперь поле ссылается на запись, которой не существует. Это и есть нарушение целостности.
Аналогично при установленном требовании соблюдения целостности мы не сможем выбрать в этом поле район «Чианг Май», потому что его не существует в таблице регионов.
При необходимости схемы базы данных Access выгружаются в отчет и отправляются на печатное устройство, преобразуются в файл или отправляются по электронной почте.
СУБД MS Access позволяет строить схему базы данных и автоматически поддерживает первичные и внешние ключи.
Схема базы данных (или просто схема данных) является графическим образом БД. В ней определяются и запоминаются связи между таблицами. Это позволяет Access автоматически использовать связи при конструировании форм, запросов, отчетов. Схема данных отображается в специальном окне Схема данных, где таблицы представлены списками полей, а связи - линиями между полями в связанных таблицах (рис. 3).
Рис. 3. Схема БД Студент
Создать схему данных можно двумя способами.
Первый способ предполагает наличие нормализованных таблиц, связывание которых осуществляется в окне Схема данных. Создание схемы данных начинается с размещения в окне всех таблиц, которые должны быть включены в схему. Далее можно приступать к определению попарных связей между ними.
Устанавливая связи между парой таблиц, надо выделить в главной таблице уникальное ключевое поле (ПК в каждой таблице отображается жирным шрифтом), по которому устанавливается связь. Далее при нажатой левой кнопке мыши это поле перетаскивается на соответствующее поле подчиненной таблицы. Если устанавливается связь по составному ключу, то необходимо выделить все поля, входящие в составной ключ главной таблицы, и перетащить их на одно из полей связи в подчиненной таблице.
Второй способ - получение схемы данных из одной ненормализованной таблицы с помощью Мастера анализа таблиц.
Ненормализованные таблицы содержат поля с повторяющимися значениями. Для таких таблиц расходуется дополнительная память, не может быть обеспечен однократный ввод и корректировка данных в полях с повторяющимися значениями, велика вероятность возникновения ошибок.
С помощью Мастера анализа таблиц Access позволяет автоматически или вручную выполнить анализ таблицы и разделить ее на несколько взаимосвязанных таблиц, в которых данные не будут дублироваться. Для полученных таблиц Мастер анализа таблиц создает схему данных, в которой устанавливаются связи 1:М и определяются параметры обеспечения целостности. После процедуры анализа для исходной таблицы будут получены нормализованные взаимосвязанные таблицы.
Однако Мастер анализа таблиц далеко не во всех случаях может правильно выделить повторяющиеся данные в отдельную таблицу. При работе с Мастером предусматривается интерактивное участие пользователя в корректировке предложений по разделению таблицы.
3. РАБОТА С ДАННЫМИ В ОДИНОЧНЫХ ТАБЛИЦАХ. КОНСТРУИРОВАНИЕ ПРОСТЫХ ЗАПРОСОВ
РЕЖИМЫ РАБОТЫ С ОДИНОЧНЫМИ ТАБЛИЦАМИ
В Access существуют четыре режима работы с таблицами: режим Таблицы, режим Конструктора, режим Сводной таблицы и режим Сводной диаграммы.
В режиме Таблицы осуществляется работа с данными, находящимися в одиночной таблице БД: просмотр, редактирование, добавление, сортировка и т.п.
В режиме Конструктора создается или модифицируется структура таблицы, то есть задаются имена полей, их типы, описание, свойства и другие параметры.
В режимах Сводной таблицы и Сводной диаграммы удобно выполнять анализ данных, динамически изменяя способы их представления.
Существует также дополнительный режим - Предварительный просмотр, который позволяет увидеть расположение данных на листе перед осуществлением печати таблицы.
3.2 ПОНЯТИЕ ЗАПРОСА В СУБД.
ОСНОВЫ РАЗРАБОТКИ ЗАПРОСОВ
Одним из основных инструментов обработки данных в СУБД являются запросы. Запросы позволяют выбрать необходимые данные из одной или нескольких взаимосвязанных таблиц, произвести вычисления и получить результаты в виде таблицы. Через запрос можно производить обновление данных в таблицах, добавление и удаление записей. Последовательное выполнение ряда запросов дает возможность решать достаточно сложные задачи, не прибегая к программированию.
Цель работы. Изучить вопросы, связанные с нормализацией данных, созданием таблиц в БД и заданием схемы данных.
Порядок выполнения. Часть 1.
Запустить MS Access 2007, создать новую базу данных «Библиотека».
Создать таблицу «Тематика». В закладке «Создание» выбрать кнопку «Таблица». Затем на кнопке «Режим» выбрать «Конструктор». Сохранить таблицу с именем «Тематика». Ввести названия и типы полей таблицы «Тематика»
Открыть таблицу «Тематика» в режиме «Таблица» и ввести данные в поле «Наименование тематики».
По той же аналогии создать таблицу «Читатель», ввести названия и типы полей.
В поле «Образование» выбрать из списка тип данных «Мастер подстановок». В появившемся окне «Создание подстановки» выбрать «Будет введен фиксированный набор значений». В поле «Столбец1» набрать «Неполное среднее», «Среднее», «Среднее специальное», «Высшее». Нажимаем «Готово».
Создать таблицу «Издательство», ввести названия и типы полей.
Открыть таблицу «Издательство» в режиме «Таблица» и ввести данные в поле «Наименование издательства».
Создать таблицу «Книги», ввести названия и типы полей.
В поле «Код_тематики» выбрать тип данных «Мастер подстановок». В окне «Создание подстановки» выбрать «Объект будет использовать значения из таблицы или запроса». Нажимаем «Далее». Выбрать таблицу «Тематика». Щелкнув «Далее», выбрать «Наименование_тематики».
Нажимаем «Далее», затем «Готово». На появившийся вопрос о сохранении отвечаем «Да».
В поле «Код_издательства» выбрать тип данных «Мастер подстановок». В окне «Создание подстановки» выбрать «Объект будет использовать значения из таблицы или запроса». Нажимаем «Далее». Выбрать таблицу «Издательство». Щелкнув «Далее», выбрать «Наименование_издательства».
Нажимаем «Далее», затем «Готово». На появившийся вопрос о сохранении отвечаем «Да».
В поле «Адрес_хранения» выбрать тип данных «Мастер подстановок». В появившемся окне «Создание подстановки» выбрать «Будет введен фиксированный набор значений». Нажав «Далее», набираем «Отдел 1», «Отдел 2». Нажать «Готово».
Создать таблицу «Учет книг», ввести значения и типы полей. Убрать ключевое поле
В поле «Номер_ЧБ» выбрать тип данных «Мастер подстановок». В окне «Создание подстановки» выбрать «Объект будет использовать значения из таблицы или запроса». Нажимаем «Далее». Выбрать таблицу «Читатель». Щелкнув «Далее», выбрать «Номер_ЧБ».
Нажимаем «Далее», затем «Готово». На появившийся вопрос о сохранении отвечаем «Да».
В поле «Код_книги» выбрать тип данных «Мастер подстановок». В окне «Создание подстановки» выбрать «Объект будет использовать значения из таблицы или запроса». Нажимаем «Далее». Выбрать таблицу «Книги». Щелкнув «Далее», выбрать «Код_книги» , «Наименование_книги».
Создать таблицу «Авторы», ввести значения и типы полей.
Добавить поля Код_автора и задать его ключевым, фамилия, имя.
Создать таблицу «Автор_книги», ввести значения и типы полей.
Создать схему данных. В закладке «Работа с базами данных» выбрать «Схема данных». Щелкнув правой клавишей мыши, в контекстном меню выбираем «Добавить таблицу». В появившемся окне добавить таблицы «Автор_книги» и «Авторы».
Изменить схему данных. Для этого перетащить «Номер_ЧБ» из таблицы «Читатель» на «Номер_ЧБ» в таблице «Учет_книг». На вопрос отвечаем «Да». В появившемся окне «Изменение связей» поставить галочки «Обеспечение целостности данных», «Каскадное обновление связанных полей», «Каскадное удаление связанных полей».
Аналогично изменить связи, как показано на рисунке.
В столбце «Все объекты Access » выбрать «Тип объекта» для удобства работы.
Цель работы. Изучить вопросы, связанные с нормализацией данных, созданием таблиц в БД и заданием схемы данных.
Порядок выполнения. Часть 1.
Запустить MS Access 2007, создать новую базу данных «Библиотека».
Создать таблицу «Тематика». В закладке «Создание» выбрать кнопку «Таблица». Затем на кнопке «Режим» выбрать «Конструктор». Сохранить таблицу с именем «Тематика». Ввести названия и типы полей таблицы «Тематика»
Открыть таблицу «Тематика» в режиме «Таблица» и ввести данные в поле «Наименование тематики».
По той же аналогии создать таблицу «Читатель», ввести названия и типы полей.
В поле «Образование» выбрать из списка тип данных «Мастер подстановок». В появившемся окне «Создание подстановки» выбрать «Будет введен фиксированный набор значений». В поле «Столбец1» набрать «Неполное среднее», «Среднее», «Среднее специальное», «Высшее». Нажимаем «Готово».
Создать таблицу «Издательство», ввести названия и типы полей.
Открыть таблицу «Издательство» в режиме «Таблица» и ввести данные в поле «Наименование издательства».
Создать таблицу «Книги», ввести названия и типы полей.
В поле «Код_тематики» выбрать тип данных «Мастер подстановок». В окне «Создание подстановки» выбрать «Объект будет использовать значения из таблицы или запроса». Нажимаем «Далее». Выбрать таблицу «Тематика». Щелкнув «Далее», выбрать «Наименование_тематики».
Нажимаем «Далее», затем «Готово». На появившийся вопрос о сохранении отвечаем «Да».
В поле «Код_издательства» выбрать тип данных «Мастер подстановок». В окне «Создание подстановки» выбрать «Объект будет использовать значения из таблицы или запроса». Нажимаем «Далее». Выбрать таблицу «Издательство». Щелкнув «Далее», выбрать «Наименование_издательства».
Нажимаем «Далее», затем «Готово». На появившийся вопрос о сохранении отвечаем «Да».
В поле «Адрес_хранения» выбрать тип данных «Мастер подстановок». В появившемся окне «Создание подстановки» выбрать «Будет введен фиксированный набор значений». Нажав «Далее», набираем «Отдел 1», «Отдел 2». Нажать «Готово».
Создать таблицу «Учет книг», ввести значения и типы полей. Убрать ключевое поле
В поле «Номер_ЧБ» выбрать тип данных «Мастер подстановок». В окне «Создание подстановки» выбрать «Объект будет использовать значения из таблицы или запроса». Нажимаем «Далее». Выбрать таблицу «Читатель». Щелкнув «Далее», выбрать «Номер_ЧБ».
Нажимаем «Далее», затем «Готово». На появившийся вопрос о сохранении отвечаем «Да».
В поле «Код_книги» выбрать тип данных «Мастер подстановок». В окне «Создание подстановки» выбрать «Объект будет использовать значения из таблицы или запроса». Нажимаем «Далее». Выбрать таблицу «Книги». Щелкнув «Далее», выбрать «Код_книги» , «Наименование_книги».
Создать таблицу «Авторы», ввести значения и типы полей.
Добавить поля Код_автора и задать его ключевым, фамилия, имя.
Создать таблицу «Автор_книги», ввести значения и типы полей.
Создать схему данных. В закладке «Работа с базами данных» выбрать «Схема данных». Щелкнув правой клавишей мыши, в контекстном меню выбираем «Добавить таблицу». В появившемся окне добавить таблицы «Автор_книги» и «Авторы».
Изменить схему данных. Для этого перетащить «Номер_ЧБ» из таблицы «Читатель» на «Номер_ЧБ» в таблице «Учет_книг». На вопрос отвечаем «Да». В появившемся окне «Изменение связей» поставить галочки «Обеспечение целостности данных», «Каскадное обновление связанных полей», «Каскадное удаление связанных полей».
Аналогично изменить связи, как показано на рисунке.
В столбце «Все объекты Access » выбрать «Тип объекта» для удобства работы.
Читайте также: