- •Понятие о структуре данного. Уровни представления структур данных.
- •Классификация сд в программах пользователя и в памяти эвм
- •Сд в оперативной памяти
- •Сд типа массив.
- •Сд типа запись (прямое декартово произведение).
- •Сд типа таблица.
- •Операции над таблицей:
- •Временная сложность алгоритмов.
- •Сд типа хеш-таблица.
- •Операция включения элемента в таблицу.
- •Операция исключения элемента из таблицы:
- •Сортировки. Улучшенные методы сортировок.
- •Классификация задач по временной сложности.
- •Сд типа стек.
- •Алгоритм сортировки Хоара (стек используется для хранения границ сортируемой области в таблице):
- •Сд типа очередь.
- •Связное распределение памяти.
- •Сд типа линейный односвязный список.
- •Сд типа указатель.
- •Статические и динамические переменные.
- •Сд типа циклический линейный список.
- •Сд типа двусвязный линейный список.
- •Сд типа дек.
- •Многосвязные списки.
- •Средства объектно-ориентированного программирования.
- •Объекты и свойства инкапсуляции.
- •Наследование и переопределение.
- •Полиморфизм. Виртуальные методы.
- •Динамические объекты. Деструкторы.
- •Обработка ошибок при работе с динамическими объектами.
- •Модули, экспортирующие объекты.
- •Нелинейные структуры данных.
- •Сд типа дерево.
- •Представление деревьев в связной памяти эвм.
- •Алгоритмы прохождения деревьев в глубину и в ширину.
- •Представление деревьев в виде бинарных.
- •Представление бинарных деревьев в связной памяти. Прошитые деревья
- •Формирование бинарного дерева.
- •Применение бинарных деревьев в алгоритмах поиска.
- •Операция включения в сд типа бинарное дерево.
- •Операция исключения из бинарного дерева.
- •Представление бинарного дерева в прямоугольной памяти.
- •Применение бинарных деревьев.
- •Сд типа граф.
- •Представление графа в памяти эвм.
- •Алгоритмы прохождения графа.
- •Топологическая сортировка.
- •Организация данных во внешней памяти. Типы и характеристики устройств внешней памяти.
- •Сд типа последовательный файл.
- •Сд типа файл прямого доступа.
- •Сд типа индексно-последовательный файл.
- •Сд типа хеш-файл.
- •Внешняя сортировка.
- •Алгоритм прямого слияния.
- •Многофазная сортировка.
- •Сущность базы данных. Системы управления базами данных.
- •Общая структура субд.
- •Реляционная модель субд.
- •Язык реляционной алгебры.
Язык реляционной алгебры.
Для манипулирования данными в реляционной СУБД используется язык реляционной алгебры. Элементами являются отношения, и в результате операций снова получаются отношения. Т.к. отношения являются множествами, то имеют место основные операции над множествами: объединение, пересечение, разность, декартово произведение; а также специфические операции: проекция, соединение, выбора. Если отношения имеют одинаковые атрибуты, то они называются совместимыми.
Операцией объединения над отношениями R1 и R2 называют отношения, в которых кортежи отношения являются элементами R1 и R2. Например:
R1(A, B) = {(a1, b1), (a2, b2)}; R2(A, B) = {(a1, b1), (a3, b3)};
R = R1 R2 = {(a1, b1), (a2, b2), (a3, b3)}.
Операция пересечения: R = R1 R2 = {(a1, b1)}.
Разность: R = R1 \ R2 = {(a2, b2)} (есть в R1, но нет в R2).
Декартово произведение (меняется степень отношения):
R = R1 R2 = {(a1, b1, a1, b1), (a1, b1, a3, b3), (a2, b2, a1, b1), (a2, b2, a3, b3)}.
Рассмотренные операции могут быть определены на произвольное число отношений.
Операция проекция (унарная операция) – позволяет из заданного отношения R получить отношение R /, в котором множество атрибутов является подмножеством атрибутов отношения R: R / = П R(А), где А – подмножество атрибутов исходного отношения.
Студент (личный номер, Ф.И.О., группа, В.М., ин. яз., СД, МК);
Высшая математика (личный номер, Ф.И.О., группа, В.М.).
Операция соединения позволяет создать отношение из двух или более исходных отношений, которые имеют одинаковый общий атрибут. Указывается, какие атрибуты должны войти в новое отношение. Для того, чтобы результирующее отношение содержало хотя бы один кортеж, необходимо, чтобы хотя бы в одном из кортежей каждого исходного отношения общий атрибут имел одно и то же значение.
Пример.
Студент.
Личный номер |
Ф.И.О. |
Факультет |
Курс |
Группа |
87 |
Иванов |
ФСУ |
2 |
33 |
81 |
Сидоров |
СТФ |
3 |
43 |
Спорт.
Личный номер |
Ф.И.О. |
Вид спорта |
Участие в соревнованиях |
81 |
Сидоров |
Плавание |
Да |
87 |
Иванов |
Бег |
Нет |
Медосмотр.
Личный номер |
Дата осмотра |
81 |
11.12.97 |
87 |
01.10.97 |
Получаем:
Ф.И.О. |
Факультет |
Вид спорта |
Дата осмотра |
|
Сидоров |
СТФ |
Плавание |
11.12.97 |
|
Иванов |
ФСУ |
Бег |
01.10.97 |
Операция выбора (унарная) – обеспечивает выбор некоторого подмножества из исходного отношения. При этом получаем новое отношение, которое состоит из таких кортежей, в которых значения одного или нескольких атрибутов удовлетворяют данному условию, которое указывается в запросе.