ОРГАНИЗАЦИЯ БАЗ ДАННЫХ И ЗНАНИЙ ТЕМА 2 ИЕРАРХИЧЕСКАЯ, СЕТЕВАЯ, РЕЛЯЦИОННАЯ МОДЕЛИ ХРАНЕНИЯ ДАННЫХ.

Презентация:



Advertisements
Похожие презентации
Модуль 1. Математические основы баз данных и знаний.
Advertisements

Реляционная модель – это особый метод рассмотрения данных, содержащий данные в виде таблиц, способов работы и манипуляции с ними в виде связей. структура,
Учебная дисциплина «Базы данных» для студентов специальности Бизнес-информатика (бакалавриат) ЛЕКЦИЯ 3 ВВЕДЕНИЕ В РЕЛЯЦИОННУЮ МОДЕЛЬ ДАННЫХ Вопрос.
Даталогическое проектирование. 1. Представление концептуальной модели средствами модели данных СУБД Общие представления о моделях данных СУБД С одной.
Методология IDEF1X (IDEF1 Extended) – язык для семантического моделирования данных, основанных на концепции « сущность - связь ». Является расширением.
Виды моделей данных. Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности.
Технология хранения, поиска и сортировки информации в базах данных
Тема 2. Концептуальное проектирование. Лекция 1. Уровни моделей и этапы проектирования.
ОРГАНИЗАЦИЯ БАЗ ДАННЫХ И ЗНАНИЙ ТЕМА 2 ИЕРАРХИЧЕСКАЯ, СЕТЕВАЯ, РЕЛЯЦИОННАЯ МОДЕЛИ ХРАНЕНИЯ ДАННЫХ.
Реляционная алгебра Презентация подготовлена зав. кафедрой ИБ, д.п.н., профессором З.В. Семеновой.
Теория экономических информационных систем Семантические модели данных.
Базы данных Михайлова Елена Георгиевна, мат.-мех. ф-т, кафедра информатики, доцент.
ТЕМА 3 Взаимосвязи в модели данных. При проектировании БД нам потребуется различать взаимосвязи: между объектами между атрибутами одного объекта и между.
ВИДЫ МОДЕЛЕЙ ДАННЫХ. Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности.
Методология информационного моделирования IDEF1X.
Определения Банк данных (БнД) это система специальным образом организованных дан­ных - баз данных, программных, технических, языковых, организационно-
БАЗА ДАННЫХ – ОСНОВА ИНФОРМАЦИОННОЙ СИСТЕМЫ ТЕХНОЛОГИЯ ИСПЛЬЗОВАНИЯ И РАЗРАБОТКА ИНФОРМАЦИОННЫХ СИСТЕМ.
Базы данных Реляционная база данных MS Access. Повторение База данных организованная совокупность данных из какой-либо предметной области, предназначенная.
Проектирование БД. Нормальные формы В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм: первая нормальная.
Базы данных – это совокупность сведений (о реальных объектах, процессах, событиях или явлениях), относящихся к определенной теме или задаче, организованная.
Транксрипт:

ОРГАНИЗАЦИЯ БАЗ ДАННЫХ И ЗНАНИЙ ТЕМА 2 ИЕРАРХИЧЕСКАЯ, СЕТЕВАЯ, РЕЛЯЦИОННАЯ МОДЕЛИ ХРАНЕНИЯ ДАННЫХ

ТЕМА 2. МОДЕЛИ ДАННЫХ И КОНЦЕПТУАЛЬНОЕ МОДЕЛИРОВАНИЕ 2.1. Реляционная модель данных Реляционная модель данных основана на понятии математических отношений (relation). В реляционной модели данные и связи представлены в виде таблиц, каждая из которых имеет несколько столбцов с уникальными именами. Реляционная модель данных основана на понятии математических отношений (relation). В реляционной модели данные и связи представлены в виде таблиц, каждая из которых имеет несколько столбцов с уникальными именами. Элементами описания модели данных являются сущности, атрибуты, домены и отношения. Элементами описания модели данных являются сущности, атрибуты, домены и отношения. сущность это нечто такое, о чем нужно хранить информацию в разрабатываемой системе. Сущностью может выступать как существительное, так и глагол. сущность это нечто такое, о чем нужно хранить информацию в разрабатываемой системе. Сущностью может выступать как существительное, так и глагол. Параметры (характеристики) каждой из сущностей носят называются атрибутами сущностей. Параметры (характеристики) каждой из сущностей носят называются атрибутами сущностей. Наиболее распространенная трактовка реляционной модели данных принадлежит Дейту, согласно которому реляционная модель состоит из трех частей, описывающих разные аспекты реляционного подхода: структурной части, манипуляционной части и целостной части. Наиболее распространенная трактовка реляционной модели данных принадлежит Дейту, согласно которому реляционная модель состоит из трех частей, описывающих разные аспекты реляционного подхода: структурной части, манипуляционной части и целостной части.

