Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

мет_указ_СР_ФОРМ

.pdf
Скачиваний:
5
Добавлен:
13.02.2015
Размер:
1.52 Mб
Скачать

с предусловием

31

Сумма S = 0

Счетчик К =1

Да

К ≤ 5

Нет

 

Ввод угла α

 

 

Вывод суммы S

α

 

Сумма S = S + α

К = К + 1

32

с постусловием

Сумма S = 0

Счетчик К =1

Нет

К ≥ 5

Да

 

Ввод угла α

 

 

Вывод суммы S

α

 

Сумма S = S + α

К = К + 1

Р-граф

Одной из интересных графических форм является Р-граф. Это блоксхема «наизнанку»: вместо графов с нагруженными вершинами используются графы с нагруженными рёбрами. Все основные конструкции просто и изящно представляются наглядными компактными графами (как и в вышеприведенных случаях, конструкции можно вкладывать друг в друга).

Название алгоритма

Р-граф

Линейная структура

 

Действие 1

Действие 2

33

Ветвящаяся структура

Условие

Действие 1

Действие 2

Циклическая структура

с предусловием

Условие

Действия (тело цикла)

с постусловием

Действия (тело цикла)

Условие

Решение.

Название

алгоритма

Линейная

структура

Ветвящаяся

структура

Циклическая

структура

 

Фраза в виде Р-графа

 

 

 

Ввод угла

α

 

Углы α и

Ввод угла α

вертикальные

 

 

 

 

 

 

Если углы равны

 

Ввод угла α

Ввод угла

Печать «Углы

 

 

вертикальные»

 

 

 

 

 

 

Печать «Углы не являются

 

 

вертикальными»

 

 

 

 

34

 

 

 

 

 

 

Пока К ≤ 5

 

с

предусло-

Сумма S = 0

Счетчик К = 1

Ввод угла α

Вывод суммы S

вием

 

 

 

α

 

 

 

 

 

 

 

 

 

 

Сумма S = S + α

 

 

 

 

 

К = К + 1

 

 

 

 

 

К = К + 1

 

 

 

 

 

Сумма S = S + α

 

с

постусло-

 

 

α

 

вием

 

 

Ввод угла α

 

 

 

 

 

До К ≥ 5

Вывод суммы S

 

 

Сумма S = 0

Счетчик К = 1

 

 

Раздел 3 «Проектирование реляционных баз данных (построение кон-

 

цептуальной, инфологической и датологической моделей)»

Реляционная база данных – это тело связанной информации, со-

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

Наименьшая единица данных реляционной модели – это отдельное атомарное (неразложимое) для данной модели значение данных. Так, в одной предметной области фамилия, имя и отчество могут рассматриваться как единое значение, а в другой – как три различных значения.

35

Доменом называется множество атомарных значений одного и того же

типа.

Атрибут – поименованная характеристика сущности. Например, у машины есть атрибуты: мотор, кузов, шасси и т.д. Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Лю-

бой атрибут может быть сущностью, в зависимости от точки зрения на него.

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

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

дый

фрагмент

предметной

области

характеризуется

множе-

ством объектов и процессов, использующих

объекты, а также

множе-

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

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

1.Представление предметной области в том виде, как она реально существует.

2.Восприятие с точки зрения проектировщика базы данных.

3.Описание с помощью символов.

Обычно говорят, что мы имеем дело с реальностью, описанием (представлением) реальности и с данными, которые отражают это представление.

Данные, используемые для описания предметной области, представляются в виде трехуровневой схемы (модель ANSI/SPARC):

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

полняемой пользователем. Концептуальная схема является полной сово-

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

Отсюда вытекают основные этапы, на которые разбивается процесс проектирования базы данных или информационной системы:

1. Концептуальное проектирование (системный анализ предметной области) – сбор, анализ и редактирование требований к данным. Для этого осуществляются следующие мероприятия:

36

обследование предметной области, изучение ее информационной структуры;

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

моделирование и интеграция всех представлений;

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

туре базы данных. Часто она представляется в виде модели «сущность-

связь». Концептуальный уровень (представление аналитика):

сущности;

атрибуты связи.

2.Логическое (инфологическое и датологическое) проектирова-

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

записи;

элементы данных;

связи между записями.

3.Физическое проектирование – определение особенностей хранения данных, методов доступа и т.д. Физический уровень (представление администратора):

группирование данных;

индексы;

методы доступа.

37

Реляционная модель – Отношения

Между таблицами могут существовать отношения трех типов: «один ко многим», «один к одному» и «многие ко многим». Только первый из них действительно необходим для реляционной модели. Для реализации двух других типов требуются определенные табличные преобразования.

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

38

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

Отношение 1:N, соединяющее столбцы одной и той же таблицы, называется само-объединением. Оно используется для отображения иерархических структур. Подразумевается, что внешний ключ ссылается на родительскую строку собственной таблицы.

Связь типа один-ко-многим означает, что один экземпляр первой сущности (левой) связан с несколькими экземплярами второй сущности (правой). Это наиболее часто используемый тип связи. Левая сущность (со стороны «один») называется родительской, правая (со стороны «много») – дочерней.

Видеально спроектированной реляционной базе данных отношение «один к одному» (1:1) не нужно. Если каждой строке одной таблицы соответствует одна строка другой таблицы, то это обычно свидетельствует о том, что обе таблицы нужно объединить в единое целое. Исключение из правила – необычный случай, когда число столбцов таблицы превышает предел, установленный в СУБД. Обычно в СУБД этот предел равен 3000, так что маловероятно, чтобы кому-то пришло в голову его превысить. Есть СУБД, где предельное число столбцов гораздо меньше, например 250, но даже этого числа вполне достаточно для большинства приложений.

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

Вреляционной базе данных нельзя напрямую создать отношение «многие ко многим» (M:N). Его необходимо преобразовать в два отношения 1:N, устанавливаемых с промежуточной таблицей. Выход из положения заключается в декомпозиции, т.е. разбивке отношения M:N на два отношения 1:N. Это означает, что ссылки между двумя таблицами будут вынесены в третью таблицу, содержащую всего два столбца. В них будут сопоставляться первичные ключи основных таблиц.

Связь типа много-ко-многим означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и каждый экземпляр второй сущности может быть связан

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

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

39

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

Нотации и описание концептуальных схем баз данных

Нотация ER-моделирования (П. Чена)

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

Модель сущность-связь (ER-модель) (от англ. entity-relationship model)

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

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

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

(ER-диаграмма) (от англ. entity-relationship diagram).

После построения ER-модели во время проектирования базы данных происходит преобразование модели в конкретную схему базы данных на основе выбранной модели данных (логическое проектирование).

Вышеописанная ER-модель «сущность-связь» была предложена в 1976 году Питером Ченом, американским профессором компьютерных наук университета штата Луизиана.

Множества сущностей изображаются в виде прямоугольников, множества отношений изображаются в виде ромбов. Если сущность участвует в отношении, они связаны линией. Если отношение является необязательным (факультативным), то линия пунктирная. Атрибуты изображаются в виде овалов и связываются линией с одним отношением или с одной сущностью.

40

Пример ER-моделирования:

Номер

Курс

Специальность

Группа

Кураторы

Контролировать

Участвовать

Деканат

Обязанности

 

 

 

Участие

Парусная регата

ФИО

в УВК

 

Должность

 

 

Яхта

Гонки

Нотация Crow's Foot

Данная нотация была предложена Гордоном Эверестом под названием Inverted Arrow («перевёрнутая стрелка»), сейчас чаще называемая Crow's Foot («воронья лапка») или Fork («вилка»).

Согласно данной нотации, сущность изображается в виде прямо-

угольника, содержащем её имя, выражаемое существительным. Имя сущности должно быть уникальным в рамках одной модели. При этом имя сущности – это имя типа, а не конкретного экземпляра данного типа. Экземпляром сущности называется конкретный представитель данной сущности.

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

Модальность связи так же изображается графически – необязательность связи помечается кружком на конце связи.