
- •Рецензент
- •Лекция 1. Базы данных и системы управления базами данных
- •Понятие базы данных
- •Понятие системы управления базами данных
- •Обобщенная архитектура субд
- •Трехуровневая архитектура ansi-sparc
- •Достоинства и недостатки субд
- •Архитектура многопользовательских субд
- •Технология «клиент/сервер»
- •Лекция 3. Администрирование баз данных. Системный каталог Понятие независимости данных
- •Общая классификация пользователей бд
- •Администратор базы данных
- •Разделение функций администрирования
- •Лекция 4. Проектирование бд
- •Некоторые термины и определения, используемые при работе с базами данных
- •Принципы проектирования информационных систем
- •Жизненный цикл информационной системы
- •Этапы проектирования баз данных
- •Лекция 5. Семантическое моделирование
- •Лекция 6. Логическое проектирование субд Выбор субд
- •Метод ранжировки
- •Метод непосредственных оценок
- •Метод последовательных предпочтений
- •Оценка результатов экспертного анализа
- •Лекция 7. Даталогические модели данных
- •Иерархическая модель
- •Сетевая модель
- •Реляционная модель
- •Достоинства и недостатки даталогических моделей
- •Лекция 8. Нормализация бд. Часть1 Понятие функциональной зависимости[2]
- •Аксиомы вывода функциональных зависимостей
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Нормализация через декомпозицию
- •Лекция 9. Нормализация бд. Часть 2 Недостатки нормализации посредством декомпозиции
- •Нормальная форма Бойса–Кодда (нфбк)
- •Многозначные зависимости
- •Аксиомы вывода многозначных зависимостей
- •Четвертая нормальная форма
- •Зависимости соединения
- •Пятая нормальная форма
- •Обобщение этапов нормализации
- •Лекция 10. Физическая организация данных в субд Списковые структурых [2]
- •Последовательное распределение памяти
- •Связанное распределение памяти
- •Модель внешней памяти
- •Лекция 11. Методы поиска и индексирования данных Последовательный поиск [2]
- •Бинарный поиск
- •Индекс - «бинарное дерево»
- •Неплотный индекс
- •Плотный индекс
- •Инвертированный файл
- •Лекция 12. Реляционная модель данных Понятие отношениях
- •Формы представления отношений
- •Теоретические языки запросов
- •Определение реляционной полноты
- •Лекция 13. Распределенные базы данных и субд
- •Основные определения, классификация распределенных систем
- •Преимущества и недостатки распределенных субд
- •Функции распределенных субд
- •Архитектура распределенных субд
- •Лекция 15. Общее введение в sql, типы данных и средства определения доменов Часть 1. Введение
- •Краткая история языка sq [12]
- •Структура языка sql
- •Типы данных sql
- •Tочные числовые типы
- •Истинно целые типы
- •Точные типы, допускающие наличие дробной части
- •Приближенные числовые типы
- •Типы символьных строк
- •Типы битовых строк
- •Лекция 16. Общее введение в sql, типы данных и средства определения доменов Часть 2. Типы даты и времени
- •Тип даты
- •Типы времени
- •Типы временной метки
- •Типы времени и временной метки с временной зоной
- •Типы временных интервалов
- •Булевский тип
- •Типы коллекций
- •Типы массивов
- •Типы мультимножеств
- •Анонимные строчные типы
- •Типы, определяемые пользователем
- •Ссылочные типы
- •Средства определения, изменения определения и отмены определения доменов
- •Определение домена
- •Примеры определений доменов
- •Изменение определения домена
- •Примеры изменения определения домена
- •Отмена определения домена
- •Неявные и явные преобразования типа или домена
- •Неявные преобразования типов в sql
- •Явные преобразования типов или доменов и оператор cast
- •Заключение
- •Тезаурус
- •12. Кузнецов с. Д. Базы данных. Вводный курс. Http://citforum.Ru/database/advanced_intro/
Лекция 11. Методы поиска и индексирования данных Последовательный поиск [2]
Последовательный поиск заключается в последовательной проверке всех записей файла на их соответствие условию поиска Q [24]. Записи, значения полей которых удовлетворяют условию Q, выдаются в качестве результата поиска.
Поиск по равенству К = а, где К – значение ключевого поля. Алгоритм поиска заключается в последовательном просмотре записей файла и проверке условия К = а. Если запись найдена, то алгоритм заканчивает свою работу (удачный поиск). В противном случае поиск заканчивается просмотром последней записи файла (неудачный поиск).
Если ключ К с равной вероятностью может принимать любое из заданных значений, то в среднем для выполнения поиска требуется время
Поиск по интервалу значений ключа а ≤ К ≤ b. Алгоритм поиска заключается в последовательном просмотре всех записей файла, так как зарание неизвестно, какие записи удовлетворяют условию Q, а какие не удовлетворяют.
Требуемое время на поиск
Поиск по множеству значений K = ai, i = 1, 2, ..., п, где ai принимает значения из множества {а1, а2, ..., аi, ..., ап}. Алгоритм поиска заключается в последовательном просмотре всех записей файла, при чем для каждой записи осуществляется п проверок по равенству: К = аi, где i = 1, 2, ..., п.
Основным достоинством последовательного поиска данных при последовательной организации файла является простота его реализации.
Бинарный поиск
Записи в файле можно упорядочить, например, по возрастанию или убыванию значения первичного ключа соответственно:
В этом случае можно построить более эффективные алгоритмы поиска, поскольку после сравнения значения а (условие поиска Q: К = а) со значением ключа i-й записи файла ясно, в какой части файла продолжать поиск [24].
Методы поиска записей в упорядоченном файле различаются друг от друга стратегией выбора очередной записи из фала для выполнения операции сравнения ключа в соответствии с заданным условием Q. Метод бинарного поиска основан на делении интервала поиска пополам.
Поиск по равенству К = а. Алгоритм поиска заключается в следующем. Файл считают упорядоченным по возрастанию ключа. Сравнивают значения ключа средней записи Ki, где i = nз.ф./2 со значением а. Если К = а то поиск удачный и алгоритм заканчивает свою работу. Если Кi < а, то для продолжения поиска выбирается средняя запись правой половины файла: зi, ..., зj, ..., зпз., где
Если Кi > а, то для продолжения поиска выбирается средняя запись левой половины файла: з1, з2, ..., зj, ..., зi, где
Процесс деления интервала пополам продолжается до тех пор, пока не будет найдена искомая запись (Кi = а), либо пока в интервале не останется всего одна запись. Если значение ее ключа не удовлетворяет условию поиска, то поиск неудачный и искомой записи в файле нет.
Бинарный поиск можно выполнять, работая с блоками файла, а не с записями. При считывании блока в оперативную память поиск записи в блоке может быть последовательным. В этом случае в качестве характеристик блока используются граничные значения ключей записей, находящихся в блоке.
Поиск по интервалу значений а ≤ К ≤ b. Алгоритм поиска следующий. Вначале выполняется бинарный поиск записи, значение ключа которой удовлетворяет условию Кi = а, либо, если такой записи нет в файле, то значение ключа которой является наиболее близким к а по условию а ≤ Кi. Далее последовательно читаются записи в блоках файла до тех пор, пока не будет нарушено условие: Кi ≤ b.