Base
В состав базы данных Open. Office. Base обычно входят четыре вида объектов: • таблицы служат для хранения данных в определённой структуре; • запросы служат для выборки данных из одной или нескольких связанных таблиц и отображают их в виде некоторой виртуальной таблицы. С помощью запросов, можно указать какие именно поля выбранных таблиц нужно отобрать и критерии отбора строк • формы отображают на экране в удобном виде данные, содержащиеся в таблицах и запросах, и позволяют просматривать, добавлять, удалять или редактировать информацию. • отчёты являются выходными документами, предназначенными для вывода на принтер.
Создание базы данных • Процесс создания базы данных рассмотрим на примере описанной ранее модели базы данных студентов университета. • Запустим Open. Office. org и выберем пункт меню База данных
• Запустим Open. Office. org Base и появится диалоговое окно мастера баз данных, в котором на первом шаге следует выбрать пункт Создать новую базу данных
• На втором шаге необходимо зарегистрировать базу данных, т. е. ввести имя файла базы данных и указать путь доступа к файлу. На вопрос, что сделать после сохранения базы данных поставим флажок «Открыть базу для редактирования» для продолжения работы с базой. Заметим, что файл базы данных Open. Office. org Base имеет расширение ODF.
• В следующий раз, когда база данных будет создана нужно будет только ее открыть, выбрав пункт Открыть существующий файл и указать путь доступа к файлу базы данных, нажав кнопку Открыть.
• Главное окно работы с базой данных Open. Office. org Base показано ниже
• Open. Office. org Base имеет хорошую справочную систему, которая поможет ответить на многие вопросы. Для вызова справки выберем пункт меню Справка или на панели инструментов нажмем пиктограмму справки знак вопроса или нажмем кнопку F 1.
• При изучении интерфейса Base можно воспользоваться средством подсказки Что это такое? в меню Справка. При нажатии этого пункта появляется знак вопроса, при подведении которого к пиктограммам появляется объяснение.
Создание таблиц • Далее необходимо задать структуру таблиц. Для этого существуют два способа: с помощью мастера таблиц и в режиме конструктора (дизайна). Мастер создание таблиц представляет собой средство для знакомства с процессом создания таблиц. • Далее описан режим создания таблиц с помощью Конструктора. Умение использовать этот способ необходимо каждому пользователю для создания новых таблиц и модификации структуры уже существующих. • Для описания структуры таблиц Студент базы данных необходимо задать названия полей таблицы (столбцов), тип каждого поля таблицы, а также первичный ключ таблицы. • Тип данных каждого поля тоже нужно указать обязательно. Происходит это в результате выбора значения второго столбца таблицы из раскрывающегося списка.
• Чтобы задать Первичный ключ следует выделить одно поле или несколько полей (для этого нужно держать нажатой кнопку CTRL) подведкм курсор к первому столбцу выделенных строк и нажмкм правую кнопку мыши. В появившемся контекстном меню поставим флажок в последней строке Первичный ключ. Слева от названий выбранных полей появятся изображения ключа • Создаваемое поле, подобно другим объектам, имеет свойства. Эти свойства можно установить, чтобы задать метод сохранения и отображения данных этого поля. Поля, создаваемые в режиме Конструктор, используются другими объектами базы данных, работающими с таблицами, например формами, отчетами и запросами. • Первые четыре свойства поля задаются в верхней части окна конструктора — в таблице с перечнем полей: название поля, тип, описание, ключевое поле. В нижней части конструктора указывается остальные свойства поля.
• • Их список зависит от типа поля: Автозначение. Это свойство определяется для типа Целое. Значение «Да» выбирается в случае, если поле будет содержать автоинкрементные значения. В этом случае, вы не сможете непосредственно вводить в него данные, поскольку для каждой новой записи этому полю будет автоматически присвоено уникальное значение (которое получается, благодаря увеличению на единицу значения из предыдущей записи). Такой тип данных называют Счетчик и используют его для задания первичных ключей. Размер (длина) каждого поля таблицы. Задает максимальное число символов текстового поля и ограничивает диапазон значений числовых полей. Для текстовых полей длина выбирается из расчета, что бы хранимые данные полностью уместились. Для числовых полей размер полностью определяется выбранным типом. Число знаков после запятой. Задает число десятичных знаков после запятой в числовых полях типа Вещественный и С двойной точностью. Особенно важно указать значение этого поля для полей, которые выражены в денежных единицах ( 2 знака после запятой).
• Обязательное. Указывает обязательно ли в это поле должны быть введены данные или его можно оставить незаполненным (NULL ). Выберите "Да", если значение этого поля не должно быть равно NULL. • Значение по умолчанию. Задает стандартное значения, автоматически вводимое в новые поля. • Пример формата. Задает формат отображения данных поля, например дат, чисел и т. д.
Конструктор таблицы Студент
Конструктор таблицы Оценки Обратите внимание, что поля код студента и код дисциплины имеют то же самое имя и тот самый тип данных, что и соответственно в таблицах Студент и Дисциплина. Но свойство Автозаполение имеет значение «Нет» , так как здесь они не увеличиваются автоматически, а должны соответствовать четко определенной строке в таблицах Студент и Дисциплина. Что бы обеспечить это соответствие необходимо задать связи между таблицами.
Создание связей между таблицами Для создания связей между таблицами необходимо выполнить следующий порядок действий: 1. Находясь в окне базы данных, выберите пункт меню Сервис. . . Связи, появится окно схемы данных(конструктор связей), которое должно содержать все таблицы базы данных и связи между таблицами. 2. Выберите пункт меню Вставка Добавить таблицы (или пиктограмму на панели инструментов) и добавьте все таблицы базы данных. В окне диалога добавления таблицы поочередно выберите каждую из таблиц и нажмите для каждой из них кнопку Добавить. Нажмите кнопку Закрыть. 3. Для установки связей ( на примере связи между таблицами Студент и Оценки) переместите мышью поле код студента из схемы таблицы Студент на место поля код студента таблицы Оценки. Этот же пункт можно выполнить непосредственно в окне связей, которое вызывается из меню Вставка или пиктограмму на панели инструментов. 4. В окне Связи можно выбрать параметры обеспечения целостности данных при связывании таблиц. Возможно каскадное удаление и обновление связанных полей. Каскадное удаление в нашем случае означает, что при удалении студента, удалятся все данные об его оценках. 5. Для редактирования связей достаточно двойного щелчка мыши по линии, изображающей связь. Для удаления связи, используйте контекстное меню, вызываемое правой клавиши мыши по линии связи. 6. Сохраните макет Связи и выйдете из него. •
Конструктор связей. Добавление таблицы Оценки
Конструктор связей. Схема данных и окно связи между Оценки и Студент Отметим, что установлена связь типа один ко многим. Эта связь не позволит вам ввести оценки для несуществующего студента.
Индексы • Индексом называется специальная таблица, обычно представляемая в виде файла или части файла, в которой значение поля в индексированном файле соотносится с номером записи или номером страницы и положением на странице. • Индексы используются в программах управления базами данных для установки связи между значениями ключевых полей и расположением информационных элементов на диске. Индексы представляют собой наиболее эффективное средство, которое позволяет значительно ускорить поиск данных в таблицах по сравнению с таблицами, не содержащими индексов. Но необходимо отметить, что большое количество индексов замедляет добавление и модификацию данных.
• Индекс часто состоит из одного поля, но может состоять и из нескольких полей. Индекс может быть уникальным, тогда в таблице в поля индекса не допускаются повторяющиеся значения. Если индекс не является уникальным, то повторяющиеся значения допускаются. В Open. Office. Base автоматически создается уникальный индекс для первичного ключа таблицы. Для внешнего ключа создается индекс, не являющийся уникальным. • Индексы определяются в окне индексов в режиме конструктора таблицы. (меню Сервис. . Проектирование индекса) В этом окне вы должны ввести имя индекса, имена полей, которые входят в этот индекс, указать порядок сортировки для каждого поля. По умолчанию он «По возрастанию» . В свойствах индекса в окне индексов указывается уникальность индекса. На рис. далее показано окно индексов для таблицы Студент. Автоматически созданы два индекса: для первичного ключа код студента создан уникальный индекс. Для поля код группы, который является внешним ключом для связи с таблицей Группа, создан индекс, не являющийся уникальным.
Индексы таблицы Студент
После того как созданы все таблицы, определены связи между ними, заданы индексы, таблицы базы данных необходимо заполнить. Это можно сделать в стандартном режиме работы с таблицами или создать специальные формы для ввода данных. Заполнение данных таблицы Студент
• Заполнение базы данных информацией следует начинать со справочников -иначе при заполнении главных таблиц возникнут конфликты сохранения ссылочной целостности базы. Например, если в справочнике групп будет код группы, указанного для студента, появится сообщение "Введенное значение не подходит для данного поля" и Вы не сможете сохранить данные, пока не укажете правильное значение.
Ошибка при вводе данных
Создание запросов • Запрос является объектом базы данных Open. Office Base и служит для выборки данных из одной или нескольких связанных таблиц и отображения их в виде некоторой виртуальной таблицы. С помощью запросов, можно указать какие именно поля выбранных таблиц нужно отобрать и критерии отбора строк. • Конструкция запроса сохраняется в файле базы данных, и запрос может быть применён многократно при изменениях данных в исходных таблицах. • Выделяют два типа запросов: QBE-запросы (Query By Example - запрос по образцу, пользователь дает им определение, специфицируя отдельные параметры в специальном окне проектирования (бланке запроса) с использованием подсказок из раскрывающихся списков, и SQL-запросы (Structured Query Language - структурированный язык запросов)), формулируя их, пользователь применяет инструкции и функции на языке запросов SQL. QBE-запрос легко транслируются в соответствующий SQL-запрос. Обратная операция также не составляет труда.
Раздел запросов
• В Open. Office Base возможны три варианта создания запроса: 1. В режиме конструктора. 2. С помощью мастера запросов. 3. В SQL представлении. • Рассмотрим окно конструктора запроса, в котором представлена конструкция запроса для выбора студентов, получивших пятерки по дисциплинам. • Каждый столбец таблицы конструктора содержит поле данных для запроса. Условия критерия в одной строке связаны с логическим И.
Бланк запроса содержит следующие строки, в которых указываются параметры для полей, заданных в столбцах бланка: • • Поле. Здесь задаются имена полей, которые необходимо отобрать в результате запроса. Если щелкнуть эту ячейку, появится стрелка, позволяющая выбрать имена полей таблиц, добавленных в схему запроса. Псевдоним. . Этот псевдоним будет указан в запросе вместо имени поля. Это позволяет применять подписи столбцов, определенные пользователем. Таблица. Здесь указана таблица базы данных, соответствующая выбранному полю данных. Если щелкнуть эту ячейку, появится стрелка, позволяющая выбрать другую таблицу текущего запроса. Сортировка. Выбор ячейки позволяет выбрать параметры сортировки: по возрастанию, по убыванию и без сортировки. Текстовые поля сортируются в алфавитном порядке, а числовые поля - в порядке числовых значений. Видимый Чтобы сделать поле видимым в запросе, пометьте его свойство Видимый. Если поле данных используется только для формулировки условия, показывать его не обязательно. Критерий. Задание условий отбора данных содержимого поля данных. Или. Здесь можно ввести дополнительные условия для фильтрации каждой строки. Несколько условий в одном столбце будут соединены с помощью оператора "ИЛИ". Функция. Здесь указываются функции для обработки данных групп, указываются поля группировки и др.
Конструктор запросов
• Если пользователь составляет запрос на основе нескольких таблиц, между этими таблицами необходимо объявить отношение, связывая их поля друг с другом. • Если используемые в запросе таблицы не связаны друг с другом, то результат обработки запроса может оказаться некорректным. Связь отображается на экране соединительной линией между связанными полями обеих таблиц. Если между таблицами уже существуют отношения, то соответствующие связи показываются автоматически. Для определения связи между двумя таблицами прямо в окне проектирования запроса перетащите поле одной таблицы в поле такого же типа другой таблицы. • Чтобы сохранить запрос, используйте значок Сохранить на стандартной панели. Отобразится диалоговое окно для ввода имени запроса. • Тот же запрос можно было создать с помощью мастера
Если запрос разрабатывается в режиме конструктора, то результат можно увидеть в окне конструктора, нажав кнопку «Выполнить» на панели инструментов
Мастер запросов. Выбор полей из таблицы Студент
Мастер запросов. Выбор полей из таблицы Дисциплина
Мастер запросов. Выбор полей из таблицы Оценки
Мастер запросов. Задание порядка сортировки
Мастер запросов. Задание условий поиска
Мастер запросов. Задание типа запроса
Мастер запросов. Задание альтернативных названий (псевдонимов)
Мастер запросов. задание названия запроса и дальнейших действий
Результат запроса Отличные оценки
• Разработаем запрос в режиме конструктора для выборки данных всех студентов, которые учатся в группах по направлению ‘Экономика‘. В схему запроса добавим таблицы Студент и Группы. Между ними существует связь по полю код группы. Добавим поля отбора. Условие отбора для текстовых значений указывается в апострофах.
Конструктор запроса Студенты направления
Результаты запроса Студенты направления
Добавим условие отбора. Показать только студентов у которых фамилия начинается на букву А. Это выполняется условие задается с помощью нестрогого соответствия Like 'А*' в критерии отбора поля Фамилия таблицы Студент
Следующий пример итогового запроса, который подсчитывает сумму баллов, набранных студентами по всем дисциплинам. Здесь задаются условия группировки по каждому студенту, группируются баллы из таблицы Оценки, и из списка статистических функций выбирается сумма по полю балл таблицы Оценки
Результаты запроса Суммарный балл
• При создании запроса в конструкторе запросов Open. Office. org автоматически преобразует введенные инструкции в соответствующий синтаксис SQL. Чтобы просмотреть команды SQL для запроса, созданного ранее, перейдите к представлению SQL с помощью кнопки Включение и выключение режима конструктора(Дизайна).
Запрос Суммарный балл на языке SQL
Разработка форм • Экранные формы позволяют организовать наглядную и удобную работу с базой данных, состоящей из большого количества связанных таблиц реляционной базы данных. В этом случае на одном экране можно организовать работу с главной и подчиненными таблицами, осуществлять выбор данных из таблиц-справочников с использованием раскрывающихся списков, использовать режимы поиска и отбора информации, печати необходимых отчетов на принтере. Формы должны быть разработаны таким образом, чтобы избежать многочисленных ошибок ввода данных.
• Имеющийся в системе Мастер разработки экранных форм позволяет легко создавать экранные формы нескольких видов (простые для работы с данными одной таблицы, более сложные - для работы с двумя таблицами с использованием подчиненных форм). Полученные формы далее, как правило, приходится дополнять и модифицировать в конструкторе экранных форм для реализации всех необходимых условий работы с базой.
Окно раздела Формы
• Создадим форму с помощью мастера для ввода, модификации и просмотра данных групп и студентов, таким образом, что В форму Группа будет вставлена подчиненная форма Студенты. • Для создания формы нужно будет пройти следующие шаги мастера форм: Шаг. 1 Мастер форм - Выбор полей. На этой странице мастера форм можно указать таблицу или запрос, необходимые для создания формы, а также поля, которые требуется включить в форму. Указываем таблицу Группа и все ее поля
Мастер форм - Выбор полей.
• Шаг. 2 Мастер форм - Настройка подчиненной формы (субформы). Укажите, следует ли использовать подчиненную форму, и введите ее свойства. Подчиненная форма - это форма, вставленная в другую форму.
Мастер форм - Настройка подчиненной формы (субформы).
• Шаг. 3 Мастер форм - Добавить поля в подчиненную форму Укажите таблицу или запрос, необходимый для создания подчиненной формы, а также поля, которые требуется в нее включить.
Мастер форм - Добавить поля в подчиненную форму
• Шаг. 4 Мастер форм - Получить объединенные поля. Если на 2 этапе установлена подчиненная форма, основанная на выбранных вручную полях, объединенные поля можно выбрать на этой странице мастера. • Шаг. 5 Мастер форм - Расположить элементы управления На этой странице мастера можно выбрать разметку создаваемой формы.
Мастер форм - Получить объединенные поля
• Шаг. 6 Мастер форм - Настроить ввод данных. Указывается режим обработки данных для новой формы. • Шаг. 7 Мастер форм - Применить стили. Указывается стиль формы. • Шаг. 8 Мастер форм - Задать имя. Указывается имя и действия после создания формы.
Мастер форм - Настроить ввод данных
Мастер форм - Применить стили
Мастер форм - Задать имя
Созданная форма Группа_Оценки при запуске имеет следующий вид
• На одной странице формы отображены данные об одной группе 10 -Э 1 и всех студентах, которые в ней учатся. Внизу формы расположены стрелки навигации по записям таблиц. Сейчас курсор стоит на поле таблицы Группа, соответственно мы видим количество групп и номер записи в таблице Группа (1 из 4). Для того, чтобы стрелки работали по записям таблицы Студенты, необходимо поставить курсор на поля таблицы Группа.
При создании формы в режиме конструктора необходимо: • Указать источник данных формы (таблицу или запрос), • Разместить элементы управления на форму. Для этого используется панель элементов управления в левой части формы. Чтобы разместить элемент нужно перетащить его с помощью мыши. Среди основных элементов управления: флажок, текстовое поле, поле форматированного ввода, кнопка, переключатель, список, поле со списком, метка (надпись). На рисунке далее также показана панель дополнительных элементов управления (счетчик, полоса прокрутки, графическая кнопка, графический элемент управления, для вывода изображений из базы данных, поле даты, поле времени, кнопка выбора файла, числовое поле, поле валюты, поле с маской ввода, группа, таблица, панель навигации). В окне конструктора форм открыто окно навигатора формы, показываюшего все размещенные в форме элементы. • После того, как элемент управления размещен, необходимо указать его свойства в окне свойств. Элементы управления могут быть двух видов связанные с источником формы и не связанные. Для связанных в окне свойств будет указано поле данных. Связанные элементы управления можно сразу разместить на форме, пользуясь открытым окном источника данных, в нашем случае это таблица Группа.
Таким образом основными инструментами для создания и модификации формы в режиме конструктора являются панели элементов управления, окно свойств, окно источника данных и навигатор формы
Разработка отчетов • Для разработки печатных форм - отчетов, отражающих информацию базы данных - в системе Open. Office. org Base можно использовать режим Создание отчета с помощью Мастера раздела базы Отчеты (рис. далее), с усовершенствованием отчета в дальнейшем в режиме Конструктора отчетов. Отчеты могут быть созданы на основе всей информации, присутствующей в таблицах базы, но чаще для отчетов необходимо отобрать нужную информацию из базы с использованием запроса и на основе его создать отчет. Важным свойством отчетов является возможность группировки данных и получения итоговых данных для групп и всего отчета.
Окно раздела отчетов
• Поставим задачу разработать отчет, в котором показаны оценки студентов по всем дисциплинам с группировкой данных по группам и дисциплинам. • В качестве источника данных создадим запрос для отчета , объединяющий все необходимы для отчета поля из разных таблиц.
Конструктор запроса для отчета
• Шаг 1. Мастер отчетов - Выбор полей. Указывается таблица или запрос, для которого создается отчет и поля которых нужно включить в отчет. • Шаг 2. Мастер отчетов - Поля меток. Указывается, как бут назваться поля в отчете. В нашем примере изменили названия полей у Наименования таблицы Дисциплины • Шаг 3. Мастер отчетов - Группировка. Записи отчета можно группировать на основе значений одного или нескольких полей. Выберите поля, по которым будет сгруппирован итоговый отчет. В отчете можно группировать до четырех полей. При группировке нескольких полей Open. Office. org создает вложенные группы согласно их уровню группировки.
Мастер отчетов - Выбор полей
Мастер отчетов - Поля меток
Мастер отчетов - Группировка
• Шаг 4. Мастер отчетов - Параметры сортировки. Выберите поля, по которым требуется сортировать отчет. Поля можно сортировать по четырем уровням, на каждом - по возрастанию или по убыванию. Сгруппированные поля можно сортировать только внутри соответствующих групп. • Шаг 5. Мастер отчетов - Разметка. Выберите разметку из разных шаблонов и стилей и ориентацию страницы (книжную или альбомную). • Шаг 6. Мастер отчетов - Создать отчет. Отчет можно создать как статический или как динамический отчет. При открытии динамического отчета он отображается с текущим содержимым. При открытии статического отчета всегда отображаются те данные, которые содержались в этом документе в момент его создания.
Мастер отчетов - Параметры сортировки
Мастер отчетов – Разметка
Мастер отчетов - Создать отчет
Данные отчета
• Отредактируем отчет в режиме конструктора отчета. Для числовых полей сделаем выравнивание по центру. Сделаем фон у столбца Балл. Все названия полей - с большой буквы.
Конструктор отчета
Предварительный просмотр данных отчета
Данные отчета после форматирования