Признак
ключа
|
Имя
|
Тип поля
|
Длина (Пример
формата)
|
Ключ Номер
|
Текст [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. Выбор разметки> выберите <Табличный>, <Книжная>,
затем нажмите кнопку <Далее>;
в следующем окне мастера<6.Создать отчет>введите имя отчета
«ПРОЕКТ ПРИКАЗА», выберите <Создать отчет сейчас> и нажмите кнопку <Готово>.
Полученный отчет должен выглядеть так же, как это показано на рис. 11.1.
Рис. 11.1. Вид отчета «ПРОЕКТ ПРИКАЗА»
На основании запроса «ПРОЕКТ ПЛАТЕЖНОЙ ВЕДОМОСТИ» постройте отчет «ПЛАТЕЖНАЯ ВЕДОМОСТЬ» с выводом результата не в LibreOffice Writer (как в пунктах II-III), а в электронные таблицы LibreOffice Calc. Для этого:
в панели <База данных> выберите объект <Отчеты>, в панели
<Задачи> - <Использовать мастер для создания отчета…>;
на шаге <1. Выбор поля> выберите из списка <Таблицы и запросы> в качестве источника данных запрос «ПРОЕКТ ПЛАТЕЖНОЙ ВЕДОМОСТИ»;
выберите все имеющиеся в запросе поля, а затем нажмите кнопку
<Далее>;
в окне шага 2, ничего не меняя, нажмите кнопку <Далее>;
добавляем уровень группировки по полю <Группа>;
в окнах шагов 4, 5 ничего не меняя, нажмите кнопку <Далее>;
в следующем окне мастера <6. Создать отчет> введите имя отчета
«ПЛАТЕЖНАЯ ВЕДОМОСТЬ», выберите <Изменить разметку отчета> и нажмите кнопку <Готово>;
закройте окно <Добавить поле>;
в макете отчета в панели инструментов выберите инструмент
<Метка> и разместите в поле верхнего колонтитула;
в окне свойств метки в поле <Текст> введите «ПЛАТЕЖНАЯ ВЕДОМОСТЬ»;
выполните команду главного меню Файл -> Формат вывода отчета -> Электронная таблица;
выполните отчет с помощью кнопки <Выполнить отчет > ;
в открывшемся окне электронных таблиц нажмите кнопку
<Редактировать документ> для дальнейшей правки документа;
исправьте размеры полей документа, добавьте итоговые суммы стипендии для каждой группы и ячейку <ВСЕГО:> для вычисления общей суммы, а также ячейку для вывода текущей даты и времени;
сохраните файл электронной таблицы командой Файл-> Сохранить как… под именем «Платежная ведомость.ods»;
Рис. 11.2. Вид отчета «ПЛАТЕЖНАЯ ВЕДОМОСТЬ»
командой главного меню Файл -> Просмотр печати посмотрите как будет выглядеть отчет при выводе на печать (рис. 11.2)
Рис. 11.2. Вид отчета «ПРОЕКТ ПЛАТЕЖНОЙ ВЕДОМОСТИ»
Закройте электронные таблицы.
Закройте режим отчета.
Закройте базу данных.
Разработать пользовательские формы ввода данных в однотабличную и реляционную базы данных.
Создать отчеты для вывода данных.
Сформировать запросы для поиска и отбора данных.
Достарыңызбен бөлісу: |