
- •1.1. Архитектура бд
- •2. Тема 2. Системы управления бд (субд). Выбор систем управления бд. Функции субд.
- •3.1. Жизненный цикл бд. Этапы жц бд.
- •3.1.1. Оценка работы и поддержка б.Д. Производится оценка с точки зрения выполнения требований пользователей. В случае необходимости в систему вносятся изменения.
- •3.1.1.1. Документальные системы
- •3.1.1.2.Обобщенная функциональная структура дипс.
- •3.1.1.3. Коммерческие б.Д.
- •3.1.1.4. Коммерческие базы данных.
- •3.1.1.5. Распределенная обработка данных. Распределенные базы данных
- •3.2. Литература
- •4.1. Уровни.
- •4.2. Этапы проектирования.
- •4.3.Трехуровневая архитектура организации бд
- •4.4. Этапы проектирования: исследование проблемы, этап анализа, проектирование, реализация, внедрение, сопровождение.
- •4.5. Проектирование бд.
- •4.5.1. Этапы проектирования.
- •Тема 5. Средства и методы проектирования бд. Методика диаграмм взаимосвязей между объектами erd-диаграммы. Использование case-технологий при проектировании бд.
- •5.1. Базовые понятия.
- •5.2. Case - приложение eRwin
- •5.2.1. Объекты в eRwin
- •5.2.2. Связь в Erwin
- •6.1. Правила отношений между сущностями. Определение ключей
- •6.2. Нормализация бд. Денормализация бд.
- •Тема 7. Реляционная модель бд. Таблицы. Ограничения целостности данных. Реляционная алгебра. Реляционное исчисление.
- •Тема 8. Организация процессов обработки данных в бд. Обработка транзакций
- •Понятие транзакции.
- •9.1.1. Операторы определения данных ddl
- •9.1.2. Операторы манипулирования данными Data Manipulation Language dml
- •9.1.3. Язык запросов Data Query language (dql)
- •9.1.4. Средства администрирования данных
- •9.1.5. Программный sql
- •9.2. Оператор выборки данных select, использование условий поиска, сортировка результатов запроса. Синтаксис оператора select.
- •C.10. Тема 10. Простые запросы и правила их выполнения. Особенности многотабличных запросов. Объединение таблиц. Использование вложенных запросов
- •10.1. Простые запросы и правила их выполнения
- •10.2. Особенности многотабличных запросов
- •10.3. Объединение таблиц
- •10.4. Использование вложенных запросов
- •Тема 11. Внесение изменений в бд. Добавление информации в бд, удаление данных, изменение существующих данных.
- •C.11.1.Внесение изменений в базу данных
- •Удаление данных
- •11.2. Изменение существующих данных
- •12.1. Специальные аспекты работы с бд. Процедура индексирования.
- •12.2. Триггеры
- •12.2.1. Ключевые слова и параметры
- •12.2.2. Компоненты триггера
- •12.2.3.Типы триггеров.
- •12.2.4.Включение и выключение триггеров.
- •C.12.2.5. Удаление триггера
- •C.12.2.6. Корреляционные имена
- •12.3. Процедуры и функции
- •12.4. Функция
- •12.5.Курсоры.
- •Тема 13. Физическая организация бд на примере Oracle9i. Организация табличных пространств, журналов транзакций. Серверные процессы. Структуры памяти и взаимодействие между процессами.
- •13.1. Архитектура бд.
- •14.1. Системы обработки транзакций oltp и olap - технологий
- •14.2. Хранилища данных. Многомерные хранилища данных
- •14.3. Методы аналитической обработки (olap)
- •14.3.1. Хранилища данных
- •14.3.2. Причины внедрения информационных систем на основе хранилищ данных
- •Литература
- •14.5. Olap в России
- •Тема 15. Основы фракталов. Фрактальная математика. Фрактальные методы в архивации. Управления складами данных
- •15.1. Понятие "фрактал"
- •15.2. Классификация фракталов
- •15.2.1. Геометрические фракталы
- •15.2.2. Алгебраические фракталы
- •C.15.2.3. Стохастические фракталы
- •C.15.3. Системы итерируемых функций
- •15.4. Фрактальное сжатие
- •15.5. История фрактального сжатия
- •15.6. Идея фрактальной архивации
- •15.7. Сравнение с jpeg
- •15.8. Литература
- •Темы рефератов
Удаление данных
Удаление строк из таблицы можно осуществить командой модификации DELETE. Стоит учитывать, что она может удалять только целые записи таблицы, а не индивидуальные значения того или иного поля. По этой причине для данного оператора параметр поля является недоступным. Например, для удаления всего содержимого таблицы STUDENTS, можно воспользоваться следующим:
DELETE FROM STUDENTS;
В процессе работы чаще необходимо удалять не все данные, а только некоторые определенные строки из таблицы. Для того чтобы определить, какие строки будут удалены, используют предикат, аналогично тому, как это делается для запросов. Например, чтобы удалить информацию о студенте Нагорный, можно использовать следующую команду:
DELETE FROM STUDENTS
WHERE SNUM = 3416;
Здесь в качестве предиката использован номер студенческого билета: действительно, это поле фактически является первичным ключом таблицы, что дает гарантию удаления только одной записи. Использование поля SFAM, вообще говоря, приводит к удалению нескольких записей, т.к. в таблице могла храниться информация об однофамильцах.
В команде DELETE допускается использовать предикат, выбирающий целую группу строк. Например, следующая команда удаляет из таблицы USP все данные, относящиеся к оценкам, полученным 10/06/1999:
DELETE FROM USP
WHERE UDATE = 10/06/1999;
Наконец, так же, как и в случае с командой INSERT, допускается в предикате использовать вложенный запрос. Чаще всего это необходимо, когда критерий, по которому выбираются данные для удаления, базируется на другой таблице. Например, если возникает необходимость в удалении информации о студентах из таблицы STUDENTS, причем для таких, у которых имеются тройки по любому из учебных предметов, то нужно выполнить следующее:
DELETE FROM STUDENTS WHERE SNUM = (SELECT SNUM FROM USP
WHERE OCENKA = 3) ;
В данном случае подзапрос выберет всех студентов, имеющих тройки, из таблицы успеваемости, и в предикат основной команды вернет номера их студенческих билетов.
Допускается в предикате команды DELETE использовать и подзапросы, что дает возможность установить довольно сложные критерии того, какие строки будут удаляться. Кроме того, очень эффективно выполнять сначала вторичные действия (проверки и т.п.), после чего выполнять само удаление. Хотя нельзя ссылаться на таблицу, из которой будут удаляться записи, в предложении FROM подзапроса, в предикате допускается ссылка на текущую строку этой таблицы, т.е. можно использовать соотнесенные подзапросы. Например:
DELETE FROM STUDENTS WHERE EXISTS (SELECT * FROM USP
WHERE OCENKA. = 3
AND STUDENTS . SNUM = USP. SNUM);
Собственно вся команда удаляет информацию, аналогично предыдущему примеру. Обратите внимание на то, что часть предиката внутреннего запроса ссылается к таблице STUDENTS. Это означает, что весь подзапрос будет выполняться отдельно для каждой строки данной таблицы.
В целом, структура команды DELETE достаточно проста для понимания, поэтому более подробно на ней останавливаться не будем.