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

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

12 правил Кодда (Codd’s 12 rules) — 12 правил (в данном случае исчисление начинается с 0), которым должна удовлетворять каждая система управления реляционными базами данных.

Предложены английским математиком Эдгаром Коддом (Edgar Codd) в 1985 году.[1] [2]

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

Правила

правило 0: Основное правило (Foundation Rule): Реляционная СУБД должна быть способна полностью управлять базой данных, используя связи между данными:

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

правило 1: Явное представление данных (The Information Rule):

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

правило 2: Гарантированный доступ к данным (Guaranteed Access Rule):

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

правило 3: Полная обработка неизвестных значений (Systematic Treatment of Null Values):

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

правило 4: Доступ к словарю данных в терминах реляционной модели (Active On-Line Catalog Based on the Relational Model):

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

правило 5: Полнота подмножества языка (Comprehensive Data Sublanguage Rule):

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

правило 6: Возможность модификации представлений (View Updating Rule):

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

правило 7: Наличие высокоуровневых операций управления данными (High-Level Insert, Update, and Delete):

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

правило 8: Физическая независимость данных (Physical Data Independence):

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

правило 9: Логическая независимость данных (Logical Data Independence):

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

правило 10: Независимость контроля целостности (Integrity Independence):

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

правило 11: Дистрибутивная независимость (Distribution Independence):

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

правило 12: Согласование языковых уровней (The Nonsubversion Rule):

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

Источники

  1. Codd, Edgar Frank: "Is Your DBMS Really Relational?", ComputerWorld, 14. October 1985
  2. Codd, Edgar Frank: "Does Your DBMS Run By the Rules?", ComputerWorld, 21. October 1985

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "12 правил Кодда" в других словарях:

  • Кодд, Эдгар — Эдгар Франк Кодд Edgar Frank Codd Дата рождения: 23 августа 1923(1923 08 23) Место рождения …   Википедия

  • Кодд — Кодд, Эдгар Эдгар Франк Кодд Edgar Frank Codd Дата рождения: 23 августа 1923(1923 08 23) Место рождени …   Википедия

  • Кодд Э. — Эдгар Франк «Тед» Кодд Дата рождения: 23 августа 1923 Место рождения:  Англи …   Википедия

  • Кодд Эдгар — Эдгар Франк «Тед» Кодд Дата рождения: 23 августа 1923 Место рождения:  Англи …   Википедия

  • Эдгар Кодд — Эдгар Франк «Тед» Кодд Дата рождения: 23 августа 1923 Место рождения:  Англи …   Википедия

  • Первичный ключ — (англ. primary key) в реляционной модели данных один из потенциальных ключей отношения, выбранный в качестве основного ключа (или ключа по умолчанию). Если в отношении имеется единственный потенциальный ключ, он является и первичным ключом.… …   Википедия

  • Архитектура ANSI — SPARC — (также 3х уровневая архитектура) определяет принцип, согласно которому рекомендуется строить системы управления базами данных (СУБД). Проект архитектуры был выдвинут в 1975 году под комитетом SPARC (Standards Planning and Requirements Committee)… …   Википедия

  • XBASE — собирательное название семейства технологий, программных продуктов и языков программирования, являющихся производными или клонами СУБД dBASE. Предназначены в первую очередь для разработки и создания табличных ( недореляционных , упрощённых) БД,… …   Википедия

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

  • Архитектура ANSI — SPARC (также 3х уровневая архитектура) определяет принцип, согласно которому рекомендуется строить системы управления базами данных (СУБД). Проект архитектуры был выдвинут в 1975 году под комитетом SPARC (Standards Planning and Requirements… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»