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

Лекция 2

Концептуальное проектирование и модели данных

1.Концептуальное проектирование

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

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

2.Модель данных

Любая модель данных содержит три компоненты:

  1. Описание структуры данных,т.е. описание объектов, на которых строится БД.

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

  3. Набор допустимых операций, т.е. набор операторов, которые применяются для обработки экземпляров объектов.

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

Популярный подход к моделированию данных был предложен Питером Ченом в работе «Модель сущность-связь – к унифицированному виду данных». Этот подход основан на модели «сущность-связь» или ER-модели, обсуждению которой посвящена настоящая лекция.

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

3.Модель «сущность-связь». Семантические концепции

Укажем семантические концепции (конструктивные элементы), используемые в этой модели.

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

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

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

Рис. 1. Пример иерархии объектов

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

Атрибуты и их классификация.

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

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

    2. Атрибуты также подразделяются на – однозначные и многозначные. Однозначный атрибут содержит только одно значение для каждого экземпляра объекта определенного типа. Многозначный атрибут может содержать несколько значений для каждого экземпляра объекта определенного типа. Например, название отделения или филиала компании - однозначный атрибут, а номер телефона отделения – вообще говоря, многозначный (оно может иметь несколько номеров).

    3. Еще одно разделение атрибутов – на базовые и производные. Базовый атрибут – это такой, значение которого не зависит от значений других атрибутов данного объекта или других. Производный атрибут - это такой, значение которого зависит от значений некоторого множества других атрибутов

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

  1. Связи и их характеристики

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

Обсудим несколько важных общих характеристик связей:

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

  • Может существовать несколько связей, определенных на одних и тех же множествах объектов. Например, связи "Работает над" и "Руководит" определяются на совпадающих множествах объектов {"Проект", "Служащий"}.

  • Связь может устанавливаться между разными экземплярами одного объекта. Такая связь называется рекурсивной.

  • Связь может определять зависимость существования (existence dependency) одного объекта от другого. Например, связь "Подчиняется" показывает, что существование экземпляра объекта в наборе "Подчиненный" зависит от присутствия экземпляра некоторого объекта в наборе объектов "Служащий".

Соседние файлы в папке Лекции