Проектирование структуры БД, нормализация отношений

Классический подход к проектированию реляционных баз данных состоит из 3 этапов:

Инфологическое проектирование - построение информационной модели наиболее высокого уровня абстракции. Такая модель создаётся без ориентации на какую-либо конкретную СУБД. Чаще всего концептуальная модель базы данных включает в себя:

- описание информационных объектов, или понятий предметной области и связей между ними;

- описание ограничений целостности, т.е. требований к допустимым значениям данных и к связям м\у ними.

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

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

Наиболее распространенным средством моделирования данных является диаграмма “Сущность-связь”. С ее помощью определяются важные для предметной области объекты (сущности), их свойства (атрибуты) и отношения друг с другом (связи).

ER- диаграмма непосредственно используетсядля проектирования реляционной БД.

Основным понятием является сущность и связи, при этом под сущностью понимается произвольное множество реальных или абстрактных объектов, каждый из которых обладает одинаковыми свойствами и характеристиками. В этом случае каждый рассматриваемый объект является экземпляром сущности. Связь определяется как отношение между отдельными сущностями. Различают несколько типов связей:

1) Один ко многим – означает, что один экземпляр одной сущности взаимодействует с несколькими экземплярами другой сущности.

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

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

2) Многие ко многим – экземпляры одной сущности взаимодействуют с экземплярами другой сущности.

Процесс построения логической модели:

1) Составить ER-диаграмму, определили сущности, атрибуты и проставили связи.

2) Определение ключевых атрибутов и типов атрибутов;

3) Нормализация БД. Процесс нормализации имеет своей целью устранение избыточности данных и заключается в приведении БД к ЗНФ.

Первая нормальная форма (1НФ): требует, чтобы каж­дое поле таблицы БД было неделимым и не содержало повто­ряющихся групп столбцов. Неделимость - значение поля не должно делиться на более мелкие значения. Повторяющимися являются поля, содержащие одинаковые по смыслу значения.

Вторая нормальная форма (2НФ): требует, чтобы все поля (столбцы) таблицы зависели от первичного ключа, т.е. чтобы пер­вичный ключ однозначно определял запись и не был избыто­чен.

Третья нормальная форма ( ЗНФ): требует, отсутствие транзитивных зависимостей между неключе­выми атрибутами, т.е. чтобы значения полей таблицы, не входя­щих в первичный ключ не зависели друг от друга.(Специальность, Специализация)

После построения логической модели можно подходить к построению физической.

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

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

 

 

96. Описание интегрированной модели сложной системы средствами языка UML. Концептуальные модели. Диаграмма вариантов использования.

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

Этот язык предназначен для след. задач:

1) Предоставить в распоряжение пользователей легковоспринимаемый язык визуального моделирования.

2) Снабдить исходные понятия языка UML возможностью расширения и специализации для более точного представления систем;

3) Описание языка UML должно включать в себя понимание общих особенностей ООпроектирования и анализа;

4) Интегрировать в себе новейшие достижения практики ООанализа и проектирования

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

1. Диаграмма вариантов использования (use case diagram);

2. Диаграмма классов (class diagram);

3. Диаграммы поведения (behavior diagrams):

3.1 Диаграмма состояний 3.2 Ди-ма деятельности 3.3 Д-мы взаимодействия 3.3.1 Д-ма последовательности

4. Диаграммы реализации; 4.1 Диаграмма компонентов 4.2 Диаграмма развертывания.

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

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

Диаграмма классов является, логической моделью, отражающей статические аспекты структурного построения сложной системы.

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

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

Диаграмма вариантов использования (use case diagram). Диаграммы вариантов использования, описывает функциональное назначение системы. Разработка диаграммы вариантов использования преследует цели:

1. Определить общие границы и контекст моделируемой предметной области на начальных этапах проектирования.

2. Сформулировать общие требования к функциональному поведению проектируемой системы.

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

4. Подготовить документацию для взаимодействия разработчиков системы с ее заказчиками и пользователями.

Суть данной диаграммы состоит в следующем: проектируемая система представляется в виде множества сущностей или актеров, взаимодействующих с системой с помощью так называемых вариантов использования. При этом актером называется любая сущность, взаимодействующая с системой извне. В свою очередь, вариант использования (use case) служит для описания сервисов, которые система предоставляет актеру. Другими словами, каждый вариант использования определяет некоторый набор действий, совершаемый системой при диалоге с актером.

Между компонентами диаграммы вариантов использования могут существовать различные отношения, которые описывают взаимодействие экземпляров одних актеров и вариантов использования с экземплярами других актеров и вариантов. Один актер может взаимодействовать с несколькими вариантами использования. В этом случае этот актер обращается к нескольким сервисам данной системы. В свою очередь один вариант использования может взаимодействовать с несколькими актерами, предоставляя для всех них свой сервис. В языке UML имеется несколько стандартных видов отношений между актерами и вариантами использования:

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

2. Отношение расширения- взаимосвязь отельного варианта использования с более общим вариантом использования (Запросить каталог ext Оформить покупку);

3. Отношение обобщения- некоторый вариант использования A может быть обобщен до некоторого варианта использования Б (Оформить покупку компьютера – Оформить покупку)

4.Отношение включения- некоторое заданное поведение варианта использования включается в качестве составного компонента в последовательность поведения другого варианта использования(Оформить покупку компьютера include Выписать счет).

 

97 Описание интегрированной модели сложной системы средствами языка UML. Логическая модель, отражающая статистические аспекты структурного построения системы. Диаграмма классов.

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

Этот язык предназначен для след. задач:

1) Предоставить в распоряжение пользователей легковоспринимаемый язык визуального моделирования.

2) Снабдить исходные понятия языка UML возможностью расширения и специализации для более точного представления систем;

3) Описание языка UML должно включать в себя понимание общих особенностей ООпроектирования и анализа;

4) Интегрировать в себе новейшие достижения практики ООанализа и проектирования

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

1. Диаграмма вариантов использования (use case diagram); 2. Диаграмма классов (class diagram);3. Диаграммы поведения (behavior diagrams):

3.1 Диаграмма состояний 3.2 Ди-ма деятельности 3.3 Д-мы взаимодействия 3.3.1 Д-ма последовательности

4. Диаграммы реализации; 4.1 Диаграмма компонентов 4.2 Диаграмма развертывания.

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

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

Диаграмма классов является, логической моделью, отражающей статические аспекты структурного построения сложной системы.

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

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

Диаграмма классов- служит для предоставления статической структуры модели системы в терминологии классов. Диаграмма классов может отражать различные взаимосвязи между отдельными сущностями предметной области такими как объект и подсистема. Диаграмма классов описывает внутреннюю структуру объектов и и типы отношений.

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

Классы служат для объединения множества объектов, которые обладают одинаковой структурой, поведением и отношением к другим объектам. Класс имеет ИМЯ, которое должно быть уникально в пределах данного пакета, АТРИБУТ – который должен содержать квантор видимости, имя атрибута, и тип возможного исх. знач.

Квантор видимости принимает одно из 3 возможных значений + область видимости public; #- protected; - private.

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

Кроме внутреннего устройства класса на диаграмме также указываются различные отношения между классами:

1) Отношение зависимости- используется когда некоторое изменение одного элемента объекта могут потребовать изменения другого зависимого элемента. Например, если класс использует метод другого класса.

2) Отношение ассоциации: отношение одного класса неким образом связаны с отношением другого класса. Если между двумя классами определена ассоциативная связь. То можно перемещаться от объекта одного класса к объекту другого. В классе имеется ссылка на другой объект: Public class A{Private B link B

Частной формой отношения ассоциации является отношение агрегации - если один из классов представляет собой некоторую сущность, включающую в себя в качестве составных частей другую сущность (отношение типа имеет Целое ромбик и прямая линия к Части). Вторым частным случаем – отношение композиции – части не могут выступать в отрыве от целого, уничтожение целого уничтожит и часть.

3) Отношение обобщение – отношение между более общим элементом и более частным, отношение наследования:

