- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Учреждение образования
- •«Белорусский государственный университет
- •Информатики и радиоэлектроники»
- •Пояснительная записка
- •Содержание дисциплины
- •1. Название тем лекционных занятий, их содержание, объем в часах.
- •2 Перечень тем ипр их наименование и объем в часах
- •3 Перечень тем контрольных работ их наименование и объем в часах
- •4. Курсовая работа, ее характеристика
- •Перечень тем курсовых работ
- •5. Литература
- •5.1 Основная
- •5.2 Дополнительная
- •6. Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- •7. Учебно-методическая карта дисциплины
- •1.1.3. Способы организации знаний в базах знаний
- •1.1.4. Применение баз знаний
- •1.1.5. Виды моделей баз данных
- •2. Теория баз данных
- •2.1. История развития представлений о базах данных
- •2.1.1. Области применения вычислительной техники
- •2.1.2. Базы данных и информационные системы
- •2.1.3. История развития баз данных
- •2.1.4. Этапы развития баз данных
- •2.2. Основные термины и определения теории бд, виды бд и их отличия
- •2.2.1. Классификация бд
- •2.3. Реляционные бд, понятие сущности и связи
- •2.3.1. Общие определения
- •2.3.2. Факты о реляционной модели данных
- •2.3.3. Достоинства реляционной модели данных
- •2.3.4. Недостатки реляционной модели данных
- •2.3.5. Целостность бд
- •2.3.6. Отношения
- •2.3.7. Кортежи и отношения
- •2.3.8. Связи
- •2.3.9. Ключи отношений
- •2.3.10. Ссылочная целостность
- •2.3.11. Консистентность данных
- •2.4. Многоуровневая архитектура баз данных, понятие физического и логического уровней баз данных
- •2.4.1. Определения
- •2.4.2. Многоуровневая структура баз данных
- •Indexed р#
- •2.4.3. Постоянная и переменная длина записи
- •2.4.4. Способы представления данных
- •2.4.5. Простейший вариант – плоский файл
- •2.4.6. Факторизация по значениям поля
- •2.4.7. Индексирование по полям
- •2.4.8. Комбинация простых представлений
- •2.4.9. Использование цепочек указателей
- •2.4.10. Многосписочные структуры
- •2.4.11. Инвертированная организация
- •2.4.12. Иерархическая организация
- •2.4.14. Промежуточный итог
- •2.4.15. Методы индексирования
- •2.4.16. Индексирование по комбинации полей
- •2.4.17. Селективный индекс
- •2.4.18. Индексация по методу сжатия
- •2.4.19. Фронтальное сжатие
- •2.4.20. Сжатие окончания
- •2.4.21. Символьные указатели
- •2.4.23. Индексно-последовательная организация
- •2.4.24. Сбалансированные деревья
- •2.4.25. Ведение файла
- •2.4.26. Хэширование
- •2.5.2. Факторы эффективности хэширования
- •2.5.3. Размер участка памяти
- •2.5.4. Плотность заполнения
- •2.5.5. Алгоритмы хэширования
- •2.5.6. Размещение записей в области переполнения
- •2.5.7. Итог
- •2.6. Механизмы обработки и хранения данных в бд
- •2.6.1. Введение
- •2.6.2. Механизмы обработки и хранения данных в ms-sql 6.0-6.5
- •2.6.3. Механизмы обработки и хранения данных в ms-sql 7.0 и более поздних версиях
- •2.6.4. Метод доступа isam
- •2.6.5. Метод доспута MyIsam
- •2.6.6. Метод доступа vsam
- •2.6.7. Включение записей в *sam-файлы
- •2.6.8. Размещение индексов для *sam-файлов
- •2.6.9. Метод доступа InnoDb
- •InnoDb в MySql 5.1
- •2.7.3. Сетевые структуры
- •3.1.4. Стандарты разработки бд/субд
- •3.1.5. Sql и его стандарты
- •3.1.6. Использование методологии idef1x
- •3.1.7. Пример логической и физической схемы в ErWin
- •3.1.8. Минимальный набор стандартных таблиц
- •3.1.8. Итог
- •3.2. Средства автоматизированного проектирования бд
- •3.2.1. Введение
- •3.2.2. Case-технологии
- •3.2.3. Достоинства case-технологий
- •3.2.4. Промежуточные выводы и определения
- •3.2.5. Методологии структурного моделирования
- •3.2.6. Методология sadt (idef0)
- •3.2.7. Методологии информационного моделирования
- •3.2.8. Нотация Чена
- •3.2.9. Нотация Мартина
- •3.2.10. Нотация ide1x
- •3.2.11. Нотация Баркера
- •3.2.12. Язык информационного моделирования
- •3.2.13. Case-средства
- •3.2.14. Процесс создания модели бд в ErWin
- •3.2.15. Процесс создания модели бд в Sparx ea
- •3.2.16. Итог
- •3.3. Особенности проектирования бд на логическом и физическом уровнях
- •3.3.1. Введение
- •3.3.2. Модель бд
- •3.3.4. Банки данных
- •3.3.5. Модели данных
- •3.3.6. Этапы проектирования бд
- •3.3.7. Проектирование бд: внешний уровень
- •Изучение процессов преобразования входных данных в выходные.
- •3.3.8. Проектирование бд: инфологический уровень
- •3.3.9. Проектирование бд: даталогический уровень
- •3.3.10. Уровни sql
- •3.3.11. Проектирование бд: физический уровень
- •3.4.3. Требования нормализации
- •3.4.4. Примеры аномалий
- •3.4.5. Нормальные формы
- •3.4.6. Зависимости
- •3.4.6. Первая нормальная форма
- •3.4.7. Вторая нормальная форма
- •3.4.8. Третья нормальная форма
- •3.4.9. Нормальная форма Бойса-Кодда
- •3.4.10. Четвёртая нормальная форма
- •3.4.11. Пятая нормальная форма
- •3.4.12. Доменно-ключевая нормальная форма
- •3.4.13. Ещё раз, кратко, все нормальные формы
- •3.4.14. Ещё раз, кратко, в ErWin
- •3.4.15. Обратное проектирование бд
- •3.4.16. Итог
- •3.5. Повышение качества бд на стадии проектирования
- •3.5.1. Памятки разработчикам бд
- •3.5.2. Показатели качества бд
- •Практическая часть
- •Указания по выбору варианта
- •Индивидуальные практические работы Индивидуальная практическая работа № 1 Общие сведения
- •Практическая часть
- •Указания по выбору варианта
- •Индивидуальная практическая работа № 2 Общие сведения
- •Указания по выбору варианта
- •Практическая часть
2.6.6. Метод доступа vsam
VSAM (virtual sequential access method, виртуально-последовательный метод доступа) – весьма схож с методом доступа ISAM, за исключением того, что организация VSAM не зависит от типа оборудования и поэтому не оперирует такими категориями, как дорожки и цилиндры.
Вместо цилиндров, разделённых на дорожки, используются управляемые области, подразделяющиеся на управляемые интервалы.
Управляемые интервалы, относящиеся к одному набору данных, имеют одинаковую длину. Выбор длин возможен в широких пределах. Несколько управляемых интервалов могут располагаться на одной дорожке, в то же время один управляемый интервал может занимать несколько дорожек.
Подобно индексу дорожек метода доступа ISAM, в методе доступа VSAM используется индекс управляемых интервалов, который называется «набором указателей».
Подобно тому как в методе ISAM имеется один индекс дорожек на цилиндр, так и в методе VSAM имеется один набор указателей на одну управляемую область.
Набор указателей сам индексируется с помощью иерархии (дерева) указателей, мало отличающейся от структуры главных индексов в методе ISAM.
Эта иерархия указателей носит название «набора индексов».
Набор указателей содержит максимальное значение ключа для каждого управляемого интервала и указывает на данный управляемый интервал.
Низший уровень набора индексов содержит максимальное значение ключа для каждой управляемой области и указатель на блок набора указателей для данной управляемой области.
При поиске по методу доступа VSAM, как и по методу ISAM, последовательно сверху вниз просматриваются блоки набора индексов.
Важнейшим различием между VSAM и ISAM является не только независимость метода VSAM от типа внешнего устройства, но и способ включения записей в файл и их удаления из файла.
При создании файла осуществляется включение записей в управляемые интервалы, при этом их не заполняют до предела, что приводит к образованию распределённой свободной памяти в каждом из интервалов.
Кроме этого, внутри управляемой области некоторые управляемые интервалы остаются свободными.
Каждый элемент набора указателей указывает на один управляемый интервал.
Если управляемый интервал полностью свободен, то элемент набора вместо максимального значения ключа записей, расположенных в интервале, содержит признак свободной памяти.
При удалении записей из такого файла оставшиеся в интервале записи уплотняются к его левой границе.
Таким путём достигается непрерывность свободной памяти в каждом интервале, что облегчает включение новых записей.
Удаление записей может привести к тому, что управляемый интервал освободится полностью. В этом случае в элементе набора указателей, соответствующем данному интервалу, появляется метка FREE.
Данный процесс называют динамическим восстановлением памяти.
Расщепление памяти
Наличие значительного объёма свободной памяти в каждом управляемом интервале приводит к тому, что большая часть вновь поступающих записей умещается в пределах соответствующих интервалов.
Тем не менее неизбежны случаи нехватки распределённой свободной памяти в интервалах для включения новых записей.
В таких случаях осуществляется расщепление интервала.
Предположим, что необходимо включить запись с некоторым значением ключевого поля.
В соответствии со значением ключевого поля определяется управляемый интервал, в который следует включить запись.
Но интервал полностью заполнен, и поэтому осуществляется его расщепление, заключающееся в том, что около половины его записей пересылается в свободный интервал, входящий в состав той же управляемой области.
VSAM находит свободный управляемый интервал, для которого соответствующий элемент в наборе указателей помечен как свободный.
Но управляемая область может быть также заполненной (т. е. в её составе нет интервалов, помеченных в наборе указателей меткой FREE).
В таком случае осуществляется расщепление управляемой области, аналогичное расщеплению управляемого интервала.
В конце набора данных VSAM выделяет новую область, в которую переписывается около половины интервалов из расщепляемой области.
Место для новых областей может быть выделено заблаговременно, или новая область создаётся путём добавления дополнительного экстента к наборам данных.
Расщепление интервалов и областей сопровождается соответствующими изменениями в индексах.
Метод расщепления группы записей иногда называют клеточным делением: процесс расщепления памяти в некоторой степени напоминает размножение микроорганизмов путем деления.
Необходимо отметить, что процесс расщепления свободной памяти может быть организован таким образом, что отпадает необходимость выполнения процедур ведения файла, так как расщепление фактически обеспечивает выполнение функции ведения.
Следует отметить, что в любом случае (до или после расщепления интервала) записи в пределах управляемого интервала расположены в порядке, соответствующем возрастанию их ключей.
Однако в масштабе управляемой области возрастание ключей может быть нарушено.
Тем не менее адресация в блоке индексов организована таким образом, что позволяет осуществлять доступ к записям, содержащимся в области, в порядке возрастания значений ключей.
После расщепления управляемой области интервалы в образованных областях остаются в той же последовательности, что и до расщепления.
Многократные расщепления могут нарушить последовательность управляемых областей, тем не менее доступ к записям в соответствии с последовательностью ключей возможен благодаря наличию набора индексов.
Набор индексов может иметь многоуровневую структуру.
Индексы, расположенные на низшем уровне этой структуры, содержат указатели, позволяющие осуществлять доступ к управляемым областям в соответствии с возрастанием ключей.
Расщепление областей приводит лишь к незначительному росту времени последовательного доступа к записям файла.
Таким образом, в методе доступа VSAM не требуется периодического выполнения процедур ведения файла.
Использование распределённой свободной памяти требует дополнительных затрат памяти по сравнению с использованием областей переполнения.
Однако свободная память позволяет существенно ускорить доступ к включённым записям.
Время, затрачиваемое на доступ к вновь включённым записям, в методе доступа VSAM равно времени, необходимому для доступа к первоначальным записям файла.