КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Архитектура баз данных
Каждый пользователь или группа пользователей имеют свое представление об информации. По отношению к пользователям применяют трехуровневое представление для описания предметной области: концептуальное, логическое и физическое. Информационный фонд системы управления должен обеспечивать получение выходных наборов данных из входных с помощью алгоритмов обработки и корректировки данных. Это возможно, если создана инфологическая модель предметной области, которая вместе с наборами хранимых данных и алгоритмами их обработки позволяет построить каноническую модель (схему) информационной базы, а затем перейти к логической схеме и далее - к физическому уровню реализации. Концептуальный уровень связан с частным представлением данных группы пользователей в виде внешней схемы, объединяемых общностью используемой информации. Каждый конкретный пользователь работает с частью БД и представляет ее в виде внешней модели. Инфологической (концептуальной) моделью предметной области называют описание предметной области без ориентации на используемые в дальнейшем программные и технические средства. На концептуальном уровне проектирования производится смысловое описание информации предметной области, определяются ее границы, устраняются несущественные детали. В результате определяются моделируемые объекты, их свойства и связи. Выполняется структуризация знаний о предметной области, разрабатывается стандартная терминология. Затем строится концептуальная модель, описываемая на естественном языке. Для описания свойств и связей объектов применяют различные диаграммы. Этот уровень характеризуется разнообразием используемых моделей (модель «сущность-связь», ER-диаграмма, бинарные и инфологические модели). Для построения информационной базы кроме инфологической модели необходимо также провести анализ информационных потоков в системе в целях установления связи между элементами данных, их группировки в наборы входных, промежуточных и выходных элементов данных, исключения избыточных связей и элементов данных. Получаемая в результате такого анализа безызбыточная структура носит название канонической структуры информационной базы и является одной из форм представления инфологической модели предметной области. На следующем шаге принимается решение о выборе СУБД, исходя из потребностей с точки зрения ИС и пользователей. Определяющими здесь являются вид программного продукта и категория пользователей (профессиональные программисты или конечные пользователи). При выборе СУБД следует обращать внимание на удобство и простоту использования, на качество средств разработки, защиты и контроля БД, а также на уровень коммуникационных средств (в случае применения ее в сетях), имеет значение фирма-разработчик и стоимость. От канонической структуры переходят к логической структуре информационной базы, а затем - к физической организации информационных массивов. На логическом уровне производится отображение данных концептуальной модели в логическую модель в рамках той структуры данных, которая поддерживается выбранной СУБД. Каждая конкретная СУБД работает с определенной моделью данных. Под моделью данных понимается совокупность структур и операций их обработки. Процедуры хранения, актуализации и извлечения данных непосредственно связаны с базами данных, поэтому логический уровень этих процедур определяется моделями баз данных. Модели баз данных основываются на современном подходе к обработке информации, состоящем в том, что структуры данных обладают относительной устойчивостью. Типы объектов предприятия, для управления которым создается информационная технология, если и изменяются во времени, то достаточно редко, это приводит к тому, что и структура данных для этих объектов достаточно стабильна. Поэтому возможно построение информационной базы с постоянной структурой и изменяемыми значениями данных. Каноническая структура информационной базы, отображающая в структурированном виде информационную модель предметной области, позволяет сформировать логические записи, их элементы и взаимосвязи между ними. Взаимосвязи могут быть типизированы по следующим основным видам: - «один к одному» (1:1), когда одна запись может быть связана только с одной записью и отображает однозначную зависимость между объектами (студент 1:1 зачетная книжка); - «один ко многим» (1:М) или «многие к одному» (М:1), когда одна запись взаимосвязана со многими другими и отображает неоднозначную зависимость одного объекта по отношению к другому (группа 1:М студент); - «многие ко многим» (М:М), когда одна и та же запись может входить в отношения со многими другими записями в различных вариантах, связь отражает неоднозначную зависимость объектов по отношению друг к другу (студент М:М преподаватель). Рассмотрим три вида моделей данных позволяющих представить объекты предметной области и взаимосвязи между ними. Первая логическая модель БД основана на иерархическом подходе. Иерархическая модель представляется в виде упорядоченного набора деревьев или упорядоченного набора нескольких экземпляров одного типа дерева (рис. 5). Эта модель основана на графическом способе и предусматривает поиск данных по одной из ветвей дерева. Для осуществления поиска необходимо указать полный путь к данным, начиная с корневого элемента. Дерево – ориентированный граф (граф - пара множеств, одно из которых описывает множество вершин, а другое множество связей между ними), где все вершины, кроме корня, находятся в голове только одной дуги, корень не находится в голове ни одной из дуг и связан с вершиной дерева [21]. Тип дерево состоит из одного «корневого» типа записи и упорядоченного набора из нуля или более типов поддеревьев, каждое из которых в свою очередь является некоторым типом дерева. Тип дерева в целом представляет собой иерархически организованный набор типов записи. Между записями в иерархии могут быть определены связи 1:М или 1:1, где запись, соответствующая элементу «один» указанной связи, определяется как исходная, а соответствующая элементу «много» - как порожденная. В иерархических БД автоматически поддерживается целостность ссылок между предками и потомками. Никакой потомок не может существовать без родителя. В иерархической модели должно соблюдаться правило: каждый порожденный узел не может иметь больше одного порождающего узла (только одна входящая стрелка); в структуре может быть только один непорожденный узел (без входящей стрелки) - корень. Узлы, не имеющие входных стрелок, носят название листьев. Узел рассматривается как запись. Для поиска необходимой записи нужно двигаться от корня к листьям, т.е. сверху вниз, что значительно упрощает доступ. Достоинства иерархической модели данных состоят в том, что она позволяет описать их структуру, как на логическом, так и на физическом уровне, и позволяет экономно использовать память. Недостатки проявляются в жесткой фиксированности взаимосвязей между элементами данных, при которой любые изменения связей требуют изменения структуры и в сложности понимания для обычного пользователя. На рисунке 6 приведен пример иерархической структуры БД из которой видно, что студент учится только в определенной (одной) группе, которая в свою очередь относится к определенному (одному) факультету. Сетевая модель является моделью объектов-связей, так как сетевая БД состоит из набора записей и набора связей между ними. Сетевая модель также основана на графическом способе, но допускает усложнение дерева без ограничения количества связей, входящих в вершину. Тип связи определяется для двух типов записи: предка и потомка. В сетевой структуре данных потомок может иметь любое число предков. Могут быть определены связи 1:М или 1:1. Графическое представление сетевой модели в виде графа представлено на рисунке 7. В сетевой модели допустимы любые виды связей между записями и отсутствует ограничение на число обратных связей. Но должно соблюдаться одно правило: связь включает основную и зависимую записи. В качестве примера рассмотрим БД содержащую информацию об участии студентов в научных работах по различным направлениям (рис. 8). Достоинство сетевой модели БД состоит в большой информационной гибкости по сравнению с иерархической моделью. Но сохраняется общий для обеих моделей недостаток - достаточно жесткая структура, что препятствует развитию информационной базы системы управления. При необходимости частой реорганизации информационной базы (например, при использовании настраиваемых базовых информационных технологий) применяют наиболее совершенную модель БД - реляционную, в которой отсутствуют различия между объектами и взаимосвязями. Реляционная модель БД является удобной и наиболее привычной формой представления взаимосвязи между элементами данных в виде двумерной таблицы. В математических дисциплинах таблице соответствует термин «отношение» (relation). Основы реляционной модели данных были первоначально сформулированы доктором Э.Ф. Коддом из фирмы IBM в 1970 г. Эти идеи оказали широкое влияние на технологию баз данных во всех ее аспектах, а также и на другие области информационных технологий (например, искусственный интеллект и обработку текстов на естественных языках). При работе с реляционными моделями используется как математическая терминология, так и терминология, принятая в сфере обработки данных. В таблице 1 приведены основные формальные реляционные термины и соответствующие им неформальные эквиваленты [21]. Таблица 1 Неформальные эквиваленты реляционных терминов
Например, информация о студентах в реляционной таблице будет представлена в следующем виде (таблица 2). Таблица 2 Список студентов
Отношения обладают следующими свойствами: каждый элемент таблицы представляет собой один элемент данных (повторяющиеся группы отсутствуют); элементы одного столбца имеют одинаковую природу (столбец содержит данные одного типа); столбцам однозначно присвоены имена; в таблице нет двух одинаковых строк; строки и столбцы могут просматриваться в любом порядке вне зависимости от их информационного содержания. В реляционной таблице каждая строка имеет одинаковое число полей и все поля атомарны (неразложимы) и определены (определен тип данных). Понятие «тип данных» в реляционной модели данных соответствует понятию «тип данных» в языках программирования. В реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (например, «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). Ограничения целостности реляционной модели данных заключаются в том, что каждая таблица имеет ключ (в ней отсутствуют строки-дубликаты и строки с одинаковыми значениями ключевых полей) и нормализована (все поля таблицы определены и атомарны и отсутствует избыточное дублирование данных). Первичный ключ - это поле или минимальный набор полей, которое уникально, т.е. однозначно определяет каждую строку таблицы. Первичные ключи используются для идентификации строк в таблице, ускорения работы со строками таблицы, для связывания таблиц. В зависимости от количества атрибутов, входящих в ключ различают простые и составные ключи. Первичный ключ, который включает более одного столбца, называется множественным, комбинированным или составным. Простой ключ содержит только один атрибут. Составной ключ включает несколько атрибутов. Один произвольно выбранный возможный ключ для данного отношения принимается за его первичный ключ, а остальные возможные ключи называются потенциальными или альтернативными ключами. Кроме первичных и альтернативных ключей, идентифицирующих данное отношение, есть еще внешний ключ. Внешний ключ - это столбец или подмножество одной таблицы, который может служить в качестве первичного ключа для другой таблицы. Внешний ключ таблицы является ссылкой на первичный ключ другой таблицы. Внешние ключи в неявном виде связывают отношения. На рисунке 9 представлена реляционная модель данных содержащая информацию о результатах сдачи экзаменов студентами. Логическая структура реляционной БД содержит четыре таблицы (отношения): Студент, Преподаватель, Дисциплина, Экзамен - состоящие соответственно из записей о студентах, о преподавателях, о дисциплинах и о результатах экзаменов. Таблица Студент представляет список студентов. Каждый студент имеет уникальный номер зачетной книжки, фамилию, имя, отчество (естественно, неуникальные), шифр группы. Таблица Преподаватели предоставляет информацию о преподавателях, каждому из которых соответствует уникальный табельный номер, ФИО, должность и кафедра, на которой он работает. Таблица Дисциплина предоставляет информацию о предметах, каждому из которых соответствует уникальный код, и название. В таблице Экзамен отражены результаты сдачи экзаменов. Эта таблица служит для связи между собой трех других таблиц. Она связывает определенного студента из таблицы Студент, с определенной дисциплиной из таблицы Дисциплина и определенным преподавателем (таблица Преподаватель). Таблица Экзамен представляет сдачу экзамена студентом по предусмотренной дисциплине преподавателю. Таким образом, для каждого экзамена имеется номер зачетной книжки, код дисциплины, табельный номер преподавателя, дата проведения экзамена и оценка. Примером внешнего ключа является атрибут Номер зачетной книжки в отношении Экзамен (рис. 9), поскольку этот атрибут может быть первичным ключом отношения Студент. Так как возможны пересдачи экзамена, поэтому в отношении Экзамен в ключ введен атрибут дата. Согласно правилу целостности объектов первичный ключ не может быть полностью или частично пустым, т.е. иметь значение null. Правило ссылочной целостности допускает, что внешний ключ может быть либо пустым, либо соответствовать значению первичного ключа, на который он ссылается. Понятие «домена» для баз данных имеет некоторые аналогии с подтипами в некоторых языках программирования. Наименьшей единицей данных в реляционной модели является отдельное значение данных. Такие значения рассматриваются, как уже говорилось, в качестве атомарных - неразложимых, когда речь идет о данной модели. Доменом называют допустимое потенциальное множество значений данного типа. Например, домен номеров зачетных книжек это множество допустимых номеров зачетных книжек, домен оценок - множество целых, больших нуля и меньших 5. Смысл доменов заключается в том, что если значения двух атрибутов берутся из одного домена, то имеют смысл их сравнение, а следовательно, и соединение, объединение и т.д. Если же значения атрибутов берутся из разных доменов, то всякие их сравнения лишены смысла. Преимуществами реляционной модели БД являются простота логической модели (таблицы привычны для представления информации), что ведет к доступности для понимания конечным пользователем; применение строгих правил, базирующихся на математическом аппарате при проектировании реляционных БД; гибкость системы защиты (для каждого отношения может быть задана правомерность доступа); независимость данных, так как при изменении структуры реляционной БД изменения, которые требуется произвести в прикладных программах, минимальны; возможность построения простого языка манипулирования данными с помощью математически строгой теории реляционной алгебры (алгебры отношений). В конечном итоге наличие строгого математического аппарата для реляционной модели баз данных и обусловило ее наибольшее распространение и перспективность в современных информационных технологиях. Недостатки реляционной модели в следующем: по сравнению с другими моделями реляционная модель имеет более низкую скорость доступа и требует большего объема внешней памяти; появление чрезмерно большого количества таблиц в результате логического проектирования затрудняет понимание структуры данных; и наконец не всегда предметную область можно представить в виде совокупности таблиц. Для преодоления недостатков, присущих реляционной модели, в настоящее время развиваются постреляционная, многомерная и объектно-ориентированная модели. Эти модели в той или иной степени опираются на реляционную модель. В настоящее время реляционная модель и коммерческие продукты, основанные на этой модели, преобладают при построении экономических ИС. Физический (внутренний) уровень связан со способом фактического хранения данных в физической памяти ЭВМ. На этом уровне производится выбор рациональной структуры хранения данных и методов доступа к ним, которые обеспечивает выбранная СУБД. На этом уровне решаются вопросы эффективного выполнения запросов к БД, для чего строятся дополнительные структуры, например индексы. Индекс упорядочен по значению ключевого поля, что позволяет быстро находить нужные значения. Индексная структура может рассматриваться как «оглавление» таблицы. При процедуре поиска нужной записи таблицы по ключевому полю вначале просматривается ее индекс, находится нужное значение ключа, определяется по указателю адрес нужной записи и затем считывается запись. СУБД автоматически создает индексы для первичных ключей таблиц. В качестве индексного ключа берется столбец или совокупность столбцов первичного ключа. При вводе новой строки происходит проверка уникальности значения первичного ключа не по записям таблицы, а в соответствующем индексе, что также ускоряет работу системы. Целесообразно в качестве ключевых полей применять числовые коды: код товара, табельный номер и т. п. Основными компонентами физического уровня являются хранимые записи, объединяемые в блоки; указатели, необходимые для поиска данных; данные переполнения; промежутки между блоками; служебная информация. В физической модели содержится информация обо всех объектах БД (таблицах, индексах, процедурах и др.) и используемых типах данных. Физическая модель зависит от конкретной СУБД. Одной и той же логической модели может соответствовать несколько разных физических моделей. Физическое проектирование является начальным этапом реализации БД.
Дата добавления: 2014-12-23; Просмотров: 1732; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |