КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Оператор обновления языка SQL
Обновляет существующие записи таблицы БД UPDATE таблица SET атр=1значение1[,атр2=знач2,…] [WHERE условие]; Все записи таблицы, удовлетворяющие условию поиска обновляются в соответствии с присваиванием, указанным за ключевым словом SET Пример Установить количество деталей в поставках равным 0 для всех поставщиков из Вашингтона UPDATE SPJ SET количество=0 WHERE ‘Вашингтон’ IN (SELECT город FROM S WHERE номер_поставщика=SPJ.номер_пост);
DELETE FROM таблица [WHERE условие]; Из таблицы удаляются все записи, удовлетворяющие условию.
В стандарте SQL99 существуют 2 варианта исполнения этого оператора - Включение одной записи в таблицу (Действует во всех СУБД) INSERT INTO таблица [(атр1[,атр2,…])] VALUES (конст1[,конст2,…]);
В таблицу включается одна запись, имеющая заданные значения для указанных атрибутов, причем i-ая константа соответствует i-му атрибуту. Отсутствие списка атрибутов эквивалентно перечислению всех атрибутов из схемы таблицы Пример INSERT INTO Р (ном_детали, город,вес) VALUES (‘P7’,’Лондон’, 0,001); - Включение нескольких записей в таблицу INSERT INTO таблица [(атр1[,атр2,…])] Подзапрос; В этом операторе сначала определяется таблица, связанная с подзапросом. Затем строки этой таблицы включаются в исходную таблицу, имя которой указано за ключевым словом INTO. При этом i-ый атрибут подзапроса соответствует i-ому атрибуту в списке атрибутов таблицы. Пример Для каждой поставляемой детали найти номер и общее количество и сохранить результат в БД в виду новой таблицы. CREATE TABLE рабочая (ном_детали VARCHAR(7); Общ_кол_в_пост_ NUMBER); INSERT INTO рабочая SELECT ном_детали,SUM(количество); FROM SPJ GROUP BY ном_детали;
-------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------
БИЛЕТ 25
1. Практические приёмы нормализации схем отношений.
Практические приемы нормализации схем отношения. 1) Приведение схемы отношения к первой нормальной форме. Схема отношения находится в первой нормальной форме, если она не содержит вектор или других схем отношения.
2) Приведение схемы отношения ко второй нормальной форме. Схема отношения находится во второй нормальной форме, если не существует ключа Х, множества атрибутов Y X * и не первичного атрибута H Y, для которых были бы справедливы следующие свойства. · X→Y F+ · Y→H F+ · Y→X F+ (Это определение очень напоминает определение третьей нормальной формы, отличие только в *) X=A1A2 Y=A1 X(A1→Ai…Aj) H – один из атрибутов Ai…Aj Так как получилось подобрать X, Y, H è R1 – не находится во второй нормальной форме. 3) Приведение схемы отношения к третьей нормальной форме. X=A – ключ. Y=A2 R1(A2→Ai…Aj) H=Ai…Aj Так как подобрали X, Y, H è R1 ≠ Третьей нормальной форме.
Лекция 12 X=A1A5 – схема отношений R1 (A5 – кат. вектор) Y=A1(A1→A2A3A4) H (A2,A3,A4) A3→A4 Не в 1,2,3 НФ.
Задача нормализовать данную таблицу. Каждая схема будет в 3НФ, если каждый сотрудник занимает 1 должность на предприятии. Если это не так, то в исходной таблицу R1 входит другая схема, состоящая из других атрибутов.
В этом случае схему БД необходимо преобразовать, т.к. R1 не находится в 1 НФ.
Оптимизации (“на пальцах”)
2. Сравнение синхронной и асинхронной репликации данных.
|