sonyps4.ru

Что означает свойство целостности бд. Целостность базы данных

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

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

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

Два уровня представления данных: Физические данные – это данные, хранящиеся в памяти ЭВМ, на ее запоминающих устройствах. Для долговременного хранения больших объемов данных используется вторичная память (внешние запоминающие устройства – ВЗУ). Логическое представление данных соответствует пользовательскому представлению о данных. Логическое представление отражает существующие взаимосвязи между элементами данных.

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

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

Модель данных состоит из трех компонентов :

структура данных , представляющая точку зрения пользователя на БД;

допустимые операции , выполняемые на определенной структуре данных;

ограничения для контроля целостности данных.

Целостность БД означает поддержание данных в ней в таком состоянии, когда все значения данных «правильны» (отражают состояние реального объекта в пределах заданных ограничений по точности и временнόй согласованности) и подчиняются правилам взаимной непротиворечивости

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

При использовании реляционного подхода к созданию БД основными свойствами СУБД являются следующие:

– вся информация в БД представлена в виде таблиц;

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

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

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

Атрибут – это информационное отображение отдельного свойства некоторого объекта. Атрибут характеризуется именем и значением. Имя используется в качестве условного обозначения при обработке данных. Значение атрибута – это величина, характеризующая некоторое свойство объекта при конкретных обстоятельствах. Каждое значение принадлежит определенному типу (число, текст и т.п.).

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

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

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

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

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

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

Существуют различные типы отношений:

1. Один-ко-многим (1:N ): единственной записи в первой таблице может соответствовать несколько записей во второй таблице;

2. Многие-ко-многим (N:N ): записям в первой таблице может соответствовать несколько записей во второй и наоборот – каждой записи из второй таблицы может соответствовать множество записей в первой таблице;

3. Один-к-одному (1:1): каждой записи в одной таблице соответствует одна запись во второй.

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

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

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

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

В мире существует множество систем управления базами данных. Несмотря на то, что они могут по разному работать с разными объектами и предоставляют пользователю различные функции и средства, большинство СУБД опираются на единый устоявшийся комплекс основных понятий. Это дает нам возможность рассмотреть одну систему и обобщить ее понятия, приемы и методы на весь класс СУБД В качестве такого учебного объекта мы выберем СУБД Мiсrоsоft Access, входящую в пакет Мiсrоsоft .

Конец работы -

Эта тема принадлежит разделу:

Информационные технологии

Экзамен будет состоять тест по теории контрольное практическое задание по правовым системам.. На практическом задании по правовым системам надо будет.. Найти документ..

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

Цели внедрения информационных технологий
Основная цель ИТ (информационных технологий) - в результате целенаправленных действий по переработке первичной информации получить необходимую для пользовате

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

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

Понятие информационной системы
Следует отметить, что в современной науке вообще и в юридической в частности нет единого подхода к определению информационной системы. Еще в 1960 г. Д.А. Керимов высказал м

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

Информация, ее виды, свойства и роль в ИТ
Определение: Информация – это любые сведения и данные, отражающие св-ва объектов в природных, социальных, технических системах и передаваемые звуковыми, графическими или иными

Свойства информации
Итак, информация является динамическим объектом, образующимся в момент взаимодействия объективных данных и субъективных методов. Как и всякий объект, она обладает свойствами (объекты различимы п

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

Точность информации
Рассматривается степень близости полученной информации к реальному состоянию объекта. Атрибутивные свойства - это те свойства, которые отображают внутреннюю при

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

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

Типы данных
Базы данных Мiсrosоft Access работают со следующими типами данных: · Текстовый - тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 симв

Объекты базы данных
Основные типы объектов рассмотрим на примере СУБД Мiсrоsоft Access. В версии Мiсrоsоft Access2000 эта СУБД позволяет создавать и использовать объекты семи различных типов. Таблицы

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

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

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

Понятие глобальной сети. Понятие Интернет
В настоящее время компьютерные сети выходят за пределы ЛВС и вырастают в глобальные компьютерные сети(ГВС), охватывая целые страны и континенты. Самые первые типы л

Способы передачи информации, коммутация в сетях
Передача данных в сетях производится следующими традиционными методами: коммутацией каналов, коммутацией сообщений и коммутацией пакетов. Коммутация – это метод

Компьютерные сети
Решать задачи общения, получения и передачи данных, совместного использования компьютерных ресурсов позволяют компьютерные сети. Компьютерная сеть - это комплекс аппаратных и программных сре

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

Адреса компьютеров в Интернет
Каждому компьютеру, постоянно или временно подключенному к Интернет, присваивается уникальный номер, который называют IP-адресом. Это число длиной 32 бита, которое представл

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

Модуль индексирования
Модуль индексирования состоит из трех вспомогательных программ (роботов): Spider (паук) – программа, предназначенная для скачивания веб-страниц. «Паук» обеспечивает скачивание страницы и и

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

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

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

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

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

Браузеры. MS Internet Explorer
Программа-клиент, которая обеспечивает доступ к информационным ресурсам Интернет, называется браузер (англ. browse - просматривать, листать) или обозреватель. Существует несколько видов бр

Веб-страница - гипермедиа документ
WWW состоит из множества взаимосвязанных документов - веб-страниц. Связь осуществляется при помощи гиперссылок (или короче - ссылок). При наведении курсора мыши на ссылку, он принимает вид “выбор с

Структура веб-страницы
Для создания веб-страниц используется гипертекстовый язык описания документов - HTML (Hyper Text Markup Language). Это язык програм

Путешествие по WWW
Для работы с WWW используются: · Панель Адресная строка- переход к новому сайту. · Панель инструментов - работа с полученными данными. · Элементы веб-стр

Адреса электронной почты
Электронная почта (E-mail от англ. Electronic mail) является основным видом сетевых услуг. Обмен сообщениями реализуется через систему почтовых серверов. Для каждого пользователя на

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

Блокировка возможных атак
Для блокировки атак используются: · Антивирусные программы. Вирус можно получить вместе с каким-либо файлом со страниц WWW, с электронной почтой или с сообщением в режиме реальног

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

Первый сетевой вирус
Как известно, прототипом Интернета является сеть Пентагона. Считается, что первый сетевой вирус Creeper появился здесь. Та программа, которая там выступала в качестве вируса, могла сама выйти в сет

Коды некоторых стран в доменных именах
Код страны Страна AM Армения AQ Антарктида

Определения к экзамену
1. Информационные технологии 2. Процесс 3. Инструментарий информационных технологий 4. Основные компоненты информационной технологии обработки данных (сбор данных, обрабо

Выполнение операторов модификации данных в таблицах базы данных INSERT , DELETE и UPDATE может привести к нарушению целостности данных и их корректности, т.е. к потере их достоверности и непротиворечивости.

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

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

  • обязательные данные;
  • ограничения для доменов полей;
  • корпоративные ограничения;
  • целостность сущностей;
  • ссылочная целостность .

Обязательные данные

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

Ограничения для доменов полей

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

Корпоративные ограничения целостности

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

Целостность сущностей

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

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

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

Ссылочная целостность

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

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

Существует три разновидности связи между таблицами базы данных:

  • "один-ко-многим";
  • "один-к-одному";
  • "многие-ко-многим".

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

Связь "один-ко-многим" наиболее распространена для реляционных баз данных. Она позволяет моделировать также иерархические структуры данных.

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

Отношение "многие-ко-многим" имеет место в следующих случаях:

  • одной записи в родительской таблице дочерней таблице ;
  • одной записи в дочерней таблице соответствует более одной записи в родительской таблице .

Считается, что всякая связь "многие-ко-многим" может быть заменена на связь "один-ко-многим" (одну или несколько).

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

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

Существует несколько важных моментов, связанных с внешними ключами . Во-первых, следует проанализировать, допустимо ли использование во внешних ключах пустых значений. В общем случае, если участие дочерней таблицы в связи является обязательным, то рекомендуется запрещать применение пустых значений в соответствующем внешнем ключе . В то же время, если имеет место частичное участие дочерней таблицы в связи, то помещение пустых значений в поле внешнего ключа должно быть разрешено. Например, если в операции фиксации сделок некоторой торговой фирмы необходимо указать покупателя, то поле КодКлиента должно иметь атрибут NOT NULL . Если допускается продажа или покупка товара без указания клиента, то для поля КодКлиента можно указать атрибут NULL .

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

  1. Вставка новой строки в дочернюю таблицу . Для обеспечения ссылочной целостности необходимо убедиться, что значение внешнего ключа новой строки дочерней таблицы первичного ключа одной из строк родительской таблицы .
  2. Удаление строки из дочерней таблицы . Никаких нарушений ссылочной целостности не происходит.
  3. Обновление внешнего ключа в строке дочерней таблицы . Этот случай подобен описанной выше первой ситуации. Для сохранения ссылочной целостности необходимо убедиться, что значение внешнего ключа в обновленной строке дочерней таблицы равно пустому значению либо некоторому конкретному значению, присутствующему в поле первичного ключа одной из строк родительской таблицы .
  4. Вставка строки в родительскую таблицу . Такая вставка не может вызвать нарушения ссылочной целостности . Добавленная строка просто становится родительским объектом, не имеющим дочерних объектов.
  5. Удаление строки из родительской таблицы . Ссылочная целостность окажется нарушенной, если в дочерней таблице будут существовать строки, ссылающиеся на удаленную строку родительской таблицы . В этом случае может использоваться одна из следующих стратегий:
    • NO ACTION . Удаление строки из родительской таблицы запрещается, если в дочерней таблице существует хотя бы одна ссылающаяся на нее строка.
    • CASCADE . При удалении строки из родительской таблицы автоматически удаляются все ссылающиеся на нее строки дочерней таблицы . Если любая из удаляемых строк дочерней таблицы выступает в качестве родительской стороны в какой-либо другой связи, то операция удаления применяется ко всем строкам дочерней таблицы этой связи и т.д. Другими словами, удаление строки родительской таблицы автоматически распространяется на любые дочерние таблицы .
    • SET NULL . При удалении строки из родительской таблицы во всех ссылающихся на нее строках дочернего отношения в поле внешнего ключа , соответствующего первичному ключу удаленной строки, записывается пустое значение. Следовательно, удаление строк из родительской таблицы вызовет занесение пустого значения в соответствующее поле дочерней таблицы . Эта стратегия может использоваться, только когда в поле внешнего ключа дочерней таблицы разрешается помещать пустые значения.
    • SET DEFAULT . При удалении строки из родительской таблицы в поле внешнего ключа всех ссылающихся на нее строк дочерней таблицы автоматически помещается значение, указанное для этого поля как значение по умолчанию. Таким образом, удаление строки из родительской таблицы вызывает помещение принимаемого по умолчанию значения в поле внешнего ключа всех строк

Целостность базы данных

Целостность базы данных

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

См. также: Базы данных

Финансовый словарь Финам .


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

    целостность базы данных - Свойство базы данных, определяемое способностью системы управления базой данных защищать компоненты и связи базы данных от искажения в результате некорректных операций и сбоев технических средств. [ГОСТ 20886 85] Тематики организация данных в… … Справочник технического переводчика

    Целостность базы данных - 2. Целостность базы данных Свойство базы данных, определяемое способностью системы управления базой данных защищать компоненты и связи базы данных от искажения в результате некорректных операций и сбоев технических средств Источник: ГОСТ 20886 85 … Словарь-справочник терминов нормативно-технической документации

    - (database integrity) соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам. Каждое правило, налагающее некоторое ограничение на возможное состояние базы данных, называется ограничением… … Википедия

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

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

    У этого термина существуют и другие значения, см. Представление. Представление (англ. view, более созвучное не стандартное название «вид», в сленге программистов часто используется в качестве заимствования из английского «вьюха», «вьюшка»)… … Википедия

    Реляционная база данных база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение). Для работы с реляционными БД применяют реляционные СУБД. Использование реляционных баз данных было… … Википедия

    У этого термина существуют и другие значения, см. Индекс. Индекс (англ. index) объект базы данных, создаваемый с целью повышения производительности поиска данных. Таблицы в базе данных могут иметь большое количество строк, которые хранятся в … Википедия

    У этого термина существуют и другие значения, см. Триггер (значения). Триггер (англ. trigger) это хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено действием по модификации… … Википедия

    У этого термина существуют и другие значения, см. Курсор (значения). Курсор ссылка на контекстную область памяти[источник не указан 126 дней]. В некоторых реализациях информационно логического языка SQL (Oracle,… … Википедия

Книги

  • Ядро Oracle. Внутреннее устройство для администраторов и разработчиков данных , Льюис Джонотан. В данной книге автор приводит только самую необходимую информацию о внутреннем устройстве СУБД Oracle, которую должен знать каждый администратор баз данных, чтобы успешно бороться с…
  • Ядро Oracle. Внутреннее устройство для администраторов и разработчиков баз данных , Льюис Джонатан. В данной книге автор приводит только самую необходимую информацию о внутреннем устройстве СУБД Oracle, которую должен знать каждый администратор баз данных, чтобы успешно бороться с…

Целостность базы данных

Це́лостность ба́зы да́нных (database integrity) - соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам. Каждое правило, налагающее некоторое ограничение на возможное состояние базы данных, называется ограничением целостности (integrity constraint). Примеры правил: вес детали должен быть положительным; количество знаков в телефонном номере не должно превышать 25; возраст родителей не может быть меньше возраста их биологического ребёнка и т.д.

Задача аналитика и проектировщика базы данных - возможно более полно выявить все имеющиеся ограничения целостности и задать их в базе данных.

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

Итак, БД может быть целостной, но не достоверной. Возможно и обратное: БД может быть достоверной, но не целостной. Последнее имеет место, если правила (ограничения целостности) заданы неверно.

См. также


Wikimedia Foundation . 2010 .

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

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

    целостность базы данных - Свойство базы данных, определяемое способностью системы управления базой данных защищать компоненты и связи базы данных от искажения в результате некорректных операций и сбоев технических средств. [ГОСТ 20886 85] Тематики организация данных в… … Справочник технического переводчика

    Целостность базы данных - 2. Целостность базы данных Свойство базы данных, определяемое способностью системы управления базой данных защищать компоненты и связи базы данных от искажения в результате некорректных операций и сбоев технических средств Источник: ГОСТ 20886 85 … Словарь-справочник терминов нормативно-технической документации

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

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

    У этого термина существуют и другие значения, см. Представление. Представление (англ. view, более созвучное не стандартное название «вид», в сленге программистов часто используется в качестве заимствования из английского «вьюха», «вьюшка»)… … Википедия

    Реляционная база данных база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение). Для работы с реляционными БД применяют реляционные СУБД. Использование реляционных баз данных было… … Википедия

    У этого термина существуют и другие значения, см. Индекс. Индекс (англ. index) объект базы данных, создаваемый с целью повышения производительности поиска данных. Таблицы в базе данных могут иметь большое количество строк, которые хранятся в … Википедия

    У этого термина существуют и другие значения, см. Триггер (значения). Триггер (англ. trigger) это хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено действием по модификации… … Википедия

    У этого термина существуют и другие значения, см. Курсор (значения). Курсор ссылка на контекстную область памяти[источник не указан 126 дней]. В некоторых реализациях информационно логического языка SQL (Oracle,… … Википедия

Книги

  • Ядро Oracle. Внутреннее устройство для администраторов и разработчиков данных , Льюис Джонотан. В данной книге автор приводит только самую необходимую информацию о внутреннем устройстве СУБД Oracle, которую должен знать каждый администратор баз данных, чтобы успешно бороться с…
  • Ядро Oracle. Внутреннее устройство для администраторов и разработчиков баз данных , Льюис Джонатан. В данной книге автор приводит только самую необходимую информацию о внутреннем устройстве СУБД Oracle, которую должен знать каждый администратор баз данных, чтобы успешно бороться с…

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

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

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

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

Примеры: Иерархические, Сетевые, Реляционные, Объектные, Объектно-ориентированные, Объектно-реляционные

Классификация БД по степени распределённости: Централизованные (сосредоточенные), Распределённые

Кроме того можно выделить: Классификация БД по технологии физического хранения: БД во вторичной памяти (традиционные); БД в оперативной памяти (in-memory databases); БД в третичной памяти (tertiary databases)

Классификация БД по содержимому:

Примеры: Географические:Исторические: Научные; Мультимедийные.;

По характеру хранимой информации: Фактографические (картотеки); Документальные (архивы)

Всего существует более 50 видов классификаций БД

Отдельное место в теории и практике занимают пространственные (spatial), временные, или темпоральные (temporal) и пространственно-временные (spatial-temporal) БД.

По технологии обработки данных базы данных подразделяются на централизованные и распределенные.

Централизованная база данных хранится в памяти одной вычислительной системы. Эта вычислительная система может быть мэйнфреймом - тогда доступ к ней организуется с использованием терминалов - или файловым сервером локальной сети ПК.

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

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

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

    файл-сервер;

    клиент-сервер базы данных;

    "тонкий клиент" - сервер приложений - сервер базы данных (трехуровневая архитектура).

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

Клиент-сервер. В этой архитектуре на выделенном сервере, работающем под управлением сервер. СУБД подразделяется на две части: клиентскую и серверную. Основа работы сервера БД - использование языка запросов (SQL). Запрос на языке SQL, передаваемый клиентом (рабочей станцией) серверу БД, порождает поиск и извлечение данных на сервере. Извлеченные данные транспортируются по сети от сервера к клиенту.

Трехуровневая архитектура функционирует в Интранет- и Интернет-сетях. Клиентская часть ("тонкий клиент"), взаимодействующая с пользователем, представляет собой HTML-страницу в Web-браузере либо Windows-приложение, взаимодействующее с Web-сервисами. Вся программная логика вынесена на сервер приложений, который обеспечивает формирование запросов к базе данных, передаваемых на выполнение серверу баз данных. Сервер приложений может быть Web-сервером или специализированной программой.

Понятие целостности и непротиворечивости базы данных, методы и средства обеспечения целостности и непротиворечивости.

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

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

База данных находится в согласованном (целостном) состоянии, если выполнены (удовлетворены) все ограничения целостности, определенные для базы данных.

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

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

Непротиворечивость или Консистентность(от англ. сonsistency)данных - согласованность данных друг с другом, целостность данных, а также внутренняя непротиворечивость. Множество всех условий, налагаемых на данные определяется моделью (структурой) данных

Условия консистентности данных в модели сущность-связь(ER-модели)

Если данные представляют собой связанные отношениями узлы различного типа, в которых хранятся какие-то данные, то в модели данных могут быть оговорены условия: какие именно данные там могут хранится, и узлы каких типов могут быть связаны заданными в модели отношениями (связями)

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

Классификация ограничений целостности

Классификация ограничений целостности по способам реализации

Каждая система обладает своими средствами поддержки ограничений целостности. Различают 2 способа реализации: 1. Декларативная поддержка ограничений целостности. 2. Процедурная поддержка ограничений целостности.

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

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

Классификация ограничений целостности по времени проверки

1. Немедленно проверяемые ограничения. 2. Ограничения с отложенной проверкой.

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

Ограничения с отложенной проверкой проверяется в момент фиксации транзакции оператором COMMIT WORK. Внутри транзакции ограничение может не выполняться. Если в момент фиксации транзакции обнаруживается нарушение ограничения с отложенной проверкой, то транзакция откатывается.

Классификация ограничений целостности по области действия

1. Ограничения домена 2. Ограничения атрибута 3. Ограничения кортежа 4. Ограничения отношения 5. Ограничения базы данных 6. Ограничения домена.

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

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

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

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

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

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

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

Связи между данными, хранимыми в разных отношениях, в реляционной БД устанавливаются с помощью использования внешних ключей - для установления связи между кортежом из отношения A с определённым кортежом отношения B в предусмотренные для этого атрибуты кортежа отношения A записывается значение первичного ключа (а в общем случае значение потенциального ключа) целевого кортежа отношения B. Таким образом, всегда имеется возможность выполнить две операции: определить, с каким кортежем в отношении B связан определённый кортеж отношения A;найти все кортежи отношения A, имеющие связи с определённым кортежем отношения B.Благодаря наличию связей в реляционной БД можно хранить факты без избыточного дублирования, то есть в нормализованном виде. Ссылочная целостность может быть проиллюстрирована следующим образом: Дана пара отношений A и B, связанных внешним ключом. Первичный ключ отношения B - атрибут B.key. Внешний ключ отношения A, ссылающийся на B - атрибут A.b. Ссылочная целостность для пары отношений A и B имеет место тогда, когда выполняется условие: для каждого кортежа отношения A существует соответствующий кортеж отношения B, то есть кортеж, у которого (B.key = A.b).

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

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

Поддержание ссылочной целостности в БД

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

Некорректная работа прикладного программного обеспечения

Неполная запись объектов. Данные объекта размещаются в записях нескольких таблиц, а программа не записывает какую-то из них.

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

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

Сбои в работе системного программного обеспечения и оборудования. Даже когда прикладное программное обеспечение работает совершенно правильно, возможно нарушение ссылочной целостности. Например, если при добавлении объекта в базу нужно добавить несколько связанных записей в несколько таблиц, очевидно, что ссылочная целостность будет нарушена в процессе добавления данных (когда часть связанных записей уже добавлена, а часть - ещё нет), и восстановится только после завершения операции. Если во время выполнения операции она будет прервана (из-за переполнения диска, сбоя питания, или по каким-то другим причинам), часть записей будет добавлена в БД, часть - нет. Часть добавленных записей останется с некорректными ссылками.

Пустые внешние ключи. Возможна ситуация, когда внешний ключ вместо ссылки на существующую запись в таблице БД содержит «отсутствующее значение» NULL. Такое положение можно трактовать как отсутствие какой-то части объекта. Хотя с точки зрения чистой теории это недопустимо, на практике иногда бывает удобно разрешить использование пустых внешних ключей. Чтобы корректно работать с группами связанных таблиц, допускающих пустые внешние ключи, используется специфическая операция языка SQL - открытое соединение (другое название - «внешнее соединение», англ. outer join).

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

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

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

Запрет - удаление блокируется и возвращается ошибка.

Каскадное удаление - в одной транзакции производится удаление данной записи и всех записей, ссылающихся на данную. Если на удаляемые записи также есть ссылки и настройки также требуют удаления, то каскадное удаление продолжается дальше. Таким образом, после удаления данной записи в базе не остаётся ни одной записи, прямо или косвенно ссылающейся на неё. Если хотя бы одну из ссылающихся записей удалить не получается (либо для неё настроен запрет, либо происходит какая-либо ещё ошибка), то все удаления запрещаются.

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

    обязательные данные;

    ограничения для доменов полей;

    целостность сущностей;

    ссылочная целостность.

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

Понятие банка данных : В узком смысле БнД=Бд + СУБД. В широком БнД =АС (автоматизированная система) (понятие во многом устаревает). По законодательству РФ, банк данных - совокупность баз данных, а также программные, языковые и другие средства, предназначенные для централизованного накопления данных и их использования с помощью электронных вычислительных машин.

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

В состав банка данных входят одна или несколько баз данных, справочник баз данных, СУБД, а также библиотеки запросов и прикладных программ.

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

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

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

    Обеспечивать доступ к данным только пользователям с соответствующими полномочиями.

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

    Удовлетворять заданным требованиям по производительности при обработке запросов.

    Иметь возможность реорганизации и расширения при изменении границ ПО.

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

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

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

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

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

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

Функции ЗД : -·обеспечение безопасности данных; - обеспечение секретности данных.

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

Уровни доступа к БД :

1. Неограниченный доступ ко всем отношениям в БД и их поколениям.

2. Неограниченный доступ к группе отношений и их поколениям

3. Ограниченный доступ к группе отношений и их поколениям.

45. Реляционная модель данных: суть, достоинства и недостатки; понятие о нормализации, виды нормальных форм, какие недостатки они устраняют. Реляционная модель данных - логическая модель данных, строгая математическая теория, описывающая структурный аспект, аспект целостности и аспект обработки данных в реляционных базах данных. 1. Структурный аспект (составляющая) - данные в базе данных представляют собой набор отношений. 2. Аспект (составляющая) целостности - отношения (таблицы) отвечают определенным условиям целостности. РМД поддерживает декларативные ограничения целостности уровня домена (типа данных), уровня отношения и уровня базы данных. 3. Аспект (составляющая) обработки (манипулирования) - РМД поддерживает операторы манипулирования отношениями (реляционная алгебра, реляционное исчисление). Кроме того, в состав реляционной модели данных обычно включают теорию нормализации. Реляционная модель данных является приложением к задачам обработки данных таких разделов математики как теория множеств и формальная логика. Термин «реляционный» означает, что теория основана на математическом понятии отношение (relation). В качестве неформального синонима термину «отношение» часто встречается слово таблица. Необходимо помнить, что «таблица» есть понятие нестрогое и неформальное и часто означает не «отношение» как абстрактное понятие, а визуальное представление отношения на бумаге или экране.

Для лучшего понимания РМД следует отметить три важных обстоятельства:

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

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

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

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

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

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

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

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

Недостатки реляционной модели

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

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

    Далеко не всегда предметную область можно представить в виде совокупности таблиц.

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

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

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

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

Первая нормальная форма (1NF). Таблица находится в первой нормальной форме, если каждый её атрибут атомарен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Таким образом, не существует 1NF таблицы, в полях которых могут храниться списки значений. Для приведения таблицы к 1NF обычно требуется разбить таблицу на несколько отдельных таблиц.

Замечание: в реляционной модели отношение всегда находится в 1 (или более высокой) нормальной форме в том смысле, что иные отношения не рассматриваются в реляционной модели. То есть само определение понятия отношение заведомо подразумевает наличие 1NF.

Вторая нормальная форма (2nf)

Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов(частей). Или другими словами: в 2NF нет неключевых атрибутов, зависящих от части составного ключа (+ выполняются условия 1NF).

Третья нормальная форма (3nf)

Таблица находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме 2NF и при этом любой ее неключевой атрибут зависит только от первичного ключа (Primary key, PK) (иначе говоря, один факт хранится в одном месте ).

Таким образом, отношение находится в 3NF тогда и только тогда, когда оно находится во 2NF и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. Транзитивной зависимостью неключевых атрибутов от ключевых называется следующая: A → B и B → C, где A - набор ключевых атрибутов (ключ), B и С - различные множества неключевых атрибутов.

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

Нормальная форма Бойса - Кодда (bcnf)

Это модификация третьей нормальной формы (в некоторых источниках именно 3NF называется формой Бойса - Кодда). Таблица находится в BCNF, если она находится в 3NF, и при этом отсутствуют функциональные зависимости атрибутов первичного ключа от неключевых атрибутов. Таблица может находиться в 3NF, но не в BCNF, только в одном случае: если она имеет, помимо первичного ключа, ещё по крайней мере один возможный ключ. Все зависимые от первичного ключа атрибуты должны быть потенциальными ключами отношения. Если это условие не выполняется, для них создаётся отдельное отношение. Чтобы сущность соответствовала BCNF, она должна находиться в третьей нормальной форме. Любая сущность с единственным возможным ключом, соответствующая требованиям третьей нормальной формы, автоматически находится в BCNF.

Четвёртая нормальная форма (4nf)

Таблица находится в 4NF, если она находится в BCNF и не содержит нетривиальных многозначных зависимостей. Многозначная зависимость не является функциональной, она существует в том случае, когда из факта, что в таблице содержится некоторая строка X, следует, что в таблице обязательно существует некоторая определённая строка Y. То есть, таблица находится в 4NF, если все ее многозначные зависимости являются функциональными.

Пятая нормальная форма (5nf)

Таблица находится в 5NF, если она находится в 4NF и любая многозначная зависимость соединения в ней является тривиальной. Пятая нормальная форма в большей степени является теоретическим исследованием и практически не применяется при реальном проектировании баз данных. Это связано со сложностью определения самого наличия зависимостей «проекции - соединения», поскольку утверждение о наличии такой зависимости должно быть сделано для всех возможных состояний БД.



Загрузка...