Г. И. Ревунков Научно-образовательный материал «Электронное учебно-методическое пособие «проектирование баз данных»
Вид материала | Учебно-методическое пособие |
- Проектирование базы данных, 642.58kb.
- А. В. Брешенков Проектирование баз данных на основе информации табличного вида Допущено, 4620.46kb.
- Сибирский Энерго Парк Инвестиционное проектирование. Методика разработка курсового, 884.23kb.
- Учебное пособие Допущено Министерством образования Российской Федерации в качестве, 2582.59kb.
- Электронное учебно-методическое пособие для студентов специальности 1-24 01 02 Правоведение, 363.56kb.
- О конкурсе на лучшее электронное методическое пособие, электронный учебник, 43.71kb.
- Диана Фимовна Шейнберг Музыка. Театр учебно-методическое пособие, 2486.13kb.
- Практикум Учебно-методическое пособие Канск 2006 Печатается по решению научно-методического, 1041.76kb.
- В. А. Жернов апитерапия учебно-методическое пособие, 443.6kb.
- Н. Э. Баумана Научно-образовательный центр «Инновационная педагогика в техническом, 588.36kb.
| Серия изданий «Научно-образовательные и научно-информационные материалы МГТУ им. Н.Э. Баумана — национального исследовательского университета техники и технологий» |
Департамент образования города Москвы
Ассоциация московских вузов
Московский государственный технический университет
имени Н.Э. Баумана
Кафедра ИУ-5
«Автоматизированные системы обработки
информации и управления»
Г.И. Ревунков
Научно-образовательный материал
«Электронное учебно-методическое пособие
«ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ»
для школьников старших классов и
студентов младших курсов»
Москва
МГТУ им. Н.Э. Баумана
2011
Введение
Концепция банков данных стала в настоящее время одним из определяющих факторов при создании систем автоматизированной обработки информации. Поэтому современный специалист в области информационных технологий должен глубоко понимать основные позиции этой концепции, владеть технологией баз данных при проектировании и эксплуатации автоматизированных систем (АС).
Основой различных автоматизированных систем являются автоматизированные информационные системы (АИС). Это и АИС крупных организаций (например, автоматизированные банковские системы крупных коммерческих банков, АСУ Газпрома и т.д.), регионов. Развиваются АС НДП - автоматизированные системы нормативно-правовой документации. АСНМОУ - автоматизированные системы нормативно-методического обеспечения управления. ЭИС - экономические информационные системы. СППР - системы поддержки принятия решений. ЭС - экспертные системы. ИСМ - информационные системы мониторинга и т.п. Общим для АИС является то, что они предназначены для регистрации, хранения и переработки информации с целью поиска и выдачи ответов на запросы пользователей. В настоящее время в большинстве случаев они разрабатываются как банки данных и знаний.
Банк данных (БнД) - это автоматизированная информационная система, включающая в свой состав комплекс специальных методов и средств (математических, информационных, программных, языковых, организационных и технических) для поддержания динамической информационной модели предметной области с целью обеспечения информационных запросов пользователей.
Предметная область (ПО) - это область применения конкретного БнД. Различают банки данных, применяемые в сфере управления предприятиями и организациями, транспортом, в медицине, научных исследованиях и т.д.
Информационная модель предметной области в банке данных реализуется в форме базы данных (БД). Управление этой моделью выполняется с помощью специального программного пакета – системы управления базой данных (СУБД). Управление базой данных выполняет администратор базы данных (АБД).
Банк данных выступает в роли специальной обеспечивающей подсистемы в составе автоматизированных систем.
1. Информация, данные, знания
Под информацией понимают любые сведения о каком-либо событии, сущности, процессе и т.п., являющиеся объектом некоторых операций: восприятия, передачи, преобразования, хранения или использования.
Понятие об информации как о знании о чем-либо сложилось у человека уже давно. Информация используется во всех областях человеческой деятельности: любая взаимосвязь и координация работ возможны только благодаря информации. Человек создал естественные информационные системы, поскольку существовала насущная потребность снабжать производство информацией, необходимой при контроле и принятии решений, научился собирать эту информацию, обрабатывать и передавать ее по назначению.
Процесс осмысливания информации и ее роли в жизни и деятельности человека продолжается. Понятие информации вместе с другими научными понятиями позволяет более глубоко познать законы развития материального мира. Считается, что оно является общим для всех видов и форм движения материи и связывается с тем или иным неотъемлемым свойством или атрибутом материи (отражением, разнообразием, структурой, неоднородным распределением вещества и энергии в пространстве и времени и т.д.).
Перед тем как определить понятие данного, представим следующую абстрактную ситуацию. Имеются:
- некоторая система, информация о которой представляет интерес;
- наблюдатель, способный воспринимать состояния системы и в определенной форме фиксировать их в своей памяти (никаких других действий наблюдатель не выполняет).
В этом случае говорят, что в памяти наблюдателя находятся "данные", описывающие состояние системы. Таким наблюдателем в общем случае и выступают информационные системы.
Таким образом, "данные" можно определить как информацию, фиксированную в определенной форме, пригодной для последующей обработки, хранения и передачи.
Соответственно двум понятиям - "информация" и "данные" - в банках данных различают два аспекта рассмотрения вопросов: инфологический и датологический.
Инфологический аспект употребляется при рассмотрении вопросов, связанных со смысловым содержанием данных независимо от способов их представления в памяти системы.
На этапе инфологического проектирования информационной системы должны быть решены вопросы:
1. О каких объектах или явлениях реального мира требуется накапливать и обрабатывать информацию в системе.
2. Какие их основные характеристики и взаимосвязи между собой будут учитываться.
3. Уточнения вводимых в информационную систему понятий об объектах и явлениях, их характеристиках и взаимосвязях.
Таким образом, на этапе инфологического проектирования выделяется часть реального мира, определяющая информационные потребности системы, т.е. ее предметная область.
Датологический аспект употребляется при рассмотрении вопросов представления данных в памяти информационной системы.
При датологическом проектировании системы, исходя из возможностей имеющихся средств восприятия, хранения и обработки информации, разрабатываются соответствующие формы представления информации в системе посредством данных, а также приводятся модели и методы представления и преобразования данных, формируются правила смысловой интерпретации данных.
Данные соответствуют зарегистрированным фактам об объектах или явлениях реального мира. Чтобы в дальнейшем использовать данные, требуется их смысловое содержание - семантика данных. Поэтому в информационной системе должны быть сформулированы правила смысловой интерпретации данных.
Работа с семантикой - это работа со знаниями. В последующих параграфах будем возвращаться к определению этого понятия. Здесь же отметим следующее. В системах обработки информации под знаниями понимают сложноорганизованные данные, содержащие одновременно как фактографическую (т.е. регистрация некоторого факта), так и семантическую (т.е. смысловое описание зарегистрированного факта) информацию, которая может потребоваться пользователю при работе с данными. Причем эти сложноорганизованные данные могут иметь в своем составе встроенные процедуры обработки, которые активизируются в процессе обработки данных.
Это характеризует активность знаний, их первичность по отношению к процессам обработки. Фактографические же данные играют в процессах обработки пассивную роль (т.е. абстрактно можно сказать, что фактографические данные в отличие от "знаний" могут обрабатываться "любыми" процедурами обработки).
Основное средство представления семантики данных - это естественный язык. Однако, можно использовать специальные формализованные языки, которые позволяют в банках данных и знаний достаточно эффективно организовать обработку информации для целого ряда практических задач.
2. Инфологический подход к проектированию
информационных систем
База данных представляет собой некоторую целевую модель ПО, т.е. в базе данных находят отражение те факты о ПО, которые лежат в сфере интересов АС, в состав которую входит БнД.
При проектировании базы данных проектировщик должен суметь выделить и описать эти ожидаемые факты, тем самым будет очерчена граница ПО БнД. А затем необходимо отобразить описания этих фактов в структуры данных базы, выполнив интерпретацию описаний с помощью допустимых конкретной СУБД структур данных.
Предметная область БнД определена, если известны существующие в ней объекты, их свойства и отношения.
Предполагается, что состояние ПО БнД в некоторый момент времени t может быть описано совокупностью предложений некоторого языка, определяющих все истинные в момент времени t факты.
База данных представляет собой описание состояния предметной области на формализованном языке.
Проектирование БД начинается с предварительной (еще до создания базы данных) структуризации ПО. Объекты реального мира подвергаются классификации, фиксируется совокупность подлежащих отображению в базе данных типов объектов; для каждого типа объектов фиксируется совокупность свойств, посредством которых будут описываться в базе данных конкретные объекты этого типа; фиксируются виды отношений (взаимосвязей) между объектами.
Затем решаются вопросы о том, какая информация об этих объектах должна быть представлена в базе и как ее представить с помощью данных.
Идея установления соответствия между состоянием ПО, его восприятием и представлением в базе данных лежит в основе так называемого инфологического подхода проектированию информационных систем.
Согласно инфологическому подходу при проектировании, необходимо различать:
- явления реального мира;
- информацию об этих явлениях;
- представление этой информации посредством данных.
В соответствии с этой концепцией в подходе выделяют следующие три сферы:
- реальный мир или объективную систему;
- информационную сферу;
- датологическую сферу.
Объектная система имеет следующие составляющие: объект, свойство; связь (или объектное отношение); время. Эти понятия являются основными составляющими объектной системы.
Объект в инфологическом подходе - это то, о чем в информационной системе должна накапливаться информация. Выбор объектов производится в соответствии с целевым назначением информационной системы. Объекты могут рассматриваться как атомарные или как составные, причем один и тот же объект в одном приложении может рассматриваться как атомарный, а другой как составной. Для составного объекта должны быть определены его внутренние составляющие (которые, в свою очередь, могут быть атомарными или составными объектами). Должна быть также определена внутренняя структура этого объекта, в соответствии с которой определяется порядок композиции составляющих.
Каждый объект в конкретный момент времени характеризуется определенным состоянием. Это состояние описывается с помощью ограниченного набора свойств и связей (отношений) с другими объектами, причем каждый объект в объектной системе в любой момент времени отличается от других объектов своим набором свойств.
Свойства объекта могут не зависеть от его связей (отношений) с другими объектами, т.е. являются локальными, а могут и зависеть. В этом случае они являются реляционными.
Каждая связь между объектами по числу входящих в нее объектов характеризуется степенью n=2,3,...,k (бинарная, тернарная,..., k-арная). Объекты имеют определенное состояние как в отдельные моменты времени, так и в течение некоторых временных интервалов.
Концепция времени позволяет строить динамические модели, в которых отображается зависимость от времени составляющих объектной системы.
Основные составляющие объектной системы могут быть скомбинированы в базисные структуры, называемые в рассматриваемом подходе элементарными ситуациями.
Элементарной ситуацией называется тройка:
где o - объект (или n объектов); y - устройство (или n-арная связь); t - время.
Вводится понятие элементарных ситуаций типа свойств
и элементарных ситуаций реляционного типа
<
где o - объект; p - элемент множества свойств; r - элемент множества связей.
Для конкретной ПО, для определенного типа объектов элементарные ситуации, существующие в некоторый момент времени, названы элементарными фактами.
Множество всех объектов, имеющих общее свойство p, называется группой объектов О(p). В объектной системе группы объектов могут быть как пересекающиеся, так и не пересекающиеся.
Центральным понятием в инфологическом подходе является тип элементарной ситуации:
где x - объектная группа, y - атрибут (множество свойств объектной группы или связь между n объектами).
Таким образом, составляющие объектной системы могут группироваться в классы подобных составляющих. Объекты группируются в типы объектов - группы объектов. Свойства формируют атрибуты. Элементарные ситуации группируются в типы элементарных ситуаций.
Информационная сфера представляется понятиями, с помощью которых можно формально описать и проанализировать информацию об объектной системе.
Основным понятием в этом разделе является сведение. Для каждого сведения всегда определена предметная цель, т.е. указано, к чему оно относится. Сведение может относится к объекту, объектной группе, атрибуту, связи, времени, ситуации. Сведения представляют собой смысловые, концептуальные образы составляющих, которые используются человеком при восприятии и осмыслении реальных объектов. Различные сведения могут относится к одной и той же составляющей объектной системы, и наоборот.
Однозначное сведение называется универсальным именем. Сведение, не имеющее универсальной однозначности, называется локальным именем.
Сведения представляются выражениями, основу которых составляют элементарные сообщения. Структура элементарного сообщения соответствует структуре элементарной ситуации:
где x - сведения об объекте; y - сведения о свойствах или связях; z - сведения о времени.
Аналогично элементарным ситуациям в рассмотрение вводятся элементарные сообщения типа свойств и элементарные сообщения реляционного типа.
Тройка
Полные элементарные сообщения выражают элементарные ситуации объектной системы и выступают в качестве элементарных информационных единиц.
Множеству допустимых элементарных ситуаций объектной системы соответствует множество значимых полных элементарных сообщений. Множеству элементарных фактов соответствует множество истинных полных элементарных сообщений.
В датологической сфере рассматриваются вопросы представления с помощью данных выделенных информационных структур объектной системы.
Таким образом, чтобы отобразить объектную систему в информационную сферу, необходимо определить:
- какие объекты важны для данного применения;
- какие свойства могут иметь эти объекты;
- какие связи существуют между объектами;
- какие имена можно присвоить отдельным составляющим объектной системы.
Для точной спецификации объектной системы вместо раздельного описания типов объектов, атрибутов, связей и ограничений рекомендуется использовать тип элементарной ситуации.
Выполненная спецификация и представляет собой инфологическую модель объектной системы, в которой отражены составляющие ПО и связи между ними.
В заключение отметим, что инфологический подход не предоставляет формальных способов моделирования реальности, однако он закладывает основы методологии проектирования баз данных.
Кроме инфологического существует еще ряд других подходов к проектированию информационных моделей, основанных на использовании различных элементарных базисных конструкций, с помощью которых определяются отдельные составляющие ПО и правила композиции модели. Основные различия этих подходов состоят в уровне абстрагирования и в выборе состава базисных конструкций. Все подходы к инфологическому проектированию являются неформализованными, им присущ методологический характер, и поэтому качество проектирования во многом зависит от искусства проектировщика.
3. Модель "сущность - связь"
Для практической реализации инфологического подхода к проектированию баз данных автоматизированных информационных систем разработаны специальная модель и технология моделирования предметной области банка данных, получившие название модель «сущность – связь».
Эта модель является неформальной моделью ПО и используется на этапе инфологического проектирования базы данных. Модель реализована в соответствии с положениями инфологического подхода, рассмотренного выше. Она позволяет моделировать объекты предметных областей, в которых применяются БнД, взаимоотношения этих объектов. Относительная простота модели, применение естественного языка и легкость ее понимания позволяют использовать ее также как инструмент для общения с будущими пользователями с целью сбора информации о ПО для проектирования базы данных системы.
Основное назначение неформальной модели "сущность -связь" - семантическое описание ПО и представление информации для обоснования выбора видов моделей и структур данных, которые в дальнейшем будут использованы в системе.
Существует несколько подходов к построению моделей типа "сущность - связь". Однако общим для всех подходов является использование трех основных конструктивных элементов для представления составляющих предметной области - сущности, атрибута и связи. Информация о проекте суммируется с использованием графических диаграмм.
Составляющая "время" в составе конструктивных элементов в явном виде отсутствует. Время наступления событий может быть представлено в модели с использованием атрибутов. Например, ГОД - РОЖДЕНИЯ, ДАТА - ПОСТУПЛЕНИЯ, ОКОНЧЕНО - В - МАЕ, ПОЛУЧЕНО - В - ДЕКАБРЕ и т.п.
Сущность - это собирательное понятие, некоторая абстракция реально существующего объекта, процесса или явления, о котором необходимо хранить информацию в системе. В качестве сущностей в моделях ПО могут рассматриваться как материальные
объекты реальной действительности (предприятие, изделие, сотрудники учреждения и т.п.), так и нематериальные (описание некоторого явления, рефераты научных статей, описание применяемых в системе структур данных и т.д.). В моделях ПО типа "сущность - связь" каждая рассматриваемая конкретная сущность является узловой точкой сбора информации об этой сущности. В модели используется также понятие "экземпляр сущности".
Тип сущности определяет набор однородных объектов, а понятие "экземпляр сущности" относится к конкретному объекту в наборе.
Каждый рассматриваемый в модели тип сущности должен быть поименован.
Для идентификации конкретных экземпляров сущностей в некотором типе сущности при описании сущности используются специальные атрибуты, выполняющие роль идентификатора. Это может быть один или несколько атрибутов, значения которых позволяют однозначно отличать один экземпляр сущности от другого.
Атрибут - это поименованная характеристика сущности. Атрибут принимает значения из некоторого множества значений. В модели атрибут выступает в качестве средства, с помощью которого моделируются свойства сущностей. Например, для описания свойств сущности КНИГА могут быть использованы атрибуты НАЗВАНИЕ, ФАМИЛИЯ_АВТОРА, ГОД_ИЗДАНИЯ.
Для того чтобы задать атрибут в модели, необходимо присвоить ему наименование, привести смысловое описание атрибута, определить множество его допустимых значений и указать его роль, т.е. указать, для чего он используется.
Основная роль атрибута - описание свойства сущности. Другой важной ролью атрибута является идентификация экземпляров сущностей. Например, атрибут ШИФР_ДЕТАЛИ, которому соответствует множество уникальных значений шифров деталей (т.е. каждая деталь имеет одно значение шифра), позволяет однозначно идентифицировать конкретные экземпляры сущности ДЕТАЛЬ в соответствующем наборе. Атрибут используется и для представления связей (отношений) между сущностями , поскольку связь (отношение) характеризует именно те объекты, между которыми она существует (например, отношение ОТЕЦ - характер родства), и поэтому может выступать в роли свойства, признака сущности.
Связь. В модели связь выступает в качестве средства, с помощью которого представляются отношения между сущностями, имеющие место в ПО. Тип связи рассматривается между типами сущностей, а конкретный экземпляр связи рассматриваемого типа существует между конкретными экземплярами рассматриваемых типов сущностей.
При анализе связей между сущностями могут встречаться бинарные связи (связи между двумя сущностями) и в общем случае n-арные связи.
Наиболее общий случай (наиболее часто встречается), когда связь является бинарной. Проведем его классификацию.
Для определения характера взаимосвязей между парами связанных элементов используются отображения и ассоциации. Ассоциация - это односторонняя связь. Отображение представляет собой совокупность ассоциаций - прямой и инверсный, т.е. отображение - это двусторонняя связь.
При определении взаимосвязей между элементами модели в одних случаях бывает целесообразным задавать двусторонние связи, тогда используются отображения. В других случаях бывает целесообразным задавать односторонние связи, тогда используются ассоциации.
Наиболее часто встречаются бинарные связи. Рассмотрим классификацию бинарных связей.
Отображение 1:1 (связь один - к - одному). Это отображение определяет такой тип связи между элементами А и В, когда каждому экземпляру элемента В соответствует один и только один экземпляр элемента А. Это означает, что один экземпляр элемента, от которого направлена связь, например А идентифицирует один и только один экземпляр другого элемента В (к которому направлена связь), и наоборот. Идентификация экземпляров элементов уникальна в обоих направлениях для отображения 1:1.
Отображение 1:М (связь один - ко многим). С помощью отображения 1:М определяется такой тип связи между элементами А и В, когда одному экземпляру элемента А может соответствовать 0,1 или несколько экземпляров элемента В. Но при этом каждый экземпляр элемента
В связан только с одним экземпляром элемента А, т.е. идентификация экземпляров при отображении 1:М уникальна только в направлении от В к А.
Отображение М:1 (связь многие - к - одному). Это отображение является обратным отображению 1:М.
Отображение М:М (связь многие – ко - многим). С помощью отображения М:М определяется тип связи между элементами А и В, при котором каждому экземпляру элемента А может соответствовать 0; 1 или несколько экземпляров элемента В и наоборот, т.е. с одним экземпляром А может быть связано либо несколько экземпляров элемента В, либо один, либо ни одного. И наоборот, с одним экземпляром элемента В также может быть связано либо несколько экземпляров элемента А, либо один, либо ни одного, т.е. идентификация экземпляров элементов является неуникальной в обоих направлениях.
Ассоциация типа 1 (простая). Ассоциация этого типа определяет однонаправленную связь от элемента А к элементу В, при которой одному и тому же экземпляру элемента А соответствует один и тот же экземпляр элемента В. При этом обратная связь не определена.
Идентификация экземпляров элемента В экземплярами элемента А является уникальной (однозначной).
Ассоциация типа М (сложная). Ассоциация типа М определяет однонаправленную связь от элемента А к элементу В, при которой одному и тому же экземпляру элемента А соответствует 0; 1 или несколько экземпляров элемента В. При этом обратная связь не определена.
Идентификация экземпляров элемента В экземплярами элемента А не является уникальной.
Иногда специально выделяют частный случай М-ассоциации; когда одному экземпляру элемента А соответствует только один или ни одного экземпляра элемента В. Такая ассоциация получила название "условная" и обозначается как ассоциация типа С.
Связи (отношения) между сущностями специфицируются выражениями реляционного типа. В отношениях сущности всегда представлены своими идентифицирующими атрибутами (идентификаторами).
Во многих случаях бывает интересен не сам факт наличия отношения между сущностями, а свойства этого отношения. Для производственно-экономических областей эти свойства определяются некоторой числовой мерой. Отношение сущностей совместно с числовой мерой этого отношения определяют показатель - понятие, широко используемое в управленческой деятельности.
В этих случаях можно рассматривать интересующий тип отношения как некоторый тип сущности (что не противоречит введенному понятию). Например, отношение
ДЕТАЛЬ_Х_РАЗМЕЩЕНА_НА_СКЛАДЕ_Y
представляет собой объект, о котором хотят хранить информацию, например, о количестве деталей, что и должно быть представлено соответствующим атрибутом КОЛИЧЕСТВО.
Или, например, отношение ЭКЗАМЕН между сущностями СТУДЕНТ, ДИСЦИПЛИНА и ПРЕПОДАВАТЕЛЬ само может рассматриваться как сущность и иметь, например, следующие описательные атрибуты: ОЦЕНКА и ДАТА_ЭКЗАМЕНА.
Информацию о проекте суммируют составлением спецификаций по сущностям, атрибутам и связям (отношениям) с использованием графических диаграмм.
При составлении спецификаций схемы сущностей и связей описывают с помощью предикатов:
Р (Х1, Х2, … , Хn),
где:
Р – имя предиката; в качестве имени предиката выступают либо имя сущности, либо имя связи;
Х1, Х2, … , Хn – аргументы предиката, которые используются для описания атрибутов либо сущности, либо связи; для указания идентифицирующего атрибута (их может быть несколько – если идентифицирующий атрибут составной) –используется подчеркивание - Х1 :
Р (Х1, Х2, … , Хn).
Для дополнительных пояснений в спецификации используются комментарии, которые записываются в произвольной форме.
Для графических диаграмм можно использовать следующие обозначения:
1. Типы сущностей обозначать прямоугольниками.
2. Атрибуты обозначать овалами, соединяя их с соответствующими типами сущностей ненаправленными ребрами.
3. Связи (отношения) представлять ромбами, соединяя их с соответствующими типами сущностей, ненаправленными ребрами, за исключением бинарных связей, которые представляются направленными ребрами.
При выполнении моделирования используются следующие общие правила:
- используются только три типа конструктивных элементов сущность, атрибут, связь;
- в каждом отдельном проектном представлении каждый компонент информации моделируется только одним конструктивным элементом (т.е. при моделировании представлений необходимо избегать избыточности в использовании конструктивных элементов).
Для моделирования предметной области проектировщик разбивает ее на ряд локальных областей - локальных представлений отдельных пользователей или областей функционирования отдельных задач. Моделирует каждое локальное представление, а затем выполняет их объединение. В итоге получается инфологическая модель предметной области конкретного банка данных.
4. Моделирование локальных представлений
Выбор локального представления зависит от масштабов ПО. Для удобства проектирования желательно, чтобы в отдельном локальном представлении было использовано шесть-семь типов сущностей. Чаще всего локальное представление соответствует отдельному внешнему приложению, например, отдельной функциональной задаче автоматизированной системы, либо представлению отдельного пользователя. Но оно может соответствовать и целой независимой области данных, используемой несколькими приложениями.
При выборе области для локального представления проектировщик решает задачу поиска компромиссного решения, поскольку узкая область приводит к снижению уровня интеграции данных и к их дроблению, а обширная область - к излишней сложности проектирования.
Порядок моделирования может быть следующий:
1-ый шаг. ФОРМУЛИРОВАНИЕ СУЩНОСТЕЙ. Для каждого локального представления необходимо сформулировать сущности, требуемые для его описания, т.е. иными словами, необходимо указать те типы объектов (т.е. наборы подобных объектов) ПО, о которых в системе должна накапливаться информация.
В отдельных случаях это может оказаться затруднительным, поскольку некоторая порция информации может быть представлена любым из типов конструктивных элементов: как сущность, атрибут или связь. Например, тот факт, что конкретная деталь используется при сборке конкретного изделия, может быть выражен либо как связь ВХОДИТ_В_СОСТАВ между сущностями ДЕТАЛЬ и ИЗДЕЛИЕ, либо как атрибут ИМЕЕТ_В_СОСТАВЕ-ДЕТАЛЬ для сущности ИЗДЕЛИЕ, либо как сущность СХЕМА_СБОРОЧНОГО_СОСТАВА.
В этих случаях рекомендуется проработать несколько вариантов моделей локального представления и отобрать тот, который окажется более гибким с точки зрения представления информации (т.е. позволяет представлять не только всю порцию некоторой информации, но и ее отдельные фрагменты). Такой подход повышает возможности совместного использования данных в базе различными пользователями и закладывает основы для обеспечения долгосрочной гибкости системы при удовлетворении информационных потребностей пользователей.
Каждой выбранной сущности должно быть присвоено четкое наименование. Желательно, чтобы оно отражало смысловое содержание вводимого понятия. Расплывчатые наименования, наличие синонимов (одно и то же понятие имеет различные наименования) и омонимов (различные понятия имеют одно и то же наименование) приводят к ошибкам в проектировании и являются недопустимыми.
Обобщение категорий сущностей на этом шаге обычно не выполняется. Оно выполняется на шаге объединения моделей. При моделировании локального представления необходимо выполнить распознавание этих категорий и представить каждую в виде самостоятельной сущности. Распознавание выполняется с использованием концепции типа или роли. Например, содержание сущности УЧАЩИЙСЯ_ВУЗА может быть разделено по категориям типов: СТУДЕНТ, АСПИРАНТ, СЛУШАТЕЛЬ_ФАКУЛЬТЕТА_ПОВЫШЕНИЯ_КВАЛИФИКАЦИИ и т.д. Обобщение этих типов в родовую сущность УЧАЩИЙСЯ_ВУЗА будет выполняться на этапе объединения локальных представлений.
Как уже отмечалось, общее количество сформулированных сущностей в отдельном локальном представлении должно быть ограниченным. Большое количество типов сущностей в одном локальном представлении говорит о том, что его область слишком обширна и ее необходимо пересмотреть с целью ограничения, разбив на несколько более мелких локальных областей.
2-ой шаг. ВЫБОР ИДЕНТИФИЦИРУЮЩЕГО АТРИБУТА ДЛЯ КАЖДОЙ СУЩНОСТИ. Для каждой сущности необходимо указать идентифицирующий атрибут (идентификатор), который служит для однозначного распознавания конкретных экземпляров сущности. Идентификатором может служить один атрибут или совокупность из нескольких атрибутов, в этом случае идентифицирующий атрибут является составным атрибутом, набор значений которых является уникальным, т.е. значения идентифицирующего атрибута находятся во взаимнооднозначном соответствии с экземплярами сущности.
В системах обработки данных атрибут или некоторая совокупность атрибутов, значения которых уникально идентифицируют каждый объект в наборе объектов, называется ключом.
В системах обработки данных используется гипотеза: каждый конкретный объект в наборе объектов различим (т.е. его описание отличается от описания других объектов).
В соответствии с этой гипотезой каждый набор объектов имеет ключ. Однако, если для описания набора объектов выбирается совокупность атрибутов, не содержащих ключа, то в этом случае в состав атрибутов вводится специальный атрибут, выступающий в качестве ключа. Во многих случаях это некоторый последовательный номер (например, в АСУ СБЕРКАССА в качестве ключа для идентификации счета вводят атрибут НОМЕР_СЧЕТА, представляющий собой следующий свободный порядковый номер в реестре счетов сберкассы).
У одного и того же набора объектов может оказаться несколько ключей. Один из них назначается первичным ключом набора объектов и служит в дальнейшем ключом соответствующего этому набору файла (его еще называют ключом записи, кортежа). Все остальные ключи набора в этом случае называются возможными ключами.
Выбор ключа является важным моментом в проектировании моделей данных. Это связано с тем, что, с одной стороны, ключ должен выполнять свою главную задачу - задачу однозначной идентификации, а с другой стороны, он должен включать в свой состав минимально необходимое (для выполнения задачи идентификации) количество атрибутов. На заключительных этапах проектирования баз данных для некоторых приложений может оказаться возможным уточнение второй задачи: из множества возможных ключей в качестве первичного выбирают тот, для хранения которого требуется меньший объем памяти ЭВМ.
Помимо понятий "ключ", "первичный ключ", "возможный ключ" существует еще понятие "составной ключ" для обозначения ключа, состоящего из двух атрибутов и более.
3-ий шаг. НАЗНАЧЕНИЕ СУЩНОСТИ ОПИСАТЕЛЬНЫХ АТРИБУТОВ. Выделенным сущностям в дополнение к идентифицирующим атрибутам назначаются описательные атрибуты, которые описывают представляющие для приложений интерес свойства сущностей.
Например, сущность СЛУЖАЩИЙ может иметь такие описательные атрибуты, как ДАТА_РОЖДЕНИЯ, ОБРАЗОВАНИЕ, ДОМАШНИЙ_АДРЕС.
Спецификация атрибутов должна быть закончена указанием для каждого атрибута множества значений (или домена), которые этот атрибут может принимать. Если это множество является бесконечным, то оно задается указанием типа принимаемых значений - алфавитно-цифровой, цельный, вещественный и т.п. - и диапазона значений для числовых величин либо количества символов для представления алфавитно-цифровых значений.
В системах обработки данных используется понятие "вторичный ключ" - это атрибут или совокупность атрибутов, которая идентифицирует не уникальный объект в наборе, а все объекты, имеющие определенные значения этих атрибутов, т.е. вторичный ключ позволяет при необходимости выделять из набора те объекты, которые обладают интересующими нас свойствами. Вторичный ключ еще называют ключом поиска. Ограничения на состав вторичных ключей определяются только логикой запроса. В качестве вторичного ключа может выступать любой атрибут или любая совокупность атрибутов, описывающих набор объектов.
4-ый шаг. СПЕЦИФИКАЦИЯ СВЯЗЕЙ. Выявляются зависимости между двумя (и более) сущностями в локальном представлении. Определяется, какие связи являются важными, а какие - избыточными. Для выявленных связей определяются их характеристики, каждый тип связи "сущность-сущность" именуется. Для бинарных связей определяются их количественные характеристики (1:1, 1:М, М:1, М:М).
Кроме спецификации связей типа "сущность-сущность" выполняется спецификация связей типа " атрибут-атрибут".
Связь типа "атрибут-атрибут" представляет собой отношение между атрибутами, которые относятся к одной и той же сущности или к одной и той же связи типа "сущность-сущность".
Анализ связей «атрибут-атрибут» дает дополнительную информацию для решения вопросов проектирования модели конкретного локального представления предметной области.
Например, в локальном представлении для сущности СЛУЖАЩИЙ были назначены следующие атрибуты: ТАБЕЛЬНЫЙ_НОМЕР, ФАМИЛИЯ_ИМЯ _ОТЧЕСТВО, ДАТА_РОЖДЕНИЯ, НАЗВАНИЕ_ВУЗА, АДРЕС_ВУЗА, СПЕЦИАЛЬНОСТЬ, ИМЯ-РЕБЕНКА, ДАТА_РОЖДЕНИЯ_РЕБЕНКА, ДАТА_ПОСТУПЛЕНИЯ, ДАТА_УВОЛЬНЕНИЯ.
Между атрибутами существуют определенные связи. Во-первых, поскольку все эти атрибуты описывают одну и ту же сущность СЛУЖАЩИЙ, которая имеет идентифицирующий атрибут ТАБЕЛЬНЫЙ_НОМЕР. Следовательно, все атрибуты этой сущности имеют зависимость от идентифицирующего атрибута, т.е. при описании конкретных экземпляров сущности СЛУЖАЩИЙ описательные атрибуты не могут принимать произвольные значения, их значения зависят от значений идентифицирующего атрибута ТАБЕЛЬНЫЙ_НОМЕР. Кроме этой зависимости среди атрибутов, в приведенном примере наблюдается и ряд других зависимостей между описательными атрибутами: значение атрибута АДРЕС_ВУЗА определяется значением атрибута НАЗВАНИЕ_ВУЗА, значение атрибута ДАТА_РОЖДЕНИЯ_РЕБЕНКА определяется значением атрибута ИМЯ_РЕБЕНКА.
Эту информацию целесообразно представить в виде отдельной диаграммы бинарных связей между атрибутами сущности. Анализ диаграммы связей между атрибутами сущности позволяет судить о том, насколько удачен был выбор основных конструкций модели с точки зрения простоты представления смысловых связей между используемыми конструкциями при представлении конкретной порции информации. Целесообразно стремиться к случаю, когда зависимость "атрибут-атрибут" для сущности наблюдается только от первичного ключа либо от первичного и возможных ключей. Никаких же иных зависимостей у атрибутов сущности не наблюдается. Достигается такая ситуация декомпозицией исходной сущности на несколько других с введением соответствующих связей (связи вводятся для того, чтобы не нарушалась информация, заключенная в исходной сущности).
С этой точки зрения в нашем примере целесообразно сущность СЛУЖАЩИЙ представить с помощью совокупности следующих конструкций:
СЛУЖАЩИЙ (ТАБЕЛЬНЫЙ_НОМЕР, ФАМИЛИЯ_ИМЯ_ОТЧЕСТ-ВО, ДАТА_РОЖДЕНИЯ, СПЕЦИАЛЬНОСТЬ, ДАТА_ПОСТУПЛЕНИЯ, ДАТА_УВОЛЬНЕНИЯ);
ВУЗ (НАЗВАНИЕ_ВУЗА, АДРЕС_ВУЗА);
РЕБЕНОК (ИМЯ_РЕБЕНКА, ДАТА_РОЖДЕНИЯ_РЕБЕНКА);
ОКОНЧИЛ_ВУЗ (ТАБЕЛЬНЫЙ_НОМЕР, НАЗВАНИЕ_ВУЗА), связь типа М:М;
ИМЕЕТ_РЕБЕНКА (ТАБЕЛЬНЫЙ_НОМЕР, ИМЯ_РЕБЕНКА), связь типа 1:М от СЛУЖАЩИЙ к РЕБЕНОК.
При этом исходная диаграмма бинарных связей типа "атрибут-атрибут" распадается на три диаграммы:
Для нового варианта сущности СЛУЖАЩИЙ:
Наблюдаются только зависимости атрибутов ФАМИ-ЛИЯ_ИМЯ_ОТЧЕСТВО, ДАТА_РОЖДЕНИЯ, СПЕЦИАЛЬНОСТЬ, ДАТА_ПОСТУПЛЕНИЯ, ДАТА_УВОЛЬНЕНИЯ от атрибута ТАБЕЛЬ-НЫЙ_НОМЕР . Других зависимостей не наблюдается.
ТАБЕЛЬ-НЫЙ_НОМЕР ФАМИ-ЛИЯ_ИМЯ_ОТЧЕСТВО,
ТАБЕЛЬ-НЫЙ_НОМЕР ДАТА_РОЖДЕНИЯ,
ТАБЕЛЬ-НЫЙ_НОМЕР СПЕЦИАЛЬНОСТЬ,
ТАБЕЛЬ-НЫЙ_НОМЕР ДАТА_ПОСТУПЛЕНИЯ,
ТАБЕЛЬ-НЫЙ_НОМЕР ДАТА_УВОЛЬНЕНИЯ.
Для введенной сущности ВУЗ:
Наблюдается только зависимость атрибута, АДРЕС_ВУЗА от атрибута НАЗВАНИЕ_ВУЗА . Других зависимостей не наблюдается.
НАЗВАНИЕ_ВУЗА АДРЕС_ВУЗА .
Для введенной сущности РЕБЕНОК:
Наблюдается только зависимость атрибута ДАТА_РОЖДЕНИЯ_РЕ-БЕНКА от атрибута ИМЯ_РЕБЕНКА . Других зависимостей не наблюдается.
ИМЯ_РЕБЕНКА ДАТА_РОЖДЕНИЯ_РЕБЕНКА .
Рассмотри пример построения модели локального представления предметной области.
Пусть в некотором локальном представлении выполняется описание поставок товаров на склад. АИС должна давать ответы на следующие запросы пользователей:
1.Кто выполнил поставку (название и адрес поставщика)?
2.Какой товар в поставке (артикул, наименование, количество, цена единицы товара)?
3.На какой склад выполнена поставка (номер склада, телефон)?
4.Когда выполнена поставка?
Полное множество запросов представляет собой одну из форм представления функциональной модели предметной области, которую должна реализовать данная АИС.
В предметной области также действуют следующие правила:
1.В одной поставке участвует только один поставщик.
2.В одной поставке поставляется только один вид товара.
3.Поставщик может выполнить несколько поставок.
4.Один товар может присутствовать в различных поставках.
5.Одна поставка выполняется на один склад (не разбивается на части).
6.На один склад выполняется несколько поставок.
Полное множество этих правил представляет набор ограничений или полное множество информационных аксиом данной предметной области.
Начинать моделирование надо с «правильного» варианта модели локального представления, хотя возможно пусть и не рационального с некоторых критериев проектировщика. На начальном этапе главным критерием оценки модели является ее способность правильно (без ошибок) отвечать на сформулированные в задании запросы пользователей. Улучшение модели – это цель последующих этапов проектирования, а цель первого этапа – построить просто правильную модель.
С этой позиции на начальном шаге проектирования в нашем примере можно создать вариант модели, состоящий только из двух основных конструкций - сущность и атрибут. Введем в рассмотрение сущность ПОСТАВКА и выполним ее описание с помощью следующих атрибутов:
ИНДЕКС_ПОСТАВКИ;
ИНДЕКС_ПОСТАВЩИКА;
АДРЕС_ПОСТАВЩИКА;
ИНДЕКС_ТОВАРА;
НАЗВАНИЕ_ТОВАРА;
КОЛИЧЕСТВО_ПОСТАВЛЕННОГО_ТОВАРА;
ЦЕНА_ЕДИНИЦЫ_ТОВАРА;
ШИФР_СКЛАДА;
ДАТА_ПОСТАВКИ.
В этом случае данный вариант модели локального представления имеет вид:
ПОСТАВКА (ИНДЕКС_ПОСТАВКИ, ИНДЕКС_ПОСТАВЩИКА, АДРЕС_ПОСТАВЩИКА, ИНДЕКС_ТОВАРА, НАЗВАНИЕ_ТОВАРА, КОЛИЧЕСТВО_ПОСТАВЛЕННОГО_ТОВАРА, ЦЕНА_ЕДИНИЦЫ_ТОВАРА, ШИФР_СКЛАДА, ДАТА_ПОСТАВКИ).
Этот простой вариант модели правильно отвечает на все запросы пользователей, сформулированных в задании: кто выполнил поставку (название и адрес поставщика), какой товар в поставке (артикул, наименование, количество, цена единицы товара), на какой склад выполнена поставка (номер склада, телефон), когда выполнена поставка.
Дале проверяем, все ли правила (набор ограничений предметной области – информационных аксиом предметной области) выполняются в данном варианте модели.
Теперь можно приступать к оптимизации введенного варианта модели.
Данный вариант модели обладает определенными недостатками. С ее помощью нельзя представить такую порцию информации, как информация об отдельном поставщике, который не выполняет поставок в настоящее время. Чтобы такую порцию информации можно было представлять, необходимо ввести в модель сущность ПОСТАВЩИК, назначить ей соответствующие атрибуты, связать с сущностью ПОСТАВКА, если это необходимо, и удалить избыточные элементы.
При таком представлении всегда можно определить, какой конкретно поставщик выполнил поставку, используя для этих целей связь ВЫПОЛНИЛ между сущностями ПОСТАВЩИК и ПОСТАВКА, т.е. в информационном плане данная модель сохраняет все возможности предыдущей модели. Но при этом она является более богатой с точки зрения информационного представления, так как позволяет еще представлять информацию и об отдельных поставщиках независимо от того, выполняли ли они уже поставку товаров или еще нет.
Однако, полученный вариант не позволяет представлять информацию об отдельных товарах, если они отсутствуют в поставках. Чтобы такие порции информации можно было в модели представлять, необходимо ввести в модель сущность ТОВАР и выполнить аналогичные процедуры построения, как и для сущности ПОСТАВЩИК.
Данный вариант заключает в себе возможности предыдущих вариантов и, кроме того, позволяет представлять информацию об отдельном товаре независимо от того, присутствовал он в поставках или нет.
Однако, полученный вариант не позволяет представить такую информацию, как "какие товары может поставлять отдельный поставщик" и "какие поставщики могут поставлять данный товар". Чтобы реализовать в модели возможность представления подобной информации, необходимо организовать соответствующие связи между сущностями ПОСТАВЩИК и ТОВАР.
Для локального представления, рассмотренного в примере, выбираем заключительный вариант модели, поскольку он оказался более гибким для представления информации, т.е. позволяет представлять не только информацию о поставках, но также ее отдельные фрагменты: о поставщиках, товарах, возможностях поставщиков, распределении поставщиков по видам товаров. Следовательно, база данных, реализующая это представление, окажется более гибкой в обработке данных и будет обладать большими возможностями по обработке произвольных запросов.
Следовательно, для данного локального представления целесообразно сформулировать такие сущности, как ПОСТАВКА, ПОСТАВЩИК, ТОВАР.
Заключение
Развитие теории и практики проектирования и эксплуатации баз и банков данных сопровождается интенсивным развитием моделей данных. Одним из основных требований к моделированию данных является обеспечение естественного отображения объектов предметной области , их свойств и отношений используемыми при моделировании типами структур, ограничений и операций с позиции пользователя системы. При этом следует добиваться естественности самих средств выражения информационных потребностей пользователей и простоты освоения последними этих средств.
Содержание
Введение ……………………………………………………………….2
1. Информация, данные, знания ……………………………………...3
2. Инфологический подход к проектированию
информационных систем ………………………………………….6
3. Модель "сущность - связь" ……………………………….………11
4. Моделирование локальных представлений …………………..…18
Литература ………………………………………………………..….29
Литература
1. Кузнецов С.Д. Базы данных: языки и модели. – М., ООО «Бином-Пресс», 2008. – 720с: ил.
2. Конноли Томас, Бегг Каролин, Страчан Анна. Базы данных: проектирование, реализация и сопровождение. Теория и практика. 2-е изд.: Пер. с англ. – М.: Издательский дом «Вильямс», 2000. – 1120 с.
3. Гектор Гарсиа-Молина, Джефри Д. Ульман, Дженифер Уидом. Системы баз данных. Полный курс. Пер. с англ.: – М.: Издательский дом «Вильямс», 2004. – 1088 с.
4. Григорьев Ю.А., Ревунков Г.И. Банки данных: Учебник для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. – 320 с.