Реляционная модель данных была разработана Коддом еще в годах на основе математической теории отношений и опирается на систему понятий, важнейшими из которых являются таблица, отношение, строка, столбец, первичный ключ, внешний ключ. Реляционная модель данных была разработана Коддом еще в годах на основе математической теории отношений и опирается на систему понятий, важнейшими из которых являются таблица, отношение, строка, столбец, первичный ключ, внешний ключ. Таблица состоит из строк и столбцов и имеет имя, уникальное внутри базы данных. Таблица отражает тип объекта реального мира (сущность), а каждая ее строка - конкретный объект. Таблица состоит из строк и столбцов и имеет имя, уникальное внутри базы данных. Таблица отражает тип объекта реального мира (сущность), а каждая ее строка - конкретный объект. Каждый столбец таблицы - это совокупность значений конкретного атрибута объекта. Значения выбираются из множества всех возможных значений атрибута объекта, которое называется доменом (domain). Каждый столбец таблицы - это совокупность значений конкретного атрибута объекта. Значения выбираются из множества всех возможных значений атрибута объекта, которое называется доменом (domain). Каждый столбец имеет имя, которое обычно записывается в верхней части таблицы. Оно должно быть уникальным в таблице, однако различные таблицы могут иметь столбцы с одинаковыми именами. Каждый столбец имеет имя, которое обычно записывается в верхней части таблицы. Оно должно быть уникальным в таблице, однако различные таблицы могут иметь столбцы с одинаковыми именами.

Любая таблица должна иметь по крайней мере один столбец; столбцы расположены в таблице в соответствии с порядком следования их имен при ее создании. Любая таблица должна иметь по крайней мере один столбец; столбцы расположены в таблице в соответствии с порядком следования их имен при ее создании. Любая таблица имеет один или несколько столбцов, значения в которых однозначно идентифицируют каждую ее строку. Такой столбец (или комбинация столбцов) называется первичным ключом (primary key). Любая таблица имеет один или несколько столбцов, значения в которых однозначно идентифицируют каждую ее строку. Такой столбец (или комбинация столбцов) называется первичным ключом (primary key). В таблице не должно быть строк, имеющих одно и то же значение в столбце «primary key». Если таблица удовлетворяет этому требованию, она называется отношением (relation). В таблице не должно быть строк, имеющих одно и то же значение в столбце «primary key». Если таблица удовлетворяет этому требованию, она называется отношением (relation). Каждое отношение можно разделить на две части заголовок и тело. Тело отношения состоит из кортежей, в то время как заголовок не имеет более мелких компонентов структуры. Заголовок представляет собой множество атрибутов. Каждое отношение можно разделить на две части заголовок и тело. Тело отношения состоит из кортежей, в то время как заголовок не имеет более мелких компонентов структуры. Заголовок представляет собой множество атрибутов.

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

Формальные определения Формальные определения Для заданных множеств S1, S2,..., Sn (не обязательно различных) R является отношением на этих n множествах, если представляет собой множество кортежей степени n, у каждого из которых первый элемент взят из множества S1, второй - из множества S2 и т.д. Мы будем называть Sj j-тым доменом R. Говорят, что такое отношение R имеет степень n. Отношения степени 1 часто называют унппарными, степени 2 - бинппарными, степени 3 - тернппарными и степени n - n-ппарными. (Е.Ф. Кодд ) Для заданных множеств S1, S2,..., Sn (не обязательно различных) R является отношением на этих n множествах, если представляет собой множество кортежей степени n, у каждого из которых первый элемент взят из множества S1, второй - из множества S2 и т.д. Мы будем называть Sj j-тым доменом R. Говорят, что такое отношение R имеет степень n. Отношения степени 1 часто называют унппарными, степени 2 - бинппарными, степени 3 - тернппарными и степени n - n-ппарными. (Е.Ф. Кодд ) Если A1, A2, … An – множества, то подмножество R их декартова произведения A1 * A2 * … * An называется отношением степени n. Каждое из множеств Ai представляет собой домен. Если A1, A2, … An – множества, то подмножество R их декартова произведения A1 * A2 * … * An называется отношением степени n. Каждое из множеств Ai представляет собой домен. Тело отношения R является множеством упорядоченных наборов вида (a1, a2, … an), где каждое ai принадлежит множеству Ai. Подобные наборы принято называть кортежами. Тело отношения R является множеством упорядоченных наборов вида (a1, a2, … an), где каждое ai принадлежит множеству Ai. Подобные наборы принято называть кортежами.

Понятие тип данных в реляционной модели данных адекватно понятию типа данных в языках программирования. Набор типов, поддерживаемых реляционными СУБД, включает в себя простые (атомарные) типы данных. В них входят: логический (булевский) тип, числовые типы – целочисленный и с плавающей точкой, а также строковый тип. Реляционные БД допускают хранение специализированных числовых данных (таких как "деньги"), а также специальных "темпоральных" данных (дата, время, временной интервал). Понятие тип данных в реляционной модели данных адекватно понятию типа данных в языках программирования. Набор типов, поддерживаемых реляционными СУБД, включает в себя простые (атомарные) типы данных. В них входят: логический (булевский) тип, числовые типы – целочисленный и с плавающей точкой, а также строковый тип. Реляционные БД допускают хранение специализированных числовых данных (таких как "деньги"), а также специальных "темпоральных" данных (дата, время, временной интервал). Понятие домена имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Понятие домена имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Необходимо четко различать эти два понятия. Тип данных это физическая концепция, а домен логическая. Необходимо четко различать эти два понятия. Тип данных это физическая концепция, а домен логическая. Например, «целое число» это тип данных, а «возраст» это домен. Например, «целое число» это тип данных, а «возраст» это домен.

Схема отношения - это именованное множество пар имя атрибута, имя домена (или типа, если понятие домена не поддерживается). Схема БД (в структурном смысле) - это набор именованных схем отношений. Схема отношения - это именованное множество пар имя атрибута, имя домена (или типа, если понятие домена не поддерживается). Схема БД (в структурном смысле) - это набор именованных схем отношений. Степень, или "арность" схемы отношения,- мощность этого множества. Степень, или "арность" схемы отношения,- мощность этого множества. Кортеж, соответствующий данной схеме отношения, - это множество пар имя атрибута, значение, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "Значение" является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Кортеж, соответствующий данной схеме отношения, - это множество пар имя атрибута, значение, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "Значение" является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Отношение - это множество кортежей, соответствующих одной схеме отношения. Отношение - это множество кортежей, соответствующих одной схеме отношения. Понятие атрибута связано с характеристикой сущности. В таблице каждый столбец называется атрибутом. Название атирибута в заголовке отношения представляет пару: имя атрибута:имя домена Понятие атрибута связано с характеристикой сущности. В таблице каждый столбец называется атрибутом. Название атирибута в заголовке отношения представляет пару: имя атрибута:имя домена

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

Фундаментальные свойства отношений Фундаментальные свойства отношений Отсутствие кортежей-дубликатов. Свойство следует из определения отношения как множества кортежей. Отсутствие кортежей-дубликатов. Свойство следует из определения отношения как множества кортежей. В классической теории множеств, по определению, каждое множество состоит из различных элементов. Из этого свойства вытекает наличие у каждого отношения так называемого первичного ключа - набора атрибутов, значения которых однозначно определяют кортеж отношения. Для каждого отношения, по крайней мере, полный набор его атрибутов обладает этим свойством. Однако при формальном определении первичного ключа требуется обеспечение его "минимальности", т.е. в набор атрибутов первичного ключа не должны входить такие атрибуты, которые можно отбросить без ущерба для основного свойства,- однозначно определять кортеж. В классической теории множеств, по определению, каждое множество состоит из различных элементов. Из этого свойства вытекает наличие у каждого отношения так называемого первичного ключа - набора атрибутов, значения которых однозначно определяют кортеж отношения. Для каждого отношения, по крайней мере, полный набор его атрибутов обладает этим свойством. Однако при формальном определении первичного ключа требуется обеспечение его "минимальности", т.е. в набор атрибутов первичного ключа не должны входить такие атрибуты, которые можно отбросить без ущерба для основного свойства,- однозначно определять кортеж.

