Базы данных (Т.Д. Карминская, 2013 г., 46 с.)

Лабораторная работа № 1
Лабораторная работа № 1 состоит из двух заданий: задания № 1 «Создание и модификация файла базы данных» и задания № 2 «Разработка программ локализации и поиска записей». Результатом выполнения лабораторной работы № 1 является выполнение обоих заданий.
Задание № 1. Создание и модификация файла базы данных
1. Внимательно изучить указания.
2. Выбрать вариант (предметную область) по общим правилам, проанализировать предлагаемую структуру таблиц, требуемые индексы и запросы.
3. Создать структуру таблиц, придерживаясь следующих требований:
• Типы полей следует выбирать в соответствии с семантикой (смыслом) данных, а не типами, устанавливаемыми системой по умолчанию.
• Имена файлов БД и полей файла БД не должны представлять собой неудобочитаемые и непонятные идентификаторы.
• Имена файлов БД и полей файла БД по возможности должны представлять собой англоязычные эквиваленты соответствующих русскоязычных понятий.
• Максимальную длину полей выбирать в соответствии с допустимыми значениями полей заданной предметной области, а не значениями, устанавливаемыми системой по умолчанию.
4. Заполнить файлы БД данными, придерживаясь следующих требований
• Количество записей в родительской таблице — не менее 15, дочерней — не менее 30.
• Конкретные значения полей должны быть максимально приближены к реальным. Для этого можно привлекать открытые источники. Допускается программное генерирование значений полей (например, ID, Номер паспорта, Сумма и т.д.) или конвертация данных из внешних файлов с аналогичной структурой. Фривольного содержания не допускать.
• Каждой строке родительской таблицы должно соответствовать 0, 1
или более строк дочерней.
• Содержание данных должно гарантированно обеспечивать положительный результат каждого запроса при определенных значениях критерия поиска.
5. Создать индексный файл CDX для заданного в варианте набора условий индексов. Каждый простой индекс внутри CDX обозначить тегом (для последующего обращения к нему).
6. Написать отчет, в котором описать ход работы.
7. На проверку присылать файлы отчета, БД и индексные.

Задание № 2 лабораторной работы № 1
1. В соответствии с выбранным вариантом реализовать запросы, используя индексный способ поиска. Каждый запрос оформить в виде отдельного программного файла.
2. Запустить запросы на выполнение. Для каждого запроса вводить различные значения критериев, которые обеспечивали бы положительный и отрицательный результаты поиска. В случае отрицательного результата должно выводиться соответствующее сообщение.
3. Написать отчет, демонстрирующий работоспособность процедур поиска в соответствии с пунктом 2.
4. На проверку необходимо отправить отчет, программные файлы, файлы БД и индексные.

Лабораторная работа № 2. Использование генератора приложений
1. С помощью генератора меню разработать программу, реализующую меню.
2. Меню должно обеспечивать просмотр исходных данных в таблицах с выбором индекса (упорядочения) и вызов реализованных процедур поиска из предыдущей работы, а также выход из системы.
3. На проверку выслать все файлы.

Лабораторная работа № 3. Разработка экранных форм
1. С помощью генератора экранов разработать две формы.
2. Основная форма должна быть создана для родительской таблицы, обеспечивать перемещение, ввод записей и вызов дочерней формы посредством кнопок.
3. Дочерняя форма должна в табличном виде отображать все записи дочерней таблицы, соответствующие текущей записи родительской.
4. В отчете описать ход создания форм и продемонстрировать их работоспособность.
5. На проверку выслать файлы шаблонов scx, файл .spr, файлы БД и индексные.

Лабораторная работа № 4. Одновременная работа с несколькими файлами данных
1. Изучить методические указания к лабораторной работе.
2. В командном режиме (т. е. с командной строки) осуществить слияние двух файлов .dbf с помощью команды JOIN WITH.
3. Осуществить слияние двух файлов данных с помощью команды SET RELATION и SET SKIP и оформить последовательность команд в виде программного файлa.
4. В отчете продемонстрировать исходные данные и результат слияния обоими способами.
5. На проверку выслать отчет, необходимые файлы БД и индексы, программный и результирующий файл БД.

ТЕКСТОВАЯ КОНТРОЛЬНАЯ РАБОТА
1. Проанализировать предложенную схему и описать (как в варианте), какие таблицы с какими полями будут добавлены. Дополнить схему по крайней мере двумя таблицами. Представить схему таблиц в графическом виде.
2. Привести операторы DDL, реализующие создание таблиц, первичных и внешних ключей, ориентируясь на какую-либо произвольную СУБД. Типы полей должны соответствовать смыслу данных и выбранной СУБД.
3. Сфомулировать (как в варианте) по крайней мере два новых запроса. Каждый запрос должен производить выборку из двух таблиц.
4. Привести операторы SELECT для каждого запроса (в варианте и свои).
5. На проверку прислать отчет с выполненными заданиями.

Варианты предметных областей

ВАРИАНТ № 1. Авиаперевозки
Таблицы:
РЕЙС (ID_рейса, Номер рейса, Код авиакомпании, Аэропорт отправления, Аэропорт назначения, Время вылета, Время прилета, Признак прилета на следующие сутки) — отражает сведения о запланированных сегментах перелета.
ВЫЛЕТ (ID_рейса, Фактичествое время вылета, Фактическое время прилета, Дата вылета).
Если используемая версия СУБД не поддерживает тип Время, то поле Время разделить на Час-Минута.
Индексы:
1. ID_рейса в таблице РЕЙС — уникален.
2. {ID_рейса, Дата вылета} — уникальны.
3. По коду авиакомпании.
4. По аэропорту назначения.
5. По фактической дате вылета в обратном порядке.
Запросы:
1. Найти сведения обо всех рейсах заданной авиакомпании.
2. Найти сведения обо всех рейсах, прибывающих на следующие
сутки.
3. Найти сведения обо всех рейсах с продолжительностью полета
более заданной.
4. Найти сведения обо всех рейсах, которым не соответствует ни
один вылет.

ВАРИАНТ № 2. Поставки
Таблицы:
ПОСТАВЩИК (ID_поставщика, ИНН, Город, Юридический адрес, Телефон, Организационно-правовая форма, Дата регистрации в ЕГРЮЛ, Дата завершения регистрации) — сведения о существующих поставщиках.
ПОСТАВКА (ID_поставщика, Дата поставки, Название товара, Количество, Стоимость) — сведения о поставках поставщиков.
Индексы:
1. ID_поставщика в таблице ПОСТАВЩИК — уникально.
2. {ID_поставщика, Дата поставки} — уникально.
3. ИНН поставщика — уникально.
4. По организационно-правовой форме.
5. По дате регистрации в обратном порядке.
Запросы:
1. Найти сведения обо всех поставщиках с периодом действия регистрации более 3-х лет.
2. Найти сведения о поставщике по заданному номеру телефона.
3. Найти сведения обо всех поставщиках, расположенных в заданном городе на определенной улице.
4. Найти сведения обо всех поставщиках, которые не произвели ни одной поставки.

ВАРИАНТ № 3. Сотрудники
Таблицы:
СОТРУДНИК (ID_сотрудника, Фамилия, Имя, Отчество, Пол, Дата рождения, Должность, Стаж).
Ребенок (ID_сотрудника, Имя ребенка, Пол ребенка, Дата рождения).
Индексы:
1. ID_сотрудника в таблице СОТРУДНИК — уникально.
2. { ID_сотрудника, Имя ребенка } — уникально.
3. По полу сотрудника.
4. По дате рождения ребенка в обратном порядке.
5. По стажу.
Запросы:
1. Найти сведения обо всех сотрудниках старше заданного количества лет.
2. Найти сведения обо всех сотрудниках со стажем менее заданного количества лет.
3. Сведения о бухгалтерах мужского пола.
4. Найти сведения обо всех бездетных сотрудниках.

ВАРИАНТ № 4. Туристическое агентство
Таблицы:
КЛИЕНТ (ID_клиента, Номер паспорта, Серия паспорта, Фамилия, Имя, Отчество, Дата рождения, Пол).
ПУТЕВКА (ID_клиента, Дата выезда, Продолжительность, Стоимость, Страна пребывания).
Индексы:
1. ID_клиента в таблице КЛИЕНТ — уникально.
2. {Номер паспорта, Серия паспорта} — уникально.
3. По продолжительности пребывания в обратном порядке.
4. По дате рождения.
5. По стране пребывания.
Запросы:
1. Найти сведения о клиенте с заданными паспортными данными.
2. Найти сведения обо всех клиентах женского пола старше 60-ти лет.
3. Найти сведения о путевках в заданную страну.
4. Найти сведения о клиентах, которые не приобрели путевку.

ВАРИАНТ № 5. Гостиница
Таблицы:
КЛИЕНТ (ID_клиента, Номер паспорта, Серия паспорта, Фамилия, Имя, Отчество, Дата рождения, Пол, Гражданство).
ЗАСЕЛЕНИЕ (ID_клиента, Дата заселения, Время, Срок пребывания, Номер).
Индексы:
1. ID_клиента в таблице КЛИЕНТ — уникально.
2. {Номер паспорта, Серия паспорта} — уникально.
3. По сроку пребывания.
4. По дате рождения в обратном порядке.
5. По дате и времени заселения.
Запросы:
1. Найти сведения о клиенте с заданными паспортными данными.
2. Найти сведения обо всех иностранных клиентах.
3. Найти сведения о заселениях, произведенных в заданную дату.
4. Найти сведения о клиентах, которые не заселялись ни разу.

