Учебники

12 правил Кодда

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

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

Правило 1: Информационное Правило

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

Правило 2: Правило гарантированного доступа

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

Правило 3: Систематическое лечение значений NULL

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

Правило 4: Активный онлайн-каталог

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

Правило 5: Правило всеобъемлющего подъязыка данных

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

Правило 6: просмотр правила обновления

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

Правило 7: правило высокого уровня для вставки, обновления и удаления

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

Правило 8: физическая независимость данных

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

Правило 9: логическая независимость данных

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

Правило 10: Честность Независимость

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

Правило 11: Независимость распределения

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

Правило 12: Правило без подрывной деятельности

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