Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Навигационные и спецификационные операции над данными.
1. Спецификационные операции – это операции, представляющие собой выбор данных из базы по определенному критерию. Как правило, в этом случае операндами являются формы хранения данных, например таблицы. В результате применения нужной последовательности операций возможно получение необходимых данных. Примерами могут служить операции реляционной алгебры, определенные над множеством отношений. 2. Навигационные операции – это операции, предполагающие последовательный просмотр данных (навигацию по БД) в цикле, при этом возможно манипулирование искомыми данными. В этом случае создание запросов похоже на программирование на процедурном языке. Ярким признаком навигационного языка является наличие циклических конструкций и ветвлений. Достоинством навигационного подхода являются более высокая эффективность, так как на аппаратном уровне реализуется по сути именно навигационный подход, недостатком – необходимость опыта описания алгоритмических конструкций, который присутствует не у всех пользователей. Понятие процедуры базы данных. Процедура обычно хранится непосредственно в базе данных и контролируется ее администратором. Она имеет параметры и возвращает значение. Процедура базы данных создается оператором create procedure (создать процедуру) и содержит определения переменных, операторы SQL (например, select, insert), операторы проверки условий (if/then/else), операторы цикла (for, while), а также некоторые другие. Использование процедур базы данных преследует четыре цели: • обеспечивается новый независимый уровень централизованного контроля доступа к данным, осуществляемый администратором базы данных; • одна и та же процедура может использоваться несколькими прикладными программами — это позволяет существенно сократить время написания программ за счет оформления их общих частей в виде процедур базы данных. Процедура компилируется и помещается в базу данных, становясь доступной для многократных вызовов. Так как план ее выполнения определяется единожды при компиляции, то при последующих вызовах процедуры фаза оптимизации пропускается, что существенно экономит вычислительные ресурсы системы; • значительное снижение трафика сети в системах с архитектурой «клиент—сервер». Прикладная программа, вызывающая процедуру, передает серверу лишь ее имя и параметры. В процедуре, как правило, концентрируются повторяющиеся фрагменты из нескольких прикладных программ. Если бы эти фрагменты остались частью программы, они загружали бы сеть посылкой полных SQL-запросов; • процедуры базы данных в сочетании с правилами предоставляют администратору мощные средства поддержки целостности базы данных. Внутренние и явные ограничения целостности. Внутренние ограничения целостности представляются в модели данных в виде правил композиции допустимых структур данных. В конкретной схеме БД ограничения формулируются в структурных спецификациях и в правилах выполнения операций. Структурные спецификации — это описания допустимых структур представления данных в информационной системе. Явные ограничения целостности специфицируются в схеме БД явным образом посредством специальных конструкций языка описания данных. ЯОД в СУБД обычно имеют развитые средства для описания явных ограничений целостности. Рекомендации по внутренней организации реляционных СУБД. Два уровня системы управления данными в СУБД Понятие индексов в СУБД. Главное назначение - обеспечить эффективный прямой доступ к кортежу по ключу. Обычно определяется для одного отношения и строится по значению какого-либо атрибута. Если этот атрибут является ключом отношения, то индекс должен быть уникальным, т.е. не содержать дублированных значений ключа. Помимо таких индексов рассматриваются индексы, связанные с несколькими отношениями (мультииндексы). В них ключ индекса является составным, по отдельным составляющим его составляются кортежи из разных отношений. Такие мультииндексы используются для сложных операций (эквисоединение). Общая идея организации - хранение упорядоченного списка ключей с привязкой к каждому ключу идентификатора кортежа или списка идентификаторов кортежа, если ключи индекса не уникальны. Базовые структуры СУБД. Иерархическая структура базы данных - это древовидная структура представления информации. Ее особенность в том, что каждый узел на более низком уровне имеет связь только с одним узлом на более высоком уровне. Сетевая структура базы данных. По сути, это расширение иерархической структуры. Все то же самое, но существует связь " многие ко многим". Сетевая структура базы данных позволяет нам добавить группы в наш пример. Недостатком сетевой модели является сложность разработки серьезных приложений. Реляционная структура базы данных. Все данные представлены в виде простых таблиц, разбитых на строки и столбцы, на пересечении которых расположены данные. Объектно-ориентированные и гибридные базы данных. В объектно-ориентированных базах данных данные хранятся в виде объектов, что очень удобно. Но на сегодняшний день такие БД еще распространенны, т.к. уступают в производительности реляционным. Гибридные БД совмещают в себе возможности реляционных и объектно-ориентированных, поэтому их часто называют объектно-реляционными. Примером такой СУБД является Oracle, начиная с восьмой версии. Хранение отношений. Существуют два принципиальных подхода к физическому хранению отношений. Наиболее распространенным является покортежное хранение отношений (кортеж является единицей физического хранения). Естественно, это обеспечивает быстрый доступ к целому кортежу, но при этом во внешней памяти дублируются общие значения разных кортежей одного отношения и, вообще говоря, могут потребоваться лишние обмены с внешней памятью, если нужна часть кортежа. Альтернативным (менее распространенным) подходом является хранение отношения по столбцам, т.е. единицей хранения является столбец отношения с исключенными дубликатами. Естественно, что при такой организации суммарно в среднем тратится меньше внешней памяти, поскольку дубликаты значений не хранятся; за один обмен с внешней памятью в общем случае считывается больше полезной информации. Дополнительным преимуществом является возможность использования значений столбца отношения для оптимизации выполнения операций соединения. Но при этом требуются существенные дополнительные действия для сборки целого кортежа (или его части). Основная идея состоит в совместном хранении всех значений одного (или нескольких) столбцов. Для каждого кортежа отношения хранится кортеж той же степени, состоящий из ссылок на места расположения соответствующих значений столбцов. |
Последнее изменение этой страницы: 2019-04-09; Просмотров: 499; Нарушение авторского права страницы