- •Введение
- •Лабораторная работа №1 Создание и модификация базы данных.
- •Порядок выполнения
- •Варианты работы
- •Лабораторная работа №2 Работа с базами данных. Индексация, фильтрация и поиск данных в базе
- •Порядок выполнения
- •Лабораторная работа №3 Создание формы для редактирования таблиц
- •Порядок выполнения
- •Лабораторная работа 4 Создание программного файла VisualFoxPro.
- •Порядок выполнения
- •Лабораторная работа 5 Создание связанных таблиц в субд oraclEс декларативными ограничениями данных.
- •Порядок выполнения
- •Варианты работы
- •Лабораторная работа №6 Создание сложных запросов с использованием подзапросов и агрегированных функций
- •Варианты работы
- •Лабораторная работа 7 Создание анонимного блока
- •Варианты работы
- •Лабораторная работа 8 Создание хранимой процедуры или триггера баз данных
- •Варианты работы
Лабораторная работа 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).
Контрольные вопросы
В чем заключается ссылочная целостность?
Привести типы ограничений при создании таблицы ORACLE?
Привести типы ссылочной целостности.
Какие ограничения определяются в ограничении таблицы?
Сколько первичных ключей можно определить для таблицы?
Имеет ли порядок создания родительской и дочерней таблиц?
В каком случае внешний ключ может допускать пустые значения?