Руководство по проектированию реляционных баз данных (1-3 часть из 15) [перевод]
Перевод цикла из 15 статей о проектировании баз данных.
Информация предназначена для новичков.
Помогло мне. Возможно, что поможет еще кому-то восполнить пробелы.
Руководство по проектированию баз данных.
1. Вступление.
Если вы собираетесь создавать собственные базы данных, то неплохо было бы придерживаться правил проектирования баз данных, так как это обеспечит долговременную целостность и простоту обслуживания ваших данных. Данное руководство расскажет вам что представляют из себя базы данных и как спроектировать базу данных, которая подчиняется правилам проектирования реляционных баз данных.
Базы данных – это программы, которые позволяют сохранять и получать большие объемы связанной информации. Базы данных состоят из таблиц, которые содержат информацию. Когда вы создаете базу данных необходимо подумать о том, какие таблицы вам нужно создать и какие связи существуют между информацией в таблицах. Иначе говоря, вам нужно подумать о проекте вашей базы данных. Хороший проект базы данных, как было сказано ранее, обеспечит целостность данных и простоту их обслуживания.
Структурированный язык запросов (SQL).
База данных создается для хранения в ней информации и получения этой информации при необходимости. Это значит, что мы должны иметь возможность помещать, вставлять (INSERT) информацию в базу данных и мы хотим иметь возможность делать выборку информации из базы данных (SELECT).
Язык запросов к базам данных был придуман для этих целей и был назван Структурированный язык запросов или SQL. Операции вставки данных (INSERT) и их выборки (SELECT) – части этого самого языка. Ниже приведен пример запроса на выборку данных и его результат.
SQL – большая тема для повествования и его рассмотрение выходит за рамки данного руководства. Данная статья строго сфокусирована на изложении процесса проектирования баз данных. Позднее, в отдельном руководстве, я расскажу об основах SQL.
Реляционная модель.
В этом руководстве я покажу вам как создавать реляционную модель данных. Реляционная модель – это модель, которая описывает как организовать данные в таблицах и как определить связи между этими таблицами.
Правила реляционной модели диктуют, как информация должна быть организована в таблицах и как таблицы связаны друг с другом. В конечном счете результат можно предоставить в виде диаграммы базы данных или, если точнее, диаграммы «сущность-связь», как на рисунке (Пример взят из MySQL Workbench).
Примеры.
В качестве примеров в руководстве я использовал ряд приложений.
РСУБД, которую я использовал для создания таблиц примеров – MySQL. MySQL – наиболее популярная РСУБД и она бесплатна.
Утилита для администрирования БД.
После установки MySQL вы получаете только интерфейс командной строки для взаимодействия с MySQL. Лично я предпочитаю графический интерфейс для управления моими базами данных. Я часто использую SQLyog. Это бесплатная утилита с графическим интерфейсом. Изображения таблиц в данном руководстве взяты оттуда.
Визуальное моделирование.
Существует отличное бесплатное приложение MySQL Workbench. Оно позволяет спроектировать вашу базу данных графически. Изображения диаграмм в руководстве сделаны в этой программе.
Проектирование независимо от РСУБД.
Важно знать, что хотя в данном руководстве и приведены примеры для MySQL, проектирование баз данных независимо от РСУБД. Это значит, что информация применима к реляционным базам данных в общем, не только к MySQL. Вы можете применить знания из этого руководства к любым реляционным базам данных, подобным Mysql, Postgresql, Microsoft Access, Microsoft Sql or Oracle.
В следующей части я коротко расскажу об эволюции баз данных. Вы узнаете откуда взялись базы данных и реляционная модель данных.
2. История.
В 70-х – 80-х годах, когда компьютерные ученые все еще носили коричневые смокинги и очки с большими, квадратными оправами, данные хранились бесструктурно в файлах, которые представляли собой текстовый документ с данными, разделенными (обычно) запятыми или табуляциями.
Так выглядели профессионалы в сфере информационных технологий в 70-е. (Слева внизу находится Билл Гейтс).
Текстовые файлы и сегодня все еще используются для хранения малых объемов простой информации. Comma-Separated Values (CSV) — значения, разделённые запятыми, очень популярны и широко поддерживаются сегодня различным программным обеспечением и операционными системами. Microsoft Excel – один из примеров программ, которые могут работать с CSV–файлами. Данные, сохраненные в таком файле могут быть считаны компьютерной программой.
Выше приведен пример того, как такой файл мог бы выглядеть. Программа, производящая чтение данного файла, должна быть уведомлена о том, что данные разделены запятыми. Если программа хочет выбрать и вывести категорию, в которой находится урок ‘Database Design Tutorial’, то она должна строчка за строчкой производить чтение до тех пор, пока не будут найдены слова ‘Database Design Tutorial’ и затем ей нужно будет прочитать следующее за запятой слово для того, чтобы вывести категорию Software.
Таблицы баз данных.
Чтение файла строчка за строчкой не является очень эффективным. В реляционной базе данных данные хранятся в таблицах. Таблица ниже содержит те же самые данные, что и файл. Каждая строка или “запись” содержит один урок. Каждый столбец содержит какое-то свойство урока. В данном случае это заголовок (title) и его категория (category).
Компьютерная программа могла бы осуществить поиск в столбце tutorial_id данной таблицы по специфическому идентификатору tutorial_id для того, чтобы быстро найти соответствующие ему заголовок и категорию. Это намного быстрее, чем поиск по файлу строка за строкой, подобно тому, как это делает программа в текстовом файле.
Современные реляционные базы данных созданы так, чтобы позволять делать выборку данных из специфических строк, столбцов и множественных таблиц, за раз, очень быстро.
История реляционной модели.
Реляционная модель баз данных была изобретена в 70-х Эдгаром Коддом (Ted Codd), британским ученым. Он хотел преодолеть недостатки сетевой модели баз данных и иерархической модели. И он очень в этом преуспел. Реляционная модель баз данных сегодня всеобще принята и считается мощной моделью для эффективной организации данных.
Сегодня доступен широкий выбор систем управления базами данных: от небольших десктопных приложений до многофункциональных серверных систем с высокооптимизированными методами поиска. Вот некоторые из наиболее известных систем управления реляционными базами данных (РСУБД):
— Oracle – используется преимущественно для профессиональных, больших приложений.
— Microsoft SQL server – РСУБД компании Microsoft. Доступна только для операционной системы Windows.
— Mysql – очень популярная РСУБД с открытым исходным кодом. Широко используется как профессионалами, так и новичками. Что еще нужно?! Она бесплатна.
— IBM – имеет ряд РСУБД, наиболее известна DB2.
— Microsoft Access – РСУБД, которая используется в офисе и дома. На самом деле – это больше, чем просто база данных. MS Access позволяет создавать базы данных с пользовательским интерфейсом.
В следующей части я расскажу кое-что о характеристиках реляционных баз данных.
3. Характеристики реляционных баз данных.
Реляционные базы данных разработаны для быстрого сохранения и получения больших объемов информации. Ниже приведены некоторые характеристики реляционных баз данных и реляционной модели данных.
Использование ключей.
Каждая строка данных в таблице идентифицируется уникальным “ключом”, который называется первичным ключом. Зачастую, первичный ключ это автоматически увеличиваемое (автоинкрементное) число (1,2,3,4 и т.д). Данные в различных таблицах могут быть связаны вместе при использовании ключей. Значения первичного ключа одной таблицы могут быть добавлены в строки (записи) другой таблицы, тем самым, связывая эти записи вместе.
Используя структурированный язык запросов (SQL), данные из разных таблиц, которые связаны ключом, могут быть выбраны за один раз. Для примера вы можете создать запрос, который выберет все заказы из таблицы заказов (orders), которые принадлежат пользователю с идентификатором (id) 3 (Mike) из таблицы пользователей (users). О ключах мы поговорим далее, в следующих частях.
Столбец id в данной таблице является первичным ключом. Каждая запись имеет уникальный первичный ключ, часто число. Столбец usergroup (группы пользователей) является внешним ключом. Судя по ее названию, она видимо ссылается на таблицу, которая содержит группы пользователей.
Отсутствие избыточности данных.
В проекте базы данных, которая создана с учетом правил реляционной модели данных, каждый кусочек информации, например, имя пользователя, хранится только в одном месте. Это позволяет устранить необходимость работы с данными в нескольких местах. Дублирование данных называется избыточностью данных и этого следует избегать в хорошем проекте базы данных.
Ограничение ввода.
Используя реляционную базу данных вы можете определить какой вид данных позволено сохранять в столбце. Вы можете создать поле, которое содержит целые числа, десятичные числа, небольшие фрагменты текста, большие фрагменты текста, даты и т.д.
Когда вы создаете таблицу базы данных вы предоставляете тип данных для каждого столбца. К примеру, varchar – это тип данных для небольших фрагментов текста с максимальным количеством знаков, равным 255, а int – это числа.
Помимо типов данных РСУБД позволяет вам еще больше ограничить возможные для ввода данные. Например, ограничить длину или принудительно указать на уникальность значения записей в данном столбце. Последнее ограничение часто используется для полей, которые содержат регистрационные имена пользователей (логины), или адреса электронной почты.
Эти ограничения дают вам контроль над целостностью ваших данных и предотвращают ситуации, подобные следующим:
— ввод адреса (текста) в поле, в котором вы ожидаете увидеть число
— ввод индекса региона с длинной этого самого индекса в сотню символов
— создание пользователей с одним и тем же именем
— создание пользователей с одним и тем же адресом электронной почты
— ввод веса (числа) в поле дня рождения (дата)
Поддержание целостности данных.
Настраивая свойства полей, связывая таблицы между собой и настраивая ограничения, вы можете увеличить надежность ваших данных.
Назначение прав.
Большинство РСУБД предлагают настройку прав доступа, которая позволяет назначать определенные права определенным пользователям. Некоторые действия, которые могут быть позволены или запрещены пользователю: SELECT (выборка), INSERT (вставка), DELETE (удаление), ALTER (изменение), CREATE (создание) и т.д. Это операции, которые могут быть выполнены с помощью структурированного языка запросов (SQL).
Структурированный язык запросов (SQL).
Для того, чтобы выполнять определенные операции над базой данных, такие, как сохранение данных, их выборка, изменение, используется структурированный язык запросов (SQL). SQL относительно легок для понимания и позволяет в т.ч. и уложненные выборки, например, выборка связанных данных из нескольких таблиц с помощью оператора SQL JOIN. Как и упоминалось ранее, SQL в данном руководстве обсуждаться не будет. Я сосредоточусь на проектировании баз данных.
То, как вы спроектируете базу данных будет оказывать непосредственное влияние на запросы, которые вам будет необходимо выполнить, чтобы получить данные из базы данных. Это еще одна причина, почему вам необходимо задуматься о том, какой должна быть ваша база. С хорошо спроектированной базой данных ваши запросы могут быть чище и проще.
Переносимость.
Реляционная модель данных стандартна. Следуя правилам реляционной модели данных вы можете быть уверены, что ваши данные могут быть перенесены в другую РСУБД относительно просто.
Как говорилось ранее, проектирование базы данных – это вопрос идентификации данных, их связи и помещение результатов решения данного вопроса на бумагу (или в компьютерную программу). Проектирование базы данных независимо от РСУБД, которую вы собираетесь использовать для ее создания.
Урок 44
Этапы разработки базы данных
— какой последовательности действий надо придерживаться при разработке базы данных;
— в чем суть этапа «Постановка задачи»;
— в чем суть этапа «Проектирование базы данных»;
— в чем суть этапа «Создание базы данных в СУБД»;
— в чем суть этапа «Управление базой данных в СУБД».
Этап 1. Постановка задачи
Говоря об этапах разработки базы данных, следует помнить, что база данных — это информационный продукт, который, как правило, разрабатывает специалист по компьютерным технологиям. Создаваемая база данных предназначена либо для специалистов, работающих в данной предметной области, либо для широкого круга пользователей. Специалист по компьютерным технологиям не всегда знает особенности той предметной области, для которой разрабатывает базу данных. Вот почему на этапе постановки задачи очень важно участие специалиста по предметной области.
На этом этапе сначала необходимо составить описание предметной области, о которой предстоит собирать сведения. Наиболее полное описание предметной области может дать специалист, работающий в ней. Он же может наиболее точно определить конечную цель создания базы данных и конкретные задачи, решаемые с ее помощью, а именно: какие данные и в каком виде должны быть представлены, какие виды работы предполагается с ними осуществлять (отбор, дополнение, изменение, печать, вывод отчетов и т. д.).
Разрабатывая свою учебную базу данных, вы сначала будете выступать в роли специалиста предметной области, а затем в роли специалиста по компьютерным технологиям. Чтобы составить наиболее полное описание предметной области, вам потребуются знания из других школьных дисциплин, а также из личного опыта.
Этап 2. Проектирование базы данных
После составления подробного описания предметной области необходимо выделить классы объектов и определить типы связей между этими классами. Одновременно следует задать отдельные параметры, описывающие данную предметную область. Как правило, это характеристики выделенных классов. Но иногда встречаются такие параметры, которые трудно отнести к какому-либо из выделенных классов. Как правило, это происходит в тех случаях, когда вы не учли какой-либо класс объектов.
Например, вы хотите в базе данных отразить учет приема пациентов в поликлинике. В данной предметной области выделяем следующие классы объектов: Врачи и Пациенты. Кроме этого, описываем параметры, характеризующие процесс приема у врача: дата приема, фамилия врача, фамилия пациента, название выявленной болезни. Из анализа этих параметров можно сделать вывод, что параметр Фамилия врача относится к классу Врачи, а параметр Фамилия пациента — к классу Пациенты. Другие же параметры не относятся ни к тому, ни к другому классу. Очевидно, их следует выделить в отдельный класс Прием. Можно провести еще более детальный анализ этой предметной области, и тогда, возможно, появятся дополнительные классы объектов.
Таким образом, анализ выделенных параметров, описывающих предметную область в целом, может привести к уточнению структуры базы данных. При введении новых классов необходимо уточнить типы связей между классами.
Современные СУБД ориентированы на реляционную модель данных, поэтому после выделения классов и их параметров надо нарисовать реляционную модель — таблицы и связи.
Для каждой таблицы необходимо описать имена и типы данных полей, определить (или ввести ключевое поле), указать поля связей между таблицами. При этом надо помнить, что в программной среде можно реализовать только связи «один-к-одному» и «один-ко-многим». Если в вашей реляционной модели присутствуют связи «многие-ко-многим», значит проектирование базы данных еще не завершено.
Этапы разработки базы данных
Процедура составления базы данных состоит из определённых стадий.
Постановка задачи
На этой стадии формулируется цель формирования базы данных, уточняется предметная область, представляются виды работ, которые будут осуществлены в текущей базе данных, к примеру, отбор, изменение информации, печать отчёта. Также определяются потенциальные пользователи.
При этом в постановке задачи участвуют не только специалисты по базам данных, но и эксперты в той предметной области, в которой она будет существовать. Чем шире будет круг знаний специалиста-предметника о принципах формирования базы данных, тем эффективнее будет его взаимодействие с экспертом в области информационных технологий и тем выше будет качество итогового продукта.
Проектирование базы данных
На текущей стадии необходимо определить, какие сущности, следовательно, информационные объекты, должна содержать в себе база данных, а также с использованием каких атрибутов будет описываться каждая сущность. После формулируется структура реляционных таблиц с указанием свойств полей и связей между таблицами. Следовательно:
- Учреждается общий список полей, которые отражают атрибуты таблиц базы данных;
- Поля общего списка следует распределить по базовым таблицам;
- Согласно свойствам данных определяют свойства каждого поля в частности;
- В каждой таблице выделяется ключевое поле;
- Выявляют связи между таблицами.
Создание базы данных
Происходит это с применением одного из языков программирования или специализированного программного обеспечения — систем управления базами данных, сокращённо СУБД. Первый метод используется для проектирования уникальных баз данных и требует высокой квалификации программиста. А для того, чтобы работать с СУБД, будет достаточно базовых навыков пользователя и понимания основ разработки баз данных.
При составлении базы данных в СУБД предполагается:
- Запуск СУБД и формирование нового файла базы данных;
- Формирование таблиц и учреждение между ними связей;
- Тестирование базы данных и её корректировка;
- Разработка разнообразных элементов управления информацией (к примеру, экранных форм для ввода, запросов для сортировки, поиска и отбора информации, отчётов для вывода информации на печать), также установка средств защиты базы данных, таких как установление ограничений прав доступа для разных пользователей за счёт введения паролей;
Использование построенной базы данных
Сюда можно отнести
- Сортировку, фильтрацию и поиск записей в таблицах;
- Отбор информации из таблиц по установленным критериям отбора;
- Осуществление обработки данных, к примеру, удаление, вставка, изменение или выполнение расчётов;
- Формирование отчётов.
Во время эксплуатации базы данных информация постоянно обновляется, могут меняться связи между сущностями.
В процессе создания больших по объёму и ориентированных на различные группы пользователей баз данных, определяют концептуальный, внешний и внутренний уровни представления данных.
В качестве концептуального уровня представления данных рассматривается модель «сущность-связь».
Во внешнем или пользовательском уровне предусматривается иллюстрация данных в формате, который необходим определённому пользователю.
Во внутреннем или физическом уровне представления данных определяются характеристики хранения данных и методов доступа к ним.
Например, в любой школе России применяется база данных «Электронный журнал». На рисунке проиллюстрирована схема уровней представления информации для такой базы данных.
База данных: как создать самому. Пошаговая инструкция
Из статьи вы узнаете, как за несколько шагов в LibreOffice создать простую базу данных на примере словаря терминов.
Статья написана для пользователей, которые ничего не знают о базах данных. Поэтому в тексте нет сложных терминов и определений, а в базе данных всего две таблицы и одна простая форма для ввода данных.
Базы данных разрабатываются не только программистами и не только для больших приложений. Например, в университетах создают базы данных для хранения научной и учебной информации, а затем регистрируют их в Роспатенте.
Свидетельства о госрегистрации баз данных приравниваются к научным публикациям (Постановление Правительства РФ от 24.09.2013 N 842 (ред. от 01.10.2018, с изм. от 26.05.2020) "О порядке присуждения ученых степеней"), поэтому на них ссылаются в диссертациях, отчётах, статьях, указывают в резюме и портфолио. Кроме того, свидетельство служит подтверждением квалификации сотрудника при проведении аттестации.
База данных: что это такое?
Когда информации много, то работать с ней трудно. Данные могут быть разбросаны по разным файлам и папкам, их легко потерять и сложно найти.
В базе данных весь материал систематизирован, структурирован и хранится в одном месте. С ним легко и удобно взаимодействовать. Вы можете искать и фильтровать информацию так, как это делается в интернет-магазинах и поисковых системах.
База данных — это одна или несколько таблиц, в которые заносится информация. Количество столбцов в таблицах и их тип определяется пользователем — автором базы данных.
Как можно создавать базы данных
Базы данных создаются в специальных программах, которые называются системами управления базами данных.
Систем управления базами данных много. Среди них: Microsoft SQL Server, Oracle Database, PostgreSQL, MySQL, SQLite. Для простых и небольших баз данных уровня лаборатории/кафедры/школы подойдут бесплатные OpenOffice.org Base или LibreOffice Base.
Как создать базу данных в LibreOffice Base
LibreOffice — бесплатный пакет офисных программ. Является альтернативой коммерческому Microsoft Office.
Мы создавали эту инструкцию для LibreOffice 6.4. Чтобы не было расхождений при создании базы данных по этому руководству, рекомендуем работать с LibreOffice версии 6.1 и выше.
Итак, давайте создадим простую базу данных "Словарь терминов", в которой будут храниться термины, их определения, а также разделы учебной дисциплины, к которым они относятся. В качестве примера мы взяли дисциплину "Базы данных".
Шаг 1. Запуск программы и подготовка
Запустите программу для создания баз данных LibreOffice Base.
В появившемся окне Мастера баз данных выберите Создать новую базу данных, укажите формат Firebird встроенная, нажмите Далее.
Шаг 1 Мастера базы данных
На втором шаге Мастера установите флажок в Открыть базу для редактирования, нажмите Готово.
Шаг 2 Мастера базы данных
В появившемся окне выберите папку, в которой нужно сохранить базу данных, введите имя файла. Нажмите Сохранить.
Диалоговое окно сохранения файла базы данных
Шаг 2. Создание таблиц
В базах данных принято хранить один вид информации в одной таблице. Например, информация о сотрудниках, информация о подразделениях, информация о проектах организации — всё это должно быть в разных таблицах. Чтобы база данных и пользователь понимали, в каком подразделении работает сотрудник, и какие проекты разрабатываются в подразделениях, создаются дополнительные столбцы или таблицы для хранения связей между записями. Так устраняется избыточность информации в базе данных.
Каждая строка в таблице должна быть уникальна, чтобы база данных понимала, какую запись следует удалить или отредактировать. Для этого создаётся первичный ключ в таблице — столбец, в котором значения встречаются ровно по одному разу. Это похоже на ситуацию, когда фамилия, имя, отчество и даже дата рождения у двух людей могут совпадать, но данные их паспортов обязательно будут отличаться. В случае с базой данных аналогом паспорта выступает столбец с первичным ключом.
В нашем примере два вида информации: термин и раздел дисциплины, для которой создаётся словарь. Каждый термин относится к определённому разделу дисциплины, поэтому надо установить связь между будущими таблицами.
В окне редактора базы данных кликните на Создать таблицу в режиме дизайна…
Пункт меню Задачи окна базы данных для создания таблицы в режиме дизайна
В появившемся окне добавьте характеристики столбцов таблицы для разделов дисциплины:
- Имя поля — Номер. Тип поля — Целое [INTEGER]. Автозначение —Да (будет автоматически наращивать значение поля при добавлении новой записи в таблицу: 1, 2, 3 и т.д.). Этот столбец будет первичным ключом таблицы, и база данных сама добавит этот признак (будет отображаться изображение ключика с левой стороны поля).
- Имя поля — Раздел. Тип поля — Текст [VARCHAR], длина 100. В этом столбце будут находиться названия разделов дисциплины.
Для сохранения таблицы выберите пункт меню Файл — Сохранить. В диалоговом окне укажите название таблицы — Разделы, нажмите ОК.
Сохранение таблицы Разделы
Закройте окно со структурой таблицы Разделы.
Сохраните базу данных (Файл — Сохранить).
Для создания второй таблицы с терминами опять кликните на Создать таблицу в режиме дизайна… и введите параметры столбцов таблицы:
- Имя поля — Номер. Тип поля — Целое [INTEGER]. Автозначение — Да. Столбец будет первичным ключом таблицы по аналогии с таблицей Разделы.
- Имя поля — Раздел. Тип поля — Целое [INTEGER]. Автозначение — Нет. Обязательное — Да. В данном столбце будут указываться значения первичного ключа таблицы Разделы для того, чтобы связать термины и разделы, к которым они относятся.
- Имя поля — Термин. Тип поля — Текст [VARCHAR], длина 100. Обязательное — Да. В этом столбце будут находиться термины.
- Имя поля — Определение. Тип поля — Текст [VARCHAR], длина 255. В этом столбце будут находиться определения терминов.
- Имя поля — Источник. Тип поля — Текст [VARCHAR], длина 255. В этом столбце будет указываться информация об источнике, из которого взята информация о термине. Например, ссылка на страницу сайта, библиографическая ссылка.
Проверьте указанную структуру с изображением ниже.
Структура таблицы Термины
Сохраните таблицу под именем Термины, закройте окно структуры таблицы.
Сохраните базу данных.
Окно со списком таблиц базы данных
Шаг 3. Создание связи между таблицами
В главном меню программы выберите пункт Сервис — Связи..
Пункт меню программы для установления связей между таблицами
Далее с помощью окна добавьте обе таблицы для установления связей между ними.
Окно для добавления связей между таблицами
Так как столбец Раздел в таблице Термины создан для хранения ключа соответствующего термину раздела, то нам надо его связать со столбцом Номер таблицы Разделы.
Для этого левой кнопкой мыши установите курсор на столбце Номер таблицы Разделы и, не отпуская кнопки, ведите курсор к столбцу Раздел таблицы Термины. Отпустите кнопку мыши. В результате таблицы будут соединены ломаной линией. На одном конце линии будет 1, а на другом — n. Это указывает на тип связи один-ко-многим, что означает, что к одному разделу может относиться много терминов.
Созданная связь типа один-ко-многим между таблицами Разделы и Термины
Сохраните образованную связь (Файл — Сохранить) и закройте окно.
Сохраните базу данных.
Шаг 4. Ввод данных в таблицы
Для добавления информации о разделах откройте одноимённую таблицу. Установите курсор мыши в первой строке в столбце Раздел и введите название. Нажмите клавишу Enter на клавиатуре и введите ещё одно название раздела в новой строке и опять нажмите на клавишу Enter. Обратите внимание, что столбец Номер заполняется автоматически, потому что мы указали в его настройках Автозначение.
Ввод данных в таблицу Разделы
Теперь чтобы заполнить данные о терминах, откройте таблицу Термины. Введите данные, как показано на рисунке ниже. Обратите внимание : для указания раздела, к которому относится термин, нам надо знать его номер в таблице Разделы. Если разделов и терминов много, то вводить такую информацию становится неудобным, так как придётся подглядывать в таблицу Разделы.
На этом шаге, в принципе, уже можно завершить работу с базой данных, заполнив всею необходимую информацию о разделах и терминах.
Поздравляем — ваша первая база данных создана!
Чтобы вводить информацию о разделах и терминах с использованием удобного графического интерфейса и привычных пользователям элементов ввода (флажки, текстовые поля, выпадающие списки и пр.), в LibreOffice Base предусмотрены Формы.
Обратите внимание : не все системы управления базами данных поддерживают создание форм. Для большинства придётся программировать приложения, чтобы получить удобный пользовательский интерфейс.
Шаг 5. Создание формы для добавления и просмотра данных
Форма — это набор элементов для ввода информации в таблицы базы данных (текстовые поля, выпадающие списки, переключатели, навигатор по строкам и пр.).
В одной форме может быть сколько угодно главных и подчинённых форм. В нашем случае главной формой выступает форма с разделами, а подчинённой — форма с терминами. Перемещаясь по строкам таблицы главной формы, мы сможем видеть термины, которые относятся к текущему разделу. Теперь знать номер раздела для ввода термина нам не придётся: мы будем выбирать его из выпадающего списка.
Чтобы начать создание формы, в левой части окна базы данных выберите раздел Формы. Кликните на Создать форму в режиме дизайна…
Меню для создания форм базы данных
Выберите пункт меню Форма — Навигатор форм… В результате появится маленькое окно со списком форм.
Окно создания формы в режиме дизайна, Навигатор форм
Создание главной формы для работы с разделами
Создайте главную форму для работы с разделами. Для этого правой кнопкой мыши щёлкните на пункте Формы и в контекстном меню выберите Создать — Форма.
Создание новой формы
Правой кнопкой мыши кликните на созданной форме в Навигаторе форм. Далее в контекстном меню выберите Свойства.
Пункт меню для вызова окна со свойствами формы
В окне свойств формы на вкладке Общие введите название формы "Форма Разделы". На вкладке Данные укажите Тип содержимого —Таблица, в поле Содержимое введите имя таблицы — Разделы, отключите Панель навигации. Остальные настройки не меняйте.
Вкладка Общие главной формы
Вкладка Данные главной формы
Сохраните форму базы данных (Файл — Сохранить), введите название формы.
Сохранение формы, ввод имени файла формы
Проверьте активность Мастера элементов управления в меню Форма. Кликните на этом пункте, если он не активен.
Пункт Мастера элементов управления меню Форма
В главную форму добавим таблицу для просмотра и редактирования разделов. Для этого установите курсор мыши на элементе Форма разделы в Навигаторе форм.
Выберите пункт главного меню Форма — Таблица. В левой части окна формы курсором мыши нарисуйте таблицу. В появившемся окне с помощью кнопки =>> добавьте все поля таблицы в созданный элемент управления.
Выбор полей таблицы в Мастере таблицы
Поменяйте Привязку у таблицы с Как символ на К странице, чтобы можно было перемещать её в любое место формы.
Изменение Привязки элемента формы
Столбец Раздел сделайте шире. На названии столбца Номер кликните правой кнопкой мыши и в контекстном меню выберите Столбец….
Вызов контекстного меню для столбца таблицы
В появившемся окне настроек укажите 0 в пункте Точность, затем закройте окно.
Окно свойств столбца таблицы
С помощью Вставка — Текстовое поле добавьте на форму подпись с текстом РАЗДЕЛЫ и отформатируйте на свой вкус.
Добавление текстового поля на форму базы данных
Чтобы посмотреть, как работает созданная форма, отключите Режим разработки в меню Форма.
Отключенный Режим разработки и просмотр формы
Чтобы вернуться к редактированию формы выберите пункт Режим разработки повторно.
Создание подчинённой формы для работы с терминами
Чтобы создать форму, подчинённую главной форме с разделами, кликните правой кнопкой мыши на Форма Разделы в Навигаторе форм, и выберите пункт Создать — Форма.
Контекстное меню формы в Навигаторе форм
Кликните правой кнопкой мыши на появившейся в Навигаторе форм форме и в контекстном меню выберите Свойства. В окне свойств формы на вкладке Общие введите название Форма Термины. На вкладке Данные укажите Тип содержимого — Таблица, Содержимое — Термины. Отключите Панель навигации.
Нажмите на кнопку с тремя точками напротив пункта Связь с главным полем. В появившемся окне выберите поле Раздел для таблицы Термины и Номер для таблицы Разделы.
Диалоговое окно для связывания полей в главной и подчинённой формах
Напротив свойства Сортировка кликните на кнопке с тремя точками и в появившемся окне укажите Имя поля — Термин, а Порядок сортировки — по возрастанию.
Итоговые настройки на вкладке Данные подчинённой формы
С помощью Форма — Текстовое поле добавьте три новых элемента в подчинённую форму. Далее указаны свойства для каждого из них.
В свойствах первого текстового поля укажите Поле Термин в Имя. Во вкладке Данные выберите Термин в свойстве Поле данных. Укажите Нет в свойстве Пустая строка — NULL, чтобы программа не разрешала сохранять термины с пустыми названиями.
Выберите второе текстовое поле. Укажите Поле Определение в свойстве Имя. В свойстве Тип текста укажите Многострочный. Поле данных — Определение. Остальное не меняйте.
В свойстве Имя третьего текстового поля укажите Поле Источник. Поле данных — Источник. Остальное не меняйте.
Выберите пункт меню Форма — Список и разместите на форме новый элемент управления. В появившемся диалоговом окне укажите таблицу Разделы в качестве источника данных для построения списка. Кликните Далее.
Выбор источника данных для построения содержимого списка
На следующем шаге укажите Раздел в качестве Отображаемого поля. Кликните Далее.
На последнем шаге Мастера укажите Раздел для Поле из таблицы значений и Номер для Поле из таблицы списка. Кликните Готово.
С помощью Форма — Панель навигации разместите на форме элемент, позволяющий перемещаться по записям таблицы с терминами.
Для всех элементов подчинённой формы добавьте подписи с использованием Вставка — Текстовое поле. Оформите на свой вкус.
Ваша форма должна выглядеть примерно так:
Скриншот созданной формы
Сохраните форму с использованием Файл — Сохранить. Закройте окно редактирования формы.
Два раза кликните на созданной Форма добавление в разделе Формы базы данных. Так созданная форма откроется для работы с таблицами базы данных. Перемещаясь по строкам таблицы с разделами, вы делаете активным один из них.
Чтобы изменить форму, кликните правой кнопкой мыши на её названии и в контекстном меню выберите Правка…
Итоги
Мы рассмотрели, что такое базы данных и зачем они нужны.
Мы научились создавать простую базу данных в бесплатной программе LibreOffice Base. Создали две таблицы, установили между ними связь. Для наполнения базы данных и просмотра её содержимого мы создали форму.
Эту базу данных можно использовать в качестве основы для создания других баз данных с похожей структурой.