Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Многотабличные базы данных

Особенности многотабличных баз данных

Довольно часто случается ситуация, при которой хранить целиком базу данных в одной таблице очень не удобно и не практично. В таблице может содержаться большое количество полей, что является неудобным для пользователя. При этом записи во многих полях могут повторяться, что приводит к увеличению информационного объема БД и замедлению процедуры ее обработки. При хранении в БД слишком большого количества данных и при наличии в таблице большого количества полей ее требуется нормализовать. Как правило, в процессе нормализации образуется многотабличная БД.

БД считается нормализованной в случае выполнения следующих условий:

  • каждая таблица должна иметь главный ключ;
  • все поля каждой таблицы целиком зависят только от главного ключа;
  • в таблице должны отсутствовать группы повторяющихся значений.

По завершению создания таблиц с данными, которые относятся к различным аспектам БД, требуется обеспечить целостность самой базы данных. Для этого нужно связать таблицы между собой.

Различают связи нескольких типов:

  • один-к-одному, когда каждой записи в 1 таблице соответствует лишь 1 запись в другой таблице;
  • один-ко-многим, когда каждой записи главной таблицы соответствуют несколько записей подчиненной таблицы;
  • многие-ко-многим, когда 1 записи первой таблицы соответствуют несколько записей второй таблицы и, наоборот.

Связанные между собой таблицы являются единой базой данных, в которой возможно создание новых таблиц, а также запросов и отчетов. Заполнять базу данных можно с помощью формы. Рассмотрим это на примере. Допустим в табличной базе данных «Комплектующие компьютера и поставщики» содержится информация о различных комплектующих, кроме того, она имеет поля Счетчик, Наименование, Описание, Название фирмы, Адрес, Цена (в рублях) - табл. 1.

Комплектующие компьютера и поставщики. Автор24 — интернет-биржа студенческих работ

«Многотабличные базы данных» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Как видно, половина объема таблицы занята избыточной, дублированной информацией.

Разберемся с причиной дублирования. У комплектующих компьютера имеется 2 неотъемлемых свойства: наименование и описание. В свою очередь, название фирмы, ее адрес и цена компьютера не будут являться свойствами комплектующих, это свойства поставщика.

Правильнее будет разбить искомую таблицу на 2: Комплектующие (табл. 2) и Поставщики (табл. 3). При этом каждая таблица должна иметь хотя бы 1 ключевое поле, значение которого является уникальным для каждой записи данной таблицы. В таблицу Комплектующие вводим поле Код комплектующих, которое будет ключевым.

Комплектующие. Автор24 — интернет-биржа студенческих работ

В таблицу Поставщики вводим дополнительное поле Код поставщика, которое станет ключевым для данной таблицы.

Поставщики. Автор24 — интернет-биржа студенческих работ

Эти 2 таблицы, которые находятся в отношении многие-ко-многим, связываются друг с другом только с помощью третьей таблицы. Таблицы Комплектующие и Поставщики связываются отношением многие-ко-многим, используя создание 2 связей один-ко-многим относительно к таблице Цена.

Таблицы Комплектующие и Поставщики станут главными относительно таблицы Цена. Связью между таблицами установятся отношения между идентичными значениями в полях, имеющих одинаковые имена. С ключевым полем главной таблицы (первичный ключ) будет связано поле с таким же именем подчиненной таблицы (внешний ключ).

Главная таблица Комплектующие содержит поле Код комплектующих, являющееся первичным ключом, соответственно в подчиненной таблице Цена будет иметься поле с таким же именем, которое будет являться внешним ключом. Таблица Поставщики будет являться главной относительно таблицы Цена. Ее поле Код поставщика - первичный ключ, соответственно в подчиненной таблице Цена будет присутствовать поле с таким же именем, являющееся внешним ключом.

Отсюда следует, что таблица Цена будет содержать поля (табл. 4):

  • Счетчик, являющееся ключевым;
  • Код комплектующих, являющееся внешним ключом для таблицы Комплектующие;
  • Код поставщика, являющееся внешним ключом для таблицы Поставщики;
  • Цена, являющееся числовым.

