Логическое и концептуальное моделирование БД 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Логическое и концептуальное моделирование БД



Введение

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

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

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

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

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

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

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

Эволюция СУБД происходит на фоне беспрецедентного роста числа разнообразных применений ЭВМ, а технология БД в свою очередь обеспечивает необходимый фундамент такого роста. Технология управления БД сформировалась на основе опыта разработки и применения сотен типов СУБД, многих МД, языков определения данных и манипулирования данными. Одновременно создавалась теория БД, в которой были развиты такие разделы, как теория моделей данных и методов их эквивалентных преобразований, теория функциональной зависимости в БД, методы эквивалентных представлений БД и их схем. проблемы полноты и эквивалентности в реляционном исчислении, теория БД с неполной информацией, методы обеспечения целостности БД в условиях потока конкурентных запросов, методы структурирования памяти для хранения разнообразных данных.

Для обеспечения гибкости использования данных необходимо учитывать два аспекта разработки баз данных:

- независимость БД от программ, позволяющая добавлять и перестраивать данные без изменения программ;

- возможность поиска информации в БД без трудоемкого написания программ.

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

1. Основные понятия и термины

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

· Под информацией понимают любые сведения о каком-либо событии, сущности, процессе и т.п.

Наряду с понятием информации часто употребляют понятие “ данные ”.

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

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

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

· Сущность ‑ это обобщённое понятие для обозначения множества однородных объектов ПрО, информацию о которых необходимо собирать и хранить в информационной системе. Сущность определяется своим уникальным именем и перечнем атрибутов, характеризующих свойства сущности.

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

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

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

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

При описании той или иной ПрО желательно, чтобы соблюдались следующие требования:

- полнота охвата объектов (сущностей) рассматриваемой области;

- однозначность атрибутов;

- возможность включения новых объектов (сущностей).

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

Информацию о проекте суммируют с использованием графических диаграмм. Для них можно использовать следующие обозначения:

1. Сущности изображаются прямоугольниками.

2. Атрибуты обозначаются овалами.

3. Связи изображаются ромбами.

 

Пример. Выделить информационные объекты учебного процесса.

Описывая предметную область “Учебный процесс”, можно выделить несколько сущностей: студент, преподаватель, предмет.

Сущность Студент можно охарактеризовать следующими атрибутами:

ФИО, Дата_рождения, Адрес, Дата_поступления, Номер_зачетной_ книжки, НОМЕР_ГРУППЫ.

Сущность Преподаватель характеризуется следующими атрибутами:

ФИО, Адрес, Должность, Кафедра, УЧЕНОЕ_Звание, Телефон_ рабочий, Телефон_ домашний.

Сущность Предмет характеризуется следующими атрибутами:

Название, Кафедра, Лекции, Практические_занятия, Лабораторные_работы, Курсовые_работы, Отчетность, Семестр.

Между сущностями Студент, Преподаватель и Предмет существует связь Экзамен. Связь, как и сущность, может иметь атрибуты. Связь экзамен характеризуется, например, атрибутами ОЦЕНКА и ДАТА_ПРОВЕДЕНИЯ.

 

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

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

 

 
 

 

 


· Экземпляр структурной связи - некоторое подмножество структурной связи, в которой один экземпляр главного объекта связан со множеством, возможно пустым, экземпляров детального объекта.

Пример:

       
   
 
 

 


Структурные связи могут быть четырех типов:

1: 1 - одному экземпляру объекта А соответствует строго один экземпляр объекта В.

Пример:

 
 


1: M - одному экземпляру объекта А соответствует более одного экземпляра объекта В.

M: 1 - одному экземпляру объекта В соответствует более одного экземпляра объекта А.

M: M - одному экземпляру объекта А соответствует более одного экземпляра объекта В. Одному экземпляру объекта В соответствует более одного экземпляра объекта А.

Пример:

Пример:

На предприятии имеется несколько цехов, изготавливающих изделия конкретных наименований для каждого цеха. Цех имеет номер и начальника с конкретной фамилией. Изделия изготавливаются из различных материалов. Изделия и материал характеризуются наименованием и шифром. Выделить связи и указать типы этих связей, а также построить примеры экземпляров структурной связи.

 

 

 
 

 

 