ВАРИАНТ № 6. Водоканал
Таблицы:
КЛИЕНТ (ID_клиента, № лицевого счета, Название улицы, Номер дома, Номер квартиры, Количество проживающих).
СЧЕТ (ID_клиента, Расчетный месяц, Расчетный год, Дата выставления, Сумма).
Индексы:
1. ID_клиента в таблице КЛИЕНТ — уникально.
2. { ID_клиента, Расчетный месяц, Расчетный год } — уникально.
3. По сроку дате выставления счета в обратном порядке.
4. По количеству проживающих.
5. По дате и времени заселения.
Запросы:
1. Найти сведения о клиенте с заданными паспортными данными.
2. Найти сведения обо всех клиентах, проживающих на заданной улице с заданным количеством проживающих.
3. Найти сведения о счетах, выставленных в текущем месяце.
4. Найти сведения о клиентах, которым не было выставлено ни одного счета.

ВАРИАНТ № 7. Междугородние перевозки
Таблицы:
ВОДИТЕЛЬ (ID_водителя, Номер паспорта, Серия паспорта, Фамилия, Имя, Отчество, Стаж, Категория).
МАРШРУТ (ID_водителя, Дата выезда, Время выезда, Город назначения).
Индексы:
1. ID_водителя в таблице ВОДИТЕЛЬ — уникально.
2. { ID_водителя, Дата выезда } — уникально.
3. По стажу в обратном порядке.
4. По городу назначения.
5. По дате выезда.
Запросы:
1. Найти сведения о водителях заданной категории со стажем более 10 лет.
2. Найти сведения о маршрутах в заданный город.
3. Найти сведения о маршрутах за текущий месяц.
4. Найти сведения о водителях, которые не были отправлены в маршрут.

ВАРИАНТ № 8. Фильмотека
Таблицы:
ФИЛЬМ (ID_фильма, Название, Режиссер, Жанр, Год выпуска, Продолжительность фильма, Студия, Страна).
КОПИЯ (ID_фильма, Тип носителя, Формат записи, Износ, Дата изготовления).
Индексы:
1. ID_фильма в таблице ФИЛЬМ — уникально.
2. { Название, Студия } — уникально.
3. По году выпуска фильма в обратном порядке.
4. По дате изготовления копии.
5. По типу носителя.
Запросы:
1. Найти сведения о копиях с заданным типом носителя и износом более 80%.
2. Найти сведения о фильмах заданного режиссера.
3. Найти сведения о фильмах, выпущенных за два предыдущих года.
4. Найти сведения о фильмах, для которых не было выпущено копий.

ВАРИАНТ № 9. Кредитование
Таблицы:
КЛИЕНТ (ID_клиента, Номер паспорта Фамилия клиента, Имя клиента, Отчество клиента, Дата рождения, Адрес, Телефон).
ЗАЯВКА (ID_клиента, Дата подачи заявки, Сумма кредита, Процентная ставка, Средняя сумма заработка).
Индексы:
1. ID_клиента в таблице КЛИЕНТ — уникально.
2. { ID_клиента, Дата подачи заявки } — уникально.
3. По сумме кредита в обратном порядке.
4. По дате рождения.
5. По процентной ставке.
Запросы:
1. Найти сведения о клиенте с заданными паспортными данными.
2. Найти сведения обо всех клиентах мужского пола старше 50-ти лет.
3. Найти сведения заявках с заданной процентной ставкой.
4. Найти сведения о клиентах, которые не подали ни одной заявки.

ВАРИАНТ № 10. Транспорт
Таблицы:
ГРАЖДАНИН (ID_гражданина, Номер паспорта, Фамилия, Имя, Отчество, Адрес).
АВТО (ID_гражданина, VIN, Марка авто, Цвет авто, Дата выпуска, Мощность).
Индексы:
1. ID_гражданина в таблице ГРАЖДАНИН — уникально.
2. VIN — уникально.
3. По фамилии гражданина.
4. По дате выпуска авто в обратном порядке.
5. По мощности авто.
Запросы:
1. Найти сведения о гражданине с заданными паспортными данными.
2. Найти сведения обо всех авто заданной марки с мощностью более заданной.
3. Найти сведения обо всех авто с заданным годом выпуска.
4. Найти сведения о гражданах, которым не принадлежит ни одного автомобиля.


ОТПРАВИТЬ ЗАЯВКУ
(уточните наименование работ: ТКР, ЛР, ККР, КП, ЭКЗ,
2 последние цифры пароля
к какому числу нужно выполнить работы)

Имя

Email



© 2009-2024 TusurBiz