Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Тема №7



Базы данных как информационные системы.

Содержание лекции

Принципы построения и этапы проектирования баз данных 1

Основные понятия и определения 1

Описательная модель предметной области 7

Принципы построения и этапы проектирования баз данных

Основные понятия и определения

В науке одним из наиболее сложных для строгого определения является понятие "информация". Согласно киберне­тическому подходу "информация" — первоначальное сообщение данных, сведений, осведомление и т.п. Кибернетика вывела понятие информации за пределы человеческой речи и других форм коммуникации между людьми, связала его с целенаправленными системами любой природы. Информация выступает в трех формах: 1) биологической (биотоки; связи в генетических механизмах); 2) машинной (сигналы в электрических цепях); 3) социальной (движение знаний в общественных системах)".

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

хранение (на некотором носителе информации);

преобразование (в соответствии с некоторым алгоритмом);

передача (с помощью передатчика и приемника по некоторой линии связи).

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

Толковый словарь по информатике определяет понятия "информация" и "данные" несколько иначе:

"информация — 1) совокупность знаний о фактических данных и связях между ними; 2) в вычислительной технике — содержание, присваиваемое данным посредством согла­шений, распространяющихся на эти данные; данные, подлежащие вводу в ЭВМ, хранимые в ее памяти, обрабатываемые на ЭВМ и выдаваемые пользователям";

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

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

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

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

Информацию в ЭВМ можно хранить в виде различных данных (числовых; текстовых; визуальных и т.п.). Более того, для описания одной и той же информации можно предложить различные варианты их состава и структуры. Иными словами, правомерно говорить о моделировании в ИС информации о некотором множестве объектов материального мира совокупностью взаимосвязанных данных.

Информационное обеспечение (information support) ИС – совокупность единой системы классификации и кодирования информации; унифицированных систем документации и используемых массивов информации.

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

во-первых, определение состава и структуры данных, достаточно "хорошо" описывающих требуемую информацию;

во-вторых, обоснование способов хранения и переработки данных с использованием ЭВМ.

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

Прежде чем определить понятие "банк данных", необходимо остановиться на другом ключевом понятии — "предметная область".

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

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

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

Обеспечение информационных потребностей (запросов) пользователей имеет два аспекта:

определение границ конкретной ПрОбл и разработка описания соответствующей информационной модели;

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

С точки зрения целевой направленности профессиональной деятельности принято выделять пять основных категорий пользователей:

аналитики;

системные программисты;

прикладные программисты;

администраторы;

конечные пользователи.

Кроме того, различают пользователей постоянных и разовых; пользователей-людей и пользователей-задач; пользователей с различным уровнем компетентности (приоритетом) и др., причем каждый класс пользователей предъявляет собственные специфические требования к своему обслуживанию (прежде всего – с точки зрения организации диалога "запрос—ответ"). Так, например, постоянные пользователи, как правило, обращаются в БнД с фиксированными по форме (типовыми) запросами; пользователи-задачи должны иметь возможность получать информацию из БнД в согласованной форме в указанные области памяти; пользователи с низким приоритетом могут получать ограниченную часть информации и т.д. Наличие столь разнообразного состава потребителей информации потребовало включения в БнД специального элемента — словаря данных.

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

адекватность информации состоянию предметной области;

быстродействие и производительность;

простота и удобство использования;

массовость использования;

защита информации;

возможность расширения круга решаемых задач.

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

сокращение избыточности хранимых данных;

устранение противоречивости хранимых данных;

многоаспектное использование данных (при однократном вводе);

комплексная оптимизация (с точки зрения удовлетворения разнообразных, в том числе и противоречивых, требований "в целом");

обеспечение возможности стандартизации;

обеспечение возможности санкционированного доступа к данным и др.

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

Структура типового БнД, удовлетворяющего предъявляемым требованиям, приведена на рис. 1, где представлены:

ВС — вычислительная система, включающая технические средства (ТС) и общее программное обеспечение (ОПО);

БД – базы данных;

СУБД – система управления БД;

АБД – администратор баз данных, а также обслуживающий персонал и словарь данных.

Рассмотрим составляющие БнД, представляющие наибольший интерес.

БД – совокупность специальным образом организованных (структурированных) данных и связей между ними. Иными словами, БД — это так называемое датологическое (от англ, data — данные) представление информации о предметной области. Если в состав БнД входит одна БД, банк принято называть локальным;если БД несколько — интегрированным.

Банк данных (БнД)
ВС
БД
СУБД
АБД
ОПО
ТС
Словарь данных
Персонал

Рис. 1. Основные компоненты БнД.

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

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

об объектах, их свойствах и отношениях для данной ПрОбл;

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

о возможных значениях и форматах представления данных;

об источниках возникновения данных;

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

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

Основные функции АБД:

решать вопросы организации данных об объектах ПрОбл и установления связей между этими данными с целью объединения информации о различных объектах; согласовывать представления пользователей;

координировать все действия по проектированию, реализации и ведению БД; учитывать текущие и перспективные требования пользователей; следить, чтобы БД удовлетворяли актуальным потребностям;

решать вопросы, связанные с расширением БД в связи с изменением границ ПрОбл;

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

выполнять работы по ведению словаря данных; контролировать избыточность и противоречивость данных, их достоверность;

следить за тем, чтобы БнД отвечал заданным требованиям по производительности, т. е. чтобы обработка запросов выполнялась за приемлемое время;

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

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

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

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

На рис. 2 представлен типовой состав группы АБД, отражающий основные направления деятельности специалистов.

Администратор баз данных
Эксперт по прикладным программам
Эксперт по системным вопросам
Группа сопровождения
Группа контроля работы БД
Эксперт по вопросам эксплуатации
Эксперт по языкам запросов

Рис. 2.Типовой состав группы АБД.

Описательная модель предметной области

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

Весь процесс проектирования БД можно разбить на ряд взаимосвязанных этапов, каждый из которых обладает своими особенностями и методами проведения. На рис. 3 представлены типовые этапы.

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

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

Анализ информационных потребностей потенциальных пользователей имеет два аспекта: 1) определение собственно сведений об объектах ПрОбл; 2) анализ возможных запросов к БД и требований по оперативности их выполнения.

Информационные потребности пользователей
Предметная область
Построение инфологической модели предметной области
Этапы инфологического проектирования
Выбор СУБД
Построение концептуальной модели данных (ЛП)
Этапы датологического проектирования
Построение физической модели данных (ФП)

Рис. 3.Этапы проектирования БД.

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

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

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

Главной задачей логического проектирования (ЛП) БД является представление выделенных на предыдущем этапе сведений в виде данных в форматах, поддерживаемых выбранной СУБД.

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

Инфологическая модель "сущность—связь" (entity relationship model; ER-model) П. Чена (Р. Chen) представляет собой описательную (неформальную) модель ПрОбл, семантически определяющую в ней сущности и связи.

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

сущность;

атрибут;

связь.

Сущность — это собирательное понятие некоторого повторяющегося объекта, процесса или явления окружающего мира, о котором необходимо хранить информацию в системе. Сущность может определять как материальные (например, "студент", "грузовой автомобиль" и т.п.), так и нематериальные объекты (например, "экзамен", "проверка" и т.п.). Главной особенностью сущности является то, что вокруг нее сосредоточен сбор информации в конкретной ПрОбл. Тип сущности определяет набор однородных объектов, а экземпляр сущностиконкретный объект в наборе. Каждая сущность в модели Чена именуется. Для идентификации конкретного экземпляра сущности и его описания используется один или несколько атрибутов.

Атрибут — это поименованная характеристика сущности, которая принимает значения из некоторого множества значений. Например, у сущности "студент" могут быть атрибуты "фамилия", "имя", "отчество", "дата рождения", "средний балл за время обучения" и т.п.

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

Связи должны быть поименованы; между двумя типами сущностей могут существовать несколько связей.

Наиболее распространены бинарные связи. Любую n -арную связь можно представить в виде нескольких бинарных.

Различают четыре типа связей:

связь один к одному (1:1);

связь один ко многим (1:М);

связь многие к одному (М:1);

связь многие ко многим (M:N).

Связь один к одному определяет такой тип связи между типами сущностей А и В, при которой каждому экземпляру сущности А соответствует один и только один экземпляр сущности В, и наоборот. Таким образом, имея некоторый экземпляр сущности А, можно однозначно идентифицировать соответствующий ему экземпляр сущности В, а по экземпляру сущности В — экземпляр сущности А. Например, связь типа 1:1 ("имеет") может быть определена между сущностями "автомобиль" и "двигатель", так как на конкретном автомобиле может быть установлен только один двигатель, и этот двигатель, естественно, нельзя установить сразу на несколько автомобилей.

