Модель банка данных низшего уровня иерархии с которой работает компьютер

Обновлено: 04.07.2024

Представление об организации баз данных и системах управления базами данных. Структура данных и система запросов на примерах баз данных различного назначения. Использование системы управления базами данных для выполнения учебных заданий из различных предметных областей.

1 Основные понятия о базах данных

2 СУБД Microsoft Access

Информационная система (ИС) – это система, построенная на базе компьютерной техники, предназначенная для хранения, поиска, обработки и передачи значительных объемов информации, имеющая определенную практическую сферу применения.

База данных – это ИС, которая хранится в электронном виде.

База данных (БД) – организованная совокупность данных, предназначенная для длительного хранения во внешней памяти ЭВМ, постоянного обновления и использования.

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

Классификация баз данных:

1. По характеру хранимой информации:

— Фактографические – содержат краткие сведения об описываемых объектах, представленных в строго определённом формате (картотеки, н-р: БД книжного фонда библиотеки, БД кадрового состава учреждения),

— Документальные – содержат документы (информацию) самого разного типа: текстового, графического, звукового, мультимедийного (архивы, н-р: справочники, словари, БД законодательных актов в области уголовного права и др.)

2. По способу хранения данных:

— Централизованные (хранятся на одном компьютере),

— Распределенные (используются в локальных и глобальных компьютерных сетях).

3. По структуре организации данных:

hello_html_m663faac0.jpg

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

Свойства реляционной модели данных:

- каждый элемент таблицы – один элемент данных;

- все поля таблицы являются однородными, т.е. имеют один тип;

- одинаковые записи в таблице отсутствуют;

- порядок записей в таблице может быть произвольным и может характеризоваться количеством полей, типом данных.

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

Узел – информационная модель элемента, находящегося на данном уровне иерархии.

Свойства иерархической модели данных:

- несколько узлов низшего уровня связано только с одним узлом высшего уровня;

- иерархическое дерево имеет только одну вершину (корень), не подчинено никакой другой вершине;

- каждый узел имеет своё имя (идентификатор);

- существует только один путь от корневой записи к более частной записи данных.

hello_html_1804ce74.jpg

Иерархической базой данных является Каталог папок Windows, с которым можно работать, запустив Проводник. Верхний уровень занимает папка Рабочий стол. На втором уровне находятся папки Мой компьютер, Мои документы, Сетевое окружение и Корзина, которые представляют собой потомков папки Рабочий стол, будучи между собой близнецами. В свою очередь, папка Мой компьютер – предок по отношению к папкам третьего уровня, папкам дисков (Диск 3,5(А:), С:, D:, E:, F:) и системным папкам (Принтеры, Панель управления и др.).

Сетевой называется БД, в которой к вертикальным иерархическим связям добавляются горизонтальные связи. Любой объект может быть главным и подчинённым.

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

hello_html_m670dad02.jpg

Программное обеспечение, предназначенное для работы с базами данных, называется система управления базами данных (СУБД). СУБД используются для упорядоченного хранения и обработки больших объемов информации.

Основные действия, которые пользователь может выполнять с помощью СУБД:

- создание структуры БД;

- заполнение БД информацией;

- изменение (редактирование) структуры и содержания БД;

- поиск информации в БД;

- проверка целостности БД.

hello_html_m35257037.jpg

Современные СУБД дают возможность включать в них не только текстовую и графическую информацию, но и звуковые фрагменты и даже видеоклипы.

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

Популярные СУБД - FoxPro, Access for Windows, Paradox.

Таким образом, необходимо различать собственно базы данных (БД) – упорядоченные наборы данных, и системы управления базами данных (СУБД) – программы, управляющие хранением и обработкой данных. Например, приложение Access, входящее в офисный пакет программ Microsoft Office, является СУБД, позволяющей пользователю создавать и обрабатывать табличные базы данных.

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

- Производительность и готовность. Запросы от пользователя базой данных удовлетворяются с такой скоростью, которая требуется для использования данных. Пользователь быстро получает данные всякий раз, когда они ему необходимы.

- Минимальные затраты. Низкая стоимость хранения и использования данных, минимизация затрат на внесение изменений.

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

- Простота внесения изменений. База данных может увеличиваться и изменяться без нарушения имеющихся способов использования данных.

- Возможностьпоиска. Пользователь базы данных может обращаться с самыми различными запросами по поводу хранимых в ней данных. Для реализации этого служит так называемый язык запросов.

- Целостность . Современные базы данных могут содержать данные, используемые многими пользователями. Очень важно, чтобы в процессе работы элементы данных и связи между ними не нарушались. Кроме того, аппаратные ошибки и различного рода случайные сбои не должны приводить к необратимым потерям данных. Значит, система управления данными должна содержать механизм восстановления данных.

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

Далее на примере одной из самых распространенных систем управления базами данных – Microsoft Access входит в состав популярного пакета Microsoft Office – мы познакомимся с основными типами данных, способами создания баз данных и с приемами работы с базами данных.

1. Общая информация об информационных системах. 2
2. Место фактографических ИС в классификации информационных систем 2
3. Общая характеристика фактографических ИС 5
4. Компоненты фактографических ИС 5
5. Фактографические банки данных 6
5.1. Предметная область банка данных 6
5.1.1. Моделирование предметной области 7
5.1.2. Уровни представления данных 8
5.2. Компоненты и пользователи банка данных 9
6. Предметная область фактографических ИС 9
7. Принципы построения фактографических БД 10
7.1. Уровни организации данных 11
8. Модели организации данных в фактографических информационных системах 12
8.1. Иерархическая модель 12
8.2. Сетевая модель 13
8.3. Реляционная модель 14

Оглавление

1. Общая информация об информационных системах. 2
2. Место фактографических ИС в классификации информационных систем 2
3. Общая характеристика фактографических ИС 5
4. Компоненты фактографических ИС 5
5. Фактографические банки данных 6
5.1. Предметная область банка данных 6
5.1.1. Моделирование предметной области 7
5.1.2. Уровни представления данных 8
5.2. Компоненты и пользователи банка данных 9
6. Предметная область фактографических ИС 9
7. Принципы построения фактографических БД 10
7.1. Уровни организации данных 11
8. Модели организации данных в фактографических информационных системах 12
8.1. Иерархическая модель 12
8.2. Сетевая модель 13
8.3. Реляционная модель 14
Список использованной литературы 16

Файлы: 1 файл

ИС_7_вариант(10).doc

5.1.2. Уровни представления данных

