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

21

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

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

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

типа.

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

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

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

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

дый

фрагмент

предметной

области

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

множе-

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

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

множе-

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

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

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

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

22

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

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

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

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

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

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

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

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

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

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

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

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

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

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

сущности;

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

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

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

записи;

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

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

23

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

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

индексы;

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

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

24

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

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

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

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

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

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

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

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

25

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

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

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

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

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

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

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

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

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

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

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

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

26

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

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

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

Номер

Курс

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

Группа

Кураторы

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

Участвовать

Деканат

Обязанности

 

 

Участие

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

ФИО

в УВК

 

Должность

 

 

Яхта Гонки

Нотация Crow's Foot

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

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

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

27

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

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

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

Именование обычно выражается одним глаголом в изъявительном наклонении настоящего времени: «Имеет», «Принадлежит» и т.д.; или глаголом с поясняющими словами: «Включает в себя», и т.п. Наименование может быть одно для всей связи или два для каждого из концов связи. Во втором случае, название левого конца связи указывается над линией связи, а правого

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

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

Каждая связь имеет два конца и одно или два наименования. Наименование обычно выражается в неопределенной глагольной форме: «иметь», «принадлежать» и т.п. Каждое из наименований относится к своему концу связи. Иногда наименования не пишутся ввиду их очевидности.

Каждая связь может иметь один из следующих типов связи:

Пример отношения между сущностями согласно нотации Crow's Foot:

28

 

 

 

 

 

 

рует

 

 

 

 

 

роли

 

 

 

 

 

конт

 

 

 

 

 

 

я

 

 

 

 

 

с

 

 

 

 

ет

 

 

 

 

 

ня

 

 

 

 

 

 

чи

 

 

 

 

 

д

 

 

 

 

о

 

 

 

 

 

п

 

 

 

 

 

Группа

 

 

 

 

участ

 

 

 

 

 

 

 

 

 

 

 

 

вует

 

Номер

 

 

 

 

 

принимает

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

 

 

 

 

 

Курс

 

 

 

 

 

 

Кураторы

ФИО Должность Место работы

помогают

Деканат

ФИО Должность Обязанности Участие в УВК

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

Яхты Гонки

Разработка инфологической модели базы данных

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

Обозначение

Смысл

ОТНОШЕНИЕ

Базовое отношение

ОТНОШЕНИЕ

Дочернее отношение

 

29

Отношение

Ключ

Ключ

Вспомогательное отношение

Обязательная связь

Необязательная (факультативная) связь

Связь «один-к-одному» с указанием ключа

Связь «один-ко-многим» с указанием ключа

Связь «многие-ко-многим»

Пример инфологической модели (схемы) реляционной базы данных (РБД):

 

Номер группы

Группа

Деканат

Номер группы

 

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

 

Пример определения типов данных:

Атрибут

Тип данных

Номер группы

Текстовый

Курс

Числовой (целый)

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

Текстовый

Задача.

1.Провести проектирование реляционной базы данных (РБД), системный анализ и разработать концептуальную модель базы данных «Плавсостав». Представить разработанную модель в виде нотаций П. Чена (ER-диаграмм) и

Г. Эвереста («Crow's Foot»).

2.Провести инфологическое проектирование базы данных и построить со-

ответствующую модель базы данных.

30

3. С помощью СУБД MS Access 2007 создать датологическую модель базы данных (привести screen-shots).

Решение.

I этап. Концептуальная модель РБД «Плавсостав»

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

Нотация П. Чена