Class A extends B. Применительно к диаграмме классов это отношение описывает иерархическое строение классов, т.е. их наследование и предполагается, что класс потомок обладает всеми свойствами и поведениями класса предка, а также имеет собственные особенности.

Описание интегрированной модели сложной системы средствами языка UML. Логические модели, отражающие динамические аспекты функционирования сложной системы (диаграммы поведения). Диаграмма деятельности.

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

Этот язык предназначен для след. задач:

1) Предоставить в распоряжение пользователей легковоспринимаемый язык визуального моделирования.

2)Снабдить исходные понятия языка UML возможностью расширения и специализации для более точного представления систем;

3)Описание языка UML должно включать в себя понимание общих особенностей ООпроектирования и анализа;

4) Интегрировать в себе новейшие достижения практики ООанализа и проектирования

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

1. Диаграмма вариантов использования (use case diagram); 2. Диаграмма классов (class diagram);3. Диаграммы поведения (behavior diagrams):

3.1 Диаграмма состояний 3.2 Ди-ма деятельности 3.3 Д-мы взаимодействия 3.3.1 Д-ма последовательности

4. Диаграммы реализации; 4.1 Диаграмма компонентов 4.2 Диаграмма развертывания.

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

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

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

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

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

Диаграммы поведения в UML условно разделяются на 4 типа в соответствии с основными способами моделирования динамики системы:

1 диаграммы прецедентов описывают организацию поведения системы;

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

4. диаграммы состояний описывают изменение состояния системы в ответ на события;

5. диаграммы деятельности демонстрируют передачу управления от одной деятельности к другой.

Диаграмма деятельности применяется для моделирования процессы выполнения операций.

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

Каждая диаграмма деятельности должна иметь единственное начальное и конечное состояние. На диаграмме деятельности переход обозначается сплошной линией со стрелкой. Ветвление обозначается ромбом, внутри которого текст не пишется. Для обозначения параллельных вычислений используют специальные символы распараллеливания и слияния параллельных потоков.

В данной диаграмме применяется специальные конструкции- ДОРОЖКИ.

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

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

Описание интегрированной модели сложной системы средствами языка UML. Логические модели, отражающие динамические аспекты функционирования сложной системы (диаграммы поведения). Диаграмма последовательности.

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

Этот язык предназначен для след. задач:

2) Предоставить в распоряжение пользователей легковоспринимаемый язык визуального моделирования.

2)Снабдить исходные понятия языка UML возможностью расширения и специализации для более точного представления систем;

3)Описание языка UML должно включать в себя понимание общих особенностей ООпроектирования и анализа;

5) Интегрировать в себе новейшие достижения практики ООанализа и проектирования

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

1. Диаграмма вариантов использования (use case diagram); 2. Диаграмма классов (class diagram);3. Диаграммы поведения (behavior diagrams):

3.1 Диаграмма состояний 3.2 Ди-ма деятельности 3.3 Д-мы взаимодействия 3.3.1 Д-ма последовательности

4. Диаграммы реализации; 4.1 Диаграмма компонентов 4.2 Диаграмма развертывания.

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

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

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

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

Диаграммы поведения в UML условно разделяются на 4 типа в соответствии с основными способами моделирования динамики системы:

1 диаграммы прецедентов описывают организацию поведения системы;

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

4. диаграммы состояний описывают изменение состояния системы в ответ на события;

5. диаграммы деятельности демонстрируют передачу управления от одной деятельности к другой.

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

Диаграмма последовательности имеет 2 измерения:

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

2) Вертикальные временные оси, направленные сверху вниз, в начальный момент времени соответствует верхней точки. Каждое взаимодействие между объектами описывается совокупностью сообщений, которыми объекты обмениваются между собой.

Сообщение могут инициировать выполнение операций объектами соответствующего класса. Сообщения изображаются горизонтальными стрелками, соединяющие линии жизни. Возможна посылка сообщений самому себе. Т.о. в UML каждое сообщение ассоциируется с каким либо действием, которое должно быть выполнено принявшим его объектом. Сообщение бывают 2 типов: асинхронные и вызов метода.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  




Подборка статей по вашей теме: