КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
МОДИФИКАЦИЯ ТАБЛИЦ
Удалите из таблиц заданные категории объектов.
Вариант задания. Удалите все сведения о товарах, не пользовавшихся спросом в последнее время (скажем, год). Удалите сведения о продавцах, не осуществляших никаких продаж за последнее время. Удалите сведения о покупателях, не делавших покупок за последнее время.
Измените значения атрибутов объектов заданной категории.
Тема 3. Задачи-многоходовки. Представления и транзакции.
В контексте заданной предметной области, любой человек характеризуется следующими данными.
n NAMe ФАМИЛИЯ (30 символов) n ID ПАСПОРТ - № паспорта, 10 символов (очевидно, уникальный для каждого человека) n MUM МАТЬ - № паспорта матери (NULL, если нет сведений) n DAD ОТЕЦ - № паспорта отца (NULL, если нет сведений) n СУПРУГ - № паспорта жены/мужа (NULL, если нет сведений) n BIRTDAY ДАТА - дата рождения (тип дата) n INCOME ДОХОД - ежемесячный доход (зарплата, стипендия и т.п.), вещественное 99.999.999,99 n CITY ГОРОД - город проживания (30 символов) n TAX НАЛОГ - сумма подоходного налога, в % (целое)
Кроме того, в информацию о студентах дополнительно включаются сведения
n INSTITUTE ВУЗ - сокращенное название ВУЗа, 10 символов - например, ‘КГУ’, ‘КГМУ’ и т.п. n SEX ПОЛ - один из символов ‘М’,’Ж’
БД включает таблицы СТУДЕНТЫ, ОТЦЫ и МАТЕРИ, включающую информацию о студентах и их родителях, соответственно. ПРИМЕЧАНИЕ. Как всегда, считаем, что допустимо применение имен на кириллице.
- Выдать список студентов, с указанием фамилий и дохода родителей, упорядоченный по возрасту студентов. Студентов, чьи доходы ниже 100 руб., в список не включать. - Выдать упорядоченный по фамилиям список живущих в Казани, Москве и Самаре родителей, с указанием - мать это или отец, чей доход не превышает 300 руб. - Выдать все пары студентов-однофамильцев из КГУ, с указанием фамилии и, для обоих, паспортных данных. Дублирующиеся пары не включать. - Выбрать всю информацию об отцах, чьи доходы выше среднего по городу, в котором они живут. - Выдать список живущих вне Казани матерей, имеющих не менее - двух сыновей-студентов, учащихся в Казани. - Выбрать всю информацию об студентах, чьи доходы выше среднего для казанских студентов.
"Многоходовки" – т.е. задачи, решение которых не реализуется легко единственной командой SQL проще решать, используя представления или курсоры, например:
- Удалить информацию о студентах ВУЗА 'АГУ' а также их родителях - в случае, если у тех нет других детей-студентов (вариант посложнее - включить в число родителей студентов их бабушек и дедушек)
Вариант решения: - запомнить студентов нужного ВУЗа и ссылки на их отцов, - запомнить отцов, у которых все дети (если вообще есть таковые) учатся в нужном ВУЗе - удалить информацию об отцах, входящих в первый и второй список - … сделать то же с мамами - удалить информацию о студентах нужного ВУЗа
1. Create View Dad1 as Select Distinct Dad from Students where Institute=’АГУ’ 2. Create View as Dad2 as Select Id from Dad where NOT Exists (Select Id from Students where Dad=Dad.Id and Institute<>’АГУ’)
|