Язык "Linda". Язык "SQL"


Основу языка "Linda" составляют концепции распараллеливания процесса программирования, которые могут быть реализованы путем использования любого параллельного языка ("Pascal", "С" и др.).

Средой программирования языка "Linda"является динамическая область данных Tuple Space, в состав которой входят так называемые кортежи множеств данных.Каждый кортеж (tupel) может содержать элементы различных типов.В области Tuple Space имеются активные кортежи, к которым могут одновременно иметь доступвсе процессы, и пассивные кортежи, осуществляющие процессы чтения и записи данных.

Язык "Linda" имеет 6 основных операций, обеспечивающих доступ к динамической области данных Tuple Space:
- OUT – генерирование пассивного кортежа и запись в кортеж множества данных;
- RD – чтение данных из пассивного кортежа (без удаления);
- RDR предикат чтения (булева тестовая операция над данными в кортеже), определяющий (без чтения) наличие соответствующего кортежа;
- IN – чтение и удаление (гашение) элементов данных из кортежа;
- INP - предикат чтения, определяющий (без чтения) наличие и осуществляющий последующее гашение соответствующих элементов в кортеже;
- EVAL - генерирование активного кортежа и старт нового процесса.

Возможности языка "Linda" позволяют запускать на выполнение несколько процессов одновременно. Эти процессы обмениваются данными через один центральный пул (pool) динамически распределяемой области данных datapool. Параллельные доступы к данным в этих процессах синхронизируются базисной операционной системой.

Ниже приведен пример использования языка "Linda" в программе определения простых чисел от 2 до Limit (каждый оператор записывается в отдельной строке):
Imain ( ) { int i, ok; for ( i =2; i < Limit; ++ i ) { EVAL ( "prim", i, is_prime ( i ) ); }
for ( i =2; i <= Limit; ++ i ) { RD ( "prim", i, ?ok ); if (ok ) printf ( "%d \ n", i ); }

"Linda"-программа стартует с оператора Imain и запускает для каждого числа параллельный процесс (операцию EVAL), который с помощью функции is_prime анализирует свойства простых чисел. Операция RD осуществляет последовательное считывание результатов из динамической области данных Tuple Space. Если какой-то из результатов еще не готов, то операция считывания ожидает его, пока соответствующий кортеж не будет обработан подчиненным ему процессом. Во всех кортежах первым элементом является последовательность знаков prim, вторым элементом – целое число и третьим – результат: 0 или 1.

Язык "SQL". Язык реляционных баз данных"SQL" ("Struktured Qwery Language") является языком с неявной параллельностью, который может использоваться соответствующим компилятором в распределенной системе баз данных, не требуя для этого специальных языковых конструктивов. Кроме того, большинство транзакций "SQL"-программ обрабатывается различными пользователями параллельно или с разнесением временных интервалов их выполнения. С помощью соответствующих семафорных блокирований ("locks") компилятор осуществляет интеграцию данных всех транзакций. "SQL"-инструкции могут использоваться непосредственно (интерактивно) в базе данных или интегрироваться в один из параллельных языков программирования в виде встроенного блока "SQL".

Во взаимодействии с основными операциями в "SQL" могут использоваться такие стандартные функции:
- COUNT – число элементов;
- SUM – сумма элементов;
- AVR – средний показатель элементов;
- MAX – максимум всех элементов;
- MIN - минимум всех элементов.

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

Каждая из таблиц содержит либо Entities(дела, вещи, объекты), либо Relationships(взаимоотношения между Entities). Для доступа к отдельным строкам таблиц существуют ключи доступа, среди которых различают основные (прима-) и второстепенные ключи.

Наряду с генерированием таблиц и индексов в "SQL" существуют следующие основные операции:
- SELECT – выбор одного предложения или поля предложений из таблицы;
- UPDATE – внесение изменений в предложение или в поле предложений таблицы;
- DELETE- исключение предложения из таблицы (гашение);
- INSERT - внесение предложения в таблицу;
- JOIN QUERIES – связывание таблиц для ответа на запрос пользователя.



Дата добавления: 2023-01-28; просмотров: 300;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.