ВУЗ: Томский государственный университет систем управления и радиоэлектроники
Категория: Учебное пособие
Дисциплина: Базы данных
Добавлен: 28.11.2018
Просмотров: 3105
Скачиваний: 9
41
SELECT b
USE BRIG1
JOIN WITH a TO KADRVIR FOR tab = a.tab FIELDS a.fam, tab, vir
Основное отличие этих команд состоит в том, что в результате рабо-
ты этой команды создается новый файл данных (в нашем случае под име-
нем KADRVIR), который содержит поля, указанные после операнда FOR,
либо все поля связываемых баз, если этот операнд пуст.
Вновь созданный файл имеет расширение .dbf.
Задание
на
лабораторную
работу
№
4
1.
Изучить методические указания к лабораторной работе.
2.
В командном режиме (т. е. с командной строки) осуществить слияние
двух файлов .dbf с помощью команды JOIN WITH.
3.
Осуществить слияние двух файлов данных с помощью команды SET
RELATION и SET SKIP и оформить последовательность команд в виде
программного файлa.
4.
В отчете продемонстрировать исходные данные и результат слияния
обоими способами.
5.
На проверку выслать отчет, необходимые файлы БД и индексы, про-
граммный и результирующий файл БД.
5
ТЕКСТОВАЯ
КОНТРОЛЬНАЯ
РАБОТА
Текстовая контрольная работа содержит практические задания,
направленные на закрепление знаний основ языка SQL и выполняется для
того же варианта, что и лабораторные работы.
5.1
Задание
текстовой
контрольной
работы
1.
Проанализировать предложенную схему и описать (как в варианте),
какие таблицы с какими полями будут добавлены. Дополнить схему
по крайней мере двумя таблицами. Представить схему таблиц в
графическом виде.
2.
Привести операторы DDL, реализующие создание таблиц, первич-
ных и внешних ключей, ориентируясь на какую-либо произвольную
СУБД. Типы полей должны соответствовать смыслу данных и вы-
бранной СУБД.
3.
Сфомулировать (как в варианте) по крайней мере два новых запроса.
Каждый запрос должен производить выборку из двух таблиц.
4.
Привести операторы SELECT для каждого запроса (в варианте и
свои).
5.
На проверку прислать отчет с выполненными заданиями.
42
ПРИЛОЖЕНИЕ
А
Варианты
предметных
областей
ВАРИАНТ
№
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-х лет.
43
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.
Найти сведения о клиентах, которые не приобрели путевку.
44
ВАРИАНТ
№
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_водителя, Номер паспорта, Серия паспорта, Фами-
лия, Имя, Отчество, Стаж, Категория).
45
МАРШРУТ (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_клиента, Дата подачи заявки, Сумма кредита, Про-
центная ставка, Средняя сумма заработка).