Элементы Архитектуры предприятия. Бизнес-архитектура и архитектура информации
Архитектура информации
Контекст и основные элементы архитектуры информации
Сегодня организации должны искать эффективные способы работы с информацией, которая поступает из самых разнообразных источников и должна быть доступна там, где это нужно, и тогда, когда это необходимо. Ситуация осложняется тем, что различные формы информации зачастую требуют специфических технологий и методов работы с ней: 1) структурированная информация (реляционные и объектные модели); 2) развивающиеся, основанные на XML стандарты для полуструктурированной информации; 3) неструктурированная информация в форме текстов, графиков, образов, сопровождаемая определенными описательными данными (метаданными и каталогами).
Архитектура информации включает в себя видение, принципы, модели и стандарты, которые обеспечивают процессы создания, использования и поддержания информации, относящиеся к деятельности предприятия.
Архитектура информации описывает, как информационные технологии обеспечивают в организации возможности для быстрого принятия решений, распространения информации внутри организации, а также за ее пределы, например, партнерам по бизнесу. Архитектура информации является как бы «зеркальным отражением» бизнес-архитектуры. Бизнес-архитектура отвечает на вопрос: «С учетом нашего общего видения, целей и стратегий, кто и что будет делать?» Архитектура информации отвечает на вопрос: «Какая информация должна быть предоставлена для того, чтобы эти процессы могли выполняться теми, кто их должен выполнять?» Архитектура информации включает в себя модели, которые описывают процессы обработки информации (information value chain), основные информационные объекты, связанные с бизнес-событиями, информационные потоки, принципы управления информацией. Архитектура должна описывать как те данные, которые требуются для выполнения процессов (операционные), так и аналитические данные и «контент», публикуемый на Web.
Это действительно обширная задача. Приведем следующую цитату, касающуюся создания архитектуры информации в Citibank [4.14]: «В силу сложности банковских продуктов, услуг и разнообразия условий ведения бизнеса, задача разработки корпоративной модели данных заняла несколько лет. Отсутствие общекорпоративного подхода к управлению данными было слабостью банка в прошлом, но теперь у банка имеется возможность обеспечить единые стандарты обслуживания клиентов». Речь идет, конечно, об одном из крупнейших финансовых институтов мира, и большинство компаний столкнется с гораздо меньшими проблемами, но в любом случае, разработка и реализации архитектуры информации – это длительный итеративный процесс.
Разработка архитектуры информации как части дисциплины архитектуры предприятия не состоит в создании структур баз данных или моделей всех данных, использующихся предприятием. Суть заключается в организации более общего описания информации, требующейся для бизнеса, а также политик и правил работы с информацией. В связи с этим следует отметить, что в контексте архитектуры предприятия более правильно говорить об архитектуре и моделях информации, а не данных, хотя эти понятия и пересекаются. Модели архитектуры информации являются более абстрактными, они используют язык бизнеса и обеспечивают контекст, который требуется для моделирования данных. Модели данных уже предполагают четкие описания структуры объектов, атрибутов, отношений между сущностями.
Поэтому понятие «архитектура информации» является расширением понятия «архитектура данных». В общем, под архитектурой информации понимается процесс организации и представления значимой информации для пользователей в интуитивно-понятной форме, с использованием соответствующих средств каталогизации, навигации, пользовательского интерфейса. Этот аспект архитектуры предприятия также призван подчеркнуть позиционирование хранимой и обрабатываемой информации как стратегического корпоративного ресурса и неотъемлемой части «интеллектуального капитала» организации. Поэтому описание этой области будет дополнительно включать средства для оценки качества данных, их востребованности, учета стоимости как нематериального актива и т.п.
Потребность в архитектуре информации сейчас велика как никогда. Аналитические компании, такие как META Group и Aberden, считают, что при разработке новых систем до 70% времени тратится на решение задач, связанных с идентификацией источников данных, которые должны использоваться прикладной системой, и на написание программного кода для доступа и трансформации данных [4.15]. Для большинства средних и практически всех крупных предприятий использование нескольких различных СУБД, средств управления и преобразования данных является скорее правилом, чем исключением. Кроме того, в течение последнего десятилетия мы являлись и являемся свидетелями тенденции все более широкого использования готовых прикладных систем (финансового учета, управления кадрами, управления закупками, управления продажами и т.д.), каждая из которых имеет свои модели данных. С учетом наличия и других унаследованных систем тенденция к росту количества источников данных только увеличивается.
Объективными факторами, приводящими к дальнейшему усложнению проблемы, является объединение информационных систем разных предприятий как следствие слияний и поглощений , а также углубление специализации обслуживающего персонала.
На рисунке 5.8 приводится пример упрощенной схемы перемещения данных в процессе работы над ними на некотором гипотетическом предприятии.
Этот пример показывает, что данные на предприятии проходят через большое количество шагов в процессе своего жизненного цикла. При этом в таком потоке могут встречаться разветвления и слияния, одни и те же данные могут обрабатываться разными прикладными системами и храниться в различных базах данных: базах оперативного хранения информации, хранилищах данных, витринах данных (предназначенных для анализа и быстрого получения отчетов). Все это приводит к фрагментации данных, работе с ними различных подразделений и требует координации в рамках единой архитектуры информации предприятия.
В ходе разработки архитектуры информации решаются, в соответствии с [4.16], следующие задачи:
- идентификация и инвентаризация существующих данных, включая определение их источников, процедур изменения и использования, ответственность, оценка качества;
- сокращение избыточности и фрагментарности данных с целью уменьшения затрат на устройства хранения, стоимости их обслуживания, а также повышение качества данных за счет исключения неоднозначности и противоречивости различных экземпляров;
- исключение ненужных перемещений или копирования данных, особенно связанных с наличием большого количества унаследованных или устаревших приложений;
- формирование интегрированных представлений данных, таких как витрины и хранилища; обеспечение доступности данных в режиме, приближенном к режиму реального времени, за счет использования средств обмена сообщениями, интеграционных брокеров и шлюзов;
- интеграция метаданных, что позволит обеспечить целостное представление данных из различных источников;
- сокращение числа используемых технологий и продуктов, что позволяет снизить расходы на обслуживание, а также получить дополнительные, объемные скидки от поставщиков применяемых продуктов;
- улучшение качества данных, прежде всего, за счет привлечения бизнес-пользователей к управлению и определению данных;
- улучшение защиты данных на основе использования последовательных и согласованных мер, обеспечивающих, с одной стороны, защиту от несанкционированного доступа, а с другой – доступность данных для их использования на практике.
Критическими факторами для обеспечения успеха процесса разработки архитектуры информации являются тщательное планирование и привязка к бизнес-целям предприятия. Обычно рекомендуется проводить анализ данных последовательно для каждого бизнес-процесса, выбирая их в порядке приоритета по важности.
На концептуальном уровне абстракции архитектура информации должна описывать аспекты, связанные с получением, хранением, трансформацией, презентацией, анализом и обработкой информации. Это включает в себя следующие процессы управления информацией:
- получение данных из внутренних и внешних источников;
- классификация данных по типам;
- хранение и извлечение данных;
- редактирование (или обновление) данных;
- контроль качества (удаление или исправление некорректных данных);
- презентация (трансформирование данных для определенной аудитории потребителей);
- распространение информации для различных групп потребителей;
- оценка (полезности, а также соотношения цены/качества данных);
- обеспечение безопасности информации (например, аутентификация данных от различных источников, назначение адекватного уровня доступа; определение требований по аудиту; обеспечение механизмов резервного хранения и восстановления).
Рисунок 5.9 показывает общую картину архитектуры информации, взятую из документов описания архитектуры правительства штата Северная Каролина, США [4.17].
Безусловно, эта картина является далеко не полной. Она, например, не отражает наличие в организации огромного пула неструктурированной и полуструктурированной информации, которая хранится в форме текстов и образов документов, сообщений электронной почты, неявных знаний и т.д.
Реализация архитектуры информации обеспечивает единый в масштабах всего предприятия доступ к определениям элементов данных, своевременный доступ к корректным данным и соответствующий уровень безопасности и защиты для всех данных. Это является основой для реализации систем поддержки принятия решений, систем обработки транзакций и аналитических систем.
Для понимания архитектуры информации и того, как данные хранятся и обновляются, важно отличать типы прикладных систем, которые обеспечивают доступ к данным. Два наиболее важных типа таких систем – это системы онлайновой обработки транзакций (OLTP – Online Transaction Processing ) и системы он-лайновой аналитической обработки (OLAP – Online Analitical Processing). Третий тип – системы управления неструктурированными данными (контентом).
OLTP-системы применяются для выполнения критически важных, повседневных операций. Чаще всего они используются многими пользователями одновременно для ввода, обновления и извлечения данных. OLTP-системы способны выполнять атомарные бизнес-функции и четко обозначенные единицы работ – как правило, в форме одной или нескольких транзакций, выполняемых как одно целое (например, транзакция «изменение адреса клиента»).
OLAP-системы используются для анализа, планирования и управления получением отчетов путем обеспечения интерактивного доступа к широкому спектру информации. В OLAP-системах обычно обрабатываются агрегированные данные для получения ответа на такие вопросы: «Сколько было потрачено на покупку офисной техники в прошлом году?», «Каков был объем продаж изделия X в городе N в первом квартале?» Данные для OLAP-систем, как правило, извлекаются из транзакционных OLTP-систем и помещаются или реплицируются в специальные базы данных – хранилища или витрины данных. Витрины данных являются специализированными хранилищами, которые ориентированы на предоставление информации, требующейся для бизнес-анализа на предприятии.
Таким образом, мы можем сказать, что архитектура информации включает в себя, в частности, такие области (а также связанные с ними стандарты, руководства и пр.), как:
- федеративные данные (метаданные);
- моделирование данных;
- системы управления базами данных;
- программное обеспечение промежуточного слоя (m >механизмы доступа к данным ;
- безопасность данных.
Однако окончательный набор дисциплин, связанных с архитектурой информации, определяется, в конечном итоге, потребностями предприятия.
Безусловно, область архитектуры информации имеет пересечения с остальными доменами архитектуры предприятия. Типичным примером такого пересечения является стандарт XML, который имеет отношение одновременно как к архитектуре информации, так и к архитектуре приложений. Другим примером являются системы управления базами данных, которые относятся и к архитектуре информации, и к технологической архитектуре (инфраструктуре). Реализация сложных систем, таких, например, как хранилища и витрины данных, требует участия специалистов по архитектуре информации, прикладным системам и инфраструктуре.
Рекомендуемыми первыми шагами на пути создания архитектуры информации являются следующие шаги [4.18]:
- создание словаря данных и репозитория метаданных;
- выбор системы записи информации о каждом элементе данных.
Эти шаги впоследствии будут способствовать созданию оперативного хранилища данных (ODS – Operational Data Store ), которое обеспечивает стандартные процессы извлечения, трансформации и загрузки данных ( ETL – Extract, Transform, Load), а также очистки данных и создания метаданных. Оперативное хранилище является краеугольным камнем для повторного, многократного использования данных, а в последующем – для создания хранилищ и витрин данных.
После того как решены эти первые задачи, необходимо обеспечить такие условия, чтобы все процессы создания и доступа к информации на предприятии соответствовали разработанной архитектуре.
IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.
Архитектура СУБД. Архитектура баз данных. Логическая структура СУБД. Описание данных в базе данных. Базы данных схема данных
- 08.12.2012
- Базы данных
- 2 комментария
Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем рубрику Заметки о MySQL, в которой уже были публикации: Нормальные формы и транзитивная зависимость, избыточность данных в базе данных, типы и виды баз данных, настройка MySQL сервера и файл my.ini, MySQL сервер, установка и настройка. Сегодня мы поговорим о логической структуре СУБД и архитектуре баз данных. Как всегда, я постараюсь описать архитектуру СУБД на простом и понятном языке, без всяких сложных и умных слов.
Проблема отделения логической структуры баз данных и управление данными встала давно, и решение этих проблем является развитием СУБД. Грубо говоря, пользовательский интерфейс СУБД должен быть отделен от физического интерфейса баз данных или физического представления баз данных, которое требуется компьютеру.
Одна и та же база данных, в зависимости от того, как на нее смотреть может быть представлена по-разному, по-другому, база данных может иметь различные уровни описания и MySQL сервер в данном случае не является исключением, все, что будет написано далее, в полной мере справедливо и для MySQL сервера.
Число уровней описания зависит от реализации сервера баз данных или от реализации СУБД. Существует одноуровневая система управления базами данных. Двух уровневая СУБД и трехуровневая СУБД. Рассматривать одноуровневые и двухуровневые СУБД нет смысла, поскольку в настоящее время используются в основном трехуровневые системы. Системы с трехуровневым описанием данных имеют три уровня абстракции, на которых можно осуществляется взаимодействие с базой данных. И так, перейдем к делу.
Трехуровневая архитектура баз данных. Три уровня абстракции описания данных.
Самым важным аспектом трехуровневой архитектуры базы данных является то, что логическая структура, с которой взаимодействует пользователь, отделена от физической структуры баз данных, с которой взаимодействует машина. Давайте посмотрим, что включает в себя трехуровневая архитектура баз данных:
- В базах данных с трех уровневой архитектурой всегда есть внешний уровень, на котором пользователю предоставляется интерфейс для манипуляции данных, на внешнем уровне задаются права доступа пользователей на взаимодействие с базой данных, приоритеты и т.д.
- У трехуровневых СУБД есть всегда имеется внутренний уровень, на котором СУБД и операционная система воспринимают и обрабатывают данные
- Поскольку архитектура у нас трех уровневая, то третий уровень отвечает за связь между внешним уровнем (пользовательским интерфейсом) и внутренним уровнем (физическим представлением данных в базе данных). Третий уровень получил название концептуальный уровень представления данных. Концептуальный уровень представления данных предназначен для отображения внешнего уровня на внутренний, он обеспечивает независимость между этими уровнями.
Для наглядности можете посмотреть на рисунок, на нем продемонстрирована структура трехуровневой СУБД:
Структура базы данных
На этом рисунке, все упрощено до безобразия, но он позволяет себе представить архитектуру баз данных и способы взаимодействия между уровнями.
Базы данных. Схема данных. Независимость уровней от данных.
С архитектурой баз данных мы более или менее разобрались, теперь можем поговорить и об описание данных в базе данных. Описание структуры данных на любом из трех уровней называется схемой данных. Поскольку у нас три уровня абстракции данных, то соответственно должно быть три схемы данных, которые позволяют представить разработчику структуру данных на любом из трех уровней.
Каждая схема данных имеет свое собственное название и зависит от уровня. На самом высоком или внешнем уровне имеется несколько внешних схем данных или подсхем. На концептуальном уровне описание базы данных происходит при помощи концептуальных схем. Внутренний уровень СУБД описывается при помощи внутренней схемы данных.
Целью создания трехуровневой архитектуры базы данных была независимость данных от уровней. Под термином независимостью данных нужно понимать следующее: изменения на нижних уровнях (концептуальный и внутренний уровень) в идеале никак не должны влиять на верхний уровень. Существует два типа независимости данных: логическая независимость от данных и физическая независимость от данных.
Логическая независимость от данных означает, что все ваши внешние схемы останутся неизменны, если вы будете вносить изменения на концептуальном уровне СУБД, то есть вносить изменения в концептуальную схему данных. Вносить изменения в концептуальную схему данных означает: добавление и удаление новых сущностей (новых таблиц), добавление атрибутов(столбцов) или создание новых связей между таблицами. Все вышеперечисленные операции должны осуществляться без необходимости внесения изменений в уже существующие внешние схемы данных.
Физическая независимость от данных означает, что ваша концептуальная схема данных будет защищена от изменений и будет независима от изменений на внутреннем уровне (изменение внутренней схемы данных). Под изменение внутренней схемы данных стоит понимать: изменение файловой структуры хранения данных, использование различных файловых систем, использование различных запоминающих устройств, модификация индексов и т.д. Так вот, все эти изменения никак не должны влиять на концептуальную и внешнюю схемы данных.
Внешний уровень абстракции. Внешняя схема данных. Внешнее представление базы данных.
Внешний уровень – это пользовательский уровень, по-другому – пользовательский интерфейс. Внешняя схема данных описывает то, как видят различные группы пользователей архитектуру базы данных. Под пользователем стоит понимать: конечного пользователя базы данных, проектировщика базы данных, администратора базы данных и т.д. Внешнее представление базы данных – это то, как видит пользователь структуру базы данных.
Пользователи могут быть разбиты на группы по приоритетам и правам доступа – это означает, что для каждой пользовательской группы существует своя внешняя схема данных базы данных, свое представления данных, свои сущности, свои атрибуты и свои связи, именно те, которые доступны для каждой группы пользователей.
Такое частичное описание базы данных или частичная схема базы данных получило название подсхема. Группа пользователей видит только то, что ей необходимо или только то, что ей разрешили увидеть. Также определенная группа пользователей может совершать только те действия, которые ей разрешены.
Концептуальная схема данных. Концептуальное представление базы данных.
Концептуальный уровень представления данных – это промежуточное звено между внутренним и внешним уровнями, это интерфейс взаимодействия между этими двумя уровнями. Концептуальная схема предназначена для абстрактного представления всей базы данных. Разработка концептуальной схемы данных называется концептуальным проектированием базы данных, которое включает в себя: оценку и учет потребностей пользователей и выделение для них соответствующих прав и определение для них нужных элементов управления и взаимодействия с БД.
Концептуальная схема – это единое логическое описание базы данных, логическая структура базы данных. Концептуальная схема определяет все логические элементы базы данных (сущности, атрибуты и т.д) и способы связи между ними. У любой базы данных может быть только одна концептуальная схема данных, которая должна включать в себя:
- Таблицы и их атрибуты
- Связи между таблицами
- Ограничения, накладываемые на данные
- Семантику данных
- В концептуальной схеме данных должны быть учтены аспекты безопасности и целостности данных
Внутренний уровень абстракции. Внешняя схема данных. Внутреннее представление базы данных.
Внутренний уровень представления данных – это третий и последний по счету уровень архитектуры базы данных. Внутреннее представление данных не связано с их физическим представлением, так как каждая СУБД и каждый сервер баз данных имеет собственное представление данных на физическом уровне.
Внутренняя схема данных – это полное описание физической реализации базы данных. При помощи внутренней схемы данных осуществляется настройка СУБД (настройка MySQL сервера). С ее помощью можно достичь оптимальной производительности СУБД и обеспечить экономное использование места на носители информации.
Любая внутренняя схема данных обязательно хранит в себе:
- То, как должно быть распределено дисковое пространство для хранения данных и индексы
- Информацию о сохраненных записях
- Сведения о уже имеющихся записях
- Сведения о способах шифрования и сжатия данных
Задачей СУБД является обеспечение связи между всеми тремя уровнями, поддержание этих связей и проверка непротиворечивости между тремя уровнями представления данных. Устранять противоречия следует на этапе проектирования базы данных.
Ниже внутреннего уровня находится физический уровень, который контролируется операционной системой, но под руководством СУБД. Физический уровень учитывает, каким образом данные будут представлены в машине. Он обеспечивает физический взгляд на базу данных: дисководы, физические адреса, индексы, указатели и т. д. За этот уровень отвечают проектировщики физической базы данных, которые работают только с известными операционной системе элементами.
Область их интересов: указатели, реализация последовательного распределения, способы хранения полей внутренних записей на диске. Однако функции СУБД и операционной системы на физическом уровне не вполне четко разделены и могут варьироваться от системы к системе.
Архитектура БД. Модели данных, используемые на различных этапах проектирования БД.
Основной целью любой СУБД является возможность предложить обычному пользователю базы данных абстрактное представление данных, скрыв от пользователя особенности хранения и управления ими. Поскольку база данных, как правило, разрабатывается как общий ресурс для большого количества пользователей, то каждому пользователю может потребоваться своё, отличное от других пользователей представление о данных, хранимых в БД. Это вызвано следующими причинами:
— каждый пользователь иметь право обращаться к общим данным, используя своё представление о них;
— взаимодействие пользователя с БД не должно зависеть от особенностей её физической организации;
— администратор базы данных (АБД) должен иметь возможность изменять структуру и формат данных, не оказывая влияния на пользовательские представления;
— внутренняя структура БД не должна зависеть от таких изменений физических аспектов хранения информации, как переключение на новое устройство хранения;
— АБД должен иметь возможность изменять концептуальную или глобальную структуру данных без какого—либо влияния на всех пользователей.
Для удовлетворения этих потребностей архитектура большинства современных коммерческих СУБД, существующих на рынке программного обеспечения, в той или иной мере, строится на базе так называемой архитектуры ANSI—SPARC. Название произошло по названию комитета планирования стандартов и норм (Standards Planning and Requirements Committee SPARC) национального института стандартизации (American National Standard Institute— ANSI) США. Комитет признал необходимость использования трехуровневого подхода к организации БД. Этот подход отделяет пользовательские представления базы данных от её физического представления посредством создания независимого уровня, изолирующего программы от особенностей представления данных на низком уровне.
Архитектура БД представлена на рисунке 1.
Внешний уровень – это индивидуальное представление БД с точки зрения отдельного пользователей. Пользователи могут быть разные, с разным уровнем подготовки. Каждый пользователь представляет данные в соответствии с формами различных документов, присущих данной предметной области. При этом одни и те же данные могут иметь различную форму представления — формат (тип), длину. Например, сведения о зарплате – их можно увидеть в виде итоговой суммы в записи ведомости, либо в виде перечня составляющих – различных начислений и удержаний.
ПП1 – представление 1—го пользователя, ППк – представление к—того пользователя
Рисунок 1 — Трехуровневая архитектура БД
Некоторые представления могут включать производные или вычисляемые данные, которые не хранятся в БД, а создаются по мере необходимости пользователя.
Индивидуальное внешнее представление называют подсхемой.
Концептуальный уровень отображает обобщенное представление пользователей. Это промежуточный уровень в трехуровневой архитектуре БД, представляющий данные такими, какими они есть на самом деле, а не такими, какими их вынужден видеть пользователь в рамках какого—то инструментального средства или на формах приложений. Концептуальный уровень поддерживает каждое внешнее представление, однако не содержит сведений о методах хранения данных. Этот уровень интересен администратору БД и может быть представлен концептуальными схемами.
Внутренний уровень на языке определения данных (ЯОД) выбранной СУБД представляет, в каком виде информация хранится в БД, описывает структуры объектов БД. Внутреннее представление не связано с физическим уровнем, так как в нем не рассматривается организация физических записей (блоков и страниц памяти), физические области хранения.
Необходимо заметить, что описание уровней архитектуры БД можно представить в виде некоторого технического описания (бумажном или электронном), разработанного с помощью различных средств и правил.
В соответствии с архитектурой БД, существуют несколько внешних схем или подсхем, каждая из которых соответствует разным представлениям данных, одна концептуальная схема БД и одна внутренняя схема БД. Каждая внешняя схема связана с концептуальной с помощью внешне концептуального отображения. Концептуальная схема связана с внутренней посредством концептуально внутреннего отображения. Схемы и отображения создаются администратором БД средствами СУБД.
Основным назначением трехуровневой архитектуры БД является обеспечение независимости описаний базы данных (схем БД), получаемых на различных уровнях, следовательно, независимость прикладных программ от данных, что является одним из основных достоинств базы данных.
Различают логическую и физическую независимость данных.
Логическая независимость данных поддерживает защищенность внешних схем от изменений, вносимых на концептуальном уровне. Так, например, при функциональном развитии АИС проводится дообследование предметной области и в концептуальную схему добавляется описание новых данных предметной области. При этом некоторые внешние схемы даже не замечают этих изменений, часть пользователей работает с БД в прежнем виде.
Физическая независимость поддерживает защищенность концептуальной схемы от изменений, вносимых на физическом уровне. Например, добавление индексов, создание триггеров не требуют внесения изменений в концептуальную схему. Также, возможен перевод физической модели БД на ЯОД другой СУБД без внесения изменений во внешние схемы. Пользователь сможет заметить только увеличение производительности системы.
Для того чтобы создать БД необходимо осуществить проектирование схем каждого уровня архитектуры БД.
Модели данных
Одним из важнейших моментов в процессе проектирования БД является понимание концепций, лежащих в основе моделей данных, используемых как в качестве инструмента проектирования, так и в качестве результата проектирования. В сложившейся терминологии БД и инструменты проектирования, и его результаты рассматриваются как модели. Необходимо различать назначение каждой используемой в процессе проектирования модели данных.
В современной трактовке термин «модель данных» обозначает инструмент моделирования. Модель базы данных (схема данных) или модель предметной области являются результатами моделирования.
Модель данных это интегрированный набор понятий для описания данных, связей между ними и ограничений, накладываемых на данные на предприятии.
Для реализации успешного проектирования БД необходимо для каждой модели – инструмента знать три её основных компонента:
— набор правил, определяющих структуру данных;
— определение типов допустимых операций с данными;
— набор ограничений поддержки целостности данных.
Исходя из трехуровневой архитектуры БД, различают три, связанных между собой, модели данных, получаемых в результате проектирования и отображающие результаты проектирования.
1. Внешняя модель данных, отображает обобщенное представление всех пользователей. Эту модель называют описанием предметной области, формируемым на естественном языке. Представить внешнюю модель можно как в формализованном (схемы, рисунки, таблицы), так и в неформализованном (словесное описание на языке проектировщиков) виде.
2. Концептуальная модель. Она может быть выражена в виде диаграммы, схемы, рисунка, отображающего обобщенное логическое представление информации предметной области (концептуальная информационно логическая модель предметной области) или в виде рисунка, схемы, отображающего обобщенное логическое представление данных (концептуальная логическая модель данных), не зависимое от выбранной СУБД.
3. Внутренняя модель. Является результатом отображения концептуальной модели средствами языка определения данных выбранной СУБД.
В литературе по БД предложено и опубликовано достаточно много различных моделей данных, используемых при проектировании БД как инструментальное средство. Модели, отображающие уровни архитектуры БД, строятся по правилам этих моделей.
Модели данных, как инструменты, делятся на 3 основные категории:
1. Объектные модели данных. В этих моделях используются такие понятия как: классы объектов (типы сущностей), объекты (экземпляры сущностей), свойства классов объектов (атрибуты сущностей), связи между классами объектов. В скобках приведена исторически ранняя терминология, используемая в теории баз данных.
Среди объектных моделей выделяют наиболее общие типы:
— семантические модели. Их назначение – обеспечение возможности выражения семантики (смыла) предметной области. Это, например, модели типа «сущность—связь» (ER—модели — Entity Relationship model), отображающие семантику предметной области в виде ER—диаграмм;
— функциональные модели, дающие представление о функциях автоматизируемого предприятия, о распределении ответственности за их выполнение. Результаты использования функциональных моделей могут быть представлены в виде диаграмм бизнес—функций, диаграмм потоков данных;
—объектно—ориентированные модели. Эти модели расширяет определение класса объектов (сущности) предметной области с целью включения в определение не только свойств, описывающих состояние объекта, но и действий, которые с ним связаны, т.е. его поведение. Это, например, модели, основанные на использовании языка UML (Unified Modeling Language — унифицированного языка моделирования). Описание предметной области получают в виде различных диаграмм — диаграмм вариантов использования, диаграмм деятельности, диаграмм классов.
В настоящее время для проектирования БД, получения концептуальной инфологической модели предметной области, широко используются семантические модели «сущность—связь».
2. Модели на основе физических записей. Такие модели позволяют описывать логическую структуру БД в виде записей, фиксированного формата. Каждый тип записи определяет фиксированное количество полей, каждое из которых имеет фиксированную длину. Существует три основных типа логических моделей данных на основе записей:
— иерархическая (hierarchical data model);
— сетевая (network data model);
— реляционная (relational data model).
3. Физические модели данных. Модель содержит всю информацию, необходимую для реализации конкретной БД в среде выбранной (целевой) СУБД. В физической модели в виде описания содержится информация обо всех объектах БД. В описании объектов БД определяется физический формат данных, реализуются ограничения предметной области, бизнес—логика автоматизируемого предприятия, уровни доступа пользователей. Описание создается на языке определения данных (ЯОД) выбранной (целевой) СУБД. В состав ЯОД входят операторы, позволяющие создать или удалить объект БД, модифицировать его структуру. Физическая модель данных не затрагивает вопросы физического размещения данных на машинных носителях, в настоящее время это максимально реализуется средствами СУБД.
Модели первых двух групп используются для формирования концептуального уровня архитектуры БД, третьей – для описания БД на внутреннем уровне.
Модель данных, полученная в результате проектирования, должна представлять автоматизируемое предприятие в таком виде, который позволит проектировщикам и пользователям БД обмениваться конкретными недвусмысленными мнениями.
Оптимальная модель данных, полученная в результате проектирования, должна удовлетворять следующим критериям:
— обладать структурной достоверностью – способы определения информации в модели данных должны соответствовать организации информации на рассматриваемом предприятии;
— быть относительно простотой, легко понимаемой, как профессионалами в области разработки БД, так и обычными пользователями;
— обладать выразительностью — представлять отличия между разными типами данных, связями и ограничениями;
— обладать отсутствием избыточности, любая часть данных должна быть представлена только один раз;
— обладать возможностью совместного использования, не принадлежать к какому—то особому приложению или технологии;
— быть целостной, согласованной со способами использования и управления информацией внутри предприятия;
— обладать расширяемостью, эволюционировать с целью включения новых требований с минимальным влиянием на уже существующих пользователей;
— иметь возможность представления в виде диаграмм.
В таблице 1 представлены модель, которые будем использовать при проектировании базы данных
Таблица 1 — Модели данных
Модель данных, как инструмент, используемый для формирования схемы БД
Функциональные модели, модели на основе языка UML.
IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.
Архитектура СУБД. Архитектура баз данных. Логическая структура СУБД. Описание данных в базе данных. Базы данных схема данных
- 08.12.2012
- Базы данных
- 2 комментария
Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжаем рубрику Заметки о MySQL, в которой уже были публикации: Нормальные формы и транзитивная зависимость, избыточность данных в базе данных, типы и виды баз данных, настройка MySQL сервера и файл my.ini, MySQL сервер, установка и настройка. Сегодня мы поговорим о логической структуре СУБД и архитектуре баз данных. Как всегда, я постараюсь описать архитектуру СУБД на простом и понятном языке, без всяких сложных и умных слов.
Проблема отделения логической структуры баз данных и управление данными встала давно, и решение этих проблем является развитием СУБД. Грубо говоря, пользовательский интерфейс СУБД должен быть отделен от физического интерфейса баз данных или физического представления баз данных, которое требуется компьютеру.
Одна и та же база данных, в зависимости от того, как на нее смотреть может быть представлена по-разному, по-другому, база данных может иметь различные уровни описания и MySQL сервер в данном случае не является исключением, все, что будет написано далее, в полной мере справедливо и для MySQL сервера.
Число уровней описания зависит от реализации сервера баз данных или от реализации СУБД. Существует одноуровневая система управления базами данных. Двух уровневая СУБД и трехуровневая СУБД. Рассматривать одноуровневые и двухуровневые СУБД нет смысла, поскольку в настоящее время используются в основном трехуровневые системы. Системы с трехуровневым описанием данных имеют три уровня абстракции, на которых можно осуществляется взаимодействие с базой данных. И так, перейдем к делу.
Трехуровневая архитектура баз данных. Три уровня абстракции описания данных.
Самым важным аспектом трехуровневой архитектуры базы данных является то, что логическая структура, с которой взаимодействует пользователь, отделена от физической структуры баз данных, с которой взаимодействует машина. Давайте посмотрим, что включает в себя трехуровневая архитектура баз данных:
- В базах данных с трех уровневой архитектурой всегда есть внешний уровень, на котором пользователю предоставляется интерфейс для манипуляции данных, на внешнем уровне задаются права доступа пользователей на взаимодействие с базой данных, приоритеты и т.д.
- У трехуровневых СУБД есть всегда имеется внутренний уровень, на котором СУБД и операционная система воспринимают и обрабатывают данные
- Поскольку архитектура у нас трех уровневая, то третий уровень отвечает за связь между внешним уровнем (пользовательским интерфейсом) и внутренним уровнем (физическим представлением данных в базе данных). Третий уровень получил название концептуальный уровень представления данных. Концептуальный уровень представления данных предназначен для отображения внешнего уровня на внутренний, он обеспечивает независимость между этими уровнями.
Для наглядности можете посмотреть на рисунок, на нем продемонстрирована структура трехуровневой СУБД:
Структура базы данных
На этом рисунке, все упрощено до безобразия, но он позволяет себе представить архитектуру баз данных и способы взаимодействия между уровнями.
Базы данных. Схема данных. Независимость уровней от данных.
С архитектурой баз данных мы более или менее разобрались, теперь можем поговорить и об описание данных в базе данных. Описание структуры данных на любом из трех уровней называется схемой данных. Поскольку у нас три уровня абстракции данных, то соответственно должно быть три схемы данных, которые позволяют представить разработчику структуру данных на любом из трех уровней.
Каждая схема данных имеет свое собственное название и зависит от уровня. На самом высоком или внешнем уровне имеется несколько внешних схем данных или подсхем. На концептуальном уровне описание базы данных происходит при помощи концептуальных схем. Внутренний уровень СУБД описывается при помощи внутренней схемы данных.
Целью создания трехуровневой архитектуры базы данных была независимость данных от уровней. Под термином независимостью данных нужно понимать следующее: изменения на нижних уровнях (концептуальный и внутренний уровень) в идеале никак не должны влиять на верхний уровень. Существует два типа независимости данных: логическая независимость от данных и физическая независимость от данных.
Логическая независимость от данных означает, что все ваши внешние схемы останутся неизменны, если вы будете вносить изменения на концептуальном уровне СУБД, то есть вносить изменения в концептуальную схему данных. Вносить изменения в концептуальную схему данных означает: добавление и удаление новых сущностей (новых таблиц), добавление атрибутов(столбцов) или создание новых связей между таблицами. Все вышеперечисленные операции должны осуществляться без необходимости внесения изменений в уже существующие внешние схемы данных.
Физическая независимость от данных означает, что ваша концептуальная схема данных будет защищена от изменений и будет независима от изменений на внутреннем уровне (изменение внутренней схемы данных). Под изменение внутренней схемы данных стоит понимать: изменение файловой структуры хранения данных, использование различных файловых систем, использование различных запоминающих устройств, модификация индексов и т.д. Так вот, все эти изменения никак не должны влиять на концептуальную и внешнюю схемы данных.
Внешний уровень абстракции. Внешняя схема данных. Внешнее представление базы данных.
Внешний уровень – это пользовательский уровень, по-другому – пользовательский интерфейс. Внешняя схема данных описывает то, как видят различные группы пользователей архитектуру базы данных. Под пользователем стоит понимать: конечного пользователя базы данных, проектировщика базы данных, администратора базы данных и т.д. Внешнее представление базы данных – это то, как видит пользователь структуру базы данных.
Пользователи могут быть разбиты на группы по приоритетам и правам доступа – это означает, что для каждой пользовательской группы существует своя внешняя схема данных базы данных, свое представления данных, свои сущности, свои атрибуты и свои связи, именно те, которые доступны для каждой группы пользователей.
Такое частичное описание базы данных или частичная схема базы данных получило название подсхема. Группа пользователей видит только то, что ей необходимо или только то, что ей разрешили увидеть. Также определенная группа пользователей может совершать только те действия, которые ей разрешены.
Концептуальная схема данных. Концептуальное представление базы данных.
Концептуальный уровень представления данных – это промежуточное звено между внутренним и внешним уровнями, это интерфейс взаимодействия между этими двумя уровнями. Концептуальная схема предназначена для абстрактного представления всей базы данных. Разработка концептуальной схемы данных называется концептуальным проектированием базы данных, которое включает в себя: оценку и учет потребностей пользователей и выделение для них соответствующих прав и определение для них нужных элементов управления и взаимодействия с БД.
Концептуальная схема – это единое логическое описание базы данных, логическая структура базы данных. Концептуальная схема определяет все логические элементы базы данных (сущности, атрибуты и т.д) и способы связи между ними. У любой базы данных может быть только одна концептуальная схема данных, которая должна включать в себя:
- Таблицы и их атрибуты
- Связи между таблицами
- Ограничения, накладываемые на данные
- Семантику данных
- В концептуальной схеме данных должны быть учтены аспекты безопасности и целостности данных
Внутренний уровень абстракции. Внешняя схема данных. Внутреннее представление базы данных.
Внутренний уровень представления данных – это третий и последний по счету уровень архитектуры базы данных. Внутреннее представление данных не связано с их физическим представлением, так как каждая СУБД и каждый сервер баз данных имеет собственное представление данных на физическом уровне.
Внутренняя схема данных – это полное описание физической реализации базы данных. При помощи внутренней схемы данных осуществляется настройка СУБД (настройка MySQL сервера). С ее помощью можно достичь оптимальной производительности СУБД и обеспечить экономное использование места на носители информации.
Любая внутренняя схема данных обязательно хранит в себе:
- То, как должно быть распределено дисковое пространство для хранения данных и индексы
- Информацию о сохраненных записях
- Сведения о уже имеющихся записях
- Сведения о способах шифрования и сжатия данных
Задачей СУБД является обеспечение связи между всеми тремя уровнями, поддержание этих связей и проверка непротиворечивости между тремя уровнями представления данных. Устранять противоречия следует на этапе проектирования базы данных.
Ниже внутреннего уровня находится физический уровень, который контролируется операционной системой, но под руководством СУБД. Физический уровень учитывает, каким образом данные будут представлены в машине. Он обеспечивает физический взгляд на базу данных: дисководы, физические адреса, индексы, указатели и т. д. За этот уровень отвечают проектировщики физической базы данных, которые работают только с известными операционной системе элементами.
Область их интересов: указатели, реализация последовательного распределения, способы хранения полей внутренних записей на диске. Однако функции СУБД и операционной системы на физическом уровне не вполне четко разделены и могут варьироваться от системы к системе.






Архитектура данных примерСсылка на основную публикацию


×
×
Уровень архитектуры БД |