Базы данных (Base) — LibreOffice по-русски https://libreoffice.su Всё об офисном пакете LibreOffice Вт, 03 Янв 2017 09:08:59 +0000 ru-RU hourly 1 https://wordpress.org/?v=4.7 Создание отчётов в LibreOffice Base https://libreoffice.su/base/sozdanie-otchyotov-libreoffice-base.html https://libreoffice.su/base/sozdanie-otchyotov-libreoffice-base.html#comments Wed, 30 Jul 2014 10:47:12 +0000 https://libreoffice.su/?p=259 На прошлых уроках мы узнали, как создать базу данных, запросы и формы к ней. А сегодня разберёмся, как в LibreOffice Base выполняется создание отчётов. Если говорить просто, то отчёт — это неизменяемый документ, который предоставляется конечному потребителю для просмотра или печати. Отчёт формируется на основе таблицы или запроса и может быть статическим, либо динамическим. Статический...
Читать полностью...

The post Создание отчётов в LibreOffice Base appeared first on LibreOffice по-русски.

]]>
На прошлых уроках мы узнали, как создать базу данных, запросы и формы к ней. А сегодня разберёмся, как в LibreOffice Base выполняется создание отчётов.

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

Создание отчётов LibreOffice Base

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

Далее мы можем изменить названия столбцов таблицы/запроса на более понятные и читабельные:

Создание отчётов LibreOffice Base

Третий этап — группировка. Она предполагает разбиение таблицы данных по уровням. Чтобы понять, как это будет выглядеть зададим одноуровневую группировку по дате:

Создание отчётов LibreOffice Base

Затем определяются параметры сортировки. Сортировка по дате выполнится автоматически (в связи с группировкой), а мы дополнительно добавим сортировку по номеру карты и сумме покупки:

Создание отчётов LibreOffice Base

На предпоследнем шаге предлагается выбрать стиль документа. Допустим так:

Создание отчётов LibreOffice Base

Ну и дадим отчёту название и определим его тип:

Создание отчётов LibreOffice Base

Нажимаем кнопку Готово и любуемся на результат:

Создание отчётов LibreOffice Base

Не знаю, как вам, а я бы поправила некоторые элементы. Чтобы изменить внешний вид отчёта, закрываем его и открываем в режиме дизайна пунктом Изменить контекстного меню отчёта. Заменим заголовки автоматически подставляемых данных (#titleconst# и т.п.) на более читаемые:

Создание отчётов LibreOffice Base

Изменим формат отображения даты формирования отчёта, открыв окно редактирования полей двойным кликом по нему:

Создание отчётов LibreOffice Base

Чтобы вписать в отчёт имя автора и его название, выполним следующие настройки: пункт меню Файл->Свойства..., вкладка Описание, поле Заголовок:

Создание отчётов LibreOffice Base

Заголовок отчёта задан. Теперь двойной щелчок на пустом сером поле рядом с «Автор:» — откроется окно Редактирование полей. Нажмём кнопку Правка и внесём в карточку адреса свой данные:

Создание отчётов LibreOffice Base

В списке Выбрать выделяем нужный пункт и нажимаем ОК. Получаем:

Создание отчётов LibreOffice Base

Также для большей наглядности я удалю текст «Название:«, увеличу размер заголовка и выровняю его по центру. Сохраняемся и откроем отчёт на выполнение:

Создание отчётов LibreOffice Base

В этом режиме окне Дизайнера его можно просмотреть без правки, сохранить как текстовый документ, экспортировать в PDF или напечатать. Даже не знаю, чего бы ещё вам рассказать об отчётах 🙂 Если у вас остались вопросы, их можно задать их в комментариях или на нашем форуме. Мы постараемся оперативно на них ответить.

The post Создание отчётов в LibreOffice Base appeared first on LibreOffice по-русски.

]]>
https://libreoffice.su/base/sozdanie-otchyotov-libreoffice-base.html/feed 1
Создание форм в LibreOffice Base https://libreoffice.su/base/sozdanie-form-libreoffice-base.html https://libreoffice.su/base/sozdanie-form-libreoffice-base.html#comments Fri, 27 Jun 2014 10:34:32 +0000 https://libreoffice.su/?p=258 Мы уже рассмотрели, как в LibreOffice Base создаётся база данных, формируются запросы и выполняется сортировка. Следующий этап — создание форм. По сути форма представляет собой удобный и упрощённый интерфейс для ввода и редактирования данных в таблицы базы. Простой пользователь может испытывать сложности в работе со стандартным окном редактирования таблицы, а также иногда возникает необходимость разграничивать...
Читать полностью...