Объекты - Атрибуты:

- цех - номер

- материал - ФИО

- изделие- наименование

- начальник- шифр

Приведем пример структурной связи для отношения “изделие”.

 
 

 


Тогда экземпляр главной группы

 

 

 

 


Модели данных

Развитие теории и практики проектирования и эксплуатации баз данных сопровождается интенсивным развитием моделей данных.

· Способ фиксации в БД выделенных понятий (конкретных и абстрактных) и связи между ними называется моделью данных БД.

БД создается для достижения определенных целей исследования и в зависимости от изменения или расширения цели меняется модель БД.

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

Иерархическая модель данных

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

 

 

 


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

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

Иерархическая БД состоит из упорядоченного набора деревьев; или, более точно, из упорядоченного набора нескольких экземпляров одного типа дерева.

Для БД определен полный порядок обхода - сверху - вниз, слева - направо.

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

Найти указанное дерево;

Перейти от одного дерева к другому;

Перейти от одной записи к другой внутри дерева;

Перейти от одной записи к другой в порядке обхода иерархии;

Вставить новую запись в указанную позицию;

Удалить текущую запись.

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

Типичным представителем (наиболее известным и распространенным) является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г. До сих пор этой системой поддерживается много баз данных, что создает существенные проблемы с переходом как на новую технологию БД, так и на новую технику.

Достоинство иерархических МД: данные, отражающие общие свойства совокупности конкретных данных не дублируются.

Недостаток ИМД связан с дублированием данных в случае их однотипности.

Попытка устранить этот недостаток привела к созданию сетевой модели данных.

Сетевая модель данных

Сетевая модель также как и иерархическая обладает выразительными свойствами.

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

 

 

 
 

 


Достоинство сетевых МД: данные имеют четкую структуру.

Недостатком СМД является большое количество дополнительной информации о связи.

Пример:

 

 

 


 

 

3.3. Модель данных “сущность - связь”

Модель данных “сущность-связь” (ER-модель) данных является теоретическим развитием иерархических и сетевых моделей. В соответствии с ER-моделью выделяют сущности и связи между сущностями.

При анализе предметной области ER-модель нацеливает на то, что существительные играют роль сущностей, а глаголы - роль связей. Говорят, что сущность представляется в виде Е - отношения, а связи - в виде R - отношений.

Внутри связи записывается семантическое понятие связи (в иерархических и сетевых моделях семантика связи не раскрывалась). Дуги играют роль указателя соответствия между сущностью и связью.

 
 

 


Бинарная модель данных

Предметная область описывается с помощью совокупности бинарных отношений:

объект - атрибут - значение.

 

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

Реляционная модель данных

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

1. Единственная структура данных, используемая в реляционных БД, - нормализованное n-арное отношение.

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

3. Целостность сущности и ссылок

Основные понятия

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

Тип данных

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

Домен

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

 

· Домен - допустимое потенциальное множество значений данного типа.

Пример:

 

Д обозначим домен.

Д1- множество целых чисел;

Д2 - множество символьных строк длиной не более 6 символов;

Д3 - множество символьных строк определенной структуры

ц1 ц2 - ц3 ц4- ц5 ц6, где

ц1 Î{0, 1, 2, 3}

ц2 Î{0, 1,..., 9}01 £ ц1 ц2 £ 31

 

ц3 Î{0, 1}

ц4 Î{0, 1, 2} 01 £ ц3 ц4 £ 12

 

ц5 , ц6Î{0, 1,..., 9}/

Тогда мы получаем множество дат вида - 21-12-99.

Кортеж, отношение

· Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "Значение" является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень или "арность" кортежа, т.е. число элементов в нем, совпадает с "арностью" соответствующей схемы отношения. Попросту говоря, кортеж - это набор именованных значений заданного типа (строка в отношении).

· Отношение R, определенное на доменах Д1, Д2,..., ДК есть множество кортежей арности К следующего вида:

R = { < d1i, d2i,..., dKi > }, i= 1, 2,... N таких, что

d1i Î Д1,..., dKi Î ДК и R является подмножеством декартова произведения доменов

R Í Д1 х Д2 х... х ДN.

Так как отношения являются множествами кортежей, то в них не должны встречаться одинаковые кортежи и порядок кортежей в отношении несущественен.

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

Для описания структур данных отношения используются в двух аспектах:

- для представления набора объектов:

- для представления связей между данными.

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

Пример: Отношение “Датчик”

 

Имя_датчика Параметр Тип
Д5 P1 давление

 

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

Пример: Принадлежность датчика определенному коммутатору

 

 

 


Отметим, что каждому коммутатору принадлежит по три датчика. Следовательно можно сформировать отношение “Принадлежность”:

 

Имя_К Имя_1_Дат Имя_2_Дат Имя_3_Дат
К1 Д1 Д2 Д3
К2 Д4 Д5 Д6

 

Таким образом, отношение описывает и объект и выражает связи.

· Столбцы отношений называются атрибутами и каждый атрибут выражается своим именем.

Порядок столбцов в отношениях произвольный. От изменения порядка в столбцах суть отношения не меняется.

Для отношения r схемой отношения R является множество{A1,...,AK}, Ai - имя атрибута и r (R) º r{A1,..., AK}.

Для отношения можно привести следующие аналогии

- схема отношения - формат записи;

- кортеж в отношении - экземпляр записи;

- отношение - файл записей, формат которого соответствует схеме отношений.

Схема отношения, схема базы данных, реляционная база данных

· Схема отношения - это именованное множество пар {имя атрибута, имя домена (или типа, если понятие домена не поддерживается)}. Степень или "арность" схемы отношения - мощность этого множества.

· Схема базы данных (в структурном смысле) - это набор именованных схем отношений.

· Логической схемой БД будем называть совокупность схем отношений

R1 [A11,..., A1K] ... Rm [Am1,..., AmK]

ЛС = {

 

 

· Реляционной БД называют набор экземпляров конечных отношений, построенных в соответствии с логической схемой БД.

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

 

 
 

 

 


Ключи отношений

· Значение кортежа t на атрибуте А называют t (А) или, другими словами, А - значение кортежа t.

· Если Х Ì R некоторого отношения, тогда t (Х) можно интерпретировать как вхождение кортежа t в атрибуты, определяемые множеством Х.

Среди атрибутов схемы отношений можно выбрать такое подмножество атрибутов К Ì R, что для любого ti (K) будет выполняться ti (K) ¹tj (K), при i¹j.

· Если К - минимальное подмножество атрибутов из R, то К - ключ отношения.

· Отношение может иметь не единственный ключ. Эти ключи называют возможными ключами.

· Множество ключей, выбранных из всех возможных ключей и определенным образом перечисленных, называют выделенными ключами.

Один из выделенных ключей отношения выбирают в качестве первичного.

· Множество К Ì R называют суперключом, если К содержит любой из возможных ключей для r.

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

Замечание 1:

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

Замечание 2:

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

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

Операции над отношениями

Реляционные операторы

Теоретико-множественные операции над отношениями

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

Для такого представления могут выполняться теоретико-множественные операторы:

Если r и s со схемой R, то

q (R) = r È s- объединение;

q (R) = r Ç s- пересечение;

q (R) = r - s- вычитание;

r Ç s = r - (r - s).

Арность - размерность. Унарный - размерность 1, бинарный - размерность - 2, n - арный - размерность n.

Оператор выбора

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

sF (r) = q

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

Пример:

 
A1 A2 A3
а б в
a е а

 

r q

sF (r): (A1=a) È (A1 =a)
A1

A2 A3
а б в
a е а
и к л

Оператор проекции

Это также унарный оператор над отношением. Отличие от “выбора” - этот оператор выбирает не кортежи, а столбцы.

r (R), XÌ R,

PX (r) = q (X)

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

 

PY (PX (r)) = PY (r)

Пример:

r (A, B, C)Х=(А,В); Y=(А)

A B
а б
d е
и к
а б

 

а) r (A, B, C) ПХ (r) ПY (r)

A
а
d
и

 

A

B C
а б в
d е а
и к л
а б д

 

A
а
d
и
а

 

б) r (A, B, C) ПY (r) ПY (r)

A
а
d
и

 

A

B C
а б в
d е а
и к л
а б д

Оператор декартова произведения

Это бинарный оператор, предназначенный для комбинирования двух отношений.

