Главная » SQL

Транзакции  ПОДДЕРЖКА ЯЗЫКА SQL

Добавлено Дата: 11 August, 2012 категория: SQL, Базы данных

В этом разделе средства поддержки работы с транзакциями в языке SQL (в частности, процедуры восстановления  на основе транзакций) рассматриваются  в  соответствии  с общими принципами, описанными в предыдущих разделах. Прежде всего, в системе гарантируется,  что  выполнение  большинства  операторов  SQL  происходит  неразрывно (единственными исключениями являются CALL и RETURN). Кроме того, как было описано в главе 4, в языке SQL предусмотрены непосредственные аналоги операторов BEGIN TRANSACTION, COMMIT и ROLLBACK, которые называются в нем, соответственно, START TRANSACTION, COMMIT WORK и ROLLBACK WORK. Ниже показан синтаксис оператора START TRANSACTION.

Читать »

Наследование типов

Добавлено Дата: 10 August, 2012 категория: SQL, Базы данных

■  Тип — это именованное множество значений (под этим подразумеваются все возможные значения рассматриваемого типа), наряду со связанным с ним множеством операторов, которые могут применяться к значениям и переменным рассматриваемого типа.

Читать »

ПЕРЕМЕННЫЕ ОТНОШЕНИЯ

Добавлено Дата: 10 August, 2012 категория: SQL, Базы данных

Теперь обратимся к переменным отношения (relation variable, или сокращенно relvar). Как было отмечено в главе 3, переменные отношения имеют две разновидности — базовые переменные отношения и представления (называемые также, соответственно, реальными и виртуальными переменными отношения). В данном разделе нас в основном интересует именно базовые переменные отношения (представления подробно рассматриваются в главе 10), но следует отметить, что все сказанное здесь применительно к переменным отношения без дополнительного уточнения распространяется на все переменные отношения в целом, включая представления.

Читать »

СРАВНИТЕЛЬНЫЙ АНАЛИЗ РЕЛЯЦИОННОГО ИСЧИСЛЕНИЯ И РЕЛЯЦИОННОЙ АЛГЕБРЫ

Добавлено Дата: 10 August, 2012 категория: SQL, Базы данных

В начале этой главы утверждалось, что реляционная алгебра и реляционное исчисление в своей основе эквивалентны. Обсудим это утверждение более подробно. Вначале Кодд в [7.1] показал, что алгебра является, по меньшей мере,  столь же мощной, как и исчисление. Для этой цели он предложил алгоритм,  получивший название алгоритма редукции Кодда, с помощью которого любое выражение исчисления можно преобразовать в семантически эквивалентное выражение алгебры. Мы не станем приводить здесь этот алгоритм полностью, а ограничимся довольно сложным примером, иллюстрирующим в общих чертах, как он функционирует3.

Читать »

ВНЕДРЕНИЕ ОПЕРАТОРОВ  SQL

Добавлено Дата: 9 August, 2012 категория: SQL, Базы данных

В большинстве продуктов SQL операторы языка SQL могут выполняться как непосредственно (т.е. интерактивно, с подключенного терминала), так и в виде части  прикладной программы (т.е. операторы SQL могут быть внедренными, а значит, могут смешиваться с операторами базового языка этой программы). Приложения, использующие внедренные операторы SQL, могут быть написаны на многих базовых языках; стандарт SQL включает поддержку для Ada, С, COBOL, Fortran, Java, M (прежде известного как  MUMPS), Pascal и PL/I. Рассмотрим особенности технологии внедрения операторов SQL более подробно.

Читать »

РАЗРАБОТКА ДАННЫХ ДЛЯ СИСТЕМ ПРИНЯТИЯ РЕШЕНИЙ

Добавлено Дата: 9 August, 2012 категория: SQL, Базы данных

Разработку данных можно охарактеризовать как исследовательский анализ данных. Цель такой разработки — поиск интересных зависимостей среди данных, которые впоследствии могут использоваться для выработки стратегии деловой активности или для выявления  необычного  поведения,  например, внезапного  возрастания  интенсивности использования какой-то кредитной карточки (а это может означать, что она украдена). В     инструментах     разработки     данных     используются     статистические     методы, применяемые   к   большим   объемам    хранимых   данных,   что   и   позволяет   найти интересующие пользователя закономерности.

Читать »

ПРЕИМУЩЕСТВА ПОДЛИННОГО СБЛИЖЕНИЯ ТЕХНОЛОГИЙ

Добавлено Дата: 9 August, 2012 категория: SQL, Базы данных

В [26.41] Стоунбрейкер (Stonebraker) представил матрицу классификации для СУБД (рис. 26.4). Квадрант 1 этой матрицы представляет приложения, в которых применяются только относительно простые данные и не предъявляются  требования по выполнению произвольных  запросов  (хорошим  примером  подобного  приложения  может  служить обычный текстовой процессор). Такие  приложения в действительности вообще нельзя назвать приложениями базы данных в обычном смысле этого термина; так сказать,

Читать »

ОПРЕДЕЛЕНИЕ ЗНАЧЕНИЙ И ПЕРЕМЕННЫХ

Добавлено Дата: 9 August, 2012 категория: SQL, Базы данных

Прежде всего, необходимо подчеркнуть, что между значениями и переменными есть важное и фундаментальное логическое различие1 (достойно удивления то, насколько часто в литературе встречаются ошибочные взгляды по этому вопросу).  Автор следует трактовке, изложенной в [5.1], и принимает за основу приведенные ниже определения.

Читать »

В-деревья и индексация БД

Добавлено Дата: 9 August, 2012 категория: SQL, Базы данных

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

Читать »

Дальнейшая нормализация: формы 1НФ, 2НФ, 3НФ и НФБК

Добавлено Дата: 8 August, 2012 категория: SQL, Базы данных

До сих пор в этой книге в качестве примера рассматривалась база данных поставщиков и деталей с приведенной ниже логической структурой.

S { S#, SNAME, STATUS, CITY } PRIMARY KEY { S# }

P { P#, PNAME, COLOR,

WEIGHT, CITY } PRIMARY KEY

Читать »

ВОССТАНОВЛЕНИЕ ТРАНЗАКЦИИ

Добавлено Дата: 7 August, 2012 категория: SQL, Базы данных

Транзакция начинается с выполнения оператора BEGIN TRANSACTION и заканчивается выполнением оператора COMMIT или ROLLBACK. Оператор COMMIT  устанавливает так называемую точку фиксации (которую называют  также  точкой синхронизации — syncpoint, особенно в ранее созданных системах). Точка фиксации соответствует (успешному) окончанию логической единицы работы и, следовательно, точке, в которой база данных находится (или будет находиться после фиксации) в непротиворечивом состоянии. В противовес  этому, после выполнения оператора ROLLBACK база данных вновь возвращается  в  состояние, в котором она была в момент начала обработки оператора BEGIN TRANSACTION, т.е. в предыдущую точку фиксации.

Читать »

РЕЛЯЦИОННЫЕ И ДРУГИЕ СИСТЕМЫ

Добавлено Дата: 7 August, 2012 категория: SQL, Базы данных

Как уже было сказано выше, системы с поддержкой SQL, или просто системы SQL, в настоящее время стали преобладающими на рынке баз данных, и одной  из важных причин подобного состояния дел является именно то, что такие  системы основаны на реляционной модели данных. Поэтому не удивительно, что в неформальном общении системы SQL часто называют просто реляционными системами5. Кроме того, подавляющее большинство научных исследований в области баз данных в течение последних 30 лет было посвящено (иногда косвенно) именно этой модели. Фактически, введение реляционной модели в 1969 и 1970 годах было, несомненно, наиболее важным событием во всей истории развития теории баз данных. По этим причинам, а также учитывая то, что реляционная модель основана на определенных математических и логических принципах и, следовательно, идеально подходит для изложения теоретических концепций систем баз данных, основное внимание в настоящей книге уделяется именно реляционным системам и реляционному подходу.

Читать »

ДЕДУКТИВНЫЕ СИСТЕМЫ БАЗ ДАННЫХ

Добавлено Дата: 7 August, 2012 категория: SQL, Базы данных

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

Читать »

КРАТКИЙ АНАЛИЗ ER-МОДЕЛИ

Добавлено Дата: 6 August, 2012 категория: SQL, Базы данных

В этом разделе кратко рассматриваются некоторые аспекты ER-модели.  Большая часть излагаемого здесь материала взята из другой работы автора [14.9], в которой эта тема обсуждается подробнее. Дополнительные сведения и комментарии можно найти в аннотациях, помещенных в список рекомендуемой литературы к данной главе.

Читать »

ОРТОГОНАЛЬНОЕ ПРОЕКТИРОВАНИЕ (НЕБОЛЬШОЕ ОТСТУПЛЕНИЕ ОТ ТЕМЫ)

Добавлено Дата: 6 August, 2012 категория: SQL, Базы данных

В этом разделе, следуя описанию, приведенному в [13.12], кратко рассматривается еще один принцип проектирования баз данных, который напрямую не связан с принципом дальнейшей нормализации, но очень похож на него тем, что также является научно обоснованным. Он называется принципом  ортогонального  проектирования (principle of orthogonal design). Обратимся к рис. 13.7, на котором представлен, безусловно, плохой, но вполне допустимый проект представления данных о поставщиках. Здесь переменная отношения SA соответствует поставщикам, которые находятся в Париже, а переменная

Читать »