Файл: Базы данных УМП-2.pdf

Добавлен: 28.11.2018

Просмотров: 2773

Скачиваний: 9

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

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.

 

На  проверку  выслать  отчет,  необходимые  файлы  БД  и  индексы,  про-
граммный и результирующий файл БД. 

 

ТЕКСТОВАЯ

 

КОНТРОЛЬНАЯ

 

РАБОТА

 

 

Текстовая  контрольная  работа  содержит  практические  задания, 

направленные на закрепление знаний основ языка SQL и выполняется для 
того же варианта, что и лабораторные работы.  
 

5.1 

Задание

 

текстовой

 

контрольной

 

работы

 

 

1.

 

 Проанализировать предложенную схему и описать (как в варианте), 

какие таблицы с какими полями будут добавлены. Дополнить схему 
по  крайней  мере  двумя  таблицами.  Представить  схему  таблиц  в 
графическом виде. 

2.

 

 Привести  операторы DDL, реализующие  создание  таблиц,  первич-

ных и внешних ключей, ориентируясь на какую-либо произвольную 
СУБД. Типы полей должны соответствовать смыслу данных и вы-
бранной СУБД. 

3.

 

 Сфомулировать (как в варианте) по крайней мере два новых запроса. 

Каждый запрос должен производить выборку из двух таблиц. 

4.

 

 Привести  операторы SELECT для  каждого  запроса  (в  варианте  и 

свои).  

5.

 

 На проверку прислать отчет с выполненными заданиями.  


background image

 

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-х лет. 


background image

 

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.

 

Найти сведения о клиентах, которые не приобрели путевку. 


background image

 

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_водителя,  Номер  паспорта,  Серия  паспорта,  Фами-

лия, Имя, Отчество, Стаж, Категория). 


background image

 

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_клиента,  Дата  подачи  заявки,  Сумма  кредита,  Про-

центная ставка, Средняя сумма заработка).