Концептуальная модель (модель предметной области)—выражает организацию упорядочивания и обмена представлениями. Она не зависит от СУБД . Любую концептуальн . модель необходимо отобразить в логическую модель , поддерживаемую в конкретной СУБД , а логическую в физическую, т.е. как при проектировании обычных БД.
Обзор моделей данных
Иерархическая модель данных
Древовидные иерархические структуры широко используются в повседневной человеческой деятельности Древовидные структуры—всевозможные классификаторы, ускоренный поиск информации, иерархические функциональные структуры управления.
Иерархические модели данных базируются на использовании графовой и табличной форм представления данных.
В графической диаграмме схема БД: вершина графа—используется для интерпретации типов сущностей , а дуги – для интерпретации типов связей между типами сущностей . При реализации , вершины представляются таблицами описаний экземпляров сущностей соответствующего типа.
Основные внутренние ограничения иерархической модели данных :
1 все типы связей должны быть функциональными: 1:1 1:М М:М
2 структура связей должна быть древовидной (графовой)
3 Процесс структурирования данных в иерархической модели имеет особенности: древовидная структура или дерево – это связанный ориентированный граф, который не содержит цикла . Обычно при работе с графом выделяют конкретную вершину и определяют ее как корень графа, в который не должно заходить ни одно ребро, т.е. дерево становится ориентированным. Ориентация определяется от корня , корневое дерево как ориентир графа может определяться сдедующим образом: имеется единственная вершина, называющаяся корнем , в которую не заходят ребра, а во все остальные вершины заходит только одно ребро, или нет циклов.
С точки зрения программирования , граф рассматривается как структура , состоящая из меньших деревьев (поддеревьев) , как рекурсивная структура. Рекурсивно дерево определяется как конечное множество Т , состоящее из одного , двух или более узлов, таких , что существует один специально выделенный узел, называемый корнем. Остальные узлы разбиты на n непересекаемых подмножеств Т1...Тn , каждое из которых является деревом.
Из определения дерева следует , что любой узел дерева –корень некоторого поддерева , принадлежащего полному дереву. Число поддеревьев – степень узла . узел называется концевым, если имеет 0 степень. Иногда концевые узлы называют листьями, а ребра ветвями. Узел не являющийся ни корневым ни концевым , называется узлом ветвления.
Иерархическая древовидная структура ориентирована от корня и удовлетворяет условиям: иерархия всегда начинается с корневого узла ; на первом уровне иерархии может находиться только корневой узел ; на нижнем уровне находятся порожденные узлы. Каждый порожденный узел , находящийся на i-ом уровне , связан только с одним непосредственно исходным узлом, находящемся на i-1 уровне иерархии ; каждый исходный узел может иметь 1 или несколько порожденных узлов, называющихся подобными ; доступ к каждому порожденному узлу выполняется непосредственно через его исходный узел; существует единственный иерархический путь доступа к узлу начиная от корня дерева.
Таблица1. Более чем 15-м уровнем вложенности не пользуются.
Если между узлами нет других узлов , то тогда это будут непосредственно исходный и порожденные узлы.
Графическая диаграмма схемы БД для иерархических БД называется деревом определения .
Вершина дерева определения БД соответствует введенным типам групп записей, с помощью которых выполняется интерпретация типов сущностей. При этом в корневой вершине дерева определения соответствует тип корневой группы , а остальным вершинам типы зависимых групп.
Дуга дерева отношений соответствует групповому отношению. Дуги обычно называют связью исходной – порожденной .
На внутреннем уровне древовидные структуры могут быть представлены различным способом. (пример: отдельные экземпляры структуры м/б представлены как экземпляры записи файла )
Многие иерархические СУБД (реляционные) могут поддерживать несколько различных БД , в этом случае каждая БД на внутреннем уровне представляется одним файлом, который объединяет экземпляры записей одного типа со структурой,
соответствующей схеме этой БД.
Прародитель всех иерархических БД является 1 модель СУБД Ака. Структурными единицами в этой БД являлись: поле, сегмент, физическая связь, логическая связь, физическая БД.
Поле—поименованная наименьшая единица данных. Поле принимает символические и числовые значения. Сегмент—поименованная совокупность полей Физическая/логическая связь—понятия групповых отношений.
Главным сегментом группового отношения объявляется исходный, детальный сегмент—порожденная физическая БД—поименованная совокупнсть экземпляров сегментов и физических связей , образующих иерархическую структуру максимум 15 уровня. Количество сегментов в иерархической БД ограничено числом 255, количество полей 1000. Таблица2.
Сетевая модель данных.
СМД базируется на графовой форме представления данных. Вершина графа используется для интерпретации типов сущностей., а дуги – типов связей.
При реализации моделей в различных СУБД , можно применять различные способы представления в памяти системы данных, описывающих связи м/у сущностями.
Доминирующее влияние на развитие СМД в соответствии со стандартами СУБД оказала группа Кодасил (стандарт ISO) Модель Кодасил постоянно развивается , по мере совершенствования вычислительной техники. По мере появления новой версии , появляется новый стандарт.
Типы структур в модели Кодасил.: элемент данных, агрегат, запись, набор, БД. Таблица3.
Вершинам графа соответствуют составные единицы информации , которые называются записями. Экземпляры записей образуют файлы.
Допустим структура записей в различных системах БД различны ( в одних—это линейная последовательность полей , в других структурах возможна иерархическая структуризация записей)
Почти во всех СУБД , поддерживающих сетевые модели, м/у парой типов записей м/б объявлены несколько типов связей. Направление и характер связей в сетевых моделях не являются очевидными, по сравнению с иерархическими моделями. Поэтому имена и направления связей должны указываться как при графическом изображении БД , так и при ее непосредственном описании на языке обработки данных. В большинстве современных СУБД беспроблемно реализуется сетевая модель.
М/у каждой парой типов записей поддерживается отношение 1:М.
Структуры сетевых БД строятся на основе следующих правил: БД может содержать любое количество типов записей и типов наборов; м/у двумя типами записей м/б определено любое количество типов наборов; тип записи м/б одновременно и владельцем и составным элементом нескольких различных типов наборов.
Основные ограничения сетевой модели с т/з реализации ее, является реализация трех типов отношений : 1:м , 1:1 , М:1. Вводят вспомогательный тип записи для поддержания отношения М:М и две связи 1:М и М:1. Таблица 4.
Системы с разнородными файлами.
В принципе в сетевую структуру возможен вход ч/з любую ее вершину , однако не все СУБД поддерживают такие сети. Существует ряд систем в которых файлы несут разную функциональную нагрузку.
В таких системах файлы БД разделяются на 2 типа: основные (главные) и зависимые. Причем каждый файл может выступать в одном из этих качеств .
Вход в систему м/б осуществлен только ч/з главные файлы . Различие м/у фалами оговаривается и указывается как при графическом изображении БД , так и при написании на ЯОД .
В сетевых системах с разнородными файлами существуют различия на устранение связей м/у ними. А именно: можно соединить м/у собой файлы разных типов.Табл5
Ограничения затрудняют прозрачность отображения предметной области в даталогической модели . При использовании сетевой модели с разнородными файлами , доступ к записи главного файла возможен как непосредственно , так и с зависимого файла. Доступ же к записи зависимого файла возможен только ч/з главный файл.
Системы на основе инвертированных файлов.—они поддерживают сетевые модели данных. Особенностью организации данных в этих системах заключается в том, что собственно хранимые данные и информация о связях логически и физически отделены друг от друга. Основной тип отношений м/у файлами—это М:М Вся управленческая информация сосредотачивается в ассоциаторе—файле генераторе.
Реляционная модель данных.
Рмд широко используется при построении БД . Они выступают не только в роли даталогических моделей , непосредственно поддерживающих конкретную СУБД , но и качестве вспомогательных промежуточных моделей при проектировании БД .
Рмд находят активное применение в качестве виртуальных моделей при построении мультиагентных – мульимодельных систем (internet – технологии)
Информационные единицы в реляционной модели : домены, атрибуты, отношения
Атрибуты—элементарные информационные единицы. Домен представляет собой ПУЛ (составная единица) значений из которых извлекаются фактические значения атрибутов. Отношение в рмд – двумерная таблица, граф которой является наименьшим атрибутом , а значение элементов каждого из столбцов данной таблицы извлекается из соответствующих доменов.
Т.о. со структурной точки зрения, рмд являются более простыми и однородными чем сетевые и иерархические модели.
Отношения в реляционной модели д/б нормализованы . Существует 5 нормальных форм. Домены не всегда фиксируются в БД в явном виде.
Характерная особенность реляционной модели: связи м/у отношениями устанавливаются не явном виде , а динамически , по равенству значений соответствующих атрибутов.
В реляционной модели каждому объекту предметной области соответствует одно или несколько отношений.
Если необходимо в явном виде зафиксировать связь м/у объектами , то она тоже выражается в виде отношения, в котором в качестве атрибутов присутствуют идентификаторы взаимосвязанных объектов. Т.о. и объекты предметной области и связи м/у ними отражаются в рмд посредством одинаковых информационных конструкций, что значительно упрощает модель.
Система называется полностью реляционной , если она : 1 поддерживает структурные аспекты реляционной модели ; 2 выполняет соответствующие ей правила включения , коррекции , исключения; 3система обладает подъязыком данных , по меньшей мере таким же мощным как алгебра отношений. Система в которой выполняются 1,2 условия , но не выполняется 3 называются полуреляционными.
Различают бинарные рмд и рмд допускающие отношения произвольных степеней—более известны.
В реляционных системах используются языки манипулирования различных типов: языки основанные на реляционной алгебре , реляционных исчислениях, языки , базирующиеся на концепции отображения.
Могут широко применятся процедурные языки, которые манипулируют отдельными картежеми отношений.
Пусть существует декартово произведение доменов Д1...Дк его можно представить Д1...Дк=Д1*Д2...Дк , где Д1={a11, a12,...,a1i,...,a1n}...
Дк={ak1,ak2,...,aki,...,akn}
Они образуют множество кортежей длинны к , состоящих из к-элементов по одному из каждого домена di , имеющего вид: (d1i,d2i...dkik)
Например: Д1={A,2} Д2={B,C} Д3={4,5,D}. Задача: требуется найти декартово произведение доменов. Д=Д1*Д2*Д3={(A,B,4) , (A,B,5), (A,B,D), (A,C,4), (A,C,5), (A,C,D), (2,B,4), (2,B,5), (2,B,D), (2,C,4), (2,C,5), (2,C,D)}
Отношение R называется подмножеством декартового произведения Д1...Дк (R->Д1 ,Д2...Дк) Отношение R, определенное на множествах Д1...Дк , есть некоторое множество кортежей арности к, т.е. элементарных отношений являющихся кортежами.
Схема кортежного отношения на доменах. Таблица6.
В ряде случаев отношение удобно представлять как таблицу, где каждая строка есть кортеж, а каждый столбец соответствует тому же компоненту декартового произведения.
Такие таблицы обладают следующими свойствами : 1 порядок столбцов фиксирован 2 порядок строк безразличен 3 любые 2 строки различаются хотя бы одним элементом 4 строки и столбцы таблицы могут обрабатываться в любой последовательности .
Список имен атрибутов отношений называется схемой отношения.
Если отношение является R и его схема имеет атрибуты А1...Ак , то схема отношения обозначается в БД следующим образом: R(A1,...,Ak)
Существует аналогия м/у схемой отношения и ? , м/у кортежем и записью , м/у отношением и файлом.
Одной из возможных реализаций отношения является файл записи , формат которого соответствует схеме отношения .
Реляционные БД содержат конечное множество отношений экземпляров:
R1(A11,A12,....,A1k1) ,R2(A21,A22,...,A2k2) ,..., Rm(Rm1,Rm2,...Rmk)
Выполнение операций над отношениями.
Для получения информации из отношения необходим язык манипулирования данными , выполняющий соответствующие операции над отношениями.
Наиболее важным в ЯМД является раздел формирования запросов . Т.к. запросы в общем случае представляют собой произвольные функции над отношениями , необходимо решить вопрос о требуемой выразительности языка запросов.
Для этих целей были разработаны 3 абстрактных теоретических языка: 1 реляционная алгебра ;2 реляционное исчисление с переменными кортежами; 3 реляционное исчисление с переменными доменами.
Языки запроса 1-о типа –алгебраические языки . Они позволяют выражать запросы средствами специализированных операторов, применяемых к отношениям.
Языки 2-о и 3-о типов—это языки исчисления, которые позволяют выражать запросы путем спецификации предиката , которому должны удовлетворять требуемые кортежи (домены). Эти языки служат эталоном для оценки существования реальных языковых запросов.
Самым распространенным языком запросов является SQL , разработан Кодасил в 1970 г. Также есть ISBL и QBE (по структуре похожие на SQL)
Эти языки обеспечивают не только функции соответствия теоретического языка или их комбинаций, но и реализуют некоторые дополнительные комбинации –операции, а именно: арифметические операции , команды присваивания и печати.
Реляционная алгебра.
При определении реляционной алгебры и ее операций предполагается , что порядок столбцов в отношении фиксирован, а сами отношения конечны.
Основные операции:
1 объединение отношений R=R1uR2. Операция применяется к отношениям той же арности . Таблица 7.
2 разность отношений R=R1-R2 разностью R1-R2 называется множество кортежей принадлежащих только R1 и не принадлежащих R2 Отношения R1 R2 R д/б одинаковой арности.
3 декартово произведение отношений R=R1*R2 . Если отношение R1 имеет арность к1, а отношение R2 арности к2 , то декартовым произведением R1*R2 называется множество кортежей арности к1+к2 , причем первые к1 –элемент образуют кортежи из отношения R1, а последние к2 –элементов образованы кортежами из отношения R2. R1*R2à(k1+k2)
4 проекция отношения R1 на компоненты i1,i2,...,ir (R1ài1,...,ir) Запись: R=п i1,i2, ...,ir (R1) , где i1...ir- номера столбцов отношения R1 . Операция проекции отношения заключается в том ,что из отношения R1 выбираются указанные столбцы и компоненты в указанном порядке.
5 селекция отношения R1 по формуле R , R= d f(R1) , где F –это форма , которая м/б образована а) опероидами , являющиеся номерами столбцов б) логическими операторами : и , или , не . в) арифметическими операторами сравнения.. В формуле м/б использованы скобки .
6 пересечение отношений R=R1 Ç R2 =R1-(R1-R2)
Дата: 2019-05-28, просмотров: 202.