Признак
ключа
|
Имя
|
Тип поля
|
Длина (Пример
формата)
|
Ключ Номер
|
Текст [VARCHAR
|
] 5
|
|
Фамилия
|
Текст [VARCHAR]
|
15
|
|
Имя Текст
|
[VARCHAR] 10
|
|
|
Отчество
|
Текст [VARCHAR]
|
15
|
|
Пол Текст
|
[VARCHAR] 1
|
|
|
Дата рожд
|
ения
|
Дата [Date]
|
01.01.1900
|
Группа
|
|
Текст [VARCHAR]
|
3
|
Таблица 1.3. Структура таблицы СЕССИЯ
Признак
ключа
|
Имя
|
Тип
|
Длина (Пример
формата)
|
Ключ Номе
|
р Текст [VA
|
RCHAR] 5
|
|
Оценка1
|
Краткое цел
|
ое
[SMALLINT]
|
5
|
Оценка2
|
Краткое цел
|
ое
[SMALLINT]
|
5
|
Оценка3
|
Краткое цел
|
ое
[SMALLINT]
|
5
|
Оценка4
|
Краткое цел
|
ое
[SMALLINT]
|
5
|
Результа
|
т
|
Текст [VARCHAR]
|
3
|
Таблица 1.4. Структура таблицы СТИПЕНДИЯ
Признак ключа
|
Имя поля
|
Тип поля
|
Длина
(Пример формата)
|
Ключ Резу
|
льтат
|
Текст [VARCHAR]
|
3
|
Процент
|
C плаваю
|
щей точкой
[FLOAT]
|
3
|
Задание 7-1
Создайте структуру таблицы СЕССИЯ, пользуясь описанием технологии создания новых таблиц базы данных в п.1. Состав полей и их свойства приведены в табл. 1.3. Задание 7-2
Создайте структуру таблицы СТИПЕНДИЯ, пользуясь описанием технологии создания новых таблиц базы данных в п.1. Состав полей и их свойства приведены в табл. 1.4.
Задание 7-3
Заполните данными, показанными на рис. 7.1, вновь созданную таблицу СЕССИЯ, используя технологию ввода данных в табличном режиме (п.2).
Задание 7-4
Заполните данными, показанными на рис. 7.2, вновь созданную таблицу СТИПЕНДИЯ, используя технологию ввода данных в табличном режиме (п.2).
Рис. 7.1. Данные таблицы СЕССИЯ
Рис. 7.2. Данные таблицы СТИПЕНДИЯ
-
Установление связей между таблицами
Используя возможности LibreOffice Base, установите связи между созданными таблицами СТУДЕНТ, СЕССИЯ и СТИПЕНДИЯ базы данных СЕССИЯ.
Пример выполнения.
-
Откройте ранее созданную базу данных СЕССИЯ.
-
Расположите таблицы СТУДЕНТ, СЕССИЯ и СТИПЕНДИЯ в окне
<Конструктор связей>.Для этого:
-
выполните команду главного меню Сервис -> Связи… ;
-
из окна <Добавить таблицы> выберите таблицу СТУДЕНТ
(установите курсор на имя таблицы) и нажмите кнопку
<Добавить>;
СТИПЕНДИЯ;
-
щелкните по кнопке <Закрыть>.
Таблицы расположатся на вкладке так, как это показано на рис. 8.1.
Рис. 8.1. Расположение таблиц на вкладке <Схема данных>
-
Установите связь между таблицами СТУДЕНТи СЕССИЯ. Для этого:
-
протащите указатель мыши от поля <Номер> таблицы СТУДЕНТ к полю <Номер> таблицы СЕССИЯ;
-
убедитесь, что создано отношение «один-к-одному».
-
Установите связь между таблицами СТИПЕНДИЯ и СЕССИЯ. Для этого:
-
протащите указатель мыши от поля <Результат> таблицы СТИ- ПЕНДИЯ к полю <Результат> таблицы СЕССИЯ;
-
убедитесь, что создано отношение «один-ко-многим».
В результате описанных действий вкладка <Схема данных> приобретет вид, показанный на рис. 8.2.
Рис. 8.2. Установленные связи между таблицами
-
Сохраните установленные между таблицами связи и выйдите из режима схемы данных. Для этого в главном меню выполните команду Файл -> Сохранить, а затем в том же меню команду Файл -> Закрыть.
-
Разработка многотабличной пользовательской формы для ввода данных
В рамках поставленной ранее задачи рассмотрите возможности ввода информации в таблицы на основе использования составной формы. Допустим, студент Кревцов с номером личного дела 16993 вовремя не сдавал сессию по уважительной причине,и запись с результатами сдачи экзаменов в таблице СЕССИЯ отсутствует.
Постройте составную форму и довведите недостающую информацию в базу данных.
Пример выполнения
-
Откройте ранее созданную базу данных СЕССИЯ.
-
Создайте составную форму с использованием мастера. Для этого:
-
в окне < СЕССИЯ> в панели <База данных> выберите объект
<Формы>, а в панели <Задачи> выберите <Использовать мастер для создания формы>;
-
в диалоговом окне < Создание форм> на шаге <1. Выбор поля> выберите из списка < Таблицы и запросы> таблицу СТИПЕНДИЯ и переместите все поля этой таблицы из списка < Доступные поля> в список <Поля в форме>, щелкнув по кнопке ;
-
Нажмите кнопку <Далее>;
-
на шаге <2. Настройка подформы> установите флаг <Добавить подформу>,включите радиокнопку<Подформа на основе существующей связи>, на вопрос <Какое отношение вы хотите выбрать?> выберите отношение СЕССИЯ, нажмите <Далее>;
-
на шаге <3. Добавить поля подформы> переместите все поля из
<Доступные поля> в <Поля в форме>, нажмите <Далее>;
-
на шаге <5. Расположить элементы управления> для главной формы выберите <Столбцы – подписи слева>, а для подформы оставьте предлагаемое <Как лист данных>, нажмите <Далее>;
-
шаге <6. Задать источник данных> оставьте включенной <Форма для отображения всех данных>, нажмите <Далее>;
-
на шаге <7. Применить стили> оставьте предлагаемое, нажмите
<Далее>;
-
на шаге<8.Задать имя>оставьте предлагаемое имя формы
<СТИПЕДИЯ>, включенную кнопку <Работа с формой>, нажмите
<Готово>;
-
Введите новую информацию в базы данных СТИПЕНДИЯ и СЕССИЯ,
используя составную форму. Для этого выполните следующие действия:
-
на вкладке вывода составной формы <СТИПЕНДИЯ> с помощью стрелок навигации в нижней части формы найдите в таблице СТИПЕНДИЯ результат « хр1»; в подчиненной форме отобразятся данные из таблицы СЕССИЯ о студентах, сдавших сессию с таким результатом;
-
введите в поле < Номер> подчиненной формы <СЕССИЯ> значение 16993 и заполните остальные поля подчиненной формы, как это показано на рис. 9.1.
-
Закройте форму.
Рис. 9.1. Пример составной формы
-
Формирование запросов для многотабличной базы данных
Постройте запрос «ПРОЕКТ ПРИКАЗА», позволяющий выводить фамилию, имя, отчество и номер группы студентов, которым может быть назначена стипендия, а также размер назначаемой стипендии в процентах от базового размера стипендии. Эти данные могут быть использованы при создании проекта приказа назначения студентов на стипендию по результатам экзаменационной сессии. Информация для получения таких данных содержится в трех связанных таблицах СТУДЕНТ, СЕССИЯи СТИПЕНДИЯбазы данных СЕССИЯ.
На основе «ПРОЕКТА ПРИКАЗА» постройте запрос «ПРОЕКТ ПЛАТЕЖНОЙ ВЕДОСОСТИ», где размер стипендии указывается в рублях, а базовая стипендия вводится с клавиатуры как параметр.
Пример выполнения
-
Откройте ранее созданную базу данных СЕССИЯ.
-
Создайте новый запрос на основе связанных таблиц:
-
в панели <База данных> выберите объект <Запросы>;
-
в панели <Задачи> выберите <Создать запрос в режиме дизайна…>;
-
в окне <Добавить таблицу или запрос> выберите <Таблицы>,
выделите в списке таблицу СТУДЕНТ и щелкните по кнопке
<Добавить>;
-
в том же списке выделите и добавьте таблицы СЕССИЯ и СТИ- ПЕНДИЯ;
-
закройте диалог щелчком по кнопке <3акрыть>.
Списки полей всех выбранных таблиц появляются в верхней части вкладки <Запрос1>. Между этими таблицами автоматически возникает соединительная линия, так как между таблицами уже установлена связь.
-
Включите поля из трех таблиц в запрос. Из таблицы СТУДЕНТ в бланк запроса по образцу (в строку <Поле>) перетащите следующие поля:
«Фамилия», «Имя», «Отчество», «Группа».В следующее поле запроса перетащите поле «Процент» из таблицы СТИПЕНДИЯ.
-
Установите условие отбора. Для отбора студентов, подлежащих назначению на стипендию, необходимо в строке <Критерий> под полем
«Процент» ввести выражение «>0».
-
Упорядочите выводимые в запросе данные по полю «Фамилия» в алфавитном порядке. Щелкните по ячейке в строке <Сортировка> под полем «Фамилия» и в появившемся списке выберите <по возрастанию>. Окно сформированного запроса принимает вид, показанный на рис. 10.1.
-
Присвойте запросу имя. Для этого выполните команду Файл ->
Сохранить и в окне <Сохранить как> введите имя «ПРОЕКТ ПРИКАЗА».
-
Посмотрите сформированную запросом информацию. Для этого в окне конструктора щелкните по кнопке <Режим> и в выпадающем списке щелкните по кнопке <Выполнить запрос (F5)>. Результаты работы запроса будут выглядеть так, как показано на рис. 10.2.
-
Посмотрите на сформированный запрос на языке SQL. Для этого в окне конструктора щелкните по кнопке <Вкл./выкл. вид дизайна> и в выпадающем списке щелкните по кнопке <Режим SQL>. SQL-запрос будет выглядеть так:
SELECT "СТУДЕНТ"."Фамилия", "СТУДЕНТ"."Имя", "СТУДЕНТ"."Отчество", "СТУДЕНТ"."Группа", "СТИПЕНДИЯ"."Процент" FROM "СЕССИЯ", "СТУДЕНТ", "СТИПЕНДИЯ" WHERE "СЕССИЯ"."Номер" = "СТУДЕНТ"."Номер" AND "СЕССИЯ"."Результат" = "СТИПЕНДИЯ"."Результат" AND "СТИПЕНДИЯ"."Процент" > 0 ORDER BY "СТУДЕНТ"."Фамилия" ASC
-
Закройте режим запроса, сохранив результат.
-
Использовав за основу запрос «ПРОЕКТ ПРИКАЗА», создайте запрос
«ПРОЕКТ ПЛАТЕЖНОЙ ВЕДОМОСТИ», где будет указан размер стипендии в рублях для каждого студента исходя из того, что размер не повышенной стипендии в рублях вводится в качестве параметра. Поле «Процент» можно скрыть. Для этого:
Рис. 10.1. Окно конструктора запросов
Рис. 10.2. Просмотр результата запроса
-
откройте запрос «ПРОЕКТ ПРИКАЗА» в режиме <Правка>;
-
уберите сортировку по полю <Фамилия>;
-
сохраните запрос под именем «Запрос2»;
-
создайте новый запрос в режиме дизайна;
-
добавьте в конструктор «Запрос2»;
-
перенесите все поля «Запроса2» в бланк запроса по образцу;
-
сделайте поле«Процент»невидимым;
-
в первую свободную ячейку строки <Поле> введите выражение:
«Процент/100* :Стипендия», где «:Стипендия» означает, что значение этого параметра будет водиться из диалогового окна;
-
в этом же столбце в строку <Псевдоним> введите «Рублей»;
-
установите сортировка по возрастанию фамилий;
-
выполните запрос, в окне <Ввод параметра> введите для параметра <Стипендия> значение, например, 4200;
-
результат должен быть следующим (рис. 10.3):
Рис. 10.3. Просмотр результата запроса «Запрос2»
-
сохраните запрос под именем «ПРОЕКТ ПЛАТЕЖНОЙ ВЕДОМОСТИ».
-
Разработка многотабличной формы отчета вывода данных
Постройте отчет "ПРОЕКТ ПРИКАЗА", основанный на сформи- рованном ранее запросе "ПРОЕКТ ПРИКАЗА", выбирающем из таблиц базы данных СТУДЕНТ, СЕССИЯ и СТИПЕНДИЯ информацию о студентах, которым по результатам экзаменационной сессии назначается стипендия, и о размере стипендии в процентах от базовой стипендии.
Постройте отчет "ПЛАТЕЖНАЯ ВЕДОМОСТЬ", основанный на сформированном ранее запросе "ПРОЕКТ ПЛАТЕЖНОЙВЕДОМОСТИ ", где размер стипендии указывается в рублях, а базовая стипендия вводится с клавиатуры как параметр.Вывод отчета осуществите в электронные таблицы.
Пример выполнения
-
Откройте ранее созданную базу данных СЕССИЯ.
-
Создайте новый отчет, основанный на сформированным ранее запросе
«ПРОЕКТ ПРИКАЗА», выбирающем из таблиц базы данных СТУДЕНТ, СЕССИЯ и СТИПЕНДИЯ информацию о студентах, которым по результатам экзаменационной сессии назначается стипендия, и о размере стипендии. Для этого:
-
в панели <База данных> выберите объект <Отчеты>, в панели
<Задачи> - <Использовать мастер для создания отчета…>;
-
на шаге <1. Выбор поля> выберите из списка <Таблицы и запросы> в качестве источника данных запрос «ПРОЕКТ ПРИКАЗА»;
-
выберите все имеющиеся в запросе поля, а затем нажмите кнопку
<Далее>;
-
в окнах шагов 2, 3 и 4, ничего не меняя, нажмите кнопку <Далее.;
-
на шаге <5. Выбор разметки> выберите <Табличный>, <Книжная>,
затем нажмите кнопку <Далее>;
«ПРОЕКТ ПРИКАЗА», выберите <Создать отчет сейчас> и нажмите кнопку <Готово>.
-
Полученный отчет должен выглядеть так же, как это показано на рис. 11.1.
Рис. 11.1. Вид отчета «ПРОЕКТ ПРИКАЗА»
-
На основании запроса «ПРОЕКТ ПЛАТЕЖНОЙ ВЕДОМОСТИ» постройте отчет «ПЛАТЕЖНАЯ ВЕДОМОСТЬ» с выводом результата не в LibreOffice Writer (как в пунктах II-III), а в электронные таблицы LibreOffice Calc. Для этого:
-
в панели <База данных> выберите объект <Отчеты>, в панели
<Задачи> - <Использовать мастер для создания отчета…>;
-
на шаге <1. Выбор поля> выберите из списка <Таблицы и запросы> в качестве источника данных запрос «ПРОЕКТ ПЛАТЕЖНОЙ ВЕДОМОСТИ»;
-
выберите все имеющиеся в запросе поля, а затем нажмите кнопку
<Далее>;
-
в окне шага 2, ничего не меняя, нажмите кнопку <Далее>;
-
добавляем уровень группировки по полю <Группа>;
-
в окнах шагов 4, 5 ничего не меняя, нажмите кнопку <Далее>;
-
в следующем окне мастера <6. Создать отчет> введите имя отчета
«ПЛАТЕЖНАЯ ВЕДОМОСТЬ», выберите <Изменить разметку отчета> и нажмите кнопку <Готово>;
-
закройте окно <Добавить поле>;
-
в макете отчета в панели инструментов выберите инструмент
<Метка> и разместите в поле верхнего колонтитула;
-
в окне свойств метки в поле <Текст> введите «ПЛАТЕЖНАЯ ВЕДОМОСТЬ»;
-
выполните команду главного меню Файл -> Формат вывода отчета -> Электронная таблица;
-
выполните отчет с помощью кнопки <Выполнить отчет > ;
-
в открывшемся окне электронных таблиц нажмите кнопку
<Редактировать документ> для дальнейшей правки документа;
-
исправьте размеры полей документа, добавьте итоговые суммы стипендии для каждой группы и ячейку <ВСЕГО:> для вычисления общей суммы, а также ячейку для вывода текущей даты и времени;
-
сохраните файл электронной таблицы командой Файл-> Сохранить как… под именем «Платежная ведомость.ods»;
-
Рис. 11.2. Вид отчета «ПЛАТЕЖНАЯ ВЕДОМОСТЬ»
командой главного меню Файл -> Просмотр печати посмотрите как будет выглядеть отчет при выводе на печать (рис. 11.2)
Рис. 11.2. Вид отчета «ПРОЕКТ ПЛАТЕЖНОЙ ВЕДОМОСТИ»
-
Закройте электронные таблицы.
-
Закройте режим отчета.
-
Закройте базу данных.
Разработать пользовательские формы ввода данных в однотабличную и реляционную базы данных.
Создать отчеты для вывода данных.
Сформировать запросы для поиска и отбора данных.
Достарыңызбен бөлісу: |