Bazy_dannykh_Uchebnik_novy
.pdfслужебные указатели, формирующие древовидную структуру, и есть область, заполненная
данными. Единственная точка входа – корневой узел (с нее всегда начинается работа).
Типичный интерфейс:
найти указанный узел – экземпляр сущности (например, деталь D101);
перейти от одного узла к другому на одном уровне;
перейти от одного узла дерева к другому в порядке обхода иерархии, например,
влево-вниз;
перейти от одной подструктуре к другой внутри дерева (например, от D101 к
описанию Конус);
вставить узел (экземпляр сущности) в указанную позицию;
удалить текущий узел экземпляр сущности.
Рисунок 4. Схема иерархической архитектуры базы данных
Пример 2:
Схема иерархической БД "Деталь" показана на рисунке 5.
21
Рисунок 5. Структура иерархической базы «Деталь»
Состав информации базы данных "Деталь":
Для каждой детали: шифр детали (уникальный), название и краткое описание назначения детали, информация о технических характеристиках и наличии на складе;
Характеристики детали включают необходимые технические данные, в примере это вес детали, материал и ее габаритные размеры;
Получение деталей на склад характеризуется датой получения, количеством деталей и уникальным номером накладной;
Для каждой детали существует предприятие-изготовитель, имеющее почтовый адрес, название и шифр;
Деталь может быть куплена через посредников, поэтому отдельно записывается название поставщика, его почтовый адрес, цена за одну деталь и шифр
поставщика.
Таким образом, в базе данных есть 5 типов сегментов: Деталь, Характеристики,
Приход, Изготовитель, Поставщик. Деталь – корневой сегмент. Остальные – подчиненные типы сегментов. Структура данных показана на рисунок 6.
Рисунок 6. Экземпляр сущности в базе «Деталь»
Типичный представитель: СУБД InterSystem.
Сетевая модель базы данных
Сетевой подход к организации данных является расширением иерархического. В
иерархических структурах запись-потомок должна иметь в точности одного предка; в
сетевой структуре потомок может иметь любое число предков. Сетевая БД состоит из
22
набора сущностей и набора связей между ними на уровне концептуальной схемы. На уровне логической модели БД состоит из набора экземпляров сущностей и набора экземпляров связей между ними. Тип связи определяется для двух типов записи: предка и потомка. Экземпляр связи связывает один экземпляр сущности предка и упорядоченный набор экземпляров сущности потомков. Как и иерархической модели, связи между узлами являются указателями, содержащими в себе информацию о физическом расположении данных, относящихся к узлу. В сетевой модели между сущностями могут иметь место любые отношения 1:1 (одной сущности соответствует также одна одна сущность с другим наименованием), 1:М (одной сущности соответствует много сущностей много сущностей с другим наименованием, например, в иерархической структуре у каждого «родителя» есть много «потомков»), М:М (множеству сущностей с одним названием соответствует множество сущностей с другим названием). Однако в реальных СУБД на модель накладываются различные ограничения. Во многих сетевых СУБД не поддерживается отношение М : М. В таких моделях каждая связь между парой файлов определяется отдельно, и для каждой из них один файл в этой паре объявляется «владельцем», а другой
«членом». Связи между файлами в иерархических и сетевых моделях определяются при описании структуры БД и физически передаются при помощи различных указателей.
Пример показан на рисунке 7.
Рисунок 7. Пример сетевой базы.
Типичный интерфейс:
-найти конкретную запись в наборе однотипных записей, например, программиста Сидорова;
-перейти от предка к первому потомку (к первому сотруднику отдела САПР);
-перейти к следующему потомку в некоторой связи (от Сидорова к Иванову);
-перейти от потомка к предку по некоторой связи (найти отдел Сидорова);
-создать новую запись;
-удалить запись;
23
-модифицировать запись;
-включить связь;
-исключить из связи;
-переставить в другую связь и т.д.
Типичный представитель: Integrated Database Manegement System (IDMS) компании
Cullinet software, inc. Архитектура системы основана на предложениях Data Base Task Group (DBTG) комитета по языкам программирования Counference of Data System Languages (CODASYL).
Достоинства и недостатки иерархических и сетевых СУБД
Достоинства:
развитые средства управления данными во внешней памяти на низком уровне;
возможность построения вручную эффективных прикладных систем;
возможность экономии памяти за счет разделения подобъектов (в сетевых системах);
Недостатки:
слишком сложно пользоваться;
фактически необходимы знания о физической организации;
прикладные системы зависят от этой организации;
их логика перегружена деталями организации доступа.
Реляционная модель базы данных
Реляционной модель данных – модель, в которой все данные представлены для пользователя в виде прямоугольных таблиц, и все операции над базой данных сводятся к манипулированию таблицами. Таблица состоит из строк и столбцов и имеет имя,
уникальное внутри базы данных. Таблица отражает тип объекта реального мира
(сущность), а каждая ее строка – конкретный объект. Структуры записей в реляционных БД – линейные. Для доступа к каждой строке таблицы последняя должна иметь ключ, т.е.
атрибут или совокупность атрибутов, однозначно идентифицирующий строку таблицы
(кортеж). Любая таблица может иметь внешний ключ – ссылку на первичный ключ другой таблицы, означающий, что она логически связана с таблицей, содержащей соответствующий первичный ключ.
Достоинства и недостатки реляционной модели
Достоинства:
интуитивно понятна пользователю;
24
поддерживается большинством производителей СУБД;
имеется стандартный язык запросов;
Недостатки:
трудно поддерживаются рефлексивные отношения;
Объектно-ориентированная база данных
Термин «объект» в программной индустрии впервые был введен в языке Simula (1967 г.) и означал какой-либо аспект моделируемой реальности. Сейчас под объектом понимается «нечто, имеющее четко определенные границы» (определение известного американского специалиста Г.Буча). Объекты, обладающие одинаковыми свойствами,
составляют классы (например, курица, пингвин и чайка - объекты класса «птицы»). В
принятой терминологии класс «птица» соответствует сущности, а курица, пингвин, чайка
– экземпляры сущности. Обычно класс описывается как новый тип данных, а объекты
(экземпляры класса) - определенные на его основе переменных.
Идея объектно-ориентированного проектирования состоит в том, что класс хранит внутри себя информацию, к обращения к которой используются специальные функции,
называемые интерфейсом доступа. Схематически представлено на рисунке 8.
Рисунок 8. Схема организации класса.
Классы можно создавать как непосредственно, так и путем специфического вида копирования, которое называется наследованием. При наследовании классу-наследнику передаются значения всех переменных и функций порождающего класса.
25
Стандартизированная объектно-ориентированная модель описана в рекомендациях стандарта ODMG -93 ( Object Database Management Group – группа управления объектно-
ориентированными базами данных). ODMG добавляет возможности взаимодействия с базами данных в объектно-ориентированные языки программирования: определяются средства долговременного хранения объектов и расширяется семантика языка, вносятся операторы управления данными. Стандарт состоит из нескольких частей:
Объектная модель - унифицированная основа всего стандарта. Ключевые концепции объекной модели ODMG:
o наделение объектов такими свойствами как атрибуты и связи o методы объектов (поведение)
o множественное наследование
o идентификаторы объектов (ключи)
o определение таких совокупностей объектов как списки, наборы, массивы и т.д.
o блокировка объектов и изоляция доступа o операции над базой данных
Язык описания объектов (ODL - Object Defifnition Language) - средство определения схемы базы данных (по аналогии с DDL в реляционных СУБД). ODL
рассматривает только описание объектных типов данных, не вдаваясь в детали реализации их методов. Это позволяет переносить схему БД между различными
ODMG-совместимыми СУБД и языками программирования, а также транслировать ее в другие DDL.
Язык объектных запросов (OQL - Object Query Language) - SQL - подобный декларативный язык, который предоставляет эффективные средства для извлечения объектов из базы данных, включая высокоуровневые примитивы для наборов объектов и объектных структур.
Связывание с ОО (объектно-ориентированными) языками. Каждый ОО-язык имеет свой собственный интерфейс, поэтому разработчик остается в одной языковой среде, ему нет необходимости разделять средства программмирования и доступа к данным.
Типичный интерфейс:
зависит от деталей реализации СУБД.
Типичный представитель:
PostgeSQL, хотя в последнее время все СУБД стали использовать объектно-
ориентированные возможности в в виде хранимых процедур: Oracle, Microsoft SQL и пр.
26
Гипертекстовые базы данных
Термин «гипертекст» введен Тедом Нельсоном, который определял гипертекст
следующим образом:
«Под гипертекстом я понимаю не последовательное сочинение (non-sequential writing) а текст, который разветвляется и позволяет читателю выбирать <...>.
Проще говоря, это ряд кусков текста (a series of text chunks), соединенных линками, предлагающими читателю различные пути».
Словарь культуры XX века В.Руднева дает следующее определение гипертекста:
Гипертекст — текст, устроенный таким образом, что он превращается в систему, иерархию текстов, одновременно составляя единство и множество текстов.
С технической точки зрения гипертекстовая система это -
информационная система, способная хранить информацию в виде электронного текста, позволяющая устанавливать электронные связи между любыми
"информационными единицами", хранящимися в ее памяти.
Нетрудно убедиться, что в терминологии данного пособия речь идет данных – фрагментах текста, снабженных интерфейсом – системой перекрестных ссылок, позволяющих переходить от одного фрагмента к другому. Более того, гипертекст является разновидностью сетевой модели данных, в которой данными служат фрагменты текста, а
связи (отношения) между данными приведены к одному типу «ссылается на …».
Гипертекст изначально мыслился создателям как система общественной деятельности.
Корпус текстов Лингвистическим корпусом называют совокупность текстов, собранных в
соответствии с определёнными принципами, размеченных по определённому стандарту и обеспеченных специализированной поисковой системой.
Иногда корпусом («корпус первого порядка») называют просто любое собрание текстов,
объединённых каким-то общим признаком (языком, жанром, автором, периодом создания текстов).
Целесообразность создания текстовых корпусов объясняется:
представлением лингвистических данных в реальном контексте;
достаточно большой представительностью данных (при большом объёме корпуса);
возможностью многократного использования единожды созданного корпуса для решения различных лингвистических задач.
27
Примером корпуса текстов являются собрания законодательных и нормативных актов,
собранных в соответствие с определенным принципом, т.е. объединенных единым классификатором,.и обеспеченных специализированной поисковой системой – общим интерфейсом.
Интернет как информационная система
Интернет - всемирная система объединённых компьютерных сетей, построенная на использовании следующих принципов:
протокола IP и маршрутизации пакетов данных,
гипертекста для для представления информации и связей между ее компонентами.
Интернет образует глобальное информационное пространство, служит физической основой для Всемирной паутины (WWW, World Wide Web) и множества других систем
(протоколов) передачи данных. В настоящее время, когда слово «Интернет» употребляется в обиходе, чаще всего имеется в виду Всемирная паутина и доступная в ней информация, а не сама физическая сеть. К середине 2008 года число пользователей,
регулярно использующих Интернет, составило около 1,5 млрд человек (около четверти населения Земли). Вместе с подключенными к нему компьютерами, Интернет служит основой для развития «информационного общества».
Многомерная модель данных
В основе многомерного представления данных лежит их разделение на две группы -
измерения и факты.
Измерения - это категориальные атрибуты, наименования и свойства объектов,
участвующих в некотором бизнес-процессе. Значениями измерений являются наименования товаров, названия фирм-поставщиков и покупателей, ФИО людей, названия городов и т.д. В нашей терминологии их можно уподобить сущностям.
Единицы – представляют собой категории, которые разделяют домены, принадлежащие каждому измерению, на подмножества. По сути единицы представляют собой классификаторы, которые используются на уровне доменов. Измерения могут быть и числовыми, если какой-либо категории (например, наименованию товара) соответствует числовой код, тогда доменом измерения «товар» будет множество штрих кодов. Можно разделить домен по типам товаров: продовольственные, товары повседневного спроса и пр.
Факты - это данные, количественно описывающие бизнес-процесс, непрерывные по своему характеру, то есть они могут принимать бесконечное множество значений.
Множество фактов образует домен измерения. Примеры фактов - цена товара или
28
изделия, их количество, сумма продаж или закупок, зарплата сотрудников, сумма кредита,
страховое вознаграждение и т.д.
Далее декартово произведение – все возможные комбинации подмножеств доменов можно упорядочить и представить в виде многомерного куба.
Рисунок 9. Концепция многомерного представления данных.
Суть многомерного представления заключается в использовании геометрической аналогии, когда измерения уподобляют осям координат, масштабы создают деление оси координат. Тогда декартово произведение координат образует многомерный куб с ячейками. На рисунке 10 показана интерпретация факта.
29
Рисунок 10. Интерпретация факта в многомерном представлении данных.
В итоге получаем следующее многомерное представление для базы данных, так называемый куб OLAP (online analytical processing - аналитическая обработка в реальном времени).
Рисунок 11. Многомерный куб. (OLAP-куб)
30