Главная » Просмотр файлов » Теория и практика построения баз данных

Теория и практика построения баз данных (1088289), страница 160

Файл №1088289 Теория и практика построения баз данных (Теория и практика построения баз данных) 160 страницаТеория и практика построения баз данных (1088289) страница 1602018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 160)

Плоские файлы 737 ОНЗ Ссылка Значение Ссылка 2 Значение 2 Ссылка 3 Индексный набор 101 102 103 104 105 108 10т 108 109 Последовательный набор (адресе записей с данными опущены) тт О Ю О а х й й тт о о й с й й й я И х и й Х о о 3 и о о. й о. о ю и й к й с Ф $ о й й о. и тт о о с й 1о о о о с й «1 й о. й 9 ю О ог й о к о. и! Адрес 1 гт2 Адрес 2 гтЗ Адрес 3 Ссылка Рис.

А.10. Пример бинврнога дерева со структурой, соответствующей рис. А.9 Аналогичным образом, на следующем уровне имеется трн значения н трп указателя на каждый элемент индекса. Всякий раз, когда мы спускаемся па уровень ниже, мы сужаем область своего поиска. Например, если от верхней записи мы проследуем по левой линии связи, а от следующего уровня — по правой линии, мы сможем обратиться ко всем записям, значения ключей которых больше 27, но меньше пли равны 45 На первом уровне мы исключили все записи, значения ключей которых больше 45. Бинарные деревья по определению являются сбалансированными. Это значит, что все записи находятся на одинаковом расстоянии от верхней записи индексного набора.

Это свойство бинарных деревьев обусловливает их эффективность, хотя алгоритмы вставки л удаления записей оказываются сложнее, чем для обычных деревьев (которые могут быть несбалансированными), поскольку для того, чтобы при этих операцтиях сохранить все записи на одинаковом расстоянии, может потребоваться модификация нескольких записей.

Резюме по структурам данных На рис. А.11 изображены все методы упорядочения плоских файлов. Для этой цели могут применяться три различных структуры данных. Одна из таких структур — последовательный список; его недостаток заключается в следующем: чтобы одновременно иметь записи, отсортированные в различном порядке, требуется дублировать данные. В связи с тем, что последовательные списки не используются прп работе с базами данных, далее мы пх рассматривать нс будем.

Нрн псполь- Упорядоченна логическая структура Возможная структура данных Метод доступа 733 Приложение А. Структуры данных зовании связных списков и бинарных деревьев дублирования данных не требует- ся. Бинарныс деревья являются особым приложением индексов. Обычно ---------------- Редко Рис. А.11. Структуры данных и принципы доступа, используемые для упорядочения плоских файлов Как показано на рис. А.11, последовательные списки могут храниться в файлах с любым принципом доступа. На практике, однако, обычно опп хранятся в файлах последовательного доступа.

Кроме того, хотя и связные списки, н индексы могут храниться и в файлах последовательного доступа с индексированием, и в файлах прямого доступа, СУБД всегда хранят пх в файлах прямого доступа. Представление бинарных связей В зтом разделе мы рассмотрим, каким образом каждьш из рассмотренных нами в данной главе шести видов связей между записями (деревья, простые сети и слож- ные сети) представляется с помощью связных списков н индексов. Обзор видов связей между записями Записи могут быть связаны между собой тремя способами. Дерево имеет одну или несколько связей «однн ко многим», но каждая дочерняя запись имеет мак- симум одного родителя. Данные сотрудника профессорско-преподавательского Представление бинарных связей 739 состава, показанные на рнс.

А.12, являют собой пример дерева. Дерево имеет не- сколько связей 1:Х, но каждая дочерняя запись, как можно видеть из рис. А.13, имеет только одного родителя. Рис. А.12. Пример записи о сотруднике профессорско-преподавательского состава Рис. А.13. Схема дерева, описывающего сотрудника ППС Просглая сеть — совокушюсть записей н связей вила 1:1ч между ними. Отличие простой сети от дерева состоит в том, что в простой сети дочерний узел может иметь более одного родителя, если родители принадлежат различным типам записей. Экземпляр показанной на рис. А.14 простой сети, состоящей из записей о студентах, пх руководителях и специальностях, схематически изображен на рис. А.1бт. Сложная сеть также является совокупностью записей и связей между ними, но связи в нен имеют вид «многие ко многим», а не «одни ко многим». Связь межлу студентами и занятиями, которые охи посещают, представляет собой сложную сеть.

Экземпляр такой связи можно видеть на рис. А.16, а общую схему — на рис. А.!7. СПЕЦИАЛЬНОСТИ РУКОВОДИТЕЛИ СТУДЕНТЫ Рис. А.14. Пример простой сети Рис. А.15. Общая структура простой сети СТУДЕНТЫ ПРЕДМЕТЫ Рис. А.18. Пример сложной сети Номер записи Содержимое записи Рис.

