Для чего она используется целостность данных
СОДЕРЖАНИЕ
Типы целостности
Физическая целостность
Логическая целостность
Как физическая, так и логическая целостность часто имеют много общих проблем, таких как человеческие ошибки и недостатки проектирования, и оба должны соответствующим образом обрабатывать параллельные запросы на запись и извлечение данных, последний из которых является полностью самостоятельной темой.
Если в секторе данных есть только логическая ошибка, его можно использовать повторно, перезаписав его новыми данными. В случае физической ошибки затронутый сектор данных навсегда становится непригодным для использования.
Базы данных
Типы ограничений целостности
Целостность данных обычно обеспечивается в системе баз данных с помощью ряда ограничений или правил целостности. Три типа ограничений целостности являются неотъемлемой частью реляционной модели данных: целостность объекта, ссылочная целостность и целостность домена.
Если база данных поддерживает эти функции, она несет ответственность за обеспечение целостности данных, а также за модель согласованности для хранения и извлечения данных. Если база данных не поддерживает эти функции, приложения несут ответственность за обеспечение целостности данных, в то время как база данных поддерживает модель согласованности для хранения и поиска данных.
Наличие единой, хорошо контролируемой и четко определенной системы целостности данных увеличивает
Современные базы данных поддерживают эти функции (см. Сравнение систем управления реляционными базами данных ), и де-факто ответственность за обеспечение целостности данных стала возложена на базу данных. Компании и многие системы баз данных предлагают продукты и услуги для переноса устаревших систем на современные базы данных.
Примеры
Примером механизма целостности данных являются отношения между родителями и потомками связанных записей. Если родительская запись владеет одной или несколькими связанными дочерними записями, все процессы ссылочной целостности обрабатываются самой базой данных, что автоматически обеспечивает точность и целостность данных, так что ни одна дочерняя запись не может существовать без родительской записи (также называемой осиротевшей) и что ни один родитель не теряет свои дочерние записи. Это также гарантирует, что никакая родительская запись не может быть удалена, пока родительская запись владеет какими-либо дочерними записями. Все это обрабатывается на уровне базы данных и не требует проверки целостности кода в каждом приложении.
Файловые системы
Целостность данных
Типы целостности
Физическая целостность
Логическая целостность
Как физическая, так и логическая целостность часто имеют много общих проблем, таких как человеческие ошибки и недостатки проектирования, и оба должны соответствующим образом обрабатывать параллельные запросы на запись и извлечение данных, последний из которых является полностью самостоятельной темой.
Если в секторе данных есть только логическая ошибка, его можно использовать повторно, перезаписав его новыми данными. В случае физической ошибки затронутый сектор данных навсегда становится непригодным для использования.
Базы данных
Типы ограничений целостности
Целостность данных обычно обеспечивается в системе баз данных с помощью ряда ограничений или правил целостности. Три типа ограничений целостности являются неотъемлемой частью реляционной модели данных: целостность объекта, ссылочная целостность и целостность домена.
Если база данных поддерживает эти функции, она несет ответственность за обеспечение целостности данных, а также за модель согласованности для хранения и извлечения данных. Если база данных не поддерживает эти функции, приложения несут ответственность за обеспечение целостности данных, в то время как база данных поддерживает модель согласованности для хранения и поиска данных.
Наличие единой, хорошо контролируемой и четко определенной системы целостности данных увеличивает
Современные базы данных поддерживают эти функции (см. Сравнение систем управления реляционными базами данных ), и де-факто ответственность за обеспечение целостности данных стала возложена на базу данных. Компании и многие системы баз данных предлагают продукты и услуги для переноса устаревших систем на современные базы данных.
Примеры
Примером механизма целостности данных являются отношения между родителями и потомками связанных записей. Если родительская запись владеет одной или несколькими связанными дочерними записями, все процессы ссылочной целостности обрабатываются самой базой данных, что автоматически обеспечивает точность и целостность данных, так что ни одна дочерняя запись не может существовать без родительской записи (также называемой осиротевшей) и что ни один родитель не теряет свои дочерние записи. Это также гарантирует, что никакая родительская запись не может быть удалена, пока родительская запись владеет какими-либо дочерними записями. Все это обрабатывается на уровне базы данных и не требует проверки целостности кода в каждом приложении.
Файловые системы
Целостность данных
Целостность данных — термин в информатике и теории телекоммуникаций, который означает, что данные полны, условие того, что данные не были изменены при выполнении любой операции над ними, будь то передача, хранение или представление.
В телекоммуникации целостность данных часто проверяют, используя MAC-код сообщения (Message authentication code).
В криптографии и информационной безопасности целостность данных в общем — это данные в том виде, в каком они были созданы. Примеры нарушения целостности данных:
В теории баз данных целостность данных означает корректность данных и их непротиворечивость. Обычно она также включает целостность связей, которая исключает ошибки связей между первичным и вторичным ключом. К примеру, когда существуют дочерние записи-сироты, которые не имеют связи с родительскими записями.
Пример проверки целостности данных в криптографии — это использование хеш-функции, к примеру MD5. Такая функция преобразует совокупность данных в последовательность чисел. Если данные изменятся, то и последовательность чисел, генерируемая хеш-функцией тоже изменится.
Целостность данных — свойство, при выполнении которого данные сохраняют заранее определённый вид и качество.
cs:Integrita dat da:Dataintegritet de:Konsistenz (Datenbank) en:Data integrity eo:Integreco (kriptografio) es:Integridad de datos fr:Intégrité (cryptographie) he:עקביות (פסיכולוגיה) hu:Adatintegritás it:Integrità dei dati ja:データ完全性 nl:Integriteit (informatiebeveiliging) pl:Integralność danych simple:Data integrity sv:Konsistens
Что означает целостность данных?
Целостность данных означает систему правил, используемых в Microsoft Access для поддержания связей между записями в связанных таблицах, а также обеспечивает защиту от случайного удаления или изменения связанных данных. Установить целостность данных можно, если выполнены следующие условия:
· Связанное поле главной таблицы является ключевым полем или имеет уникальный индекс.
Рис. 12. Окно Схема данных
· Связанные поля имеют один тип данных. Здесь существует два исключения. Поле счетчика может быть связано с числовым полем, если в последнем в свойстве Размер поля (Field Size)указано значение Длинное целое, а также поле счетчика можно связать с числовым полем, если и в обеих ячейках свойства Размер поля (Field Size) задано значение Код репликации (Replication ID).
· Обе таблицы принадлежат одной базе данных Microsoft Access. Если таблицы являются связанными, то они должны быть таблицами Microsoft Access. Для установки целостности данных база данных, в которой находятся таблицы, должна быть открыта. Для связанных таблиц из баз данных других форматов установить целостность данных невозможно.
Установив целостность данных, необходимо придерживаться следующих правил:
· Невозможно ввести в поле внешнего ключа связанной таблицы значение, не содержащееся в ключевом поле главной таблицы (в таблицу Заказы нельзя занести запись с номером клиента, не имеющегося в таблице Клиенты). Однако в поле внешнего ключа возможен ввод пустых значений, показывающих, что записи не являются связанными. Например, нельзя сохранить запись, регистрирующую заказ, сделанный несуществующим клиентом, но можно создать запись для заказа, который пока не отнесен ни к одному из клиентов, если ввести пустое значение в поле Код клиента.
· Не допускается удаление записи из главной таблицы, если существуют связанные с ней записи в подчиненной таблице. Например, невозможно удалить запись из таблицы Клиенты, если в таблице Заказы имеются заказы, относящиеся к данному клиенту.
· Невозможно изменить значение ключевого поля в главной таблице, если существуют записи, связанные с данной. Например, невозможно изменить код сотрудника в таблице Клиенты, если в таблице Заказы имеются заказы, относящиеся к этому клиенту.
Чтобы наложить эти правила на конкретную связь, при ее создании следует установить флажок Inforce Referential Integrity (Обеспечение целостности данных)(рис. 13).
Чтобы преодолеть ограничения на удаление или изменение связанных записей, сохраняя при этом целостность данных, следует установить флажкиCascade Update Related Fields (Каскадное обновление связанных полей) и Cascade Delete Related Records (Каскадное удаление связанных полей).Если установлен флажок Каскадное обновление связанных полей,то при изменении ключевого поля главной таблицы автоматически изменяются и соответствующие значения связанных записей. Если установлен флажок Каскадное удаление связанных полей,то при удалении записи в главной таблице удаляются и все связанные записи в подчиненной таблице.
Рис. 13. Установка целостности данных
Использование связанных таблиц. Способы объединения данных из нескольких таблиц в запросе.Запросы удобно использовать для объединения или выполнения действий над данными, расположенными в нескольких таблицах или запросах. Например, необходимо просмотреть данные о клиенте, а также заказы, которые он разместил. Для получения этих сведений нужно получить данные из таблиц Клиенты и Заказы.
При добавлении в запрос нескольких таблиц или запросов следует убедиться, что их списки полей соединены друг с другом линией объединения, что позволяет Microsoft Access определить тип объединения.
Если таблицы в запросе не соединены прямо или косвенно друг с другом, то для Microsoft Access остается неизвестным, какие записи связаны с какими и на экране отображаются все комбинации записей между двумя таблицами (это называется «полное объединение» или «декартово произведение»). Таким образом, если таблица содержит 10 записей, то в результате запроса будет 100 записей (10 × 10). Также время выполнения запроса очень увеличится, а полученные в конечном счете результаты будут не столь значительны.
Если же ранее в окне Схема данных были созданы связи между таблицами, то при добавлении связанных таблиц в режиме конструктора линии объединения выводятся на экран автоматически. Если необходима целостность данных, то над линией объединения автоматически отображается цифра «1», означающая, что таблица находится на стороне «один» в отношении связей «один ко многим», а также знак целостности для указания таблиц, находящихся на стороне «многие».
Используя связанные таблицы в запросе, можно построить и выполнить любой тип запроса.
1. Необходимо построить запрос, показывающий, какие заказы сделала Лагутина Ольга. В данном запросе нужно использовать данные из двух таблиц. Для построения такого запроса выполните следующие шаги:
· В окне База данныхактивизируйте вкладку Queries (Запросы)и нажмите кнопку New (Создать).
· В окне Новый запросвыберите Design View (Конструктор).
· В следующем окне выберите таблицы КлиентыиЗаказыи нажмите кнопку Close (Закрыть).
· В окне построения запроса из таблицы Клиентынужно выбрать поля Фамилия и Имя, а из таблицы Заказы – поле Описание товара.
· Для поля Фамилияустановите условие отбора (введите фамилию Лагутина).
· Запустите запрос на выполнение.
2. Построить запрос, показывающий фамилию, имя и адрес клиентов, заказавших муку в количестве более 30 мешков. Для построения такого запроса выполните следующее:
· В окне База данныхактивизируйте вкладку, установите условие отбора (Мука).
· Для поля Количествоустановите условие отбора (> 30).
3. Необходимо подсчитать количество муки, заказанной клиентами, проживающими в Камышине. Выполните следующие шаги:
· В окнеБаза данных активизируйте вкладку Запросыи нажмите кнопку Создать.
· В окне Новый запросвыберите Конструктор.
· В следующем окне выберите таблицы Клиентыи Заказыи нажмите кнопку Закрыть.
· В окне построения запроса из таблицы Клиентынужно выбрать поле Город, а из таблицы Заказы – поля Описание товара и Количество.
· Установите условие отбора для поля Город(Камышин), а для поля Описание товара – мука.
· Нажмите кнопку Totals (Групповые операции)на панели инструментов.
· В строке Total (Групповая операция)для поля Количествоиз списка выберите Sum.
Целостность информации
В криптографии и информационной безопасности целостность данных в общем — это данные в том виде, в каком они были созданы, например, изменение номер аккаунта в банковской транзакции, подделка документа, случайное изменение при передаче информации или при неисправной работе жесткого диска.
Проверка целостности данных может быть осуществлена использованием хеш-функции, к примеру MD5. Такая функция преобразует совокупность данных в последовательность чисел. Если данные изменятся, то и последовательность чисел, генерируемая хеш-функцией тоже изменится.
В теории баз данных целостность данных означает корректность данных и их непротиворечивость. Обычно она также включает целостность связей, которая исключает ошибки связей между первичным и вторичным ключом. К примеру, когда существуют дочерние записи-сироты, которые не имеют связи с родительскими записями.
Главная особенность SQL-технологий наличие у сервера СУБД специальных средств контроля целостности данных, не зависящих от клиентских программ и привязанных непосредственно к таблицам. Т.е. принципиально не важно, каким образом осуществляется доступ к базе данных: через SQL-консоль, через ODBC-драйвера из приложения Windows, через WWW-connector из Internet-браузера или через DBI-интерфейс Perl. В любом из этих случаев, за контролем целостности данных следит сервер, и при нарушении правил целостности данных сервер известит клиента об ошибке.
Обеспечение целостности данных гарантирует качество данных в таблице. Например, если уникальной записи присвоен идентификатор 123, база данных не должна позволять другим записям иметь такое же значение идентификатора. Если существует столбец, в котором значения должны находиться в диапазоне от 1 до 5, база данных не должна сохранять в нем значения, лежащие вне этого диапазона. Если в таблице есть столбец, в котором хранятся номера, то база данных должна воспринимать только те значения, которые допустимы в качестве номеров.
Целостность данных подразделяется на следующие категории.
Сущностная целостность определяет строку как уникальную сущность в конкретной таблице. Она обеспечивает целостность столбцов идентификаторов или первичного ключа таблицы с помощью индексов и ограничений UNIQUE или PRIMARY KEY.
Доменная целостность — это достоверность записей в конкретном столбце. Она включает ограничения типа данных, ограничения формата при помощи ограничений CHECK и правил, а также ограничения диапазона возможных значений при помощи ограничений FOREIGN KEY, CHECK, DEFAULT, определений NOT NULL и правил.
Ссылочная целостность сохраняет определенные связи между таблицами при добавлении или удалении строк. В SQL Server ссылочная целостность основана на связи первичных и внешних ключей (либо внешних и уникальных ключей) и обеспечивается с помощью ограничений FOREIGN KEY и CHECK. Ссылочная целостность гарантирует согласованность значений ключей во всех таблицах. Этот вид целостности требует отсутствия ссылок на несуществующие значения, а также обеспечивает согласованное изменение ссылок во всей базе данных при изменении значения ключа.
При обеспечении ссылочной целостности SQL Server не допускает следующих действий пользователей: