44697 (Иерархические структуры в реляционных базах данных), страница 5

2016-07-31СтудИзба

Описание файла

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

Онлайн просмотр документа "44697"

Текст 5 страницы из документа "44697"

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

4.1. Иерархические структуры в реляционных базах данных

Окружающий мир переполнен иерархическими данными. В это широкое понятие входят компании, состоящие из дочерних компаний, филиалов, отделов и рабочих групп; детали из которых собираются узлы, входящие затем в механизмы; специальности, специализации и рабочие навыки; начальники и подчинённые и т. д. Любая группа объектов, в которой один объект может быть «родителем» для произвольного числа других объектов, организована в виде иерархического дерева. Очевидным примером может послужить иерархия объектов VCL- класс TEdit представляет частный случай TСontrol, потому что TСontrol является его предком. С другой стороны, TEdit можно рассматривать и как потомка TWinControl или TCustomControl, потому что эти классы являются промежуточными уровнями иерархии VCL.

Подобные связи не имеют интуитивного представления в рамках модели реляционных баз данных. Нередко иерархические связи являются рекурсивными (поскольку любая запись может принадлежать любой записи) и произвольными (любая запись может принадлежать другой записи независимо от того, кому принадлежит последняя). В двумерной таблице даже отображение иерархического дерева становится непростым делом, не говоря уже о запросах. Иногда в критерий запроса входит родословная объекта (то есть его родители, родители его родителей и т д.) или его потомство (сюда входят дочерние объекты и всё их потомство).

4.2. Вложенные рекурсивные иерархические данные

Термин «рекурсивные иерархические данные» означает, что базовые и подчинённые данные находятся в одной таблице: одно не ключевое поле записи содержит ключевое значение другой записи, и это означает, что вторая запись принадлежит первой. Не ключевое поле называется внешним ключом, даже если по нему устанавливается связь с другим полем этой же таблицы. Дочерние, подчинённые записи не знают, является ли их базовая запись подчинённой для какой-то другой записи - для них это несущественно. Каждый уровень обладает своим набором базовых и подчинённых записей, и при «раскрытии» конкретной подчинённой записи изменяются только конкретные отображаемые данные.

4.3. Отображение данных

Перемещение вверх и вниз по иерархическому дереву неизбежны, однако вы можете воспользоваться средствами, которые автоматизируют эту задачу. Подумайте, как пользователи будут работать с данными. Возможно, их вообще не интересует иерархическая структура данных, но они захотят искать объект по его предку. Или они будут искать объект по тому имени, которым он представлен в иерархии, или только среди потомков текущего объекта. Возможно, им потребуется узнать только идентификатор найденного объекта или же получить список всех его потомков или предков.

В частности, вам придётся решить основной вопрос – что делать, когда пользователь требует вывести «следующий» объект? Таким объектом может быть: следующий потомок родителя текущего объекта; первый потомок текущего объекта; следующий родитель, если текущий объект является единственным потомком, или даже первый потомок следующего «родственника» (sibling). В визуальном интерфейсе интуитивные ожидания пользователя основаны на положении текущего объекта в иерархии, способе его отображения и действиях самого пользователя, а не только на логическом протоколе, определяемом абстрактной структурой данных приложения.

Помимо компонента TDBGrid, очевидным кандидатом для отображения иерархических данных являются компонент TTreeView. Этот компонент были создан специально для отображения древовидных структур, а не традиционных линейных списков. Он может занимать довольно большую область экрана, поэтому не стоит применять его везде, где пользователь должен выбрать объект иерархии. Кроме того, при работе с этим компонентом желательно загружать в память всю структуру. Компонент можно настроить так, чтобы «ветки» загружались по мере надобности, однако такая гибкость достигается ценой снижения производительности.

Целостность структуры и циклические ссылки

По иронии судьбы рекурсивная иерархия в одной таблице заметно упрощает обеспечение целостности структуры: одно поле таблицы ссылается на другое, принадлежащее этой же таблице. При этом защищаются все потомки объекта. Если же объединяющие значения находятся в нескольких полях или таблицах, в результате чего становится возможной многоуровневая группировка или установка сложных связей, обеспечить целостность структуры будет сложнее

Для программы, работающей с иерархией, наибольшую опасность представляют циклические ссылки. Если объект ссылается на несуществующего родителя, проблему можно заметить и исправить. Но, если родитель объекта оказывается одновременно и его потомком (если объекты разделены несколькими промежуточными поколениями, такую ситуацию будет нелегко обнаружить), программа зацикливается.

Где же выход? Можно проверять каждого «кандидата в предки» и смотреть, не присутствует ли какие-либо из его предков в текущем «семействе» (правда, это будет накладно с точки зрения производительности). Кроме того, в программу можно вставить счётчик-предохранитель, который инициирует исключение после определённого количества циклов поиска. Одно из преимуществ графических иерархических элементов как раз и заключается в том, что пользователь просто не сможет создать циклическую ссылку, так как это противоречит логике работы с элементом.

При работе с иерархиями используется «семейная» терминология (родители, внуки, предки, потомки), поскольку семья является самым распространённым примером объектов (в данном случае – людей), объединённых иерархическими отношениями. Этот пример напомнит вам одну простую истину – хотя вы можете построить систему, предназначенную для обобщённой обработки рекурсивных иерархий, ценность каждого объекта определяется той уникальной информацией, которая в нём хранится. В то же время место объекта в иерархическом дереве - не более чем условное обозначение связи с другими объектами. Иерархическая структура всего лишь помогает сохранить и найти объект.

Глава 5

OLE: основные сведения

Специфика предметов математики, физики, программирования такова, что контрольные работы, зачёты, проверочные требуют наличия графиков, формул, диаграмм. Поэтому возникает проблема отображения данных. Достаточно трудно написать такую универсальную программу, которая справилась бы с этим. С другой стороны, в Windows 95 содержится много программ, которые позволяют это сделать, например Word.

Существование операционной системы Windows 95 и реализация в ней очень мощного механизма под названием OLE, позволяет решить эту проблему достаточно просто.

5.1. Введение в OLE

Windows поддерживает сложный, но чрезвычайно перспективный механизм взаимодействия программ, который называется OLE. Этот механизм широко используется во многих программных продуктах корпорации Microsoft, в том числе в текстовом редакторе Word и таблице Excel. В результате, в документ, подготовленный, например, с помощью Word, можно внедрить график, созданный в Excel. Если в процессе работы над документом возникнет необходимость в редактировании графика, достаточно дважды щелкнуть не нем мышью — Windows откроет Excel и передаст таблице данные, позволяющие изменить график средствами программы, его создавшей. После завершения работы Excel измененный график будет переписан в исходный документ Word.

Последовательное использование OLE смещает акцент в работе пользователя от программы-обработчика информации к конечному документу. Без OLE пользователь вынужден разрабатывать конечный документ по частям. Например, при подготовке рукописи книги к публикации рисунки могут изготавливаться с помощью Paint или CorelDraw, в то время как текст — с помощью Word или WordPerfect, после этого для верстки используется Ventura Xerox Publisher или PageMaker. В этой технологии обрабатывающие программы никак не связаны друг с другом и пользователь должен самостоятельно решать проблемы совместимости форматов данных, передаваемых от одного приложения другому. Применение OLE позволяет рассматривать документ в виде единого стержня, на который «нанизаны» программы-обработчики типа Paint или Word. Пользователь полностью освобожден от необходимости следить за форматами данных и согласовывать их, а переход от одной программы к другой реализуется двойным щелчком мыши.

5.2. Связывания и внедрение объектов

При использовании OLE отдельные объекты (рисунки, графики, текстовые фрагменты, таблицы) могут быть связаны с документом или внедрены в него. Если объект связан с документом, в последнем сохраняется лишь минимально необходимая информация, позволяющая вызвать в нужный момент программу, с помощью которой был создан объект, например, для его печати на принтере или редактировании. Если объект внедрен в документ, он подвергается переработке клиентом перед вставкой в документ и становится во многом независимым от «родной» программы. Например, Word может получить электронную таблицу от Excel, при этом численные данные и формулы преобразуются в текстовые эквиваленты и в таком виде внедряются в документ. Однако связь с программой-обработчиком сохраняется и в этом случае, поэтому пользователь может в любой момент загрузить обрабатывающую программу для редактирования внедренного объекта.

С объектами или заменяющими их пиктограммами связаны действия, которые может произвести двойной щелчок мыши. Над объектами определены два основных действия - отображение и редактирование. При этом над связанным объектом первичным действием будет отображение, а над внедренным - редактирование. Первичное действие обычно связывается с двойным щелчком мыши на пиктограмме упакованного объекта. Некоторые объекты позволяют выбирать первичное действие, для чего они создают соответствующие диалоговые окна. Другое объекты допускают только одно действие. Например, объект, созданный текстовым редактором и внедренный в графику, как правило, поддерживает только редактирование, а звуковые данные после внедрения их в текст поддерживают только отображение (воспроизведение).

Технология связывания и внедрения объектов OLE позволяет создать некоторый объект, например рисунок или звуковой файл, в одном из Windows-приложений и затем вставить его в другой файл. Этот объект может быть либо связанным, в этом случае он существует фактически в отдельном файле, либо внедрённым, и тогда он находится внутри основного файла. Другими словами, данные, картинки, текст и иные объекты, которые вы создаете в разных приложениях, могут быть объединены в один составной документ, который сохраняет связи со всеми исходными приложениями.

