Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экзамен рбд.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
39.97 Кб
Скачать
  1. Основные свойства рбд

12 свойств или качеств идеальной DDB:

  • Локальная автономия (local autonomy)

  • Независимость узлов (no reliance on central site)

  • Непрерывные операции (continuous operation)

  • Прозрачность расположения (location independence)

  • Прозрачная фрагментация (fragmentation independence)

  • Прозрачное тиражирование (replication independence)

  • Обработка распределенных запросов (distributed query processing)

  • Обработка распределенных транзакций (distributed transaction processing)

  • Независимость от оборудования (hardware independence)

  • Независимость от операционных систем (operationg system independence)

  • Прозрачность сети (network independence)

  • Независимость от баз данных (database independence)

  1. Представления (View) . Индексирование представлений.

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

Индексирование — это способ обеспечения быстрого доступа к значениям колонки или комбинации колонок. Физически новые строки добавляются в конец таблицы, результатом чего становится неупорядоченное размещение значений в колонках. Без использования каких-либо методов упорядочения данных единственным способом просмотра значения колонки со стороны СУБД является последовательный просмотр каждой строки от начала таблицы к ее концу — так называемое сканирование таблицы. Производительность такого сканирования пропорциональна размеру таблицы, размеру физической страницы БД и длине строки таблицы.

  1. Хранимые процедуры.

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

Преимущества:

  • необходимые операторы уже содержатся в базе данных;

  • все они прошли этап синтаксического анализа и находятся в исполняемом формате; перед выполнением хранимой процедуры SQL Server генерирует для нее план исполнения, выполняет ее оптимизацию и компиляцию;

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

  • хранимые процедуры могут вызывать другие хранимые процедуры и функции;

  • хранимые процедуры могут быть вызваны из прикладных программ других типов;

  • как правило, хранимые процедуры выполняются быстрее, чем последовательность отдельных операторов;

  • хранимые процедуры проще использовать: они могут состоять из десятков и сотен команд, но для их запуска достаточно указать всего лишь имя нужной хранимой процедуры. Это позволяет уменьшить размер запроса, посылаемого от клиента на сервер, а значит, и нагрузку на сеть.

Недостатки:

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

2. Неудобство при отладке. Для хранимых процедур и функций не предусмотрено никаких механизмов вывода ошибок..

3. Трудности при оптимизации. Если вы действительно заботитесь об эффективности вашего SQL кода, то будете разочарованы, т.к. оптимизация хранимых процедур занятие весьма затруднительное. Вы не сможете получить информацию о медленных запросах, расположенных внутри хранимой процедуры, поскольку вызов хранимой процедуры является законченным запросом.

  1. Триггеры.

Триггер - это хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено действием по модификации данных: добавлением INSERT, удалением DELETE строки в заданной таблице, или изменением UPDATE данных в определенном столбце заданной таблицы реляционной базы данных.

С помощью триггеров достигаются следующие цели:

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

  • выдача предупреждений, напоминающих о необходимости выполнения некоторых действий при обновлении таблицы, реализованном определенным образом;

  • накопление аудиторской информации посредством фиксации сведений о внесенных изменениях и тех лицах, которые их выполнили;

  • поддержка репликации.

недостатки:

  • сложность: при перемещении некоторых функций в базу данных усложняются задачи ее проектирования, реализации и администрирования;

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

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