Первые шаги
Общие вопросы
О проекте
Контакты
Полезные ссылки
Карта сайта
Вход для участников

Базы данных (Base)

Краткое руководство пользователя OpenOffice.org Base (часть II) Печать
Автор Dmitri Popov   
25.03.2009 г.

Автор перевода: Алексей Решетников

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

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

С этой целью вы создаете базу данных — назовем ее BookWorm, «книжный червь». База будет состоять из трех таблиц: BOOKWORM, BOOKS и REFERENCES. 

Это продолжение статьи "Краткое руководство пользователя OpenOffice.org Base". Начало см. тут  

 

  • Таблица BOOKWORM используется для хранения слов и выражений (поля Entry), их определений (поле Definition), связанным контекстом (поле Context) и различных заметок (поле Notes).
  • Таблица BOOKS хранит информацию о каждой относящейся к базе данных книге и статье, включая их заголовки (поле Title), имя автора (поле Author) и другие имеющие к ним отношение данные.
  • Таблица REFERENCES используется для учета источников, используемых для нахождения определений слов, и включает в себя поля Reference и Notes.

Модель базы данных BookWorm
Модель базы данных BookWorm

Помимо полей, содержащих соответствующую информацию, вам также понадобятся поля, используемые как первичный и внешний ключи. Первичный ключ — это уникальное значение, определяющее запись в таблице, в то время как внешним ключом называется поле, относящееся к соответствующему первичному ключу из другой таблицы. Оба ключа используются, чтобы определить связи между таблицами. В базе данных BookWorm вам нужно соединить таблицы BOOKWORM и BOOKS посредством полей Title, а таблицы BOOKWORM и REFERENCES — с помощью полей Reference (см. рис. модели БД).

Все связи в базе данных являются так называемыми связями «один ко многим». Это значит, что таблица BOOKWORM может содержать множество записей с одинаковыми элементами title и reference (помечены буквой n на рис.), в то время как значения полей BOOKS.Title и REFERENCES.Reference должны быть уникальны (помечены цифрой 1 на рис.). К примеру, вы можете иметь множество слов и выражений из книги, но каждое будет иметь свой уникальный заголовок.

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

Разработав модель базы данных, можно приступить к собственно базе данных. Запустите OpenOffice.org Base и выберите Файл → Создать → Базу данных..., чтобы открыть диалоговое окно Мастера базы данных. Используйте Мастер базы данных, чтобы создавать и сохранять файл базы данных. Когда вы нажмете кнопку Готово, откроется главное окно Base. В этом окне вы создадите свою базу данных.

Создание таблиц

Начнем с создания таблицы BOOKWORM. Выберите Таблицы в окне базы данных и выберите пункт Создать таблицу в режиме дизайна. Появится пустая таблица. Введите имя ID в столбце Имя поля и определите его тип как целочисленный [INTEGER].

Base предлагает широкий диапазон типов полей. Наиболее широко используются такие типы как INTEGER, FLOAT, VARCHAR, DATE и TIME. Типы полей INTEGER и FLOAT могут представлять два вида чисел: целые (например, 1001, 2031, 5673) и дробные (например, 375,75, 12,32, 100,21). VARCHAR хранит строки переменной длины; максимальная длина выбирается в окне Свойства поля. Поле DATE хранит даты, а TIME — время.

Задание первичного ключа
Задание первичного ключа

Чтобы установить поле ID в качестве первичного ключа, щелкните правой кнопкой мыши по указателю записи (зеленый треугольник) и выберите Первичный ключ в контекстном меню. Первичный ключ имеет два требования: он не должен быть пуст и должен иметь уникальное значение. Чтобы разрешить системе вставлять уникальное значение в поле ID каждый раз, когда вы создаете новую запись, выберите Yes в пункте Автозначение в окне свойств поля.

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

Задание свойств первичного ключа
Задание свойств первичного ключа
 

Добавьте остальные поля и установите их типы. Сохраните таблицу (Файл → Сохранить или Ctrl+S) и назовите ее “BOOKWORM”. Теперь, когда вы знаете, как создавать таблицы и поля, вы можете легко добавить таблицы BOOKS и REFERENCES.

Задание связей

Используя инструменты Конструктора связей (Relation Design), можно создавать связи между таблицами, рисуя соединения между первичным и внешним ключами. Чтобы задать связи между тремя таблицами, выберите Сервис → Связи..., и пользуясь диалоговым окном Добавить таблицы, добавьте таблицы.

Чтобы создать связи между таблицами BOOKWORM и BOOKS, выберите поле BOOKS.Title, щелкните и удерживайте левую кнопку мыши, затем проведите линию связи к полю BOOKWORM.Title и отпустите кнопку мыши. Таким же способом добавьте связь между таблицами BOOKWORM и REFERENCES через поля Reference.

 

Задание связей
Задание связей

Следующим шагом является задание свойств связям. Допустим, вы добавили несколько записей в таблицу BOOKWORM, а затем обнаружили ошибку в заголовке книги. Если вы исправите ошибку в поле BOOKS.Title, связь будет разорвана. Чтобы исправить, вам придется исправить заголовки всех связанных с ним записей в таблице BOOKWORM.

 

Свойства связей
Свойства связей

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

Удалив книгу из таблицы BOOKS вы лишите связей все относящиеся к ней записи в таблице BOOKWORM. Чтобы предотвратить это, выберите опцию Удалять каскад в разделе Параметры удаления. Теперь при удалении книги сотрутся все связанные с ней записи.

Назначив связи, сохраните их (Файл → Сохранить или Ctrl+S) и закройте диалоговое окно конструктора связей (Файл →Закрыть).

Создание простого запроса

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

 

Создание запроса
Создание запроса

Предположим, вы хотите создать запрос, позволяющий представить подробный вид записей и связанных с ними книг. Переключитесь в раздел запросов, нажав кнопку Запросы, и выберите пункт Создать запрос в режиме дизайна в разделе Задачи. Откроется окно Построитель запросов и диалоговое окно Добавить таблицы. Добавьте таблицы BOOKWORM и BOOKS в запрос с помощью кнопки Добавить, затем нажмите Закрыть. Все, что вам нужно сделать — это добавить поля в запрос. Это можно сделать как выбирая поля из выпадающего списка в ячейках Поле, так и перетаскивая поля из таблиц в ячейки Поле.

По умолчанию, запрос использует имена полей в качестве меток, но при помощи строки Псевдоним вы можете изменить это, чтобы сделать его более удобочитаемым. К примеру, вы можете установить псевдоним «Word or Expression» (слово или выражение).

Для сохранения завершенного запроса выберите Файл → Сохранить (Ctrl+S) и задайте ему имя. В разделе Запросы появится новый запрос, и вы сможете запустить его двойным щелчком мыши.

Подобным образом создайте два дополнительных запроса: запрос Title, включающий поле BOOKS.Title, и Reference, включающий поле REFERENCE.Reference Позже они понадобятся вам для использования форм.

Создание формы

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

 

Инструментальные панели Конструктора форм
Инструментальные панели Конструктора форм

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

Base предоставляет Мастер форм (Формы → Использовать мастер для создания формы), позволяющий создавать формы с минимумом усилий. Однако, пользуясь им, можно создавать лишь очень простые формы.

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

Щелкните на кнопке Навигатор форм в инструментальной панели Конструктора форм. На открывшемся Навигаторе форм щелкните правой кнопкой мыши по папке Формы и выберите Создать → Форма. Задайте форме описывающее ее имя, затем щелкните правой кнопкой мыши на новой форме и выберите Свойства. Во вкладке Данные выберите Таблица из списка Тип содержимого источника, и BOOKWORM из списка Содержимое.

Чтобы добавить поле Entry к форме, щелкните на кнопке Текстовое поле в инструментальной панели Элементы управления, начертите текстовый блок, затем щелкните дважды на нем. Во вкладке Данные выберите поле из списка Поле данных. Подобным образом добавьте другие поля к форме.

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

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

 

Свойства элемента, вкладка Данные
Свойства элемента, вкладка Данные

Двойным щелчком по этому полю в окне Свойства: поле со списком на вкладке Данные выберите:

  • Заголовок из списка Поле данных,
  • Запрос из Тип содержимого списка,
  • Заголовок из списка Содержимое списка.

Созданная форма позволяет вам добавлять, просматривать и редактировать данные в таблице BOOKWORM, но вы также можете включать данные из других таблиц. Например, возможно, вы захотите просмотреть некие подробности о книге, помимо слов и их определений. Это можно сделать, пользуясь подчиненной формой. Как и предполагает название, подчиненная форма — это просто другая форма, вставленная в главную форму. В окне Навигатора форм щелкните по форме BookWorm и выберите Создать → Форма. Задайте описательное имя подчиненной форме, затем щелкните правой кнопкой мыши на нем и выберите Свойства. Во вкладке Данные выберите Таблица из списка Тип содержимого, и BOOKS из списка Содержимое. Затем вы сможете добавить элементы управления к созданной подчиненной форме.

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

 

Задание связи между главными и подчиненными полями
Задание связи между главными и подчиненными полями

Закончив, сохраните форму и закройте Конструктор форм. Двойным щелчком на созданной форме вы можете открыть ее и начать использовать.

Импорт данных

Пользуясь формами, вы легко можете добавлять новые записи к таблицам. Но что, если у вас уже есть некоторые данные, к примеру, в электронной таблице? Во многих ситуациях вы могли бы захотеть импортировать существующие данные в вашу базу данных. Предположим, у вас имеется файл, созданный в OpenOffice.org Calc, содержащий список книг, и вы хотите импортировать его в таблицу BOOKS.

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

Импорт данных
Импорт данных

Теперь выделите данные в электронной таблице и скопируйте ее в буфер (Правка → Копировать или Ctrl+C). Откройте базу данных, щелкните по кнопке Таблицы и выберите таблицу BOOKS. Щелкните правой кнопкой и выберите Вставить. В диалоговом окне Копирование наберите соответствующее имя таблицы-получателя данных (таблицы BOOKS) в поле Имя таблицы, и выберите опцию Добавить данные.

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

Заключение

Чтобы извлечь максимум пользы из приложения OpenOffice.org Base, вам понадобится время и терпение. Но, познакомившись поближе с его основными особенностями, вы сможете создавать довольно впечатляющие приложения для работы с базами данных.

 

Обсудить на форуме...

  •  Это продолжение статьи. Начало см. тут
  •  Оригинальная статья ooobaseprimer
  •  Автор перевода: Алексей Решетников
  •  Модификации от MyOOo.ru: локализация пунктов интерфейса, коррекция перевода
Последнее обновление ( 09.09.2012 г. )
 
« Пред.   След. »

Главная arrow Базы даных (Base) arrow Краткое руководство пользователя OpenOffice.org Base (часть II)

MyOOo.ru, 2008 — 2017. Хостинг предоставлен компанией Netangels