Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Экзаменационный билет n 15




 

1. Ограничения целостности. Понятие и классификация.

 

Обеспечение целостности данных является важнейшей задачей при проектировании и эксплуатации систем обработки данных (СОД).

«Проблема целостности состоит в обеспечении... правильности данных в базе данных в любой момент времени» [14]. Целостность — актуальность и непротиворечивость информации, ее защищенность от разрушения и несанкционированного изменения.

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

Рис. 4.1. Общая схема классификации ограничений целостности

1. Поле. Для него чаще всего используются следующие виды ограничений.

1.1. Тип и формат поля. Тип поля определяет допустимые для данного поля символы, а иногда и более жесткие ограничения на допустимые значения (как, например, для полей типа дата или логическое).

1.2. Задание диапазона значений. Обычно используется для числовых полей.

1.2.1. Различают односторонние и двусторонние диапазоны. Первые фиксируют значение только одной из границ (верхней или нижней), вторые - обеих границ. Так, например, до определенного времени в нашей стране ограничивался как нижний, так и верхний предел заработной платы. Это пример двустороннего закрытого диапазона. Затем ограничение по верхнему пределу было снято: заработная плата не может быть меньше установленного минимума, но максимальное ее значение законодательно не определено — ограничение стало односторонним.

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

1.3. Признак непустого поля. Характеризует недопустимость пустого значения поля в БД. Так, например, в таблице, содержащей сведения о сотрудниках, поля «Фамилия», «Имя», «Отчество», «Оклад» должны обязательно иметь какое-то значение, а у поля «Ученая_степень» значение может отсутствовать.

1.4. Задание домена. Поле может принимать значение из заданного множества. Множество возможных значений какого-либо атрибута называется доменом. Домен может задаваться перечислением входящих в него значений (например, значением поля «Пол» может быть только либо «мужской» либо «женский»; значением поля «Должность» для профессорско-преподавательского состава может быть: «ассистент», «старший преподаватель», «доцент» и «профессор») или алгоритмом вычисления допустимых значений (как это обычно происходит для полей типа «Дата»). Последний из приведенных примеров свидетельствует не только о возможностях СУБД по поддержанию целостности данных, но и о важности процедуры выбора типа данных при проектировании баз данных.

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

1.6. Очень важным видом ограничений целостности являются функциональные зависимости. Информацию об имеющих место в данной предметной области функциональных зависимостях можно извлечь из инфологической модели (см. разд. 4.2). Эта информация используется и при проектировании базы данных, и для контроля целостности при ее функционировании. Если БД спроектирована правильно, т.е. она находится в 4-й нормальной форме, то, определяя ключи и вероятные ключи отношений, тем самым определяются и имеющиеся функциональные зависимости между атрибутами.

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

2. Кортеж (запись, строка). Здесь имеются в виду ограничения на соотношения значений отдельных полей в пределах одной строки. В качестве ограничения на соотношения полей внутри одного кортежа можно привести следующее: значение поля «Стаж» не должно превышать [«Возраст» - 16] (предполагается, что трудовой стаж человека начинается не ранее чем в 16 лет).

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

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

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

4.2. Разновидностью ограничения целостности связи является ограничение по существованию, заключающееся в том, что для существования объекта в отношении S1 необходимо, чтобы он был связан с объектом в отношении S2.

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

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

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

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

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

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

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

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

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

13. Различают логическую и физическую целостность БД. Логическая целостность - состояние БД, характеризующееся отсутствием нарушений ограничений целостности, присущих логической модели данных (т.е. неявных ограничений), и явных ограничений, заданных декларативным или процедурным путем. Выше речь шла именно о логической целостности. Физическая целостность отсутствие нарушений спецификаций схемы хранения, а также физических разрушений данных на носителе.

 

2. Совместная обработка таблиц в табличных языках запросов.

 




Поделиться с друзьями:


Дата добавления: 2015-04-24; Просмотров: 756; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.019 сек.