The post Создание форм в LibreOffice Base appeared first on LibreOffice по-русски.

]]>
Мы уже рассмотрели, как в LibreOffice Base создаётся база данных, формируются запросы и выполняется сортировка. Следующий этап — создание форм.

По сути форма представляет собой удобный и упрощённый интерфейс для ввода и редактирования данных в таблицы базы. Простой пользователь может испытывать сложности в работе со стандартным окном редактирования таблицы, а также иногда возникает необходимость разграничивать доступ к различной информации разным пользователям.
Создавать формы в LibreOffice Base можно так же как и предыдущие типы объектов: с помощью дизайнера или мастера форм. Мы испробуем оба варианта.
Для примера возьмём созданную ранее базу данных клиентов.

Здесь я вынуждена оговориться и признать, что при создании данного примера мы напоролись на Бритву Оккама: данные из таблицы Дисконтные карты должна была быть сразу включена в таблицу Клиенты. Верность этой ошибки подтверждает тот факт, что при создании связи мы получили тип «1-1», считающийся у проектировщиков не желательным. Поэтому я исправлю свою ошибку: создам новую сводную таблицу и перенесу в неё все имеющиеся данные:

Создание форм LibreOffice Base

Так как у СУБД этого типа нет специальных инструментов для объединения таблиц и данных в них, выносим закономерный урок, что исправлять ошибки проектирования в уже используемой базе данных довольно накладно.
А для наглядности создания форм с субформами (подчинёнными формами со связью «1-много») создадим таблицу Покупки, содержащую информацию о времени, дате, наименовании и сумме покупок клиентов:
Создание форм LibreOffice Base

Свяжем таблицы между собой по полю НомерДисконтнойКарты.

Итак, вернёмся к формам. Для таблиц Клиенты2 и Покупки мы сделаем две формы: одну для менеджера, который вносит данные по новым картам и связывается с клиентами и, соответственно, должен иметь возможность видеть и редактировать всю информацию, и другую — для кассира, который может только просмотреть данные клиента о бонусах и вносить информацию о покупках.
Откроем Мастер, выбрав пункт Использовать мастер для создания формы… в окне Задачи:

Создание форм LibreOffice Base

Из выпадающего списка Таблицы или запросы выберем таблицу Клиенты и переместим все поля из списка Существующие поля в список Поля в форме:

Создание форм LibreOffice Base

На следующем шаге нам предлагается решить, нужна ли нам субформа. Так как мы собираемся получать информацию из двух таблиц — главной и подчиненной, нужна:

Создание форм LibreOffice Base

Сразу скажу, что Мастер автоматически свяжет для нас таблицы между собой, и при работе с формой мы будем видеть данные из таблиц, связанными по номеру дисконтной карты.

Для субформы выберем отображение всех имеющихся в таблице Покупки полей:

Создание форм LibreOffice Base

Теперь нам нужно выбрать расположение элементов на форме: для данных клиента целесообразнее выбрать столбцы или блоки — как правило, во время работы с подобными данными одномоментно нужна только одна запись, а не целый гурт. Я выбрала вариант Столбцы - подписи сверху. А вот для покупок возьмём таблицу (или Лист данных, как она названа в Мастере) — клиент и его покупки будут автоматически сопоставлены при выполнении формы и при выборе других вариантов отображения мы сможем увидеть только первую покупку клиента:
Создание форм LibreOffice Base

Нам шестом шаге выбирается источник данных, а по сути определяются права доступа. Мы предполагаем, что менеджеру доступны все действия, поэтому оставим настройки по умолчанию:

Создание форм LibreOffice Base

На следующем этапе можно изменить стиль элементов формы. Сейчас мы не будем этого делать и оставим всё, как есть:
Создание форм LibreOffice Base

Ну и восьмой, последний шаг — название формы и определение действий с ней. Так как мы ориентируемся на пользователя, назовём форму «Клиенты (для менеджера)»:

Создание форм LibreOffice Base

После нажатия кнопки Готово, форма откроется на выполнение:

Создание форм LibreOffice Base

Внизу, под ней, есть удобная панель Навигация формы:
base-form-12

С её помощью можно:
— найти нужную запись;
— последовательно просмотреть всю имеющуюся информацию;
— добавить/удалить/отредактировать и сохранить запись;
— сортировать и фильтровать данные;
— отобразить записи в виде таблицы из базы.
Согласитесь, основной функционал, необходимый пользователю, присутствует.

Теперь попробуем немного изменить внешний вид формы: закроем форму (естественно, с сохранением, если вы успели внести изменения) и отроем её на редактирование — на вкладке Формы основного окна Base вызовем контекстное меню для нашей формы и выберем Изменить. Откроется дизайнер (или редактор, как изволите), в котором мы можем изменить размер и расположение имеющихся элементов, добавить новые, запрограммировать их на выполнения конкретных действий и сделать многое другое. Вообще, по функционалу он напоминает IDE, пусть и сильно упрощённую. Поэтому рассказать обо всех её возможностях, да ещё и с примерами — дело целого курса, а не одной статьи. Но кое-что мы попробуем 🙂
Для начала немного изменим размеры полей и таблицы: одинарное нажатие на элементе высвечивает зелёные ключевые точки, потянув за которые можно изменить размер:

Создание форм LibreOffice Base

Немного опустим столбцы с данными о клиентах: для этого выделим все поля ввода с зажатым Shift’ом и сдвинем их вниз:
Создание форм LibreOffice Base

Добавим подписи к логически блокам о клиентах и покупках: для этого нам потребуется элемент Метка с панели Элементы управления слева. Нажмем на него и расположим над столбцами с информацией о клиентах:

Создание форм LibreOffice Base

Изменим её название и размер шрифта: двойной клик на метку откроет окно свойств, в котором мы изменим значение полей Текст (именно его, а не свойство Имя, которое обычно используется для программных обращений к элементу) и Шрифт (до 12 пт):

Создание форм LibreOffice Base

Теперь скопируем метку (команды Копировать/Вставить контекстного меню метки, либо комбинации клавиш Ctrl+C/Ctrl+V) и озаглавим таблицу покупок, аналогично изменив текст метки. Получилось так:

Создание форм LibreOffice Base

Кстати, изменить названия созданных через Мастер полей и столбцов таблицы нельзя.

Ну и на закуску изменим фон формы: для этого откроем Галерею кнопкой base-form-kn-1 и откроем в левом столбце папку Фоны. Выберем в окне справа наиболее приемлемый вариант и применим его через пункт контекстного меню Вставить фоном->Страница:

Создание форм LibreOffice Base

Также в галерее можно найти различный картинки, звуки и иконки для вставки на форму. Для примера я вставила картинку из папки Финансы 🙂
Закрываем галерею повторным нажатием на кнопку base-form-kn-1, сохраняем форму, закрываем редактор и запускаем на выполнение. В итоге форма выглядит так:

Создание форм LibreOffice Base

Для того, чтобы просто изменить цвет фона или вставить на его место своё изображение, воспользуйтесь пунктом основного меню Формат->Страница..., вкладкой Фон.

Теперь попробуем создать форму в режиме дизайна: откроем редактор форм через пункт Создать форму в режиме дизайна… в окне Задачи. Зададим для формы таблицу, с которой она будет работать, — на панели элементов управления найдём кнопку Свойства формы и в открывшемся окне на вкладке Данные выберем нашу базу данных и таблицу клиентов:

(или редактор, как изволите)

Добавим четыре текстовых поля и четыре метки с той же панели. Изменим текст меток на понятный для пользователя (как это сделать, рассказано выше) и назначим значения текстовых полей, открыв для них окно свойств. В нём изменим значения: пункт Поле данных (вкладка Данные) на соответствующее поле таблицы, Метка — соответствующая типу поля, Только для чтения — Да (мы заранее договорились, что кассир не сможет править данные клиента):

(или редактор, как изволите)

Теперь вставим на форму таблицу для вывода информации о покупках. Сначала для этого нужно изменить свойства формы так, чтобы мы смогли получать данные из подчинённой таблицы. Для этого зайдём на вкладку Данные свойств формы и изменим Тип содержимого на Команда SQL — иначе у нас не получится работать сразу с двумя таблицами на форме, не прибегая к запросам (хотя по сути это как раз он и будет и ещё не известно, что удобнее — сформировать запрос привычным способом или так 😎 ). Нажмем на кнопку ... для пункта Содержимое и у нас откроется редактор запросов. Добавим в него таблицы Клиенты2 и Покупки и сформируем для них простой запрос — получим все поля обеих таблиц так, чтобы они были связаны по номеру дисконтной карты:

(или редактор, как изволите)

Этот же запрос на языке SQL будет выглядеть так: SELECT "Клиенты2".*, "Покупки".* FROM "Покупки", "Клиенты2" WHERE "Покупки"."НомерДисконтнойКарты" = "Клиенты2"."НомерДисконтнойКарты".

Добавим таблицу для вывода данных по покупкам: выберем элемент Таблица на панели Дополнительные элементы управления (она открывается на панели Элементы управления слева). При этом откроется Мастер, в котором нам будет предложено выбрать поля для вывода:

Создание форм LibreOffice Base

Сохраним форму под именем «Клиенты (для кассира)» и откроем её на выполнение:

Создание форм LibreOffice Base

Конечно, на эту форму также можно добавить дополнительные метки, графические элементы и прочие плюшки, но выполнение этих приёмов мы рассмотрели выше и повторно останавливаться на них не будем.

Ну и закончим на сегодня. На этом уроке мы постарались рассмотреть основные приёмы, необходимые для создания форм и отчётов в базах данных LibreOffice Base. Однако, если у вас остались вопросы по данной теме, вы можете задать их в комментариях или на нашем форуме. Мы постараемся оперативно на них ответить 🙂

The post Создание форм в LibreOffice Base appeared first on LibreOffice по-русски.

]]>
https://libreoffice.su/base/sozdanie-form-libreoffice-base.html/feed 11
Сортировка и создание запросов в LibreOffice Base https://libreoffice.su/base/sortirovka-sozdanie-zaprosov-libreoffice-base.html https://libreoffice.su/base/sortirovka-sozdanie-zaprosov-libreoffice-base.html#comments Wed, 26 Feb 2014 10:59:52 +0000 https://libreoffice.su/?p=199 Следующее, чему следует научиться после создания базы данных, — работа с данными в ней. Сегодня рассмотрим, как в LibreOffice Base выполняются сортировка и создание запросов к базе данных, а также узнаем, как их печатать. В качестве «испытуемой» будем использовать базу данных клиентов, которую мы создали на прошлом уроке. Откроем её в LibreOffice Base и выберем...
Читать полностью...

The post Сортировка и создание запросов в LibreOffice Base appeared first on LibreOffice по-русски.

]]>
Следующее, чему следует научиться после создания базы данных, — работа с данными в ней. Сегодня рассмотрим, как в LibreOffice Base выполняются сортировка и создание запросов к базе данных, а также узнаем, как их печатать.

В качестве «испытуемой» будем использовать базу данных клиентов, которую мы создали на прошлом уроке. Откроем её в LibreOffice Base и выберем пункт Таблицы в окне База данных:

Сортировка создание запросов LibreOffice Base

Сортировка представляет собой процесс упорядочения записей в таблице. Она может выполнятся по возрастанию или по убыванию значений ключа сортировки. Ключ сортировки — это поле, по значению которого производится сортировка. Ключей может быть несколько, и тогда они называются, соответственно, первичным, вторичным и так далее.
Для примера отсортируем дисконтные карты проценту предоставляемых ими скидок. Самую большую выведем сверху — это будет сортировка по убыванию. Откроем таблицу Дисконтные карты, двойным щелчком по ней (или выбором в контекстном меню кнопки Открыть) в окне Таблицы и выделим столбец Размер скидки — для этого щёлкнем по его «шапке». Затем выберем на панели инструментов кнопку По убыванию (base-kn-1) и нажмём её. Получим таблицу, отсортированную по размеру скидки клиента:

Сортировка создание запросов LibreOffice Base

Чтобы использовать несколько ключей сортировки нужно вызвать окно, определяющее их порядок. Оно вызывается кнопкой Сортировать (base-kn-2) и позволяет выбрать последовательность и порядок их использования. Например, так:

Сортировка создание запросов LibreOffice Base

Задание нескольких ключей позволяет определить, как будут упорядочены записи, у которых совпадает ключ сортировки, и унифицировать работу с данными.

Запросы используют для извлечения какой-либо информации из базы данных. Обычно данные в запросе должны отвечать условиям, определяемым пользователем, и содержат данные сразу из нескольких таблиц. Результат запроса обычно выводится в виде таблицы, все записи которой удовлетворяют заданным условиям.
В LibreOffice Base создавать запросы можно в режиме дизайна запросов, мастера запросов и SQL. Для начала рассмотрим его второй метод. Выберем пункт Запросы в окне База данных и пункт Использовать мастер для создания запросов... в окне Задачи. Откроется окно Мастера запросов, в котором на первом шаге нам будет предложено выбрать поля, выводимые в запросе. Предположим, нам нужно вывести список клиентов, у которых набралось больше 30 баллов и обзвонить их. Для такого списка нам понадобятся поле Количество баллов из таблицы Дисконтные карты и поля Имя, Фамилия, Номер телефона из таблицы Клиенты. Выбираем в выпадающем списке таблицу и перекидываем нужное из окна Доступные поля в окно Поля в запросе:

Сортировка создание запросов LibreOffice Base

Нажимаем кнопку Дальше и в следующем окне определяем порядок сортировки данных в итоговой таблице. Допустим, в начале списка нам хочется видеть клиентов с большим количеством баллов. Тогда сортировка будет такой:

Сортировка создание запросов LibreOffice Base

Теперь зададим условие. У нас оно одно, но в общем случае их может быть несколько и для них можно определить, вместе они должны выполняться или для выборки будет достаточно только одного из них:

Сортировка создание запросов LibreOffice Base

Тип запроса оставим по умолчанию — Детальный. Далее нам предлагается выбрать альтернативные названия полей. Их необязательно, но удобно использовать, чтобы поля в таблице запросов были более понятными пользователю. Например, так:

Сортировка создание запросов LibreOffice Base

Также можно использовать псевдоним, если поля из разных таблиц имеют одно и то же имя.
В конце остаётся только определить название запроса и выбрать действие с ним:

Сортировка создание запросов LibreOffice Base

Нажимаем кнопку Готово и получаем таблицу с запросом:

Сортировка создание запросов LibreOffice Base

Очевидно, что в таблице отображается что-то не то. А именно, для каждой записи первой таблицы выводятся все записи второй. Это значит, что таблицы, из которых мы получаем информацию, не связаны между собой. Чтобы создать эту связь откроем запрос в Конструкторе запросов — в окне Запросы правой кнопкой вызываем контекстное меню для нашего запроса и выбираем пункт Изменить. Откроется окно, в котором отобразятся таблицы. Щёлкнем по полю Номер дисконтной карты таблицы Клиенты и перетащим курсор на поле Номер дисконтной карты таблицы Дисконтные карты. Появится линия, соединяющая эти поля:

Сортировка создание запросов LibreOffice Base

Также проверим условие выбора клиентов и уберём в выражении >’30’ одинарные кавычки — иначе возникнет синтаксическая ошибка в выполнении запроса.
После соединения таблиц снова выполним запрос кнопкой Выполнить запрос (base-kn-3) или F5. Или сначала сохраним запрос кнопкой Сохранить и запустим его из главного окна базы. Получим искомый результат:

Сортировка создание запросов LibreOffice Base

Другой путь — создание запроса в режиме дизайна. Создадим в нём запрос с тем же условиями, что и выше. Нажимаем кнопку Создать запрос в режиме дизайна... и в открывшемся окне добавления выбираем нужные нам таблицы и нажимаем кнопку Добавить (два раза, так как таблиц две):

Сортировка создание запросов LibreOffice Base

В верхней части экрана при этом появятся выбранные таблицы, а в нижней мы будем формировать запрос. Сначала в строке Поле последовательно укажем все нужные нам поля. Затем, в строчке Псевдоним под ними впишем альтернативные названия. Строки Таблица и Видимый заполняются автоматический, нам остаётся только указать параметры сортировки и условие. В нашем случае готовая таблица запроса будет выглядеть так:

Сортировка создание запросов LibreOffice Base

Теперь остаётся только сохранить запрос соответствующей кнопкой (base-kn-4) и выполнить его кнопкой base-kn-3. Закономерно получим такой же результат, как в прошлый раз:

Сортировка создание запросов LibreOffice Base

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

Создавать запрос в режиме SQL мы не будем, так как это наиболее сложный способ, который предполагает, что пользователь умеет писать запросы на этом языке. Однако, любой созданный ранее запрос можно увидеть в виде команд SQL, если в контекстном меню запросы выбрать пункт Редактировать в режиме SQL...

Чтобы напечатать запрос или таблицу из базы для дальнейшего использования, нужно открыть текстовый документ или электронную таблицу, которые мы будем отправлять на печать, и базу данных, из которой будем брать информацию. Затем выполним перетаскивание имени нужной таблицы/запроса в открытый документ, что автоматически откроет диалоговое окно Вставка столбцов базы данных. В нём будет предложено выбрать формат вставки данных и столбцы, которые должны быть в таблице:

Сортировка создание запросов LibreOffice Base

Также можно нажать кнопку Автоформат и выбрать внешний вид вставляемой таблицы. Остаётся нажать кнопку ОК и распечатать документ как обычно — с помощью команды Файл->Печать.

На этом уроке мы постарались рассмотреть основные приёмы, необходимые для создания запросов и выполнения сортировки в базах данных LibreOffice Base. Однако, если у вас остались вопросы по данной теме, вы можете задать их в комментариях или на нашем форуме. Мы постараемся оперативно на них ответить 🙂

The post Сортировка и создание запросов в LibreOffice Base appeared first on LibreOffice по-русски.

]]>
https://libreoffice.su/base/sortirovka-sozdanie-zaprosov-libreoffice-base.html/feed 15
Создание базы данных в LibreOffice Base https://libreoffice.su/base/sozdanie-bazyi-dannyih-base.html https://libreoffice.su/base/sozdanie-bazyi-dannyih-base.html#comments Fri, 06 Dec 2013 17:33:29 +0000 https://libreoffice.su/?p=126 База данных — удобное и функциональное хранилище информации, позволяющее осуществлять самую разноплановую работу с данными. Сегодня мы рассмотрим алгоритм создания небольшой базы данных в СУБД LibreOffice Base. При запуске LibreOffice Base автоматически открывается Мастер баз данных, предлагающий создать новую БД, либо открыть существующую. Выберем пункт Создать новую базу данных и нажмем на кнопку Далее: На...
Читать полностью...

The post Создание базы данных в LibreOffice Base appeared first on LibreOffice по-русски.

]]>
База данных — удобное и функциональное хранилище информации, позволяющее осуществлять самую разноплановую работу с данными. Сегодня мы рассмотрим алгоритм создания небольшой базы данных в СУБД LibreOffice Base.

При запуске LibreOffice Base автоматически открывается Мастер баз данных, предлагающий создать новую БД, либо открыть существующую. Выберем пункт Создать новую базу данных и нажмем на кнопку Далее:

Создание базы данных LibreOffice Base

На втором этапе Мастер предлагает два варианта: открыть базу данных для редактирования или сразу приступить к созданию таблиц. Оставим настройки по умолчанию и нажмём кнопку Готово:

Создание базы данных LibreOffice Base

Теперь СУБД предложит нам сохранить нашу базу данных. Выбираем нужную папку, в которой будет хранится база, и даём ей название.

Названия для документов лучше выбирать осмысленные и отражающее содержание хранящейся в ней информации — такие документы сложнее потерять в общей массе и не придётся каждый раз мучительно вспоминать, в каком из них какая информация хранится.

В качестве примера мы создадим базу данных клиентов какого-то абстрактного магазина. Поэтому назовём её «База данных клиентов»:

Создание базы данных LibreOffice Base

Базы данных в LibreOffice Base сохраняются в формате .odb

После того как создан новый файл базы данных, редактор откроет основное рабочее окно СУБД. Здесь можно работать с таблицами, запросами, формами и отчётами. Создавать, редактировать и управлять ими. Каждую из этих форм можно создавать в двух режимах — с помощью мастера (для начинающих) или в режиме дизайна (для опытных пользователей).
Для начала создадим таблицы. Чтобы воспользоваться помощью мастера таблиц, щёлкнем на кнопке Таблицы в окне База данных, а в окне Задачи выберем Использовать мастер для создания таблицы…:

Создание базы данных LibreOffice Base

Мастер создания таблиц предлагает множество готовых шаблонов таблиц и полей в них. Остается только выбрать подходящие из нужной сферы или создать требуемую таблицу самим.
Создание таблицы с помощью шаблонов начинается с определения ее категории с помощью переключателей Деловые/Персональные. В данном контексте нам нужна категория Деловые. В списке Примеры таблиц выбираем название наиболее подходящего образца — в нашем случае это таблица Клиенты.
После щелчка по названию выбранного образца формируется содержимое списка Доступные поля. Нам нужно просмотреть этот список и отобрать те, которые необходимы в таблице. Чтобы поле попало в структуру формируемой таблицы, его нужно выделить, а затем щелкнуть по кнопке >. Для нашей таблицы выберем следующие поля:

Создание базы данных LibreOffice Base

При желании любое поле, включенное в список выбранных полей, можно переименовать. Это можно сделать в окне следующего шага. Мы переименуем поле КодКлиента в более понятное НомерДисконтнойКарты, а также изменим следующие параметры: поля НомерДисконтнойКарты, Имя, Фамилия и НомерМобильногоТелефона сделаем обязательными для заполнения:

Создание базы данных LibreOffice Base

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

Создание базы данных LibreOffice Base

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

В последнем окне Мастер предлагает подправить название таблицы (если нужно) и три варианта дальнейших действий с ней: Немедленно вставить данные, Модифицировать дизайн таблицы, Создать форму на основе данной таблицы. Выберем Немедленно вставить данные и щёлкнем по кнопке Готово:

Создание базы данных LibreOffice Base

В качестве примера введём несколько строчек в нашу новоиспеченную таблицу:

Создание базы данных LibreOffice Base

Далее рассмотрим создание новой таблицы в режиме дизайна. Чтобы создать новую таблицу в режиме дизайна, выберем в окне Задачи пункт Создание таблицы в режиме дизайна.
В открывшейся таблице можно задать поля будущей таблицы. Создадим таблицу Дисконтные карты. В ней будут следующие поля: номер карты, размер предоставляемой скидки и количество баллов на счёте. Введем новые поля в строки сверху вниз: щелкаем ячейку Имя поля и вводим имя для каждого поля данных.
В следующей ячейке справа определяем Тип поля: щелкнув в этой ячейке, выбираем тип поля из списка.
Для каждого поля можно также ввести Описание. Текст описания будет возникать в виде всплывающей подсказки при наведении курсора на заголовок в представлении таблицы. Для примера сделаем пояснение, что скидка должна вводиться не в %, а в долях от 1:

Создание базы данных LibreOffice Base

Ниже таблицы полей вводятся Свойства поля для каждого выбранного поля данных.
Поле Автозначение позволяет автоматически нумеровать записи по возрастанию. В данном случае удобно автоматически получать номер дисконтной карты — для этого поля этот параметр установим в положение Да.
Поля Длина и Знаков после запятой изменяем в зависимости от того, какими будут вводимые данные: скидка у нас может быть до десятых долей процента, поэтому число знаков после запятой — 3.
В поле Значение по умолчанию вводим значения, которые будут подставляться в запись автоматически. Само собой, что в дальнейшем содержимое этого поля можно будет при необходимости изменить. Для нашей таблицы по умолчанию можно заполнять поля РазмерСкидки — скажем, вначале он для всех составляет 5%, а КоличествоБаллов при получении дисконтной карты как правило равно 0.
В поле Обязательное укажем, может ли поле оставаться пустым. В нашем случае специфика таблицы такова, что все поля должны быть заполнены, поэтому для всех установим Да.
Чтобы выбрать поле, которое станет первичным ключом таблицы, нужно правой кнопкой мыши нажать на серый квадрат слева от строки с нужным полем и установить галочку Первичный ключ.

В зависимости от типа базы данных или типа поля некоторые свойства полей могут быть недоступны.

Остаётся только сохранить таблицу — при этом нужно будет ввести её название. Назовём таблицу Дисконтные карты и сохранимся.

Также заполним таблицу Дисконтные карты данными:

Создание базы данных LibreOffice Base

В рамках данного занятия также рассмотрим создание связей между таблицами. Они будут необходимы нам для дальнейшей работы с БД — например, для создания запросов, использующих данные двух или более таблиц. Чтобы создать связь, в основном окне программы выберем пункт меню Сервис->Связи.

Создавать или изменять связи между открытыми таблицами нельзя! Поэтому вначале необходимо закрыть все ранее открытые таблицы базы данных и открыть окно базы данных.

В открывшемся окне нужно сначала добавить таблицы (кнопка Добавить таблицы на панели инструментов, либо аналогичный пункт в меню Вставить) — в окне со списком таблиц выбираем нужную и нажимаем кнопку Добавить.
Затем между таблицами создаётся связь (также кнопка или пункт меню Создать связь):

Создание базы данных LibreOffice Base

В окне Связи выбираем таблицы, между которыми она создаётся (их может быть не больше 2, слева указывается таблица, которая будет главной), поля, с помощью которых она будет осуществляться — в нашем случае это поле НомерДисконтнойКарты, и отношения между таблицами в разных ситуациях. Так при обновлении номера карты в таблице дисконтных карт целесообразно обновлять этот номер и для клиента, держащего карту, а при удалении — обнулять её значение, чтобы не потерять данные клиента и видеть, что карты у него нет:
После нажатия кнопки ОК между таблицами будет создана связь:

Создание базы данных LibreOffice Base

Обозначение «1-1» указывает, что данная связь имеет тип «один-к-одному» и означает, что у одного клиента может и должна быть только одна дисконтная карта.

В данной статье мы постарались рассмотреть основные приёмы, необходимые для создания простой базы данных в LibreOffice Base. Однако, если у вас остались вопросы по данной теме, вы можете задать их в комментариях или на нашем форуме. Мы постараемся оперативно на них ответить 🙂

The post Создание базы данных в LibreOffice Base appeared first on LibreOffice по-русски.

]]>
https://libreoffice.su/base/sozdanie-bazyi-dannyih-base.html/feed 28