Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


ОБЕСПЕЧЕНИЕ ЦЕЛОСТНОСТИ БАЗЫ ДАННЫХ



 

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

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

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

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

Для полей (атрибутов) используются следующие виды ограничений:

· Тип и формат поля (автоматически допускают ввод только данных определенного типа).

· Задание диапазона значений. Данное ограничение используется обычно для числовых полей. Различают открытые и закрытые диапазоны: первые фиксируют значение только одной из границ, вторые – обеих границ.

· Недопустимость пустого поля. Ограничение позволяет избежать появления в БД «ничейных» записей, в которых пропущены какие-либо обязательные данные, например: поле «ФИО» должно обязательно иметь значение, а у поля «ученая степень» значение может отсутствовать.

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

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

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

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

Что касается ограничения целостности, относящегося к кортежам, то здесь имеется в виду либо ограничение на значение всей строки, рассматриваемой как единое целое (естественным ограничением является требование уникальности каждой строки таблицы), либо ограничения на соотношения значений отдельных полей в пределах одной строки (например, значение поля «стаж» не должно превышать «возраст»).

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

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

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

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

Своеобразным видом ограничения является запрет на обновление. Он может относиться и к отдельному полю, и ко всей записи, и к целой таблице. Например, не могут меняться значения таких полей, как «Дата рождения», «Место рождения»; или пусть имеется таблица «Поощрения» с полями: «Табельный номер сотрудника», «Вид поощрения», «Дата», - в такую таблицу записи могут только добавляться, а изменяться не могут.

В рассматриваемом примере наблюдается также ограничение по существованию между таблицей «Поощрения» и таблицей «Сотрудники»: табельный номер в таблице «Поощрения» должен обязательно присутствовать в таблице «Сотрудники»; при удалении записи в таблице «Сотрудники» все связанные с ней записи в таблице «Поощрения» также должны быть удалены.

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

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

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

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

Резюме. Задание ограничений целостности и их проверка являются важной частью проектирования и функционирования БнД. При проектировании БнД необходимо изучить, какие возможности по контролю целостности предоставляет используемая СУБД. Если СУБД автоматически не поддерживает нужное ограничение, то обеспечение его соблюдения становится заботой проектировщика.

 

Тесты для самоконтроля

 

 


1. Утверждения о допустимых значениях отдельных информационных единиц и связях между ними называют:

а) ограничениями перехода;

б) ограничениями целостности связи;

в) ограничениями целостности.

2. Ограничения целостности:

а) определяются в основном особенностями предметной области;

б) предназначены для отражения чисто информационных характеристик;

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

3. Могут не соблюдаться в процессе выполнения какой-либо группы операций, но обязаны быть соблюдены по завершении этой группы операций:

а) отложенные ограничения;

б) ограничения перехода;

в) явные ограничения.

4. К классу синтаксических ограничений относятся:

а) ограничения целостности связи;

б) неявные ограничения;

в) ограничения перехода.

5. Понятие транзакции связано с понятием:

а) отложенного ограничения;

б) одномоментного ограничения;

в) явного ограничения.

6. По способу задания ограничения разделяют:

а) на одномоментные и отложенные;

б) на синтаксические и семантические;

в) на явные и неявные.

7. Обеспечение соблюдения ограничений целостности:

а) является заботой пользователя;

б) является заботой проектировщика;

в) является функцией СУБД.

8. Ограничения целостности являются важной компонентой:

а) даталогической модели;

б) базы данных;

в) инфологической модели.

НАСТОЛЬНЫЕ СУБД

 

На сегодняшний день известно более двух десятков форматов данных настольных СУБД, однако наиболее популярными, исходя из числа проданных копий, считаются dBase, Раrаdох, FoxPro и Access. Отмечают также СУБД Microsoft Data Engine – по существу серверную СУБД, представляющую собой «облегченную» версию Microsoft SQL Server, но предназначенную для использования главным образом в настольных системах и небольших рабочих группах.

Сведения о производителях перечисленных выше СУБД представлены в табл. 9.1.

Таблица 9.1

 

СУБД Производитель
Visual dBase DBase, Inc
Paradox Corel
Microsoft Access 2000 Microsoft
Microsoft FoxPro Microsoft
Microsoft Visual FoxPro Microsoft
Microsoft Visual FoxPro Microsoft
Microsoft Data Engine Microsoft

 

Далее каждая из этих СУБД рассматривается в отдельности.

 

DBase и Visual dBase

 

Первая промышленная версия СУБД dBasedBase II появилась в начале 80-х годов. Благодаря простоте в использовании, нетребовательности к ресурсам компьютера и, что не менее важно, грамотной маркетинговой политике компании-производителя, этот продукт приобрел немалую популярность, а с выходом следующих его версий – dBase III и dBase III Рlus (1986 г.), оснащенных весьма комфортной по тем временам средой разработки и средствами манипуляции данными, быстро занял лидирующие позиции среди настольных СУБД и средств создания использующих их приложений.

Хранение данных в dBase основано на принципе «одна таблица – один файл» (эти файлы обычно имеют расширение *.dbf). МЕМО – поля и ВLОВ – поля (доступные в поздних версиях dBase) хранятся в отдельных файлах (обычно с расширением *.dbt). Индексы для таблиц также хранятся в отдельных файлах.

Формат данных dBase является открытым, что позволило ряду других производителей заимствовать его для создания dBase-подобных СУБД, частично совместимых с dBase по форматам данных.

Помимо популярного формата данных dBase является родоначальником и некогда популярного семейства языков программирования, получившего название хВаsе. Однако для работы с данными формата dBase (или иных dBase-подобных СУБД) совершенно необязательно пользоваться диалектами хВаsе. Доступ к этим данным возможен с помощью ОDВС АРI (и соответствующих драйверов) и некоторых других механизмов доступа к данным.

После покупки dBase компанией Borland этот продукт, получивший впоследствии название Visual dBase, приобрел набор дополнительных возможностей, характерных для средств разработки этой компании, и для имевшейся у нее другой настольной СУБД – Раrаdох. Среди этих возможностей можно отметить специальные типы полей для графических данных, поддерживаемые индексы, хранение правил ссылочной целостности внутри самой базы данных, а также возможность манипулировать данными других форматов, в частности серверных СУБД, за счет использования ВDЕ АРI и SQL Links.

В настоящее время Visual dBase принадлежит компании dBase, Inс. Его версия – Visual dBase 7.5 имеет следующие возможности:

· средства манипуляции данными dBase и FoxPro всех версий;

· средства создания форм, отчетов и приложений;

· средства публикации данных в Internet и создания Web-клиентов;

· ядро доступа к данным Аdvantage Database Server фирмы Extended Systems и ОDВС - драйвер для доступа к данным этой СУБД;

· средства публикации отчетов в Web;

· средства визуального построения запросов;

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

В настоящее время к Visual dBase в качестве дополнения может быть приобретен компонент dСоnnections, позволяющий осуществить доступ к данным Оracle, Sybase, Informix, МS SQL Server, DB2, InterBase из Visual dBase 7.5 и приложений, созданных с его помощью.

Компания DBase, Inс объявила также о проекте dBASE Open Source, целью которого является разработка сообществом пользователей dBase новых компонентов и классов с целью включения их в последующую версию dBase (получившую название dBase 2000). Иными словами, имеется тенденция превращения dBase (или его частей) в некоммерческий продукт с доступными исходными текстами.

 

Рarаdох

 

Раrаdох был разработан компанией Аnsa Software, и первая его версия увидела свет в 1985 году. Этот продукт был впоследствии приобретен компанией Воrland. С июля 1996 года он принадлежит компании Соrеl и является составной частью Соrеl 0ffice Professional.

В конце 80-х - начале 90-х годов Раrаdох, принадлежавший тогда компании Воrland International, был весьма популярной СУБД, в том числе и в нашей стране.

Принцип хранения данных в Раrаdох сходен с принципами хранения данных в dВаsе – каждая таблица хранится в своем файле (расширение *.db), МЕМО- и ВLOB-поля хранятся в отдельном файле (расширение *.md), как и индексы (расширение *.рх). Однако, в отличие от dBase, формат данных Раrаdох не является открытым, поэтому для доступа к данным этого формата требуются специальные библиотеки.

Отсутствие «открытости» формата данных имеет свои достоинства. Так как в этой ситуации доступ к данным осуществляется только с помощью «знающих» этот формат библиотек, простое редактирование подобных данных по сравнению с данными открытых форматов типа dBase существенно затруднено. В этом случае возможны такие недоступные при использовании «открытых» форматов данных сервисы, как защита таблиц и отдельных полей паролем, хранение некоторых правил ссылочной целостности в самих таблицах – все эти сервисы предоставляются Раrаdох, начиная с первых версий этой СУБД.

По сравнению с аналогичными версиями dВаsе ранние версии Раrаdох обычно предоставляли разработчикам баз данных существенно более расширенные возможности, такие как использование деловой графики в DOS-приложениях, обновление данных в приложениях при многопользовательской работе, визуальные средства построения запросов, на основе интерфейса QВЕQuery by Ехаmрlе, средства статистического анализа данных, а также средства визуального построения интерфейсов пользовательских приложений с автоматической генерацией кода на языке программирования РАL (Paradox Аррlication Language).

Windows-версии СУБД Раrаdох, помимо перечисленных выше сервисов, позволяют также манипулировать данными других форматов, в частности dВаsе и данными, хранящимися в серверных СУБД. Что же касается базового формата данных, используемого в этом продукте, то он обладает теми же недостатками, что и все форматы данных настольных СУБД, и поэтому при возможности его стараются заменить на серверную СУБД, даже сохранив сам Раrаdох как средство разработки приложений и манипуляции данными.

Версия данной СУБД – Раrаdох 9, поставляется в двух вариантах – Раrаdох 9 Standalone Edition и Раrаdох 9 Developer’s Edition. Первый из них предназначен для использования в качестве настольной СУБД и входит в Соrеl Оffice Professional, второй – в качестве как настольной СУБД, так и средства разработки приложений и манипуляции данными в серверных СУБД. Обе версии содержат:

· средства манипуляции данными Раrаdох и dBase;

· средства создания форм, отчетов и приложений;

· средства визуального построения запросов;

· средства публикации данных и отчетов в Internet и создания Web-клиентов;

· Cоrеl Web – сервер;

· ОDВС – драйвер для доступа к данным формата Раrаdох из Windows-приложений;

· средства для доступа к данным формата Раrаdох из Java-приложений.

Помимо этого, Раrаdох 9 Developer’s Edition содержит:

· Runtime - версию Раrаdох для поставки вместе с приложениями;

· средства создания дистрибутивов;

· драйверы SQL Links для доступа к данным серверных СУБД.

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

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-13; Просмотров: 2062; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.038 с.)
Главная | Случайная страница | Обратная связь