Цена. Автор24 — интернет-биржа студенческих работ

Замечание 1

Если в начале заполним таблицу поставщиков, то для заполнения других данных можно будет составить форму согласно первоначальной таблице 1, в этом случае поставщиков можно будет выбрать из списка. Подобное заполнение данных потребует намного меньших затрат сил и времени.

Создание многотабличной формы

Многотабличную форму создают на основе нескольких взаи-мосвязанных таблиц. Она может состоять из 1 формы или из основной и 1 или нескольких подчиненных форм. Подчиненная форма может строиться как на основе подчиненной, так и главной таблиц.

Многотабличную форму можно создать в режиме Конструктора или при помощи Мастера форм. Однако в Access, как правило, используется изначальное создание форм при помощи мастера, и затем они могут дорабатываться в режиме Конструктора. В ходе создания многотабличной формы в Мастере форм приложением Access создается для нее базовая инструкция SQL, содержащая сведения об используемых таблицах и полях.

Перечислим способы, создающие многотабличные формы при помо-щи Мастера:

  1. Явное включение подчиненной формы, при котором подчиненная форма будет строиться на основе подчиненной таблицы относительно таблицы, на основе которой построена основная часть формы.
  2. Вызов связанной формы по кнопке. Созданные при помощи Мастера связанные подчиненные формы не обязательно должны включаться непосредственно в основную форму, их можно вызывать по необходимости нажатием на включенную в нее кнопку. В этом случае открывающееся содержимое связанной формы будет синхронизироваться с текущей записью формы. Данный способ построения является удобным для сложных многотабличных форм, которые перегружены большим числом элементов управления, а также для пользователя, которому не нужно постоянно видеть связанные данные.
  3. Без использования подчиненных и связанных форм. Подобную многотабличную форму создают при необходимости отображения записей подчиненной таблицы, которые дополнены полями из одной или не-скольких главных таблиц. В данном случае источником данных, выводящихся в форму, будет являться запись подчиненной таблицы. При этом форма отобразит поля из записи подчиненной таблицы и поля из единственной связанной с ней записи главной таблицы.
  4. На основе запроса. Для запроса, имеющего уже созданные записи в результате объединения полей связанных записей главной и каждой из подчиненной таблиц, мастер будет строить форму таким же образом, как в случае с заданными исходными таблицами. Благодаря чему будет создана форма, которая обеспечивает однократное отображение данных, поскольку она базируется на исходных нормализованных таблицах.

Полученную при помощи мастера составную форму при необхо-димости можно отредактировать, в том числе дополнить другими включаемыми формами.

Выбор таблиц и полей необходимо производить в следующем порядке:

  1. В окне БД будет выбирается закладка Форма и нажимается клавиша Создать.
  2. В окне Новая форма будет выбираться режим создания Мастер форм, а источником данных основной части формы выбирается таблица или запрос из списка.
  3. В первом диалоговом окне Создание форм последовательно выбираются таблицы, а в них поля, которые будут включаться в форму, после этого требуется нажать кнопку Далее.
  4. Во втором диалоговом окне Создание форм будет выбираться вариант создания многотабличной формы, для этого в рамке необходимо выбрать вид представления данных - выделить таблицу, являющуюся источником основной части формы.

Когда таблица (источник основной части формы) станет главной по отношению к другой таблице формы, то в окне Создание форм выберется 1 из 2 возможных типов подключения подчиненных форм:

  • при непосредственном включении — Подчиненные формы;
  • при включении кнопки, которая вызывает связанную форму, Связанные формы.

Затем выбирается вид подчиненной или связанной формы: Ленточный или Табличный. В диалоговом окне Создание форм будет выбран стиль оформления, определяющий внешний вид надписей и значений полей в форме. В последнем диалоговом окне Создание форм будет завершено создание формы Мастером, т.е. можно будет редактировать заголовки форм и выбирать дальнейшие действия: Открытие формы для просмотра или ввода данных либо Изменение макета формы.

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 01.06.2017
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot