рецензия Попова


База данных (БД) - это информационная модель, позволяющая в упорядоченном виде хранить данные о группе объектов, обладающих одинаковым набором свойств. Например, та же самая записная телефона книжка, это так же база данных, хранящая информацию о людях в графе «имя» и их номер, следственно, в графе «номер». Существует несколько различных структур информационных моделей и соответственно различных типов баз данных. Итак, Система управления базами данных (СУБД) - это программное обеспечение, с помощью которого пользователи могут определять, создавать и поддерживать базу данных, а также осуществлять к ней контролируемый доступ. В основе СУБД лежит простая идея: изъять из программ определение структуры содержимого файла и хранить её вместе с данными в базе данных. БД по модели данных делятся на иерархические, сетевые, реляционные, обьекто-ориентированные, обьекто-реляционные. Сегодня я постараюсь вам наиболее точно дать определение реляционных БД. Реляционной называется база данных, в которой все данные, доступные пользователю, организованны в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами. В реляционной базе данных информация организована в виде таблиц, разделённых на строки и столбцы, на пересечении которых содержатся значения данных. У каждой таблицы имеется уникальное имя, описывающее её содержимое. Первичный ключ (primary key) представляет собой один из примеров уникальных индексов и применяется для уникальной идентификации записей таблицы. Никакие из двух записей таблицы не могут иметь одинаковых значений первичного ключа. Первичный ключ обычно сокращенно обозначают как PK (primary key). Столбец одной таблицы, значения в котором совпадают со значениями столбца, являющегося первичным ключом другой таблицы, называется внешним ключом.

Нормализация отношений в РБД, операции в РБД: Над реляционными таблицами возможны следующие операции:

Объединение таблиц с одинаковой структурой. Результат— общая таблица: сначала первая, затем вторая (конкатенация).

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

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

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

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

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

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

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

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

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



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

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

определение данных;

определение представлений;

обработку данных;

условия целостности;

идентификация прав доступа;

границы транзакций (начало, завершение и отмена).

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

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

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

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

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

Правило независимости распространения. Реляционная СУБД не должна зависеть от потребностей конкретного клиента.

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

Для выполнения этих операций применяется механизм запросов. Результатом выполнения запросов является либо отобранное по определенным критериям множество записей, либо изменения в таблицах. Запросы к базе формируются на специально созданном для этого языке, который так и называется «язык структурированных запросов» (SQL — Structured Query Language).




Предыдущий:

Следующий: