- •302030, Г. Орел, ул. Московская, 65
- •Введение
- •1 Цель проведения лабораторных работ
- •2 Подготовка к выполнению лабораторных работ
- •3 Построение er-модели
- •4 Переход к реляционной модели
- •5 Язык sql
- •6 Задания к лабораторным работам
- •6.1 Описание предметной области
- •6.2 Работа с базой данных
- •7 Контрольные вопросы
- •8 Список литературы
6.2 Работа с базой данных
Разработать структуру базы данных, создать соответствующие таблицы, заполнить их данными и выполнить задания:
1. Создать запросы:
1) Выбрать номера и даты заявок, в которых товар будет сертифицироваться по схемам 1, 6, 9;
2) Определить, сколько заявок было подано за март 2011;
3) Выбрать информацию о количестве заявок в 2011 г. по клиентам, расположенным в Орловской области;
4) Получить имена (названия) клиентов, подавших заявки с 10.04.2011 по 20.04.2011;
5) Получить сведения о заявках, которые курирует сотрудник Иванов;
6) Найти заявки, в которых продукция будет сертифицироваться по ГОСТам;
7) Найти заявки на сертификацию шоколада;
8) Найти имена (названия) клиентов, сертифицировавших в 2011 году шоколад и получивших отрицательное решение о выдаче сертификата;
9) Перечислить служащих, работающих над несколькими заявками в 2011 году, решение по которым было отрицательным;
10) Перечислить сотрудников, работающих только над одной заявкой;
11) Перечислить все лаборатории, задействованные по заявке № 100 от 12.04.2011;
12) Перечислить сотрудников, принимавших заявки в апреле 2011 года;
13) Перечислить клиентов, у которых по всем заявкам, поданным в 2011 году, получено положительное решение;
14) Изменить номер схемы сертификации на 10 для тех заявок, которые были поданы позднее 01.03.2011 и имели номера 7и 8.
15) Получить сведения по клиентам – для каждого найти даны и номера заявок, поданных в 2011 году и соответствующие им решения по заявке. Результат должен содержать информацию и по тем заявкам, решение по которым еще не принято;
16) Добавить в таблицу служащих поле «оклад». Заполнить значениями (alter, update);
17) создать новую таблицу и поместить в нее информацию о невыданных сертификатах;
2. Создать следующие представления:
1) содержащее информацию о сертификатах (номер сертификата, дата выдачи, название продукции, название клиента, имя служащего, выдавшего сертификат); определить вид представления; можно ли вставлять запись в это представление;
2) содержащее информацию о заявках, поданных позднее определенной даты; добавить в это представление новую запись, не удовлетворяющую условию; что произойдет с представлением и что произойдет с таблицей «Заявки»? Изменить это представление таким образом, чтобы в него нельзя было вставить запись, не удовлетворяющую условию;
3. Обеспечить целостность:
1) chek на тип документа – «декларация или заявление»
2) в таблице «Клиент» определить альтернативный ключ (название + адрес);
3) при удалении сотрудника все его работы принимают неопределенное значение (триггер);
4) при удалении нормативного документа обеспечить стратегию delete/cascade;
5) запретить ввод сертификата, если решение о его выдаче не принято;
4. Написать хранимые процедуры:
1) по названию продукции вывести все нормативные документы (их название);
2) по ФИО сотрудника вывести все виды работ;
3) на заполнение категорий о декларациях и заявителях;
4. Создать двух пользователей. Одному дать права на просмотр и изменение таблиц «Продукция», «Клиент», «Заявка» с правом передачи этих прав другим пользователям. Второму пользователю дать права на просмотр таблицы «Служащий» без права передачи прав. Подключиться к базе данных первым пользователем, передать свои права другому пользователю. Попытаться передать право на удаление записи из таблицы «Служащий» в пользу второго пользователя.