А.17. Общая структура сложнои сети 740 Приложение А. Структуры данных Ранее мы видели, что связные списки и индексы можно использовать лля обработки записей в порядке, отличном от того, в котором они физически хранятся. Эти же структуры данных можно использовать лля хранения и обработки связей между записями.

Представление деревьев Деревья могут представляться с помощью последовательных списков, связных списков и индексов. В варианте с последовательными списками приходится дуб- Представление бинарных связей 741 лировать большое количество данных, и кроме того, СУБД не используют после- довательные списки для представления деревьев.

Поэтому речь здесь будет идти только о связных списках и индексах Представление деревьев с помощью связных списков На рис. А.18 показана древообразная структура, в которой записи типа ПОСТАВЩИК являются родителями, а записи типа СЧЕТ вЂ” потомками. На рис. А.19 изображены два вкземпляра этой структуры, а на рис. А.20 показан послеловательный файл, в котором хранятся все записи ПОСТАВЩИК и СЧЕТ. Запись ПОСТАВЩИК АА имеет относительный номер 1, а запись ПОСТАВЩИК В — относнтельный номер 2. Как показано на рисунке, записи типа СЧЕТ расположены одна за другой. Обратите внимание, что эти записи никак не упорядочены, и упорядочение здесь не нужно.

Рис. А.18. Пример дерева, связывающего записи ПОСТАВЩИК и СЧЕТ Рис. А.19. Два экземпляра дерева ПОСТАВЩИК-СЧЕТ Рис. А.йо. Представление деревьев на рис. А.19 в файле трудность состоит в том, что из этого файла невозможно определить, какие счета пришли от каких поставщиков. Решить эту проблему можно с помощью связного списка. Для этого в каждую запись следует добавить поле ссылки. В этом поле будет храниться адрес некоторой лругой записи, связанной с ней. Например, в поле ссылки записи ПОСТАВЩИК АА мы поместим адрес записи, представляющей первый счет от данного поставщика. Это запись СЧЕТ 110, имеющая Вставленная запись Родительская Дочерняя запись запись Относительный номер записи 1 2 Содержимое записи Поле ссылки 742 Приложение А.

Структуры данных относительный номер 7. В поле ссылки этой записи мы поместим указатель на запись, представляющую следу1ощий счет от поставщика АА, то есть на запись СЧЕТ118 с относительным номером 3. Чтобы показать, что больше потомков в данной цепочке нет, в поле ссылки записи с относительным номером 3 мы запишем О. Пример реализации этого метода показан на рис. А.21.

Исследовав этот рисунок, вы увидите, чта аналогичный набор ссылок использован для представления связей между поставщиком ВВ н счетами от него. Относительный номер записи Содержимое записи Поле ссылки Рно. А.21. Представление деревьев с помощью связных списков В структуру на рис. А.21 намного легче вносить изменения, чем в последовательный список записей. Предположим, например, что нам нужно добавить новый счет за номером 111, пришедший от поставщика АА. Для этого нужно только добавить в файл новую запись и вставить ее в связный список.

Физически данную запись можно поместить куда угодно. Но куда ее следует поместить логически? Обычно у приложения на этот счет имеется некоторое требование, например такое: потомки должны быть логически упорядочены в порядке возрастания номера счета. В этом случае запись СЧЕТ ПО должна указывать на запись СЧЕТ П1 (с относительным нолтером 8), а новая запись, СЧЕТ 111, должна указывать на запись СЧЕТ 118 (с относительным номером 3).

Эти изменения показаны на рис. А.22. 3 4 б б 7 е Вставленная запись Рно. А.22. Файл, показанный на рнс. А.21 после добавления счета номер 111 Удаление счета происходит так же просто. Чтобы удалить счет номер 114, мы проста изменяем указатель записи, которая в данный момент указывает на за- Представление бинарных связей 743 пись СЧЕТ 114. В данном случае это запись СЧЕТ 112 с относительным номером 5.

В поле ссылки этой записи мы записываем значение, которое имел указатель записи СЧЕТ П4 до се удаления. Таким образом, запись СЧЕТ П2 теперь указьзвает на запись СЧЕТ П9 (рпс. А.23). Итак, мы исключили одно звено из цепочки и соединили между собой два других звена, которые оно ранее связывало. Относительный номер записи Содержимое записи Поле ссылки Рнс.

А.23. Удаление счета номер 114 нз файла, показанного на рнс. А.22 Представление деревьев с помощью индексов Древоабразную структуру можно также представить с помощью индексов. Метод заключается в хранении каждой связи «один ко мпап1мь в виде индекса. По этим спискам далее устанавливается связь между родителем и потомками. Обратившись к записям ПОСТАВЩИК и СЧЕТ па рис. А.21, мы увидим, что записи ПОСТАВЩИК АЯ (с относительным номером 1) принадлежат записи СЧЕТ 110 (относительный номер 7) и СЧЕТ ПВ (относительпый номер 3). Таким образом, запись с относительным номером 1 является родителем записей с относительными номерами 7 и 3.

Характеристики

Тип файла
DJVU-файл
Размер
9,56 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее