• Авторизация


Кластерные и распределенные СУБД. Пример: IBM DB2 Parallel Edition, MS SQL Server и Oracle. Применение триггеров 09-06-2010 11:35 к комментариям - к полной версии - понравилось!


 

для синхронизации данных.

DB2. DB2 Parallel Edition ориентирована на технологию распараллеливания запросов к очень большим базам данных (VLDB), размещенным на системах с массовым параллелизмом (MPP). Серверы из семейства DB2 Common Server представляют общее решение для рабочих групп, малых и средних организаций, переносимое и масштабируемое на серверах, работающих под управлением OS/2, Windows NT, AIX, HP-UX, Sun Solaris, SCO, SINIX. Существуют также более специализированные серверные продукты типа DataJoiner,

Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для небольших и средних по размеру баз данных, и в последние 5 лет — для крупных баз данных масштаба предприятия, конкурирует с другими СУБД в этом сегменте рынка. Microsoft SQL Server в качестве языка запросов использует версию SQL, получившую название Transact-SQL (сокращённо T-SQL), являющуюся реализацией SQL-92 (стандарт ISO для SQL) с множественными расширениями. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением). Microsoft SQL Server и Sybase ASE для взаимодействия с сетью используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных). Последняя версия (SQL Server 2005) обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Microsoft также выпустила сертифицированный драйвер JDBC, позволяющий приложениям под управлением Java (таким как BEA и IBM WebSphere) соединяться с Microsoft SQL Server 2000 и 2005. SQL Server поддерживает зеркалирование и кластеризацию баз данных. Кластер сервера SQL — это совокупность одинаково конфигурированных серверов; такая схема помогает распределить рабочую нагрузку между несколькими серверами. Все сервера имеют одно виртуальное имя, и данные распределяются по IP адресам машин кластера в течение рабочего цикла. Также в случае отказа или сбоя на одном из серверов кластера доступен автоматический перенос нагрузки на другой сервер.

SQL Server поддерживает избыточное дублирование данных по трем сценариям: Снимок: Производится «снимок» базы данных, который сервер отправляет получателям. История изменений: Все изменения базы данных непрерывно передаются пользователям. Синхронизация с другими серверами: Базы данных нескольких серверов синхронизируются между собой. Изменения всех баз данных происходят независимо друг от друга на каждом сервере, а при синхронизации происходит сверка данных. Данный тип дублирования предусматривает возможность разрешения противоречий между БД.

Oracle Database или Oracle DBMS — объектно-реляционная система управления базами данных (СУБД). поддерживающая некоторые технологии, реализующие объектно-ориентированный подход. Разница между объектно-реляционными и объектными СУБД: первые являют собой надстройку над реляционной схемой, вторые же изначально объектно-ориентированы. Главная особенность и отличие объектно-реляционных, как и объектных, СУБД от реляционных заключается в том, что О(Р)СУБД интегрированы с Объектно-Ориентированным (OO) языком программирования, внутренним или внешним как C++, Java. Характерные свойства OРСУБД - 1) комплексные данные, 2) наследование типа, и 3) объектное поведение. Комплексные данные могут быть реализованы через постоянно-хранимые объекты (persistent objects). Создание комплексных данных в большинстве существующих ОРСУБД основано на предварительном определении схемы через определяемый пользователем тип (UDT - user-defined type). Используются также встроенные конструкторы составных типов, например массив (ARRAY). Иерархия структурных комплексных данных предлагает дополнительное свойство, наследование типа. То есть структурный тип может иметь подтипы, которые используют все его атрибуты и содержат дополнительные атрибуты, специфицированные в подтипе.Объектное поведение закладывается через описание программных объектов. Такие объекты должны быть сохраняемыми и переносимыми для обработки в базе данных, поэтому они называются обычно как постоянные (или долговременные) объекты. Внутри базы данных все отношения с постоянным программным объектом есть отношения с его объектным идентификатором (OID). Каждая таблица, подлежащая синхронизации, имеет триггеры добавления, модификации и удаления. Триггер добавляет в таблицу синхронизации SQL-комманду (в текстовом виде). Далее прога синхронизации формирует скрипт, производит обновление и пишет лог. Триггер БД - это механизм событие - действие, который автоматически выполняет некоторый набор SQL-операторов, когда происходит некоторое событие. Событиями, на которые можно установить триггер, являются модификации данных. Причем триггер связан с конкретной таблицей БД. Триггер хранится как объект в базе данных. Создание триггеров позволяет установить правила обеспечения ссылочной целостности сервера БД.

2)Структура предложения SELECT, условия выбора (понятие алиасов, возможности параметра WHERE). Соединение таблиц. Выборка вычисляемых значений. Выборка с исключением дубликатов (DISTINCT).

АЛИАСЫ: SELECT LastName AS Family, FirstName AS Name FROM Persons - выводится на экран

SELECT LastName, FirstName FROM Persons AS Employees Получим таблицу под назв Employees

Селект с условием: SELECT column FROM table              WHERE column operator value

SELECT column FROM table                     WHERE column operator value;

SELECT * FROM Persons WHERE LastName IN ('Hansen','Pettersen');

SELECT * FROM Persons WHERE City='Sandnes‘

SELECT без повторов: SELECT DISTINCT column_name(s) FROM table_name; - используется пво избежание повторов одинаковых строк

Обьединение(по ключу)

SELECT Employees.Name, Orders.Product

                  FROM Employees, Orders

                  WHERE Employees.Employee_ID=Orders.Employee_ID;

ЯВНОЕ СОЕДИНЕНИЕ – INNER JOIN

SELECT Employees.Name, Orders.Product FROM Employees

                  INNER JOIN Orders ON

                  Employees.Employee_ID=Orders.Employee_ID ;


3)«Язык» QUERY-BY-EXAMPLE.

Язык QBE был разработан компанией IBM в 1970-х годах и предназначался для пользователей, заинтересованных в выборке информации из баз данных. Этот язык получил у пользователей столь широкое признание, что в настоящее время в той или иной мере он реализован практически во всех популярных СУБД, включая и Microsoft Access. Средства поддержки языка QBE в СУБД Microsoft Access весьма просты в эксплуатации и в то же время предоставляют пользователям достаточно широкий спектр возможностей работы с данными. Средства языка QBE могут использоваться для ввода запросов к информации, сохраняемой в одной или нескольких таблицах, а также для определения набора полей, которые должны присутствовать в результирующей таблице. Отбор записей может проводиться по конкретному или общему критерию и предусматривать выполнение необходимых вычислений на основе информации, сохраняемой в таблицах. Кроме того, средства языка QBE можно использовать для выполния различных операций над таблицами, например, для вставки и удаления записей, модификации значений полей или создания новых полей и таблиц.

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

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

Не существует какого-либо стандарта в записи запросов.

Основным оператором следует,  считать (как и в SQL) оператор, обеспечивающий выборку требуемых кортежей из исходного отношения. Это оператор, обозначаемый символом Р. – print (печать, выбрать).  Если этот оператор стоит в первом столбце (с именем отношения), то считаются отобранными все атрибуты. Если необходимо выбрать лишь часть атрибутов (проекция), то оператор Р. проставляется в соответствующих столбцах-атрибутах.

Одновременно можно задать условия отбора кортежей. Для этого непосредственно в столбце заносится значение-ограничение с соответствующим знаком  (=, >, <, , >=, <=).

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

Оператор I. – insert (включить, добавить) и U. – update (изменить, обновить) – чаще всего, а оператор D. - delete (удалить) – всегда применяются к отношению в целом (записываются в первом столбце). Причем для операторов U. и D. всегда должны быть заполнены столбцы со значениями ключевых атрибутов, которые и определяют удаляемую, модифицируемую или вставляемую строку-кортеж отношения.

Для оператора D. неключевые атрибуты могут не заполняться. Если же необходимо удалять множество кортежей, тогда указываются условия на значения атрибутов (не обязательно ключевых), по тем же правилам, что и в операторе Р., т.е. с использованием знаков отношений и сложных условий.

Для оператора I. В столбцах строки таблицы запроса указываются значения атрибутов, которые составляют включаемый кортеж.

У оператора U.  В столбцах строки таблицы-запроса указываются:

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

В конкретных СУБД содержатся более широкие возможности, важнейшими из которых являются:

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

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

- выполнение запроса на связанных таблицах. Атрибуты связи помечаются одинаковыми именами.

 

 

вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Кластерные и распределенные СУБД. Пример: IBM DB2 Parallel Edition, MS SQL Server и Oracle. Применение триггеров | TheLenka - Дневник Рыжей Девчонки | Лента друзей TheLenka / Полная версия Добавить в друзья Страницы: раньше»