Наиболее широко распространено рассматриваемое в дальнейшем трёхуровневое представление данных о предметной области. Такому представлению соответствуют три типа моделей:

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

    Независимо от числа уровней представления данных в банке данных процесс функционирования ФИС состоит в следующем:

      • сбор данных о предметной области и запросах к банку данных на естественном языке;
      • многоуровневое структурирование данных на различных уровнях их представления;
      • ввод данных в банк данных;
      • поиск и обработка данных;
      • формирование выходной продукции.

      Упрощённая схема взаимодействия пользователя с фактографическим банком данных такова: запрос на языке описания данных (ЯОД) формируется с использованием логической модели данных, СУБД работает с данными физической модели банка данных, выходная продукция поступает пользователям в терминах логической модели.

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

      5.2. Компоненты и пользователи банка данных

      Банки данных фактографических информационных систем состоят из следующих компонентов:

        • ЭВМ;
        • база данных;
        • администратор БД (лицо или группа лиц, реализующих управление банком данных посредством СУБД).

        Различают следующие виды пользователей банков данных:

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

          6. Предметная область фактографических ИС

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

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

          Путём регистрации отдельных фактов, относящихся к тем или иным явлениям реального мира, собирается информация о предметной области фактографической информационной системы, на базе которой строится описание предметной области – её модель. База данных, являющаяся неотъемлемой компонентой ФИПС, рассматривается как динамическая модель предметной области.

          Применительно к некоторым областям гуманитарного исследования, например исторического или правового, понятие предметной области, её описание и моделирование имеет определённую специфику. Выше дано определение предметной области как результат целенаправленного отражения фрагмента реального мира с позиций интересов АИС. Корректное толкование терминов «реальный мир» или «действительность» требует понимать их как объективную реальность (т.е. существующее в действительности) во всей её конкретности, как совокупность исторических, общественно-политических и юридических явлений. Однако часто предметной областью фактографической БД, создаваемой историком, философом, юристом или другим исследователем, является не реальная действительность, а совокупность документов, исторических источников, правовых актов, которые лишь косвенно отражают реальность. В этом случае корректнее говорить не о моделировании фрагмента исторической или правовой реальности, а о моделировании совокупности источников, используемой для исследования какой-либо проблемы. Тогда созданную модель можно рассматривать как новый «метаисточник», который в большинстве случаев тем более адекватен реальности (или проблеме), чем больше разнообразных источников он охватывает. Однако (независимо от особенностей толкования предметной области) не следует забывать, что специфика рассматриваемого типа АИПС требует фиксации в её БД жёсткоструктурированной информации о предметной области. Фактографическая БД предназначена для хранения такой информации (фактов), почерпнутой при анализе реальной действительности или совокупности документов, опосредованно или косвенно её представляющих.

          7. Принципы построения фактографических БД

          Основные принципы построения фактографических БД:

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

            Способы организации данных в БД оказывают влияние на оперативность поиска, полноту и точность поиска, объёмы памяти ЭВМ и т.д.

            7.1. Уровни организации данных

            Архитектура современных фактографических БД предусматривает сложную многоуровневую систему организации данных. Каждый уровень системы соответствует определённому уровню абстрагирования при рассмотрении структуры БД, имеющему определённое целевое назначение. Например, для человека-пользователя, не являющегося специалистом в области обработки данных, выбирается один уровень абстрагирования; для выполнения качественного проектирования структур данных в базе – другой уровень; для решения задачи рациональной организации БД в ЭВМ – третий и т.д. Такой подход к построению БД обеспечивает возможность представления в памяти ЭВМ сложных структур данных в виде, допускающем их программную обработку средствами СУБД. При такой архитектуре БД обладает высокой способностью адаптации к возможным изменениям, как в прикладных программах, так и в самих данных.

            Различают следующие уровни организации данных:

              • Внешний уровень определяет данные, представляющие интерес для отдельно взятого конкретного приложения (для конкретного пользователя). Пользователь понимает БД посредством внешней модели, которая является содержанием БД в том виде, в каком её представляет конкретный пользователь.
              • Концептуальный уровень соответствует описанию предметной области в целом, т.е. определяет объекты, их характеристики и отношения, представляющие интерес для всех приложений. Концептуальная схема отражает семантическое восприятие информационного содержания БД обо всей отображаемой предметной области.
              • Внутренний уровень определяет данные, представляющие интерес для проектирования и эксплуатации системы. Он охватывает логический и физический уровни. Логический уровень описывается посредством внутренней схемы, которая определяет различные типы хранимых записей, представления хранимых полей, последовательность полей и т.д. Физический уровень соответствует схеме организации данных в среде запоминания и хранения.

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

              Процесс функционирования фактографических банков данных состоит в следующем:

              а) при вводе данных:

                • сбор данных о предметной области;
                • структурирование отобранных данных в соответствии с требованиями СУБД (перевод данных на язык СУБД);
                • ввод данных;
                • обработка данных.

                б) при обработке и поиске информации:

                  • формулирование запроса на обработку информации на естественном языке;
                  • перевод запроса на язык СУБД;
                  • ввод запроса;
                  • поиск и обработка информации;
                  • формирование выходной продукции.

                  Упрощённая схема взаимодействия пользователя с интегрированной АИС включает средства обработки документальной информации, фактографической информации и пакет прикладных программ для решения пользовательских задач.

                  8. Модели организации данных в фактографических информационных системах

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

                  Известны три основные модели организации данных:

                  • иерархическая;
                  • сетевая;
                  • реляционная.

                  8.1. Иерархическая модель

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

                  База данных с иерархической моделью данных состоит из упорядоченного набора экземпляров структуры типа «дерево».

                  В иерархической модели устанавливается строгий порядок обхода дерева (сверху-вниз, слева-направо) и следующие операции над данными:

                    • найти указанное дерево (например, отдел № 3);
                    • перейти от одного дерева к другому;
                    • перейти от одной записи к другой (например, от отдела к первому подразделению);
                    • перейти от одной записи к другой в порядке обхода иерархии;
                    • удалить текущую запись.

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

                    8.2. Сетевая модель

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

                    Сетевая СУБД состоит из одного или нескольких типов записей (типов информационных объектов) и набора типов связей между ними. Каждый тип записей представлен в БД набором экземпляров записей данного типа. Аналогично каждый тип связи представлен набором экземпляров связей данного типа между конкретными экземплярами типов записей.

                    В сетевой модели устанавливаются следующие операции над данными:

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

                      Реализация связей и сведений по ним в виде отдельных записей в БД обеспечивает одну важную отличительную особенность сетевых СУБД – навигацию по связанным данным. Сетевые СУБД обеспечивают возможность непосредственной «навигации» (перехода) от просмотра реквизитов экземпляра одного типа записи к просмотру реквизитов экземпляра связанного типа записей. Тем самым пользователю предоставляется возможность многокритериального анализа базы данных без непосредственной формализации своих информационных потребностей через формирование запросов на специальном языке, встроенном в СУБД. Поэтому СУБД с сетевой организацией данных иногда еще называют СУБД с навигацией.

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

                      Сетевая модель позволяет наиболее адекватно отражать инфологические схемы сложных предметных областей.

                      8.3. Реляционная модель

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

                      Цель лекции: Уяснить разницу между моделями организации БД . Ознакомиться с их достоинствами и недостатками. Понять, как организовываются связи в этих моделях, как применяются операции изменения в той или иной модели.

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

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

                      2. Сетевая модель данных. В сетевых БД наряду с вертикальными реализованы и горизонтальные связи. Однако унаследованы многие недостатки иерархической и главный из них, необходимость четко определять на физическом уровне связи данных и столь же четко следовать этой структуре связей при запросах к базе.

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

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

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

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

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

                      Рассмотрим более подробно эти модели данных далее.

                      Иерархическая модель базы данных

                      Иерархические базы данных - самая ранняя модель представления сложной структуры данных. Информация в иерархической базе организована по принципу древовидной структуры, в виде отношений "предок- потомок ". Каждая запись может иметь не более одной родительской записи и несколько подчиненных. Связи записей реализуются в виде физических указателей с одной записи на другую. Основной недостаток иерархической структуры базы данных - невозможность реализовать отношения " многие-ко-многим ", а также ситуации, когда запись имеет несколько предков.

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

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

                      Иерархической базой данных является Каталог папок Windows , с которым можно работать, запустив Проводник. Верхний уровень занимает папка Рабочий стол . На втором уровне находятся папки Мой компьютер , Мои документы, Сетевое окружение и Корзина , которые являются потомками папки Рабочий стол , а между собой является близнецами. В свою очередь , папка Мой компьютер является предком по отношению к папкам третьего уровня -папкам дисков ( Диск 3,5(А:), (С:), (D:), (Е:), (F:)) и системным папкам ( сканер , bluetooth и.т.д.) - на рис. 4.1.

                      Иерархическая база данных Каталог папок Windows


                      Рис. 4.1. Иерархическая база данных Каталог папок Windows

                      Организация данных в СУБД иерархического типа определяется в терминах: элемент, агрегат, запись ( группа ), групповое отношение , база данных .

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

                      При графическом изображении групповые отношения изображают дугами ориентированного графа, а типы записей - вершинами ( диаграмма Бахмана).

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

                      Пример

                      Рассмотрим следующую модель данных предприятия (см. рис. 4.2): предприятие состоит из отделов, в которых работают сотрудники. В каждом отделе может работать несколько сотрудников, но сотрудник не может работать более чем в одном отделе.

                      Поэтому, для информационной системы управления персоналом необходимо создать групповое отношение, состоящее из родительской записи ОТДЕЛ (НАИМЕНОВАНИЕ_ОТДЕЛА, ЧИСЛО_РАБОТНИКОВ) и дочерней записи СОТРУДНИК (ФАМИЛИЯ, ДОЛЖНОСТЬ, ОКЛАД). Это отношение показано на рис. 4.2 (а) (Для простоты полагается, что имеются только две дочерние записи).

                      Для автоматизации учета контрактов с заказчиками необходимо создание еще одной иерархической структуры: заказчик - контракты с ним - сотрудники, задействованные в работе над контрактом. Это дерево будет включать записи ЗАКАЗЧИК (НАИМЕНОВАНИЕ_ЗАКАЗЧИКА, АДРЕС), КОНТРАКТ(НОМЕР, ДАТА,СУММА), ИСПОЛНИТЕЛЬ (ФАМИЛИЯ, ДОЛЖНОСТЬ, НАИМЕНОВАНИЕ_ОТДЕЛА) ( рис. 4.2 b).

                      Пример иерархической базы данных

                      Из этого примера видны недостатки иерархических БД :

                      Частично дублируется информация между записями СОТРУДНИК и ИСПОЛНИТЕЛЬ (такие записи называют парными), причем в иерархической модели данных не предусмотрена поддержка соответствия между парными записями.

                      Иерархическая модель реализует отношение между исходной и дочерней записью по схеме 1:N, то есть одной родительской записи может соответствовать любое число дочерних.

                      Допустим теперь, что исполнитель может принимать участие более чем в одном контракте (т.е. возникает связь типа M:N). В этом случае в базу данных необходимо ввести еще одно групповое отношение , в котором ИСПОЛНИТЕЛЬ будет являться исходной записью, а КОНТРАКТ - дочерней ( рис. 4.2 c). Таким образом, мы опять вынуждены дублировать информацию.

                      Операции над данными, определенные в иерархической модели :

                      • Добавить в базу данных новую запись. Для корневой записи обязательно формирование значения ключа.
                      • Изменить значение данных предварительно извлеченной записи. Ключевые данные не должны подвергаться изменениям.
                      • Удалить некоторую запись и все подчиненные ей записи.
                      • Извлечь корневую запись по ключевому значению, допускается также последовательный просмотр корневых записей.
                      • Извлечь следующую запись (следующая запись извлекается в порядке левостороннего обхода дерева ).

                      В операции ИЗВЛЕЧЬ допускается задание условий выборки (например, извлечь сотрудников с окладом более 10 тысяч руб.)

                      Как видим, все операции изменения применяются только к одной "текущей" записи (которая предварительно извлечена из базы данных ). Такой подход к манипулированию данных получил название "навигационного".

                      Ограничения целостности

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

                      Система управления базами данных (СУБД) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.

                      Основные функции СУБД¶

                      • управление данными во внешней памяти (на дисках);
                      • управление данными в оперативной памяти с использованием дискового кэша;
                      • журнализация изменений, резервное копирование и восстановление базы данных после сбоев;
                      • поддержка языков БД (язык определения данных, язык манипулирования данными).

                      Обычно современная СУБД содержит следующие компоненты:

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

                      Классификации СУБД¶

                      По модели данных¶

                      Иерархические¶

                      Используется представление базы данных в виде древовидной (иерархической) структуры, состоящей из объектов (данных) различных уровней.

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

                      Иерархической базой данных является файловая система, состоящая из корневого каталога, в котором имеется иерархия подкаталогов и файлов.

                      Примеры: Caché, Google App Engine Datastore API.

                      Сетевые¶

                      Сетевые базы данных подобны иерархическим, за исключением того, что в них имеются указатели в обоих направлениях, которые соединяют родственную информацию.

                      Реляционные¶

                      Практически все разработчики современных приложений, предусматривающих связь с системами баз данных, ориентируются на реляционные СУБД. По оценке Gartner в 2013 году рынок реляционных СУБД составлял 26 млрд долларов с годовым приростом около 9%, а к 2018 году рынок реляционных СУБД достигнет 40 млрд долларов. В настоящее время абсолютными лидерами рынка СУБД являются компании Oracle, IBM и Microsoft, с общей совокупной долей рынка около 90%, поставляя такие системы как Oracle Database, IBM DB2 и Microsoft SQL Server.

                      Объектно-ориентированные¶

                      Управляют базами данных, в которых данные моделируются в виде объектов, их атрибутов, методов и классов.

                      Этот вид СУБД позволяет работать с объектами баз данных так же, как с объектами в программировании в объектно-ориентированных языках программирования. ООСУБД расширяет языки программирования, прозрачно вводя долговременные данные, управление параллелизмом, восстановление данных, ассоциированные запросы и другие возможности.

                      Объектно-реляционные¶

                      Этот тип СУБД позволяет через расширенные структуры баз данных и язык запросов использовать возможности объектно-ориентированного подхода: бъекты, классы и наследование.

                      Зачастую все те СУБД, которые называются реляционными, являются, по факту, объектно-реляционными.

                      В данном курсе мы будем, в первую очередь, гооврить об этом виде СУБД.

                      Примеры: PostgreSQL, DB2, Oracle, Microsoft SQL Server.

                      По степени распределённости¶

                      • Локальные СУБД (все части локальной СУБД размещаются на одном компьютере)
                      • Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).

                      По способу доступа к БД¶

                      Файл-серверные¶

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

                      На данный момент файл-серверная технология считается устаревшей, а её использование в крупных информационных системах — недостатком.

                      Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.

                      Клиент-серверные¶

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

                      Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix, MS SQL Server, Sybase Adaptive Server Enterprise, PostgreSQL, MySQL, Caché, ЛИНТЕР.

                      Встраиваемые¶

                      Встраиваемая СУБД — СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы (API).

                      Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, Microsoft SQL Server Compact, ЛИНТЕР.

                      Стратегии работы с внешней памятью¶

                      СУБД с непосредственной записью — это СУБД, в которых все измененные блоки данных незамедлительно записываются во внешнюю память при поступлении сигнала подтверждения любой транзакции. Такая стратегия используется только при высокой эффективности внешней памяти.

                      СУБД с отложенной записью — это СУБД, в которых изменения аккумулируются в буферах внешней памяти до наступления любого из следующих событий:

                      • контрольной точки;
                      • конец пространства во внешней памяти, отведенное под журнал. СУБД выполняет контрольную точку и начинает писать журнал сначала, затирая предыдущую информацию;
                      • останов. СУБД ждёт, когда всё содержимое всех буферов внешней памяти будет перенесено во внешнюю память, после чего делает отметки, что останов базы данных выполнен корректно;
                      • при нехватке оперативной памяти для буферов внешней памяти.

                      Такая стратегия позволяет избежать частого обмена с внешней памятью и значительно увеличить эффективность работы СУБД.

                      Читайте также: