Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3684MEA БД / БД / Руководство к лабораторным работам по курсу Базы Данных.doc
Скачиваний:
14
Добавлен:
11.05.2015
Размер:
168.96 Кб
Скачать

Лабораторная работа 5 Создание связанных таблиц в субд oraclEс декларативными ограничениями данных.

Целью работы является формирование навыков создания таблиц с помощью стандартного языка запросов SQLработы с реляционными базами данных. В зависимости от варианта студент должен написать команды создания двух связанных таблиц с поддержкой целостности данных и ссылочной целостности, определением первичного ключа и не менее двух ограничений целостностиCHECK.

Порядок выполнения

1. Сохранить идентификатор и пароль в текстовом файле.

2. Определить структуру таблицы (задать имена и типы столбцов), определить домены в таблице.

3. Выделить первичный ключ в обеих таблицах.

4. Выделить внешний ключ в дочерней таблице. Допустимость пустых значений внешнего ключа выбрать, исходя из смысла связи таблиц.

5. Написать команды создания связанных таблиц.

6. Выполнить команды в средах SQLPlusилиSQLWorksheet.

7. Вставить в каждую таблицу не менее, чем по 4 строки.

8. Составить отчет, в котором должна быть представлена структура таблиц, домены таблиц, первичные ключи и ответы на контрольные вопросы.

Варианты работы

Вариант 1

Создать две связанные таблицы: родительская - пассажир, дочерняя –билет.

В таблице пассажир должны содержаться данные:

  • номер паспорта (10-ти разрядное число);

  • ФИО пассажира;

  • адрес;

  • телефон (6-ти или 7-ми разрядное число), пол ("муж" или "жен").

В таблице билетдолжны содержаться данные:

  • номер билета;

  • рейс (от 10 до 400, исключая 200 и 300);

  • длительность полета (от 30 до 400);

  • тип самолета;

  • время вылета;

  • дата вылета (пассажир не может купить два билета на один и тот же рейс, время и дату вылета).

Вариант 2

Создать две связанные таблицы: родительская - пациент, дочерняя –процедура.

В таблице пациентдолжны содержаться данные:

  • паспорт (десятиразрядное число);

  • ФИО пациента;

  • номер полиса;

  • пол (допустимые значения "муж", "жен");

  • телефон (должен начинаться с 2, 4, 5, 6, 7, 8),

в таблице процедурадолжны содержаться данные:

  • вид процедуры;

  • продолжительность (не менее 5, не более 20 мин.);

  • номер кабинета (допустимые значения 10, 11, 14, 15, 17, 18, 20, 22, 24, 25);

  • степень процедуры (от 1 до 5);

  • с применением дополнительных средств или нет.

Вариант 3

Создать две связанные таблицы: родительская - абонент, дочерняя -экземпляр книги.

В таблице абонент должны содержаться данные:

  • номер читательского билета (от 100 до 1500);

  • ФИО абонента;

  • телефон (6-ти разрядное число);

  • адрес абонента;

  • телефон;

  • паспорт.

В таблице экземпляр книгидолжны содержаться данные:

  • номер (от 1000);

  • название книги;

  • номер полки (от 10 до 100, исключая 55, 56, 88);

  • общее количество экземпляров (не больше 10);

  • вес экземпляра (от 100 до 1500).

Вариант 4

Создать две связанные таблицы: родительская - корпус, дочерняя-микросхема.

В таблице корпусдолжны содержаться данные:

  • материал корпуса (металл, пластмасса, керамика);

  • номер корпуса (10-ти разрядное число);

  • количество выводов (от 3 до 64);

  • температура допустимая (не больше 120);

  • вид (планар, DIP, FREE).

В таблице микросхемадолжны содержаться данные:

  • обозначение;

  • тип микросхемы;

  • вид (аналоговая, цифровая);

  • назначение (общее, специальное, военное);

  • тип исполнения (ТТЛ, ТТЛШ, КМОП).

Вариант 5

Создать две связанные таблицы: родительская - исполнитель, дочерняя –альбом.

В таблице исполнительдолжны содержаться данные:

  • название исполнителя;

  • код исполнителя;

  • основной жанр исполнителя (ПОП, РОК, ДИСКО, РЭП, МЕТАЛ, ПАНК);

  • количество (если группа);

  • год с момента начала работы исполнителя.

В таблице альбомдолжны содержаться данные:

  • название альбома;

  • длительность;

  • жанр (перечень см. в табл. исполнитель);

  • количество композиций;

  • дата выпуска.

Вариант 6

Создать две связанные таблицы: родительская - автор, дочерняя –книга.

В таблице автордолжны содержаться данные:

  • Номер автора;

  • ФИО автора;

  • Адрес;

  • дата рождения (не раньше 01.01.1925);

  • жанр (детектив, фантастика, эссе, драма, мелодрама, сатира);

  • статус (мэтр, начинающий, средний).

В таблице книгадолжны содержаться данные:

  • название;

  • жанр (см. выше);

  • кол. страниц;

  • номер издания (не больше 10);

  • издательство.

Вариант 7

Создать две связанные таблицы: родительская - клиент, дочерняя –заказ.

В таблице клиентдолжны содержаться данные:

  • паспорт (10-ти разрядное число, не начинающееся с 0);

  • адрес клиента;

  • телефон (6-ти разрядное число);

  • тип клиента (постоянный, периодический, одноразовый);

  • пол ("м", "ж").

В таблице заказдолжны содержаться данные:

  • вид товара;

  • количество товара в заказе;

  • сумма заказа;

  • дата заказа;

  • дата доставки.

(клиент не может заказать два заказа в один день).

Вариант 8

Создать две связанные таблицы: родительская - работник, дочерняя -выполненная работа.

В таблице работникдолжны содержаться данные:

  • учетный номер работника;

  • паспорт (10-ти разрядное число);

  • пол ("мужской", "женский");

  • адрес;

  • возраст (не меньше 18 и не старше 65).

В таблице выполненная работадолжны содержаться данные:

  • вид работы;

  • количество часов (от 1 до 12);

  • степень тяжести (легкая, средняя, тяжелая);

  • дата выполнения;

  • степень выполнения в %.

Вариант 9

Создать две связанные таблицы: родительская - студент, дочерняя:дисциплина.

В таблице студентдолжны содержаться данные:

  • номер зачетной книжки;

  • паспорт;

  • ФИО студента;

  • номер группы студента;

  • номер специальности (5-ти или 6-ти разрядное число).

В одной группе не должно быть однофамильцев.

В таблице дисциплинадолжны содержаться данные:

  • название дисциплины;

  • количество часов;

  • ФИО преподавателя;

  • направление (гуманитарное, техническое, естественное);

  • степень дисциплины (от 1 до 10).

Вариант 10

Создать две связанные таблицы: родительская - аптека, дочерняя –лекарство.

В таблице аптекадолжны содержаться данные:

  • номер аптеки;

  • адрес аптеки;

  • направление (общее, гомеопатическое, народно-медицинское);

  • количество работников (не меньше 5);

  • номер лицензии.

В таблице лекарстводолжны содержаться данные:

  • название;

  • страна выпуска;

  • вид (таблетки, капли, аэрозоль, мази, гели, кремы, ампулы, порошки, отвары);

  • цена (в разных аптеках может быть разная цена);

  • назначение (сердечные, желудочные, легочные, отхаркивающие, кожные).

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

Вариант 11

Создать две связанные таблицы: родительская - фирма, дочерняя –предоставляемые услуги.

В таблице фирмадолжны содержаться данные:

  • название фирмы;

  • ФИО директора;

  • адрес фирмы;

  • количество работающих сотрудников больше (5);

  • специализация.

В таблице предоставляемые услугидолжны содержаться данные:

  • название услуги;

  • стоимость услуги;

  • продолжительность услуги (больше 0);

  • количество сотрудников, обеспечивающих услугу;

  • вид оборудования, используемое при услуге.

Вариант 12

Создать две связанные таблицы: родительская - общежитие, дочерняя –студент.

В таблице общежитиедолжны содержаться данные:

  • номер общежития;

  • ФИО коменданта;

  • адрес;

  • наличие столовой;

  • количество компьютеров;

  • факультет (ФЭТ, РТФ, РКФ, ФСУ).

В таблице студентдолжны содержаться данные:

  • номер паспорта студента;

  • номер группы;

  • ФИО студента;

  • дата рождения;

  • стоимость платы за проживание (больше 300).

Контрольные вопросы

  1. В чем заключается ссылочная целостность?

  2. Привести типы ограничений при создании таблицы ORACLE?

  3. Привести типы ссылочной целостности.

  4. Какие ограничения определяются в ограничении таблицы?

  5. Сколько первичных ключей можно определить для таблицы?

  6. Имеет ли порядок создания родительской и дочерней таблиц?

  7. В каком случае внешний ключ может допускать пустые значения?