для чего нужны формы в базе данных
Зачем нужны формы?
Запросы на изменение
Выше мы говорили о том, что все виды запросов на выборку создают временные результирующие таблицы. Базовые таблицы при этом не изменяются. Тем не менее, специально для разработчиков баз данных существует особая группа запросов, которые называются запросами на изменение. Они позволяют автоматически создавать новые таблицы или изменять уже имеющиеся. Логика использования запросов на изменение такая:
• создается запрос на выборку, который отбирает данные из разных таблиц или сам создает новые данные путем вычислений;
• после запуска запроса образуется временная результирующая таблица;
• данные из этой временной таблицы используют для создания новых таблиц или изменения существующих.
Существует несколько видов запросов на изменение. Самый простой и понятный — это запрос на создание таблицы. Вернемся к примеру с расчетом среднего количества забитых мячей.
1. Предположим, что разработчик таблицы Итоги по командам захотел включить в нее поле Результативность. Конечно, он может рассчитать среднее количество мячей, забитых за игру каждой командой, но если ввести в таблицу такое поле, то его придется заполнять его вручную. Для таблиц, содержащих много записей, это решение неприемлемо.
2. Проще создать запрос на выборку, в который войдут все поля базовой таблицы плюс новое вычисляемое поле.
3. Щелчок на кнопке Вид позволяет убедиться, что запрос работает как положено и создает результирующую таблицу, более полную чем базовая. Теперь можно дать команду на создание новой базовой таблицы, равной результирующей.
4. Эта команда находится в меню Запрос, которое доступно только в режиме Конструктора.
5. В том же меню присутствуют команды для создания запросов на обновление данных, на добавление записей и на удаление записей. Все они относятся к запросам на изменение и работают аналогично, изменяя базовые таблицы в соответствии с данными результирующих таблиц.
Обычно разработчик базы данных создает структуру таблиц и запросов, но заполнением таблиц информацией он не занимается. Для этого есть специальные кадры (обычно малоквалифицированные), выполняющие функции наборщиков. Для упрощения их труда разработчик базы может подготовить специальные объекты — формы.
Форма представляет собой некий электронный бланк, в котором имеются поля для ввода данных. Наборщик вводит данные в эти поля, и данные автоматически заносятся в таблицы базы.
Данные в таблицу можно вносить и без помощи каких-либо форм, но существуют, по крайней мере, четыре причины которые делают формы незаменимым средством ввода данных в базу.
4. Информацию для баз данных берут из бумажных бланков: анкет, заявлений, накладных, счетов, описей, ведомостей, справок. Экранные формы можно сделать точной копией бумажных бланков, с которых происходит ввод данных. Благодаря этому во много раз уменьшается количество ошибок при вводе и значительно снижается утомляемость персонала.
Формы
Форма в Access — это объект базы данных, который можно использовать для создания пользовательского интерфейса для приложения базы данных. «Связанная» форма напрямую связана с источником данных, например таблицей или запросом, и может использоваться для ввода, редактирования или отображения данных из этого источника. Кроме того, можно создать «несвязанную» форму. Она не привязывается непосредственно к источнику данных, но также содержит кнопки команд, метки или другие элементы управления, которые необходимы для работы с приложением.
В этой статье основное внимание уделяется связанным формам. Их можно использовать для управления доступом к данным (например, определить, какие поля или строки данных должны отображаться). Так, некоторым пользователям может понадобиться лишь несколько полей из таблицы с множеством полей. Форма, содержащая только эти поля, упростит таким пользователям работу с базой. Вы также можете добавить на форму кнопки и другие функции для автоматизации часто выполняемых действий.
Формы можно сравнить с окнами, через которые пользователи видят базу данных и обращаются к ней. Эффективная форма ускоряет работу с базой, так как избавляет от необходимости искать нужную информацию. Визуально привлекательная форма делает работу с базой данных приятнее и эффективнее, а также помогает предотвратить ввод неверных данных.
Примечание: В этой статье предполагается, что вы уже создали таблицу (или запрос, основанный на одной или нескольких таблицах) и хотите создать форму для просмотра данных или работы с ними.
В этой статье
Создание формы с помощью инструмента «Форма»
Инструмент «Форма» позволяет создать форму одним щелчком мыши. При его использовании на форму добавляются все поля базового источника данных. Новую форму можно сразу же начать использовать либо изменить в режиме макета или конструктора, чтобы она лучше соответствовала вашим потребностям.
Создание формы с помощью инструмента «Форма»
В области навигации щелкните таблицу или запрос с данными, которые должны отображаться в форме.
На вкладке Создание в группе Формы нажмите кнопку Форма.
Новая форма будет отображена в режиме макета. В этом режиме можно вносить изменения в структуру формы при одновременном просмотре данных. Например, при необходимости можно настроить размер текстовых полей в соответствии с данными.
Если приложение Access обнаруживает таблицу, связанную отношением «один-ко-многим» с таблицей или запросом, который использовался для создания формы, то таблица данных добавляется на форму, основанную на связанной таблице или запросе. Например, если создается простая форма, основанная на таблице «Сотрудники», и между таблицами «Сотрудники» и «Заказы» определено отношение «один-ко-многим», то в таблице данных будут отображаться все записи таблицы «Заказы», относящиеся к текущей записи сотрудника. Если таблица данных на форме не нужна, ее можно удалить. Если существует несколько таблиц, связанных отношением «один-ко-многим» с таблицей, которая использовалась для создания формы, то Access не добавляет таблицы данных на форму.
Создание разделенной формы с помощью инструмента «Разделенная форма»
Разделенная форма позволяет одновременно отображать данные в двух представлениях — в режиме таблицы и в представлении формы.
Разделенная форма отличается от сочетания форм и подформ тем, что оба представления разделенной формы связаны с одним и тем же источником данных и всегда синхронизированы друг с другом. При выделении поля в одной части формы выделяется то же поле в другой части. Данные можно добавлять, изменять или удалять в каждой части формы (при условии, что источник записей допускает обновление, а параметры формы не запрещают такие действия).
Работа с разделенной формой позволяет использовать преимущества обоих представлений в одной форме. Например, можно воспользоваться табличной частью формы, чтобы быстро найти запись, а затем просмотреть или изменить ее в представлении формы.
Чтобы создать разделенную форму с помощью инструмента «Разделенная форма»:
В области навигации щелкните таблицу или запрос с данными, которые должны отображаться в форме. Кроме того, можно открыть таблицу или запрос в режиме таблицы.
На вкладке Создание в группе Формы нажмите кнопку Другие формы и выберите команду Разделенная форма.
Новая форма будет отображена в режиме макета. В этом режиме можно вносить изменения в структуру формы при одновременном просмотре данных. Например, при необходимости можно настроить размер текстовых полей в соответствии с данными. Дополнительные сведения о представлениях формы см. в разделе Сведения о режиме макета и конструкторе.
Создание формы, в которой отображается несколько записей, с помощью инструмента «Несколько элементов»
Если форма была создана с помощью инструмента «Простая форма», она может одновременно отображать только одну запись. Если нужно создать форму, которая выводит несколько записей, но при этом настраивается более гибко, чем таблица, используйте инструмент «Несколько элементов».
В области навигации щелкните таблицу или запрос с данными, которые должны отображаться на форме.
На вкладке Создание в группе Формы нажмите кнопку Другие формы и выберите команду Несколько элементов.
Будет создана новая форма, которая отобразится в режиме макета. В этом режиме вы можете вносить изменения в структуру формы параллельно с просмотром данных.
При использовании средства «Несколько элементов» форма, создаваемая Access, похожа на таблицу. Данные расположены в строках и столбцах, и вы видите несколько записей одновременно. Однако форма «Несколько элементов» предоставляет больше вариантов настройки, чем таблица, например возможность добавления графических элементов, кнопок и других элементов управления. Дополнительные сведения о настройке формы см. в разделах Настройка формы в режиме макета и Доработка формы в режиме конструктора.
Создание формы с помощью мастера форм
Чтобы точно выбрать поля, которые должны отображаться на форме, вместо различных инструментов, описанных выше, можно использовать мастер форм. Вы также можете настроить группировку и сортировку данных и использовать поля из нескольких таблиц или запросов, если связи между такими таблицами и запросами были заранее настроены.
На вкладке Создание в группе Формы нажмите кнопку Мастер форм.
Следуйте инструкциям на страницах мастера форм.
Примечание: Для добавления к форме полей из нескольких таблиц или запросов не нажимайте кнопки Далее или Готово после выбора полей из первой таблицы или запроса на первой странице мастера форм. Вместо этого повторите указанные действия для выбора другой таблицы или запроса и щелкните все дополнительные поля, которые требуется включить в форму. Для продолжения нажмите кнопку Далее или Готово.
На последней странице мастера нажмите кнопку Готово.
Создание формы с помощью инструмента «Пустая форма»
Если мастер или инструменты создания форм вам не подходят, вы можете начать работу с пустой формы. Это может оказаться очень быстрым способом создать форму, особенно если вы планируете добавить в нее лишь несколько полей.
На вкладке Создание в группе Формы нажмите кнопку Пустая форма.
Откроется пустая форма в режиме макета, и отобразится область Список полей.
В области Список полей щелкните знак плюс ( +) рядом с одной или несколькими таблицами, содержащими поля, которые нужно включить в форму.
Чтобы добавить на форму поле, дважды щелкните по нему или перетащите его на форму.
После добавления первого поля вы можете добавить сразу несколько полей. Для этого выберите их, удерживая клавишу CTRL, а затем перетащите на форму.
Порядок таблиц в области Список полей может меняться в зависимости от выбранной части формы. Если поля, которое вы хотите добавить, не видно, выберите другую часть формы и повторите попытку.
С помощью инструментов в группе Колонтитул на вкладке Конструктор на форму можно добавить логотип компании, название или дату и время.
Чтобы добавить на форму другие виды элементов управления, выберите нужные в группе Элементы управления во вкладке Конструктор.
Чтобы расширить выбор элементов управления, перейдите в режим конструктора. Для этого щелкните форму правой кнопкой мыши и выберите Конструктор.
Общие сведения о режимах макета и конструктора
Режим макета — это интуитивно-понятное представление, которое можно использовать для внесения в форму Access практически любых изменений.
В режиме макета форма выполняется. Поэтому вы можете просматривать свои данные так же, как при использовании формы. Однако в этом режиме вы также изменять структуру формы. Так как при изменении формы вы видите ее данные, это представление удобно использовать для настройки размера элементов управления и выполнения практически любых других задач, которые влияют на внешний вид и удобство использования формы.
Если вы столкнулись с задачей, которая не может быть выполнена в режиме «Макет», вы можете переключиться в режим «Конструктор». В некоторых ситуациях в приложении появляется сообщение, в котором говорится, что вам необходимо перейти в режим конструктора перед внесением того или иного изменения.
Конструктор Конструктор более подробно представляет структуру формы. В нем выводятся заголовок, подробности и нижний колонтитул формы. Форма не выполняется, когда она отображается в режиме конструктора. Поэтому вы не можете просматривать базовые данные при внесении изменений в структуру. Тем не менее определенные задачи проще выполнять в режиме конструктора. Ниже перечислены имеющиеся возможности.
добавлять другие виды элементов управления формы, например рамки связанных объектов, разрывы страниц и диаграммы;
изменять источники для текстовых полей в самих полях, не открывая их страницу свойств;
изменять размер разделов формы, например ее заголовка или раздела подробностей;
изменять некоторые свойств формы, которые невозможно изменить в режиме макета.
Настройка формы в режиме макета
После создания формы вы можете легко настроить ее структуру, используя режим макета. Вы можете перемещать элементы управления и изменять их размеры, ориентируясь на сами данные. Можно добавить новые элементы управления в форму, а также задать свойства для формы и ее элементов управления.
Чтобы перейти в режим макета, щелкните правой кнопкой мыши имя формы в области навигации и выберите команду Режим макета.
Форма будет открыта в режиме макета.
Для изменения свойств формы, элементов управления и разделов можно использовать страницу свойств. Чтобы открыть ее, нажмите клавишу F4.
Чтобы добавить в структуру формы поля из базовой таблицы или запроса, воспользуйтесь областью Список полей. Чтобы отобразить область Список полей:
На вкладке Конструктор в группе Инструменты щелкните Добавить поля или воспользуйтесь сочетанием клавиш ALT+F8.
Вы можете перетащить поля непосредственно из области Список полей в форму.
Чтобы добавить одно поле, дважды щелкните его и перетащите из области Список полей в нужный раздел формы.
Чтобы добавить сразу несколько полей, щелкните их, удерживая нажатой клавишу CTRL. Затем перетащите выбранные поля в форму.
Доработка формы в режиме конструктора
Настроить структуру формы можно и в режиме конструктора. Вы можете добавить в нее новые элементы управления и поля, поместив их на бланк. На странице свойств можно задать свойства для настройки формы.
Чтобы переключиться в режим конструктора, щелкните правой кнопкой мыши имя формы в области навигации и выберите команду Конструктор.
Форма откроется в режиме конструктора.
Для изменения свойств формы, элементов управления и разделов можно использовать страницу свойств. Чтобы открыть ее, нажмите клавишу F4.
Чтобы добавить в структуру формы поля из базовой таблицы или запроса, воспользуйтесь областью Список полей. Чтобы отобразить область Список полей:
На вкладке Конструктор в группе Инструменты щелкните Добавить поля или воспользуйтесь сочетанием клавиш ALT+F8.
Вы можете перетащить поля непосредственно из области Список полей в форму.
Чтобы добавить одно поле, дважды щелкните его и перетащите из области Список полей в нужный раздел формы.
Чтобы добавить сразу несколько полей, щелкните их, удерживая нажатой клавишу CTRL. Затем перетащите выбранные поля в форму.
Нормализация баз данных простыми словами
Приветствую всех посетителей сайта Info-Comp.ru! Сегодня мы с Вами поговорим о нормализации базы данных, узнаем, что это такое, какие нормальные формы базы данных существуют и зачем вообще проводить нормализацию базы данных.
Постоянные посетители данного сайта знают, что я здесь публикую достаточно много различных материалов, связанных с языком SQL и системами управления базами данных, однако статей, связанных с теорией баз данных, на текущий момент, к сожалению, нет, поэтому я решил это исправить, и начать цикл статей, посвященных теории баз данных.
Начну я с нормализации баз данных. В этом материале мы поговорим в целом о процессе нормализации, узнаем, зачем проводить нормализацию базы данных, что такое нормальная форма базы данных, а также какие нормальные формы существуют. В следующих материалах я подробно и с примерами расскажу про каждую нормальную форму.
Реляционная база данных
В целом под базой данных можно понимать любой набор информации, которую можно найти в этой базе данных и воспользоваться ей, однако если говорить в контексте SQL, то речь будет идти, конечно, о реляционных базах данных, а что же это такое?
Реляционная база данных – это упорядоченная информация, связанная между собой определёнными отношениями.
Логически такая база данных представлена в виде таблиц, в которых и лежит вся эта информация.
Примечание! Если Вас интересует язык SQL, рекомендую пройти мой онлайн-курс по основам SQL, который ориентирован на изучение SQL как стандарта, таким образом, Вы сможете работать в любой системе управления базами данных. Курс включает много практики: онлайн-тестирование, задания и многое другое.
Нормализация баз данных
В реляционных базах данных есть такое понятия, как «Нормализация».
Нормализация – это процесс удаления избыточных данных.
Также нормализацию можно рассматривать и с позиции проектирования базы данных, в таком случае мы можем сформулировать определение нормализации следующим образом.
Нормализация – это метод проектирования базы данных, который позволяет привести базу данных к минимальной избыточности.
Избыточность устраняется, как правило, за счёт декомпозиции отношений (таблиц), т.е. разбиения одной таблицы на несколько.
Зачем нормализовать базу данных?
У Вас может возникнуть вопрос – а зачем вообще нормализовать базу данных и бороться с этой избыточностью?
Дело в том, что избыточность данных создает предпосылки для появления различных аномалий, снижает производительность, и делает управление данными не гибким и не очень удобным. Отсюда можно сделать вывод, что нормализация нужна для:
Теперь давайте поговорим о самой избыточности данных, что же это такое.
Избыточность данных – это когда одни и те же данные хранятся в базе в нескольких местах, именно это и приводит к аномалиям.
Так как в этом случае необходимо добавлять, изменять или удалять одни и те же данные в нескольких местах. Например, если не выполнить операцию в каком-нибудь одном месте, то возникает ситуация, когда одни данные не соответствуют вроде как точно таким же данным в другом месте.
Давайте рассмотрим пример. Допустим, у нас есть следующая таблица, она хранит информацию о предметах мебели, в частности наименование предмета и материал, из которого изготовлен этот предмет.
| Идентификатор предмета | Наименование предмета | Материал |
| 1 | Стул | Металл |
| 2 | Стол | Массив дерева |
| 3 | Кровать | ЛДСП |
| 4 | Шкаф | Массив дерева |
| 5 | Комод | ЛДСП |
А теперь допустим, что у нас возникла необходимость подкорректировать название материала, вместо «Массив дерева» нужно написать «Натуральное дерево», и чтобы это сделать нам необходимо внести изменения сразу в несколько строк, так как предметов, изготовленных из массива дерева, несколько, а именно 2: стол и шкаф.
А теперь представьте, что по каким-то причинам мы внесли изменения только в одну строку, в итоге в нашей таблице будет и «Массив дерева», и «Натуральное дерево».
| Идентификатор предмета | Наименование предмета | Материал |
| 1 | Стул | Металл |
| 2 | Стол | Натуральное дерево |
| 3 | Кровать | ЛДСП |
| 4 | Шкаф | Массив дерева |
| 5 | Комод | ЛДСП |
Какое из этих названий будет правильным? А если представить, что мы можем внести еще какое-то новое значение при добавлении новых записей, например, просто «Дерево».
В этом случае в нашей таблице в скором времени будет и «Массив дерева», и «Натуральное дерево», и просто «Дерево», и вообще, что угодно, ведь это просто текст.
| Идентификатор предмета | Наименование предмета | Материал |
| 1 | Стул | Металл |
| 2 | Стол | Натуральное дерево |
| 3 | Кровать | ЛДСП |
| 4 | Шкаф | Массив дерева |
| 5 | Комод | ЛДСП |
| 6 | Тумба | Дерево |
Однако по своей сути это один и тот же материал, мы просто решили или подкорректировать его название, или ошиблись при добавлении новой записи. Это и есть аномалия, когда одни данные в одном месте не соответствуют вроде как точно таким же данным в другом месте. Это всего лишь один вид аномалии, однако в процессе добавления, изменения и удаления данных может возникать много других противоречивых ситуаций, т.е. аномалий.
При этом, обязательно стоит отметить, что в нашей таблице всего 5 записей, а теперь представьте, что их миллион!
Именно поэтому мы должны устранять избыточность данных в базе, т.е. проводить так называемую нормализацию базы данных.
В данном конкретном случае мы должны название материала, из которого изготовлены предметы мебели, вынести в отдельную таблицу, а в таблице с предметами сделать всего лишь ссылку на нужный материал, тем самым, соотнеся эту ссылку с исходной записью, мы будем понимать, из какого материала сделан тот или иной предмет.
| Идентификатор предмета | Наименование предмета | Идентификатор материала |
| 1 | Стул | 2 |
| 2 | Стол | 1 |
| 3 | Кровать | 3 |
| 4 | Шкаф | 1 |
| 5 | Комод | 3 |
Материалы, из которых изготовлены предметы мебели.
| Идентификатор материала | Материал |
| 1 | Массив дерева |
| 2 | Металл |
| 3 | ЛДСП |
В этом случае когда нам потребуется изменить название материала, мы будем вносить изменение только в одном месте, т.е. править только одну строку.
Таким образом, представляя материалы в виде отдельной сущности и создавая для нее отдельную таблицу, мы устраняем описанную выше аномалию.
Другими словами, каждая сущность должна храниться отдельно, а в случае необходимости использования этой сущности в другой таблице на нее делается всего лишь ссылка, т.е. выстраивается связь.
Нормальные формы базы данных
В целом процесс нормализации базы данных выглядит следующим образом: мы, следуя определённым правилам и соблюдая определенные требования, проектируем таблицы в базе данных.
При этом все эти правила и требования можно сгруппировать в несколько наборов, и если спроектировать базу данных с соблюдением всех правил и требований, которые включаются в тот или иной набор, то база данных будет находиться в определённом состоянии, т.е. форме, и такая форма называется нормальная форма базы данных.
Иными словами, следуя определённым правилам и соблюдая определенные требования мы приводим базу данных к определенной нормальной форме.
Нормальная форма базы данных – это набор правил и критериев, которым должна отвечать база данных.
Каждая следующая нормальная форма содержит более строгие правила и критерии, тем самым приводя базу данных к определённой нормальной форме мы устраняем определённый набор аномалий.
Отсюда можно сделать вывод, что чем выше нормальная форма, тем меньше аномалий в базе будет.
Процесс нормализации – это последовательный процесс приведения базы данных к эталонному виду, т.е. переход от одной нормальной формы к следующей.
Иными словами, процесс перехода от одной нормальной формы к следующей – это усовершенствование базы данных. Так как если база данных находится в какой-то определённой нормальной форме – это означает, что в базе данных отсутствует определенный вид аномалий.
Существует 5 основных нормальных форм базы данных:
Однако выделяют еще дополнительные нормальные формы:
Если объединить оба этих списка и упорядочить нормальные формы от менее нормализованной до самой нормализованной, т.е. начиная с формы, при которой база данных по своей сути не является нормализованной, и заканчивая самой строгой нормальной формой, то мы получим следующий перечень:
База данных считается нормализованной, если она находится как минимум в третьей нормальной форме (3NF).
В реальном мире нормализация до третьей нормальной формы (3NF) является обычной, стандартной практикой, так как 3NF устраняет достаточное количество аномалий, при этом производительность базы данных, а также удобство ее использования не снижается, что нельзя сказать о всех последующих формах.
Ситуации, при которых требуется нормализовать базу данных до четвертой нормальной формы (4NF), в реальном мире встречаются достаточно редко.
Заметка! Если Вас интересует язык SQL, рекомендую почитать мою книгу «SQL код», которая ориентирована на изучение SQL как стандарта, после прочтения книги Вы сможете писать SQL запросы в любой системе управления базами данных.
Если говорить о всех последующих нормальных формах (5NF, DKNF, 6NF), то в реальной жизни трудно даже представить ситуации, при которых потребуется нормализовать базу данных до этих форм.
Иными словами, 5NF, DKNF, 6NF – это в большей степени теоретические нормальные формы, немного отстраненные от реального мира.
Стоит отметить, что приведение базы данных к какой-то конкретной нормальной форме, обязательно требует, чтобы эта база данных уже находилась в предыдущей нормальной форме. Другими словами, если Вы хотите нормализовать базу данных до третьей нормальной формы, то база уже должна находиться во второй нормальной форме, т.е. нельзя нормализовать базу данных до третьей формы, если она еще не нормализована до второй.
Описание нормальных форм базы данных
В следующих статьях представлено подробное описание каждой нормальной формы и приведены примеры.
На сегодня это все, надеюсь, материал был Вам полезен и интересен, пока!
