Журнал LinuxFormat - перейти на главную

LXF84:OpenOffice.org Base

Материал из Linuxformat
Перейти к: навигация, поиск
OOo Base

Содержание

OOo Base: Шаг 1

Базы данных – это сложные непонятные штуки, в которых разбираются только крутые хакеры? Это так, да не совсем! Энди Ченнел берет быка за рога и принимается за OpenOffice.org Base.

Для многих обычных пользователей базы данных не представляют интереса: они выглядят чересчур сложными для того, чтобы стоило возиться с ними. Однако существует пара приложений, которые пытаются устранить этот барьер и принести радость (я действительно сказал «радость»?) работы с БД в массы. Последняя версия KOffice включает в себя неплохое приложение Kexi, в то время как офисный пакет OpenOffice.org укомплектован программой под названием Base. В этот раз мы поговорим именно о последней, потому что, с одной стороны, она не так сильно интегрирована в рабочее окружение, как Kexi (что конечно не мешает вам использовать Kexi в Gnome), а с другой, OОo в целом справляется с поставленными задачами чуть лучше, что будет для нас важно на начальных стадиях нашего проекта.

На самом деле, база данных, которую я собираюсь создать представляет собой инвентаризацию моих вещей на тот случай, если они будут украдены или просто потеряются. Для этого в OОo Base имеется специальный мастер – по сути, это заранее написанный скрипт – как раз для моей цели. Итак, мы начнем с этого примера, который иллюстрирует важные для нас принципы, а затем немного изменим стандартную БД, углубившись в теорию.

На нашем диске вы найдете последнюю версию ООо, которая содержит готовый к работе Base и остальные компоненты этого офисного пакета.

Часть 1 Что такое база данных?

Регистрация БД уведомит OOo об ее существовании. Это полезно, если вы, к примеру, создаете документы для большой адресной книги. Давайте сперва запустим приложение, для чего выберите OpenOffice.org Base из пункта меню Офис (в вашем дистрибутиве он может называться по-другому). Когда появится окно программы, выберите пункт Create a New Database (Создать новую базу данных). На следующем экране убедитесь что оба пункта Yes, register the database for me (Да, зарегистрировать мне базу данных) и Open the database for editing (Открыть базу для редактирования) отмечены, после чего нажимайте кнопку Finish.

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

На что способны таблицы

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

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

Убедились? Теперь перейдем к таблицам, и запомните: девиз серии «Первые шаги» – Сначала составляем план.

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

Определяемся с данными

Вниманию грабителей

Хранить всю важную информацию на компьютере – достаточно легкомысленная затея, особенно если учесть, что компьютер в первую очередь привлекает внимание квартирных воров. В то же время, нельзя забывать и про резервные копии. Здесь вам не помешает немного параноидальной осторожности и совет хранить резервные CD/DVD в каком-нибудь месте вне дома. К счастью, наша простая база данных представляет собой один аккуратный ODB-файл, который можно отправить по e-mail на удаленный web-сервер или записать на CD-R и спрятать на дедушкином чердаке.

Нужно продумать, какого типа будет каждая информационная ячейка. Поле Product Name (Название предмета) [кстати, в БД предпочтительнее использовать названия, набранные латинскими буквами. Это не относится к тексту ячеек, – прим.ред.] должно быть текстовым, в то время как поле Price (цена) – числовым, причем в определенном формате – десятичном или валютном – для того, чтобы введенные цены автоматически приводились к одному виду.

На первое время мы будем использовать всего несколько типов данных, включая простой текст, десятичные числа и дату, но в дальнейшем можно будет добавить и отдельные категории (кухня, компьютер, музыка и др.) во вторую таблицу. В нее, в свою очередь, можно включить параметр «да/нет», указывающий на то, использует ли категория флажки или выпадающие списки. Более крупная БД вполне может содержать две и более таблиц. Например, база данных школы может содержать одну таблицу с информацией об учителях и вторую – о детях; эти две таблицы могут быть связаны отношением учителя к классу, в котором он преподает. Третья таблица может быть посвящена оценкам за экзамены и при этом быть связанной с таблицами учителей и учеников.

Сейчас у меня есть список из семи свойств предметов: название, производитель, модель, цена, место покупки, дата покупки и серийный номер. Эти свойства следует объединить под общей категорией Record ID (Карточка), поэтому самое время запустить первый мастер в OОo Base: мастер таблиц.

Часть 2 Немного волшебства

1 Вызовите мастера

LXF84 oobase2.jpg

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

2 Выберите поля

LXF84 oobase3.jpg

Начните с выбора наиболее подходящей для вас категории – Деловой или Персональной, в соответствии с которыми меняется содержимое примеров таблиц и списка полей. Нас интересует категория Персональный и тип таблицы под названием Домашний_Инвентарь. Выбрав эти пункты, мы переходим чуть ниже, и теперь нам нужно переместить нужные нам переменные поля из левой части списка в правую. Для этого щелкните по названию поля, а затем по верхней кнопке со стрелкой вправо (кнопка с двойной стрелкой работает по принципу «выделить все»). Выбранные вами поля можно сдвигать относительно друг друга при помощи кнопок вверх/вниз, меняя таким образом их очередность.

3 Что за данные?

LXF84 oobase4.jpg

На следующем этапе вам нужно задать тип данных для каждого поля. Почти везде у нас будут текстовые поля, но нам также понадобится одно числовое поле (для цены) и одно поле в формате даты (для времени покупки). Для каждого поля есть специальный пункт, определяющий обязательность его заполнения. Если выставить значение да, то пользователь не сможет сохранить изменения до тех пор, пока не заполнит это поле. На этом этапе вы также может добавить, удалить или изменить порядок полей, используя кнопки +, – и стрелки вверх/вниз. Если вы не пользуетесь мастером, два последних действия можно выполнить в отдельном окне, которое по виду похоже на электронную таблицу. Слева вы вводите названия полей, а справа выбираете из списка нуж-

4 Создаем форму

LXF84 oobase5.jpg

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

5 Ограничения полей ввода

LXF84 oobase6.jpg

Теперь пора выбрать стиль формы – расположение полей ввода и меток. Щелкните по нужному варианту и перейдите на следующий экран, отвечающий за источники данных. На этом этапе мы можем установить ограничения на дальнейшее редактирование содержимого полей. Из двух категорий в этом окне нас интересует вторая (Форма для отображения всех данных), которая означает, что все пользователи смогут просматривать содержимое БД через диалоги форм OОo. Оставьте все пункты нетронутыми.

6 Последний шаг – оформление

LXF84 oobase7.jpg

Наконец у нас появилась возможность выбрать стиль оформления из подборки ООо, дать форме имя и насладиться результатом – готовой для ввода данных формой! Особо отмечу, что для своей БД вы можете наделать сотни таких форм, просто запуская мастер снова и снова. Это может сыграть вам на руку, если вы хотите создать две почти одинаковые формы, в одну из которых будет внесена, к примеру, стоимость компьютеров, гитар и редких пластинок, а в другую – нет. Так вы сможете сохранить конфиденциальность своих расходов. И не только вы.

Бриджит Бардо использует Mandriva

Ну каким еще заголовком привлечь вас к чтению о моделях БД? Так что, пока вы здесь... В Wikipedia описаны шесть популярных типов баз данных, однако действительно широко распространены только два из них: плоский файл и реляционная БД. Первые представляют собой двумерный массив строк и столбцов. Строки связаны между собой – они описывают одну и ту же сущность, а колонки содержат данные определенного типа: валюту, дату и т.п. База данных из нашего учебника – типичный пример плоского файла. В свою очередь, реляционная БД состоит из нескольких плоских файлов (таблиц) и хорошо подходит для описания взаимоотношений между ними. Распределение данных между несколькими таблицами снижает число дублей и позволяет улавливать гораздо более глубокие связи. Например, результаты экзамена можно связать с учителем, группой учащихся и Министерством Образования.

Часть 3 Добавляем данные

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

А как же второй способ заполнения базы данных? Об этом мы поговорим в следующий раз...

Пойдем со мной

(thumbnail)
Сортировка изменяет порядок отображения полей.

В редакторе таблиц имеются некоторые важные инструменты, позволяющие делать большую часть работы в этом окне, поэтому давайте изучим его подробнее. Вдоль верхней части окна располагается строка меню с привычными пунктами. Под ней находится панель инструментов, с помощью которых можно фильтровать, проводить поиск и менять порядок полей в вашей базе данных. На картинке сверху справа первые шесть иконок представляют собой привычный комплект из разряда копировать/вырезать/вставить. Тем не менее, обратите внимание на первую иконку (маленькая дискета с черным треугольником). Нажатие этой кнопки сохраняет сделанные записи, поэтому будет неплохо, если вы возьмете за правило сохранять изменения при каждом объемном вводе данных. Обратите внимание, что каждый раз, когда вы доходите до конца строки и внизу появляется чистая, изменения автоматически сохраняются в базе. Но этого не происходит при исправлении уже заполненных строк.

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

Скорая помощь

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

За поиском следует кнопка Обновить/Перечитать, о которой я расскажу в следующий раз. Далее у нас имеются три инструмента сортировки. Первый называется незамысловато: Сортировка. По щелчку появится диалоговое окно, в котором мы можем, к примеру, упорядочить все наши записи по стоимости в виде списка (выберите Возрастающий для того, чтобы в начале были самые дешевые предметы, или букву А и Убывающий для алфавитного просмотра самых дорогих; можно наоборот) или по дате приобретения. Функция сортировки работает по тому же принципу, что и диалог поиска. Задайте образец искомого, и ваши данные будут упорядочены в соответствии с вашим запросом. Если хотите, можно сделать все немного проще – для обычной сортировки по одному параметру, например, щелкните по имени соответствующего поля, а затем по нужной кнопке сортировки (По убыванию или По возрастанию). Вы всегда можете вернуться к оригинальному расположению записей, щелкнув по полю ID и кнопке По Возрастанию.

Отфильтрованное

(thumbnail)
Фильтрование позволяет выделить определенные части таблицы. Боже мой, сколько же я всего накупил!

За вариантами сортировки следуют фильтры. С их помощью мы можем выделить записи или группы записей на основе заданного критерия. Первая иконка называется Быстрый фильтр, в качестве критерия она использует содержимое текущей ячейки. Если я выделю ячейку с ценой £65 и нажму кнопку быстрого фильтра, то все ячейки данного поля, которые не содержат «£65», пропадут, а те, в которых эта цена имеется, поднимутся к верху таблицы. Чтобы сбросить фильтрование, используйте кнопку Сбросить фильтр/сортировку (четвертая в этой группе). Третья по счету иконка вызывает стандартный диалог фильтра, позволяющий задать более гибкие параметры выборки по нескольким полям (похоже на описанный выше диалог поиска).

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

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

Персональные инструменты
купить
подписаться
Яндекс.Метрика