Этот составной документ управляется каким-нибудь одним приложением, например Excel или Word для Windows, а связи обеспечивают пути к другим приложениям так, чтобы вы могли редактировать свои объекты, используя приложения, в которых они были созданы.

Таким образом, при правильном применении характеристика OLE позволяет вам централизовать всю свою работу в пределах одного доминирующего приложения и в одном документе, называемом клиентом. Если вам понадобятся какие-либо данные, графика или другая информация, которая находится в других приложениях, вы сможете, оставаясь в своем приложении-клиенте, присоединять, привязывать их из соответствующих приложений, называемых в этом случае приложениями - серверами.

Если вам требуется отредактировать текст, данные или графику, созданные в приложении-сервере, то это можно сделать из документа-клиента с помощью, как правило, двойного щелчка на объекте, подлежащем редактированию. При этом Windows открывает приложение-сервер и ассоциированный с ним объект. После внесения редакторской правки вы просто выходите из приложения-сервера и автоматически возвращаетесь в приложение-клиент и документ, над которым работаете.

5.3. Различие между связыванием и внедрением объектов

В самом общем смысле, связь понимается как соединение, которое позволяет некоторому документу (клиенту) одного Windows-приложения сообщаться с другим Windows-приложением (сервером). Термин "клиент" почти всегда относится к документу, не к приложению. Термин же "сервер" может относиться и к приложению и к документу, а также к тому и другому вместе. Эта терминологическая неопределенность происходит от способа, которым Windows формирует связи.

Исходный документ — это просто файл, который используется для копирования данных, текста или графики в буфер переноса, так что появляется возможность привязывать или внедрять содержимое буфера в другой документ (клиент). Однако действительная связь, возникающая при этом, представляет собой связь между документом-клиентом и приложением-сервером. Эта связь обеспечивает документу-клиенту возможность знать, каким приложением был создан объект и как запускать это приложение-сервер. Здесь мы имеем дело с внедрённым объектом.

В некоторых случаях (в частности, для связывания объектов) создаются еще две связи — между документом-клиентом и исходным документом и между документом-клиентом и объектом в исходном документе, который был скопирован и приклеен. Исходный документ часто называют документом-сервером, поскольку он всегда управляется приложением сервером и обеспечивает данными связанный объект. При существовании этих дополнительных связей изменение данных в исходном объекте автоматически отражается в объекте клиента.

Итак, различие между связанным и внедрённым объектами определяется следующими признаками:

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

Внедрённый объект представляет собой полномасштабную версию припасенного элемента: он содержит все данные, текст и графику, которые были приклеены из буфера переноса с целью создания этого объекта. Внедрённый объект содержит также связь с приложением-сервером, которая при двойном щелчке на объекте в документе-клиенте позволяет запустить приложение-сервер и затем отредактировать этот объект средствами приложения-сервера.

Глава 6

Достоинства и недостатки тестовой системы или методическое обоснование автоматизации процесса обучения

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

Возможны три формы организации тестов, которые условно можно назвать «выбери ответ из предлагаемых вариантов», «напиши правильный ответ», «найди связь между объектами».

Организация теста по принципу «выбери ответ из предлагаемых вариантов» обеспечивает относительно простой диалог с тестируемым и, как следствие, быстроту прохождения теста, так как не требует от учащегося особых навыков работы на компьютере. Для выбора ответа достаточно нажать на клавиатуре соответствующую клавишу или щёлкнуть мышью на окне, выбрав его среди предложенных. Такая простота выбора ответа не отвлекает учащегося от предметной сути поставленного перед ним вопроса. Преимущество такой организации тестирующей программы заключается ещё и в простом критерии правильности ответа, данного учащимся. Однако такая организация теста имеет и недостаток наличие «скрытой» подсказки на вопрос – выбирать ответ гораздо легче, чем писать его полностью самостоятельно.

Организация теста по принципу «напиши правильный ответ», предполагает хорошую начальную подготовку учащегося как пользователя персонального компьютера. Решение технических проблем может отвлечь учащегося от предметной сути работы с программой. Кроме того, предполагается абсолютная грамотность при выдаче ответа. Таким образом, скорость прохождения теста во многом зависит от развития навыков работы за компьютером. Помимо этого, ответ на каждый вопрос теста может иметь различную степень подробности. Для многих предметов предусмотренных программой выбор критерия оценки правильности ответа при такой организации теста очень затруднителен, так как требуется решать такие вопросы, как учитывать степень развёрнутости ответа, грамотность и т. п.

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