Лекции и практики (1). Курс лекций и материалы для практических занятий
Скачать 1.01 Mb.
|
Правила Кодда для реляционной СУБД (РСУБД)Явное представление данных (The Information Rule). Информация должна быть представлена в виде данных, хранящихся в ячейках. Данные, хранящи- еся в ячейках, должны быть атомарны. Порядок строк в реляционной табли- це не должен влиять на смысл данных. Гарантированный доступ к данным (Guaranteed Access Rule). К каждому элементу данных должен быть гарантирован доступ с помощью комбинации имени таблицы, первичного ключа строки и имени столбца. Обработка неизвестных значений (Systematic Treatment of Null Values). Не- известные значения NULL, отличные от любого известного значения, долж- ны поддерживаться для всех типов данных при выполнении любых опера- ций. Например, для числовых данных неизвестные значения не должны рас- сматриваться как нули, а для символьных данных – как пустые строки. Динамический каталог данных, основанный на реляционной модели (Dy- namic On-Line Catalog Based on the Relational Model). Каталог (или словарь-справочник) данных должен сохраняться в форме реляционных таблиц, и РСУБД должна поддерживать доступ к нему при помощи стандартных язы- ковых средств, тех же самых, которые используются для работы с реляци- онными таблицами, содержащими пользовательские данные. Полнота подмножества языка (Comprehensive Data Sublanguage Rule). РСУБД должна поддерживать единственный язык, который позволяет вы- полнять все операции над данными: определение данных (DDL, Data Defini- tion Language), манипулирование данными (DML, Data Manipulation Lan- guage), управление доступом пользователей к данным, управление транзак- циями. Поддержка обновляемых представлений (View Updating Rule). Представле- ние (view) – это хранимый запрос к таблицам базы данных. Обновляемое представление должно поддерживать все операции манипулирования дан- ными, которые поддерживают реляционные таблицы: операции вставки, мо- дификации и удаления данных. Наличие высокоуровневых операций управления данными (High-Level Insert, Update, and Delete). Операции вставки, модификации и удаления дан- ных должны поддерживаться не только по отношению к одной строке таб- лицы, но по отношению к любому множеству строк произвольной таблицы. Физическая независимость данных (Physical Data Independence). Приложе- ния не должны зависеть от используемых способов хранения данных на но- сителях, от аппаратного обеспечения компьютера, на котором находится БД. РСУБД должна предоставлять некоторую свободу модификации способов организации базы данных в среде хранения, не вызывая необходимости вне- сения изменений в логическое представление данных. Это позволяет опти- мизировать среду хранения данных с целью повышения эффективности си- стемы, не затрагивая созданных прикладных программ, работающих с БД. Логическая независимость данных (Logical Data Independence). Это свойство позволяет сконструировать несколько различных логических взглядов (представлений) на одни и те же данные для разных групп пользователей. При этом пользовательское представление данных может сильно отличаться не только от физической структуры их хранения, но и от концептуальной (логической) схемы данных. Оно может синтезироваться динамически на основе хранимых объектов БД в процессе обработки запросов. Независимость контроля целостности (Integrity Independence). Вся информа- ция, необходимая для поддержания целостности, должна находиться в сло- варе данных. Язык для работы с данными должен выполнять проверку вход- ных данных и автоматически поддерживать целостность данных. Это реали- зуется с помощью ограничений целостности и механизма транзакций (см. разделы 7.1 и 6.1). Независимость от распределённости (Distribution Independence). База данных может быть распределённой (может находиться на нескольких компьюте- рах), и это не должно оказывать влияние на приложения. Перенос базы дан- ных на другой компьютер не должен оказывать влияние на приложения. Согласование языковых уровней (Non-Subversion Rule). Не должно быть иного средства доступа к данным, отличного от стандартного языка для ра- боты с данными. Если используется низкоуровневый язык доступа к дан- ным, он не должен игнорировать правила безопасности и целостности, кото- рые поддерживаются языком более высокого уровня. |