Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пример. Конспект лекций - копия.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
585.48 Кб
Скачать

Лекция 5. Инфологичфеское проектирование баз данных

Цель и содержание инфологического проектирования баз данных. Требования, предъявляемые к инфологической модели. Основные модели данных: семантическую модель данных, функциональная модель данных, модель «сущность-связь». Достоинства ER-модели. CASE-средства инфологического моделирования.

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

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

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

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

Требования, предъявляемые к инфологической модели: 1) адекватное, отображение предметной области; 2) недопущение неоднозначной трактовки модели; 3) четкое определение моделируемой предметной области (конечность модели); 4) легкая расширяемость, обеспечивающая ввод новых данных без изменения ранее определенных, то же относят и к удалению данных; 5) возможность композиции и декомпозиции модели в связи с большой размерностью реальных инфологических моделей; 6) легкое восприятие различными категориями пользователей; желательно, чтобы инфологическую модель строил (или хотя бы участвовал в ее создании) специалист, работающий в данной предметной области, а не только проектировщик систем машинной обработки данных; 7) применимость языка спецификаций модели как при ручном, так и при автоматизированном проектировании информационных систем

В семидесятых годах было предложено несколько инфологических моделей данных, отвечающим указанным требованиям. К ним можно отнести семантическую модель данных, предложенную Хаммером (Hammer) и Мак-Леоном (McLeon) в 1981 году, функциональную модель данных Шипмана (Shipman), также созданную в 1981 году, модель «сущность-связь», предложенную Ченом (Chen) в 1976 году, и ряд других моделей.

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

В настоящий момент именно модель данных «сущность-связь», или «Entity Relationship», предложенная Ченом и развитая К. Брахманом и Д. Ренером, стала фактическим стандартом при инфологическом моделировании баз данных (общепринятым стало сокращенное название ER-модель). Объектно-связное представление предметной области в терминах (обозначениях) ER-модели называется ER-диаграммой.

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

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

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

Пример 5.1. Различие между типом сущности и экземпляром сущности.

Студент – тип сущности; Петров Петр Петрович – экземпляр сущности.

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

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

Пример 5.2. Различие между типом связи и экземпляром связи.

Типами атрибута для типа сущности «Студент» являются: «Фамилия», «Имя», «Отчество», а экземплярами атрибута может быть множество конкретных фамилия, имен и отчеств студентов (Петров Петр Петрович, Иванов Иван Иванович и т.д.).

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

Пример 5.3. Простые и составные атрибуты.

Составной атрибут «Адрес», может быть разделен на простые атрибуты: «Город», «Улица», «Дом», «Квартира».

Атрибуты могут быть однозначные и многозначные. Однозначный атрибут – это такой атрибут, который может принимать единственное значение. Многозначный атрибут – это атрибут, который может принимать несколько значений

Пример 5.4. Понятие однозначных и многозначных атрибутов

Атрибут «ИНН» может иметь единственное значение у каждого человека, атрибут «Телефон» может иметь несколько значения (человек может иметь несколько телефонных номеров)

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

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

Пример 5.5. Понятие ключа сущности

Экземпляр сущности «Студент» можно однозначно определить по следующему набору атрибутов «Фамилия», «Имя», «Отчество», «Группа» (при условии слабой вероятности, что в одной группе учиться два студента с одной фамилией, именем и отчеством).

Экземпляр сущности «Студент» можно однозначно определить также по атрибуту «Номер зачетной книжки» (при условии, если номер зачетной книжки является уникальным)

При выборе первичного ключа из набора возможных учитываются следующие факторы: 1) частота использования (желательно выбирать в качестве первичного ключа атрибуты, которые чаще всего используются); 2) длина ключа (в качестве первичного ключа выбирается, как правило, самый короткий из возможных ключей); 3) стабильность (желательно выбирать в качестве первичного ключа атрибуты, которые не изменяются); 4) мнемоничность (при прочих равных условиях следует отдавать предпочтение тем из возможных ключей, которые легче запомнить).

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

Различают классы связей и экземпляры связей. Классы связей – это взаимоотношения между классами сущностей, а экземпляры связи – взаимоотношения между экземплярами сущностей.

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

То число экземпляров сущностей, которое может быть ассоциировано через связь с экземплярами другой сущности, называют степенью связи. Различают следующие степени связи: 1) cвязь 1:1 (одиночный экземпляр сущности одного типа связан с одиночным экземпляром сущности другого типа); 2) cвязь 1:M (единый экземпляр сущности одного типа связан со многими экземплярами сущности другого класса); 3) Связь M:N (несколько экземпляров сущности одного класса связаны с несколькими экземплярами сущности другого класса).

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

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

Достоинства ER-модели: 1) наличие языка обозначений, который является простым и понятным как для разработчиков, так и для заказчиков базы данных; 2) наличие возможности перехода по формальным правилам от ER-диаграммы к логической структуре реляционной базы данных.

В настоящий момент не существует единой общепринятой системы обозначений для конструктивных элементов ER-модели и разные авторы изданий и CASE-средства применяют разные графические нотации: например, нотацию Питера Чена, нотацию Crow's Foot («воронья лапка»), IDEF1Х и др.

Пример 5.6. ER-диаграмма

Рисунок 5.1 ER-диаграмма

Существует множество CASE-средств для работы с ER-моделями:: ERwin, Microsoft Visio, MySQL Workbench и др.

Диаграмма Бахмана представляет собой ориентированный граф, в котором вершины соответствуют группам (типам записей), а дуги – иерархическим групповым отношениям. Диаграмма Бахмана предназначена для моделирования древовидных, сетевых структур, поэтому всегда существует исходный объект и подчиненный объект.

Пример 5.7. Диаграмма Бахмана

Рисунок 5.2 Диаграмма Бахмана (для сетевой модели)

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

Знания следует самостоятельно проверить путем ответов на контрольные вопросы (список контрольных вопросов приведен в Методических рекомендациях по самостоятельному изучению дисциплины «Базы данных», которые являются неотъемлемой частью учебно-методического комплекса дисциплины «Базы данных»).