Манипуляционная составляющая реляционной модели (операции над данными). (вопрос 8)

Все операции над данными в реляционной модели можно разделить на две группы:

· операции обновления таблиц-отношений;

· операции обработки таблиц-отношений.

К операциям обновления относятся:

· ВКЛЮЧИТЬ – добавляет новую строку-запись в таблицу-отношение. Эта операция требует задания имени таблицы и обязательного значения ключей. Выполняется при условии уникальности значения ключа. Добавить запись со значением ключа, которое уже есть в таблице, невозможно;

· УДАЛИТЬ – удаляет одну или группу строк-записей. Требует задания имени таблицы, имени поля (группы полей) и параметры полей, записи с которыми должны быть удалены;

· ОБНОВИТЬ – изменяет значение не ключевых полей у одной или группы строк. Требует задания имени таблицы, имен полей и их значений для выбора строк и имен, изменяемых полей.

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

К операциям обработки таблиц относятся следующие операции:

· ОБЪЕДИНЕНИЕ – выполняется над двумя односхемными таблицами (с одинаковой схемой). Результатом объединения является таблица, построенная по той же схеме, содержащая записи первой и второй таблицы. При этом записи дубликаты в итоговой таблице устраняются.

· ПЕРЕСЕЧЕНИЕ – выполняется над двумя таблицами с одинаковой схемой. Результатом является таблица, построенная по той же схеме и содержащая те строки первой таблицы, которые входят в состав строк второй таблицы (общие строки двух таблиц).

· ВЫЧИТАНИЕ – выполняется над двумя односхемными таблицами. Результатом является таблица, построенная по той же схеме и содержащая те строки первой таблицы, которых нет в составе строк второй таблицы.

· ДЕКАРТОВО ПРОИЗВЕДЕНИЕ – выполняется над таблицами с разными схемами. Результатом является таблица, схема которой включает все поля первой и все поля второй таблицы. Строки результирующей таблицы образуются путем последовательного сцепления каждой строки первой таблицы с каждой строкой второй таблицы.

· Количество строк результирующей таблицы равно произведению количества строк первой таблицы на количество строк второй таблицы.

· ВЫБОРКА (селекция горизонтального подмножества) – выполняется над одной таблицей. Результатом является таблица той же схемы, содержащая подмножество строк исходной таблицы-отношения, удовлетворяющих условию выборки;

· ПРОЕКЦИЯ (вертикальное подмножество) – выполняется над одной таблицей. Результатом является новая таблица, схема которой содержит только некоторое подмножество полей исходной таблицы. Каждой строке исходной таблицы соответствует строка итоговой таблицы, образованная соответствующими значениями по полям, вошедшим в итоговую таблицу. При этом в итоговой таблице строки дубликаты устраняются и поэтому мощность итоговой таблицы (количество строк) может быть равна или меньше исходной.

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

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

Реляционная модель организации данных сыграла неоценимую роль в развитии программного обеспечения АИС. С начала 90-х годов реляционные СУБД стали фактическим стандартом для создания разнообразных информационных систем.