Отсутствие упорядоченности кортежей. Это свойство отношения является следствием определения отношения-экземпляра как множества кортежей и дает дополнительную гибкость СУБД при хранении БД данных во внешней памяти и при выполнении запросов к БД. Отсутствие упорядоченности кортежей. Это свойство отношения является следствием определения отношения-экземпляра как множества кортежей и дает дополнительную гибкость СУБД при хранении БД данных во внешней памяти и при выполнении запросов к БД. Отсутствие упорядоченности атрибутов. Атрибуты отношений не упорядочены, т.к. по определению схема отношения есть множество пар имя атрибута, имя домена. Для ссылки на значение атрибута в кортеже отношения всегда используется имя атрибута. Это свойство позволяет изменять схемы существующих отношений как путем добавления новых атрибутов, так и путем удаления существующих атрибутов. Отсутствие упорядоченности атрибутов. Атрибуты отношений не упорядочены, т.к. по определению схема отношения есть множество пар имя атрибута, имя домена. Для ссылки на значение атрибута в кортеже отношения всегда используется имя атрибута. Это свойство позволяет изменять схемы существующих отношений как путем добавления новых атрибутов, так и путем удаления существующих атрибутов. Атомарность значений атрибутов. Значения всех атрибутов являются атомппарными. Это следует из определения домена как потенциального множества значений простого типа данных, т.е. среди значений домена не могут содержаться множества значений (отношения). Атомарность значений атрибутов. Значения всех атрибутов являются атомппарными. Это следует из определения домена как потенциального множества значений простого типа данных, т.е. среди значений домена не могут содержаться множества значений (отношения).

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

Непроцедурные запросы. Поскольку в реляционной схеме понятие навигации отсутствует, запросы не строятся на основе заранее определенной структуры. Благодаря этому они могут быть сформулированы на непроцедурном языке. Непроцедурные запросы. Поскольку в реляционной схеме понятие навигации отсутствует, запросы не строятся на основе заранее определенной структуры. Благодаря этому они могут быть сформулированы на непроцедурном языке. Теоретическое обоснование. Реляционная модель хранения данных основана на хорошо проработанной теории отношений. При проектировании базы данных применяются строгие методы, построенные на нормализации отношений. Для других моделей таких методов проектирования в настоящее время не существует. Теоретическое обоснование. Реляционная модель хранения данных основана на хорошо проработанной теории отношений. При проектировании базы данных применяются строгие методы, построенные на нормализации отношений. Для других моделей таких методов проектирования в настоящее время не существует. Недостатки модели Недостатки модели Центральная проблема, связанная с применением реляционных СУБД - производительность. Центральная проблема, связанная с применением реляционных СУБД - производительность.

Объектные модели данных Объектные модели данных При создании объектных моделей данных используются такие понятия, как сущности, атрибуты и связи. При создании объектных моделей данных используются такие понятия, как сущности, атрибуты и связи. Сущность это отдельный элемент деятельности организации (сотрудник или клиент, место или вещь, понятие или событие), который должен быть представлен в базе данных. Сущность это отдельный элемент деятельности организации (сотрудник или клиент, место или вещь, понятие или событие), который должен быть представлен в базе данных. Атрибут это свойство, которое описывает некоторый аспект объекта и значение которого следует зафиксировать. Атрибут это свойство, которое описывает некоторый аспект объекта и значение которого следует зафиксировать. Связь является ассоциативным отношением между сущностями. Связь является ассоциативным отношением между сущностями. Наиболее общие типы объектных моделей данных. Наиболее общие типы объектных моделей данных. Модель типа "сущность-связь", или ER-модель (Entity- Relationship model). Модель типа "сущность-связь", или ER-модель (Entity- Relationship model). Семантическая модель. Семантическая модель. Функциональная модель. Функциональная модель. Объектно-ориентированная модель. Объектно-ориентированная модель.

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

Семантическое моделирование представляет собой моделирование структуры данных, опираясь на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь (ER - Entity-Relationship). Семантическое моделирование представляет собой моделирование структуры данных, опираясь на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь (ER - Entity-Relationship). Первый вариант модели сущность-связь был предложен в 1976 г. Питером Пин-Шэн Ченом Первый вариант модели сущность-связь был предложен в 1976 г. Питером Пин-Шэн Ченом Основные понятия ER-диаграмм Основные понятия ER-диаграмм Определение 1. Сущность - это класс однотипных объектов, информация о которых должна быть учтена в модели. Определение 1. Сущность - это класс однотипных объектов, информация о которых должна быть учтена в модели. Каждая сущность должна иметь наименование, выраженное существительным в единственном числе. Каждая сущность должна иметь наименование, выраженное существительным в единственном числе. Примерами сущностей могут быть такие классы объектов как "Поставщик", "Сотрудник", "Накладная". Примерами сущностей могут быть такие классы объектов как "Поставщик", "Сотрудник", "Накладная". Каждая сущность в модели изображается в виде прямоугольника с наименованием: Каждая сущность в модели изображается в виде прямоугольника с наименованием:

Определение 2. Экземпляр сущности - это конкретный представитель данной сущности. Определение 2. Экземпляр сущности - это конкретный представитель данной сущности. Например, представителем сущности "Сотрудник" может быть "Сотрудник Иванов". Например, представителем сущности "Сотрудник" может быть "Сотрудник Иванов". Экземпляры сущностей должны быть различимы, т.е. сущности должны иметь некоторые свойства, уникальные для каждого экземпляра этой сущности. Экземпляры сущностей должны быть различимы, т.е. сущности должны иметь некоторые свойства, уникальные для каждого экземпляра этой сущности. Определение 3. Атрибут сущности - это именованная характеристика, являющаяся некоторым свойством сущности. Определение 3. Атрибут сущности - это именованная характеристика, являющаяся некоторым свойством сущности. Наименование атрибута должно быть выражено существительным в единственном числе (возможно, с характеризующими прилагательными). Наименование атрибута должно быть выражено существительным в единственном числе (возможно, с характеризующими прилагательными). Примеры атрибутов сущности "Сотрудник«: атрибуты "Табельный номер", "Фамилия", "Имя", "Отчество", "Должность", "Зарплата" и т.п. Примеры атрибутов сущности "Сотрудник«: атрибуты "Табельный номер", "Фамилия", "Имя", "Отчество", "Должность", "Зарплата" и т.п. Атрибуты изображаются в пределах прямоугольника, определяющего сущность: Атрибуты изображаются в пределах прямоугольника, определяющего сущность:

модальные связи сущность Атрибуты Ключевые атрибуты Связь типы связей

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

Связи между сущностями могут выражаться следующими фразами: Связи между сущностями могут выражаться следующими фразами: o "СОТРУДНИК может иметь несколько ДЕТЕЙ", o "каждый СОТРУДНИК обязан числиться ровно в одном ОТДЕЛЕ". Графически связь изображается линией, соединяющей две сущности Графически связь изображается линией, соединяющей две сущности Каждая связь имеет два конца и одно или два наименования. Наименование обычно выражается в неопределенной глагольной форме: "иметь", "принадлежать" и т.п. Каждое из наименований относится к своему концу связи. Иногда наименования не пишутся ввиду их очевидности. Каждая связь имеет два конца и одно или два наименования. Наименование обычно выражается в неопределенной глагольной форме: "иметь", "принадлежать" и т.п. Каждое из наименований относится к своему концу связи. Иногда наименования не пишутся ввиду их очевидности. Каждая связь может иметь один из следующих типов связи: Каждая связь может иметь один из следующих типов связи: Один–к-одному Один–к-одному Один-ко-многим Один-ко-многим Много-ко-многим Много-ко-многим

Связь типа один-к-одному означает, что один экземпляр первой сущности (левой) связан с одним экземпляром второй сущности (правой). Связь один-к-одному чаще всего свидетельствует о том, что на самом деле мы имеем всего одну сущность, неправильно разделенную на две. Связь типа один-к-одному означает, что один экземпляр первой сущности (левой) связан с одним экземпляром второй сущности (правой). Связь один-к-одному чаще всего свидетельствует о том, что на самом деле мы имеем всего одну сущность, неправильно разделенную на две. Связь типа один-ко-многим означает, что один экземпляр первой сущности (левой) связан с несколькими экземплярами второй сущности (правой). Это наиболее часто используемый тип связи. Левая сущность (со стороны "один") называется родительской, правая (со стороны "много") - дочерней. Характерный пример такой связи приведен на Рис. 4. Связь типа один-ко-многим означает, что один экземпляр первой сущности (левой) связан с несколькими экземплярами второй сущности (правой). Это наиболее часто используемый тип связи. Левая сущность (со стороны "один") называется родительской, правая (со стороны "много") - дочерней. Характерный пример такой связи приведен на Рис. 4. Связь типа много-ко-многим означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и каждый экземпляр второй сущности может быть связан с несколькими экземплярами первой сущности. Тип связи много-ко-многим является временным типом связи, допустимым на ранних этапах разработки модели. В дальнейшем этот тип связи должен быть заменен двумя связями типа один-ко-многим путем создания промежуточной сущности. Связь типа много-ко-многим означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и каждый экземпляр второй сущности может быть связан с несколькими экземплярами первой сущности. Тип связи много-ко-многим является временным типом связи, допустимым на ранних этапах разработки модели. В дальнейшем этот тип связи должен быть заменен двумя связями типа один-ко-многим путем создания промежуточной сущности. Каждая связь может иметь одну из двух модальностей связи: Каждая связь может иметь одну из двух модальностей связи:

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

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