Пусть r1 отношение арности к1, r2 - к2.

· r = r1 x r2 будет представлять из себя множество кортежей арности к1 + к2 таких, что первые к1 элементов кортежа отношения r составляют кортежи отношения r1, а последующие к2 элемента кортежа из r составляются кортежами из r2. Сочетание кортежей из r1 и r2 при образовании кортежа r осуществляется по правилам декартова произведения.

Пример:

r1 r2 r = r1 x r2

а р
с и

 

а б
с d

 

а

б а р
а б с и
с d а р
с d с и

Оператор естественного соединения отношений

Это бинарный оператор для комбинирования двух отношений.

Пусть r1 (R1) и r2 (R2), где

R1 [A 1, A 2,..., AK, B1, B2,..., Bn ]

R2 [A 1, A 2,..., AK, С1, С2,..., Сm ].

Тогда результатом естественного соединения будет отношение:

r = r1 |> <| r2=

= П

Пример:

1. r1 r2 2. Сначала строим r = r1 x r2

       
 
   
+ +   + + +
 

 


Оператор соединения отношений

Пусть r (R) и s (S), где

R [A 1, A 2,..., Ak]

S [B1, B2,..., Bp].

Тогда оператор соединения отношений:

Ai Q Bj
q(A 1, A 2,..., Ak, B1, B2,..., Bp) = r |> <| s = s Ai Q Bj (r x s),

 

Q- оператор сравнения (=, >, <, ³, £, ¹)

Если Q - “=”, то соединение называется эквисоединением.

Пример:

А В С D E
а б с а и
а б с е к
а и р а и
а и р е к
о е ж а и
о е ж е к

 

1. r s 2. Строим r = r x s

       
 
   
+
 

 


Оператор деления отношений

Пусть r (R) и s (S), где

R [A 1, A 2,..., Ak]

S [B1, B2,..., Bp] и B1 º Ak-p+1,..., Bp º Am. Знак º обозначает эквивалентность.

Тогда оператор:

При этом q будет иметь схему отношений [A 1, A 2,..., Ak-p] и k>p.

Пример:

1. Есть r(A, B, C, D) и s (C, D) 2. ПА,В (r) 3. ПА,В (r) x s

А В C D
и о с а
и о р к
о р с а
о р р к
с к с а
с к р к

 

 

А В
и о
о р
с к

 

 

А В С D
и о р к
о р с а
с к р к
и о с а
с к с а
и о к с

 

 

C D
с а
р к

 

 
 
- - - + - -

 

 


4. ПА,В (r) x s - r 5. ПА,ВА,В(r) x s - r)

       
 
А В C D
о р р к

 

 

   
А В
о р

 

 

 

 

 


6. ПА,В (r) - ПА,ВА,В(r) x s - r) = r ¸ s

 

 
 
А В
и о
с к

 

 

 


Замечание: Результатом деления является множество кортежей, полученных путем выделения начальных частей кортежей из r таких. что продолжением этого кортежа являются кортежи из s. деление может использоваться для поиска информации в БД о том, например, в каких подсистемах используются интересующие нас данные.

Функциональные зависимости

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

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

Пример:

Пусть имеется отношение “Датчик” (шифр_датчика, местоположение, параметр).

Использование такого отношения порождает ряд проблем:

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

2) Потенциальная противоречивость (аномалия обновления) заключается в том. что вследствие избыточности данных может возникнуть ситуация, когда информация о местоположении датчика модифицируется, при этом не во всех кортежах эта модификация производится.

3) Аномалия включения: В БД нельзя внести информацию о датчике, который устанавливается на объект, но временно не задействуется. Это связано с тем, что отсутствующие значения параметров можно отметить каким-либо образом, но если атрибут ключевой, то нарушается ограничение на корректность включения.

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

Перечисленные выше проблемы могут быть решены, если предложить другую схему, состоящую из двух отношений:

- Поставщик_информации (шифр_датчика, параметр);

- Датчик (шифр_датчика, местоположение).

В данном случае местоположение не вносит избыточности в БД.

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

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



Поделиться:


Последнее изменение этой страницы: 2016-12-16; просмотров: 690; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.233.41 (0.221 с.)