Связь один ко многим определяет такой тип связи между типами сущностей А и В, для которой одному экземпляру сущности А может соответствовать 0, 1 или несколько экземпляров сущности В, но каждому экземпляру сущности В соответствует один экземпляр сущности А. При этом однозначно идентифицировать можно только экземпляр сущности А по экземпляру сущности В. Примером связи типа 1:М является связь "учится" между сущностями "учебная группа" и "студент". Для такой связи, зная конкретного студента, можно однозначно идентифицировать учебную группу, в которой он учится, или, зная учебную группу, можно определить всех обучающихся в ней студентов.

Связь многие к одному по сути эквивалентна связи один ко многим. Различие заключается лишь в том, с точки зрения какой сущности (А или В) данная связь рассматривается.

Связь многие ко многим определяет такой тип связи между типами сущностей А и В, при котором каждому экземпляру сущности А может соответствовать 0, 1 или несколько экземпляров сущности В, и наоборот. При такой связи, зная экземпляр одной сущности, можно указать все экземпляры другой сущности, относящиеся к исходному, т.е. идентификация сущностей не уникальна в обоих направлениях. В качестве примера такой связи можно рассмотреть связь "изучает" между сущностями "учебная дисциплина" и "учебная группа".

Реально все связи являются двунаправленными, т.е., зная экземпляр одной из сущностей, можно идентифицировать (однозначно или многозначно) экземпляр (экземпляры) другой сущности. В некоторых случаях целесообразно рассматривать лишь однонаправленные связи между сущностями в целях экономии ресурсов ЭВМ. Возможность введения таких связей полностью определяется информационными потребно­стями пользователей. Различают простую и многозначную однонаправленные связи, которые являются аналогами связей типа 1:1 и 1:М с учетом направления идентификации. Так, для простой однонаправленной связи "староста" ("является старостой") между сущностями "учебная группа" и "студент" можно, зная учебную группу, однозначно определить ее старосту, но, зная конкретного студента, нельзя сказать, является ли он старостой учебной группы. Примером многозначной однонаправленной связи служит связь между сущностями "пациент" и "болезнь", для которой можно для каждого пациента указать его болезни, но нельзя выявить всех обладателей конкретного заболевания.

Графически типы сущностей, атрибуты и связи принято изображать прямоугольниками, овалами и ромбами соответственно. На рис. 4 представлены примеры связей различных типов; на рис. 5 и 6 – фрагменты инфологических моделей "военнослужащий" (без указания атрибутов) и "учебный процесс факультета".

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

при построении модели должны использоваться только три типа конструктивных элементов: сущность, атрибут, связь;

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

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

Военнослужащий
Имеет
Личный №
 
 
Непосредственный начальник
Имеет
Подчиненный
 
М
Кафедра
Ведет
НИР
М
N
Двунаправленные связи
Однонаправленные связи
Пациент
Имеет
Заболевание
 
М

Рис. 4. Примеры связей между сущностями.

Кафедра
НИР
Служит
Военнослужащий
Служит
Иждивенцы
Наличие
Семья
Специальность
 
 
 
 
n
n
n
n

Рис. 5.Фрагмент ER-модели "Военнослужащий".

Так, информация о том, что некоторый студент входит в состав учебной группы (УГ) можно в модели представить:

как связь "входит в состав" для сущностей "студент" и "УГ";

как атрибут "имеет в составе "студента" сущности "УГ";

как сущность "состав УГ".

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

Рис. 6. Фрагмент ER-модели "Учебный процесс факультета".

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

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

При определении связей между сущностями следует избегать связей типа M:N, так как они приводят к существенным затратам ресурсов ЭВМ. Устранение таких связей предусматривает введение других (дополнительных) элементов — сущностей и связей. На рис. 8 приведен пример исключения связи многие ко многим.

Ф.И.О.
Звание
Ф.И.О.
Звание
Звание
Имя ребенка
Д/Р ребенка
Повторяющаяся группа атрибутов
Офицер
Офицер
  Переход
Отец
Ребенок
Имя ребенка
Д/Р ребенка

Рис.7. Пример исключения повторяющейся группы атрибутов.

Приведем типовую последовательность работ (действий) по построению инфологической модели:

выделение в ПрОбл сущностей;

введение множества атрибутов для каждой сущности и выделение из них ключевых;

исключение множества повторяющихся атрибутов (при необходимости);

формирование связей между сущностями;

исключение связей типа M:N (при необходимости);

преобразование связей в однонаправленные (по возможности).

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

Учебное отделение
Изучает
Учебная дисциплина
  Переход
Учебное отделение
Учится по плану
Учебный план
Содержит
Учебная дисциплина
 
 
М
М
N
N

Рис. 8. Пример исключения связи типа M:N.





Дата публикования: 2015-01-04; Прочитано: 501 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.021 с)...