Например, в ходе беседы с менеджером по продажам, выяснилось, что он (менеджер) считает, что проектируемая система должна выполнять следующие действия: Например, в ходе беседы с менеджером по продажам, выяснилось, что он (менеджер) считает, что проектируемая система должна выполнять следующие действия: Хранить информацию о покупателях. Хранить информацию о покупателях. Печатать накладные на отпущенные товары. Печатать накладные на отпущенные товары. Следить за наличием товаров на складе. Следить за наличием товаров на складе. Выделим все существительные в этих предложениях - это будут потенциальные кандидаты на сущности и атрибуты, и проанализируем их (непонятные термины будем выделять знаком вопроса): Выделим все существительные в этих предложениях - это будут потенциальные кандидаты на сущности и атрибуты, и проанализируем их (непонятные термины будем выделять знаком вопроса): Покупатель - явный кандидат на сущность. Покупатель - явный кандидат на сущность. Накладная - явный кандидат на сущность. Накладная - явный кандидат на сущность. Товар - явный кандидат на сущность Товар - явный кандидат на сущность (?)Склад - а вообще, сколько складов имеет фирма? Если несколько, то это будет кандидатом на новую сущность. (?)Склад - а вообще, сколько складов имеет фирма? Если несколько, то это будет кандидатом на новую сущность. (?)Наличие товара – это, скорее всего, атрибут, но атрибут какой сущности? (?)Наличие товара – это, скорее всего, атрибут, но атрибут какой сущности? Сразу возникает очевидная связь между сущностями - "покупатели могут покупать много товаров" и "товары могут продаваться многим покупателям". Сразу возникает очевидная связь между сущностями - "покупатели могут покупать много товаров" и "товары могут продаваться многим покупателям".

Первый вариант диаграммы выглядит так:

После уточнения диаграмма будет выглядеть следующим образом:

Введем дополнительную сущность "Товар на складе". Атрибутом этой сущности будет "Количество товара на складе". Введем дополнительную сущность "Товар на складе". Атрибутом этой сущности будет "Количество товара на складе".

Концептуальные и физические ER-модели Концептуальные и физические ER-модели Разработанный выше пример ER-диаграммы является примером концептуальной диаграммы. Это означает, что диаграмма не учитывает особенности конкретной СУБД. Разработанный выше пример ER-диаграммы является примером концептуальной диаграммы. Это означает, что диаграмма не учитывает особенности конкретной СУБД. По данной концептуальной диаграмме можно построить физическую диаграмму, которая уже будут учитываться такие особенности СУБД, как допустимые типы и наименования полей и таблиц, ограничения целостности и т.п. Физический вариант диаграммы, приведенной выше может выглядеть, следующим образом: По данной концептуальной диаграмме можно построить физическую диаграмму, которая уже будут учитываться такие особенности СУБД, как допустимые типы и наименования полей и таблиц, ограничения целостности и т.п. Физический вариант диаграммы, приведенной выше может выглядеть, следующим образом:

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

Эта диаграмма представляет самый верхний уровень функциональной модели.

Физические модели данных Физические модели данных Физические модели данных описывают то, как данные хранятся в компьютере, представляя информацию о структуре записей, их упорядоченности и существующих путях доступа. Физических моделей данных не так много, как логических, а самыми популярными среди них являются обобщающая модель (unifying model) и модель памяти кадров (frame memory). Физические модели данных описывают то, как данные хранятся в компьютере, представляя информацию о структуре записей, их упорядоченности и существующих путях доступа. Физических моделей данных не так много, как логических, а самыми популярными среди них являются обобщающая модель (unifying model) и модель памяти кадров (frame memory).