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

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

База данных за пять минут. Создание Печать
Автор bsv999   
12.07.2008 г.

Потребовалось мне создать небольшую базу данных по видеоматериалу, который имеется у меня и моих знакомых. Хочется иногда посмотреть определённый фильм, но не помнишь, где он лежит (в коробке с DVD-дисками, на жёстком диске или брал на флешке у знакомого на работе).

По некоторым причинам мне пришлось создать базу данных в программе OpenOffice.org Base 2.4 pro, используя встроенный движок баз данных. В этой статье кратко описан процесс создания этой базы данных.

Проектирование базы данных

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

  • TYPE - тип видеоматериала (художественное кино, документальное, мультфильм и т.д.)
  • NAME - название видеоматериала
  • DESCRIPT - краткое описание
  • SCREENSHOT - скриншот (снимок экрана)
  • COVER1 - обложка диска 1
  • COVER2 - обложка диска 2
  • DISC1 - диск 1
  • DISC2 - диск 2
  • PLACE - место расположения видеоматериала

Схема главной таблицы
Схема главной таблицы

Все таблицы и все поля всех таблиц называются большими английскими буквами.
После некоторого раздумья решил переименовать поле PLACE в USER (то есть, я буду указывать не "где расположен видеоматериал", а "у кого").
Количество вариантов типов видеоматериала и мест его расположения ограничено. Поэтому я решил создать ещё две таблицы TYPES и USERS, чтобы использовать их как справочники:

Схема главной таблицы со справочниками
Схема главной таблицы со справочниками

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

Теперь, когда принцип работы базы данных в общих чертах ясен, приступаем к созданию в ООо новой базы данных.
Запускаем OpenOffice.org Base. На первых двух экранах ничего не меняем (оставляем "Создать новую базу данных" и "Да, зарегистрировать базу данных" (чтобы запомнить место расположения новой базы и подключаться к ней автоматически)).

Если вы сохраните базу данных в какой-нибудь каталог, а потом добавите этот каталог в доверенные ("Сервис" - "Параметры" - "OpenOffice.org" - "Безопасность" - "Безопасность макросов" - "Доверенные источники"), то макросы будут запускаться без дополнительного вопроса.

 

Присвоим нашей новой базе данных имя VideoBase и расположим в удобном нам месте.

Теперь надо "Создать таблицу в режиме дизайна".

Заполняем столбец "Название поля" нашими полями. Все свойства полей оставляем по умолчанию, кроме одного - DESCRIPT, его длину увеличим в 10 раз.
Нажимаем кнопку "Сохранить". Называем таблицу MAIN (небольшое несоответствие в названиях полей объясняется постоянным изменением видения этой базы данных разработчиком):

Структура главной таблицы
Структура главной таблицы

При сохранении таблицы программа предложит создать первичный ключ:

Сообщение, выдаваемое Base при первом сохранении новой таблицы
Сообщение, выдаваемое Base при первом сохранении новой таблицы

Ключ необходим, ведь без него таблица будет в режиме "только чтение" (я не критикую ООо за это необоснованное ограничение), поэтому мы создаём поле ID. Свойство "Автозначение" этого поля надо установить в состояние "Да" и закрыть эту таблицу.
Таким же способом создаём таблицы справочников TYPES и USERS:

Структура таблицы TYPES
Структура таблицы TYPES

Структура таблицы USERS
Структура таблицы USERS

В этих двух таблицах сразу после первого сохранения и создания первичного ключа переименовываем ключевое поле в TYPES_ID и USERS_ID (это делать необязательно, просто я привык называть ключевое поле таблицы именем таблицы).

Потом заходим в меню "Сервис" - "Связи..." и создаём связи согласно нашей схеме - захватываем мышкой поле TYPE из таблицы MAIN и соединяем его с полем TYPES_ID таблицы TYPES, повторяем эти действия для таблицы USERS (эти связи делать необязательно, просто я привык к этому).
Теперь мы имеем работоспособную, но пустую базу данных. Осталось создать интерфейс пользователя, то есть форму, куда можно вводить данные.

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

Процесс создания формы несложен и отдельного описания не требует: с помощью мастера выбираем все поля, создаём форму для таблицы MAIN. Все установки оставляем по умолчанию, только на пятом шаге "Расположить элементы управления" выбираем расположение, отличное от таблицы, и на восьмом шаге включаем режим "Модифицировать форму".

Настройка формы

Настройка формы заключается в добавлении "Графических элементов управления" и изменении типа объектов, связанных со справочниками (помните - "мастер создания форм не может создать графическое поле и поле со списком"?).
Добавить графический элемент и связать его с базой очень просто:

Добавление графического элемента и связывание его с базой данных
Добавление графического элемента и связывание его с базой данных

Сложнее настроить справочные поля. Для этого "Текстовое поле" надо заменить на "Список", а потом заставить этот список работать. Итак, сначала обработаем поле TYPE:

  1. Разгруппируем группу полей TYPE, чтобы управлять полями по отдельности.
  2. В режиме конструктора форм заменяем тип поля на "Список":
    Заменяем тип поля на ''Список''
    Заменяем тип поля на ''Список''
  3. В свойствах "Данные" этого поля устанавливаем нужные нам значения:
    Устанавливаем нужные нам значения
    Устанавливаем нужные нам значения
  4. Свойство "Ракрываемый" меняем на "Да". Теперь наш контрол стал красивый и мощный.

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

  1. Переименовываю таблицу TYPES в TYPES1.
  2. Копирую её и вставляю как TYPES ("Структура и данные").
  3. С помощью мастера вставки ключевое поле делаю вторым: в окне "Выбор полей" первым переношу поле NAME, а потом все остальные.
  4. Удаляю таблицу TYPES1 (если Вы сделали связи таблиц, вам придётся удалить эту таблицу из "Сервис" - "Связи...", а после удаления снова добавить).

Двойным щелчком открываем таблицу TYPES для ввода данных. Надо ввести хотя бы три записи:

Надо ввести хотя бы три записи
Надо ввести хотя бы три записи

Проверяем наш изменённый контрол на форме (чтобы он заработал, надо перезагрузить форму):

Проверяем наш изменённый контрол на форме
Проверяем наш изменённый контрол на форме

Аналогичные операции проделываем с полем и таблицей USERS.

Использование базы данных

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

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

Последнее обновление ( 09.09.2012 г. )
 
След. »

Главная arrow Базы даных (Base) arrow База данных за пять минут. Создание

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