Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shp.doc
Скачиваний:
22
Добавлен:
18.09.2019
Размер:
5 Мб
Скачать
☆

17. Индексация в субд. Типы индексов. Создание и удаление индекса операторами языка sql.

В СУБД индексация является механизмом для повышения производительности. Индексирование ускоряет выборку данных из БД. Индексы служат логическим указателем на физ-кое местонахождение данных. Индекс – это структура позволяющая выполнить ускоренный доступ к строкам табл., на основе 1-го или более ее столбцов. Индексирование повышает скорость выполнения ее запросов. Индексы(И) должны обновляться системой при каждом внесении изменений в базовую табл, => они дают дополнительную нагрузку на систему. После создания И их работа и использование не зависит от пользователя. Способы использ. И определяет система. Табл. может иметь 1 или несколько И, или не иметь их вообще. Индексами принято называть упорядоченный список полей или групп полей в табл.

Индексный адрес – специальный метод обеспечения объединения всех значений в группы из одной или более записей, которые отличаются одна от другой. Когда создается И в поле БД запоминает соответствующий порядок всех значений этого поля в области памяти.

Недостатки индексов:

1) Замедляются операции модификации данных (INSERT и DELETE);

2) Занимают место в памяти.

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

CREATE[UNIQUE] INDEX имя_инд.

ON имя_табл(имя_столбца[имя_столбца] [ASC|DESC][...]);

Указанные столбцы составляют ключ индекса и должны быть перечислены в возрастающем или убывающем порядке. И могут создаваться только для табл БД, но не для представлений. Если в операторе включено слово уникальность, то уникальность значений ключа поддерживается системой автоматически. Уникальность обязательна для первичных ключей. Ключевое слово ASC – говорит о возрастание значений и подразумевается по умолчанию; DESC – убывающее значение. Создавать И можно в любой момент работы в табл, но лучше это делать при ее создании.

Типы индексов.

Составной индекс – использ когда одновременно есть необходимость осуществлять поиск по 2 или нескольким столбцам. в большинстве диалектов SQL порядок столбцов составного И не обязательно должен соответствовать порядку столбцов при создании табл.

Уникальные И – ни какие 2 стороки не могут иметь И с одинаковыми значениями, такие И создаются по ключевым столбцам.

Простые И – И которые создаются на одиночных столбцах.

Групповые И – строки табл сортируются так что их физ-кий адрес совпадает с логическим адресом в БД. Логический адрес – индексационный адрес.

18. Редактирование данных в таблице бд операторами языка sql.

Для изменения используется оператор UPDATE имеющий формат записи:

UPDATE имя_табл

SET имя_столбца1=выраж[, имя_столбца2=выраж...]

[WHERE условие]

В данном операторе вместо имени табл может быть имя-представление. Если условие опущено, то значение указанных столбцов будет изменятся во всех строках табл. Тип столбцов и в старом и в новом варианте должен быть совместным.

Обновление некоторых строк.

Например, повысим не 5% ставку каждого подчиненного начальника 1520

UPDATE worker

SET hraly_rate=1.05*hrly_rate

WHERE SUPV_ID=1520

Обновление всех строк.

Для повышения ставки всем рабочим надо:

UPDATE worker

SET hraly_rate=1.05*hrly_rate

Обновление нескольких строк.

Переведем Девида Форда на должность менеждера и повысим ему зарплату до 20000 фунтов стерлингов в год

UPDATE slovgy

SET Position=’manager’, Salary=20000

WHERE Sno=’SG14’;

Удаление данных из таблицы.

DELETE FROM имя_табл

[WHERE условие]

Оператор WHERE определяет подлиж. удаления строки. Если он отсутствует, то удаляются все строки из таблицы, но табл остается. А для удаления таблици DROP.

Например, Все рабочие чей начпльник имеет индекс 1520 удалить => удаляем все строки.

DELETE FROM worker

WHERE SVPV_ID=1520;

Удаление отдельных строк.

Удалим все записи об осмотре здаваемого в аренду объекта с учетом № PG4.

DELETE FROM viewing

WHERE pno=’PG4’;

Удалим все строки данной таблицы:

DELETE FROM viewing

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]