Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Kolokvium / KOR_3

.DOC
Скачиваний:
24
Добавлен:
19.04.2013
Размер:
37.89 Кб
Скачать

БАЗА ДАННЫХ

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

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

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

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

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

В предыдущих разделах учебника, по существу, была обо­снована эквивалентность следующих представлений: системы отношений в 1НФ и системы отношений в 4НФ

(3.2);

реляционной и бинарной реляционной моделей данных (3.2);

отношений между СЕИ и веерных отношений в сетевой мо­дели данных (3.3);

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

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

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

Условия, которые необходимо проверить в процессе под­держания целостности данных, называются ограничениями целостности. Рассмотрим типичные ограничения целостности:

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

ограничение целостности в веерном отношении состоит в том, что множества значений ключей СЕИ - владельцев и СЕИ - членов, входящих в различные вееры, не должны пересекать­ся ;

значения некоторых реквизитов должны находиться в оп­ределенном интервале (О < ВОЗРАСТ < 160) либо множест­во допустимых значений невелико (например, у реквизита СЕМЕЙНОЕ ПОЛОЖЕНИЕ);

ограничениями целостности могут служить любые множе­ственные и арифметические отношения - упорядоченность реквизитов, неравенство значений реквизитов (СУММА НА­ЧИСЛЕНО >= СУММА ВЫДАНО), наличие всех значений одного реквизита в множестве значений другого реквизита и т. п.;

динамические ограничения целостности, которые опреде­ляют соотношение между прежними значениями реквизита и его новым (скорректированным) значением. Например, выра­ботка продукции в расчете на одного работающего за год не должна уменьшаться с течением времени;

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

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

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

пользователь А захватывает отношение R;

пользователь В захватывает отношение S;

для продолжения корректировки пользователю А требу­ется отношение S и он попадает в состояние ожидания;

для продолжения корректировки пользователю В требуется отношение R и он попадает в состояние ожидания.

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

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

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

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

Концептуальная модель является формали­зованным описанием полного информационного содержания базы данных.

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

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

Рис. 5.4. Взаимосвязь моделей базы данных

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

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

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

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

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

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

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

Расширение сетевой концептуальной модели в ряде слу­чаев значительно затруднено. Рассмотрим сетевую базу дан­ных о станциях метрополитена. Допустим, что взаимный по­рядок станций на линии метрополитена совпадает с последо­вательностью записей СЕИ (каждая запись описывает одну станцию). Если требуется дополнить модель сведениями о рас­стояниях между соседними станциями, то возможны два реше­ния. Первое - добавить в СЕИ новый реквизит РАССТОЯ­НИЕ ДО СЛЕДУЮЩЕЙ СТАНЦИИ. Тогда при вычислении расстояния между станциями надо предварительно найти ранее расположенную станцию и сформировать пары станций с ука­занием расстояния между ними, что создаст избыточную ин­формацию по отношению к уже имеющейся СЕИ. В реляцион­ной модели, не содержащей понятия упорядоченности, тре­буемая информация выражается только указанием пар сосед­них станций, и добавление расстояний между ними являет­ся очень простой операцией, сводящейся к включению в струк­туру отношения нового реквизита. Выполнение запросов к сетевой концептуальной модели в реализованных системах обычно занимает меньше времени по сравнению с реляцион­ной моделью. Совершенствование структур данных и методов доступа к ним может изменить это соотношение.

Рассмотрим формирование концептуальной модели из двух заранее известных внешних моделей А и В, структура которых показана на рис. 5.5 (используются следующие обо­значения: КЗ - код заказа; КИ - код изделия; КП - код поставщика; ИЛ - имя поставщика; АП - адрес поставщи­ка; НАИ - наименование изделия; К - количество изделий на складе; ЗК - заказанное количество изделий; Ц - цена изделия по данному заказу; ДЗ - дата заказа; ДП - дата поставки; И - итоговая сумма заказа).

Рис. 5.5. Диаграмма функциональных зависима стай для внешних моделей данных А и В

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

Совмещение внешних моделей А и В основано на включении в модель А реквизитов и функциональных зависимостей, имеющихся в В и отсутствующих в А. В рассматриваемом случае - это реквизит К. Отсутствие в модели В реквизита КП не приводит к появлению новых функциональных зависи­мостей и в получаемой концептуальной модели, так как связь КЗ®ИП присутствует в модели А согласно теоремам Арм­стронга. Результат совмещения моделей А и В показан на рис. 5.6 сплошными стрелками. Пунктирные стрелки показы­вают расширение концептуальной модели дополнительными сведениями, которые могут потребоваться для новых внешних моделей (СП - спецификация поставщика; СИ - специфика­ция изделия; СО - сумма оплаты изделий поставщикам).

Рис. 5.6. Диаграмма функциональных зависимо­стей концептуальной модели данных, объединяю­щей представления внешних моделей А и В

Окончательный вид концептуальной модели для рассмат­риваемого примера приведен на рис. 5.6. Реляционное пред­ставление модели содержит следующие отношения в ЗНФ:

R1 (КЗ, КИ, ЗК, Ц);

R2 (КП, КИ, СО);

RЗ (КЗ, КП, ДЗ, ДП, И);

R4(КП, ИЛ, АП, СП);

R5 (КИ, НАИ, СИ, К).

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

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

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