
- •1. Цель лабораторной работы
- •2. Основные сведения
- •2.1. Информационные системы и базы данных
- •2.2. Основные элементы реляционных баз данных
- •2.3. Связывание таблиц
- •2.4. Запросы в бд
- •Субд org. Base
- •2.5.1. Общее описание
- •2.5.2. Проектирование и создание базы данных
- •2.5.3. Создание таблиц в oOoBase
- •2.5.4. Формирование связей между таблицами многотабличной реляционной бд (создание схемы данных)
- •2.5.5. Заполнение таблиц и организация форм в бд
- •2.5.6. Запросы
- •2.5.7. Отчеты
- •3. Порядок выполнения л/р
- •4. Контрольные вопросы
Субд org. Base
2.5.1. Общее описание
OpenOffice.org - кроссплатформенный офисный пакет, распространяемый по свободной лицензии GPL (GNU Public Licence), поэтому его достаточно выгодно использовать в решении офисных задач. Компонент пакета OpenOffice.org, обеспечивающий работу с базами данных (БД) - OpenOffice.org Base (OOo Base) может работать как с базами собственного формата, так и с базами, созданными для серверов баз данных типа Oracle или MySQL. В этом случае он играет роль оболочки (front-end) для сервера баз данных. Далее будет рассматриваться локальная (персональная) база данных, но технология при работе с серверами баз данных ничем не отличается.
Следует отметить, что базу, созданную в OOo Base, скопировать на другие носители или в другие каталоги невозможно. Можно сохранить таблицы данных, но связи и запросы не сохранятся. Это гарантирует некоторую безопасность баз данных.
Для успешной работы, генерации форм и отчетов необходимо использовать виртуальную машину Java (JRE). Она может бать включена в состав сборки OpenOffice.org, в состав дистрибутива Linux или xBSD, а также может быть получена другими путями, поскольку сборки JRE являются бесплатными (freeware).
В состав базы данных OOo Base обычно входят четыре вида документов (объектов):
таблицы - служат для хранения данных в определенной структуре;
запросы - создаются для выборки данных из одной или нескольких связанных таблиц;
формы - предназначены для ввода, редактирования и просмотра табличных данных на экране в удобном виде;
отчеты - являются выходными документами, предназначенными для вывода на принтер.
Таблицы составляют основу базы данных − именно в них хранятся все данные. Таблицы должны быть тщательно спланированы. Прежде всего, должна быть определена структура каждой таблицы. Структура таблиц обуславливается содержанием тех выходных форм, запросов и отчетов, которые должны быть получены при работе с базой данных. При планировании таблиц необходимо избегать повторения столбцов в разных таблицах, только если они не служат для определения связей между ними.
Таблица − это объект БД, который хранит данные определенной структуры. Таблица состоит из записей (строк), каждая из которых описывает одну сущность. Каждый столбец таблицы − это поле. Поле содержит однотипную информацию, определяющую тип данных. Тип данных определяет вид и диапазон допустимых значений, которые могут быть введены в поле, а также объем памяти, выделяемый для этого поля, что немаловажно при проектировании больших БД.
Указание типа поля требуется, во-первых, для его правильной обработки (над текстом нельзя производить такие же операции, как над числами, а с датами нельзя работать как с логическими величинами), а во-вторых, для эффективного распределения памяти. В существующей на момент написания данного методического указания документации по пакету нет никаких сведений о типах данных. Поэтому приведем описания типов данных в таблицах OOo Base на основе аналогий с другими базами данных:
Короткое целое [TINYINT] - используется чаще всего для нумерации при небольшом количестве позиций.
Длинное целое [BIGINT] - целое увеличенной разрядности. В 32-разрядной системе для такого целого выделяется 64 бита.
Картинка [LONGVARBINARY] - большой двоичный объект с переменным размером размера в десятки и сотни Кбайт (в других базах данных такой тип называется BLOB).
Двоичное [VARBINARY] - двоичный объект с переменным размером. Имеется возможность экономии памяти, если в разных записях это поле реально имеет разный размер.
Двоичное (фикс.) [BINARY] - двоичный объект фиксированного размера.
Памятка [LONGVARCHAR] - большой текст (до 64 Кбайт). В других базах данных такой тип называется MEMO.
Текст (фикс.) [CHAR] - строка с жестко заданным количеством символов.
Число [NUMERIC] - натуральное число. Диапазон чисел определяется разрядностью системы.
Десятичное [DECIMAL] - число с плавающей точкой. Необходимо указывать количество знаков после десятичной точки.
Целое [INTEGER] - целое число. В 32-разрядной системе 1 бит выделяется на знак, 31 бит - на значение целого числа.
Короткое целое [SMALLINT] - целое число с разрядностью, вдвое меньшей, чем в системе. В 32-разрядной системе разрядность занимает 16 бит.
С плавающей точкой [FLOAT] - число с плавающей точкой (аналогично DECIMAL).
Вещественное [REAL] - вещественное число. В 32-разрядной системе представляется как 32-разрядные мантисса и порядок.
С двойной точностью [DOUBLE] - вещественное число двойной точности.
Текст [VARCHAR] - строка до 256 знаков. Если реальная длина строки в поле меньше заданной, возможна экономия памяти.
Текст [VARCHAR_IGNORECASE] - строка, в которой не различаются строчные и прописные буквы.
Логическое [BOOLEAN] - данные логического типа.
Дата [DATE] - календарная дата.
Время [TIME] - время.
Дата/время [TIMESTAMP] - так называемый «UNIX timestamp» Означает число миллисекунд, прошедших с начала «эры UNIX».
Другое [OTHER] - данные любого другого (не указанного выше) типа.