Главная » SQL

ПЕРВОЕ СЕРЬЕЗНОЕ ЗАБЛУЖДЕНИЕ ОБЪЕКТНОГО ПОДХОДА

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

Начнем с приведенной ниже цитаты из Третьего Манифеста [3.3].

"[Прежде чем] мы сможем рассмотреть вопрос о [сближении между] объектами и отношениями  более подробно, необходимо проанализировать  чрезвычайно важный предварительный вопрос, который приведен ниже".

Читать »

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ ОБ УТОЧНЕНИИ С ПОМОЩЬЮ ОГРАНИЧЕНИЙ

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

В данном разделе дано небольшое, но важное послесловие, которое необходимо добавить к описаниям, приведенным в предыдущих разделах. Оно касается таких примеров, как следующий: "Допустим, что тип CIRCLE имеет строгий подтип, называемый COLORED_CIRCLE" (под этим подразумевается, что определяемые этим подтипом

Читать »

СРЕДСТВА SQL ДЛЯ РАСПРЕДЕЛЕННЫХ СИСТЕМ

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

В настоящее время в языке SQL отсутствует поддержка9 настоящих распределенных систем баз данных. Безусловно, в области обработки данных  никакой поддержки и не требуется — основная задача распределенной базы данных, с точки зрения пользователя, состоит в том, чтобы сохранить возможности обработки данных неизменными. Тем не менее, требуются операции определения данных, такие как FRAGMENT, REPLICATE И т.д. [15.6]. Однако до сих пор такие операции в языке SQL отсутствуют.

Читать »

СРЕДСТВА SQL ограничения

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

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

■     В языке SQL вообще не поддерживаются ограничения типа, за исключением тех примитивных ограничений, которые являются прямым следствием применения определенного физического представления. Например, как было показано в главе 5, допустимо утверждать, что значения типа WEIGHT должны быть представлены в виде чисел DECIMAL (5,1), но нельзя указать, что эти числа должны быть больше нуля и меньше 5000.

Читать »

ТИПЫ ОТНОШЕНИЙ

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

Теперь перейдем к изучению отношений. В этом описании часто будут  рассматриваться аналогии с определениями, касающимися кортежей, которые были сформулированы в предыдущем разделе, но применительно к отношениям должно быть приведено намного больше информации по сравнению с  кортежами, поэтому соответствующий материал был разбит на несколько разделов: в разделе 6.3 рассматриваются типы отношения, в разделе 6.4 — значения отношений, а в разделе 6.5 — переменные отношения (relation variable, или сокращенно relvar).

Читать »

Реляционное исчисление

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

Реляционная алгебра и реляционное исчисление представляют  собой  два альтернативных  подхода.  Принципиальное  различие  между  ними  состоит  в следующем.  Реляционная  алгебра  определяет  в  явном  виде  набор  операций (соединение,  объединение,  проекция  и  т.д.),  которые  можно  использовать, чтобы  сообщить  системе,  как  в  базе  данных  из  определенных  отношений сформировать  некоторое   требуемое  отношение,  а  реляционное  исчисление просто задает  систему  обозначений для определения требуемого отношения в терминах существующих отношений. Например, рассмотрим запрос: "Выбрать номера  поставщиков  и  названия  городов,  в  которых  находятся  поставщики детали  с  номером  Р2".  Алгебраическая  версия  этого   запроса  может  быть составлена   примерно   так   (мы   умышленно   не   используем   формальный синтаксис, приведенный в главе7).

Читать »

Язык XQuery

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

Одним из недостатков языка XPath является то, что он в своей основе представляет собой просто механизм адресации; применяемые в нем обозначения пути позволяют переходить по существующим узлам в иерархии, но не дают возможности формировать узлы, которые еще не существуют. Иными словами,  язык XPath немного напоминает "реляционный" язык (здесь слово  "реляционный"  заключено в кавычки, поскольку настоящие реляционные языки, безусловно, не являются навигационными) в том смысле, что он поддерживает  операции сокращения и проекции, но не операции соединения19. Именно эта причина отчасти послужила стимулом к созданию языка XQuery; по сравнению с языком Xpath одним из основных дополнений, предусмотренных в языке XQuery, как раз и является способность формировать новые узлы.

Читать »

ПОДДЕРЖКА ПРЕДСТАВЛЕНИЙ В ЯЗЫКЕ SQL

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

В этом разделе будут рассмотрены средства поддержки представлений, существующие в языке SQL (ко времени написания данной книги в языке SQL не была предусмотрена поддержка снимков). Прежде всего, рассмотрим синтаксис  оператора создания представления CREATE VIEW, как показано ниже. (Здесь для краткости не рассматривается целый ряд опций и альтернатив, в частности, возможность определить представление как имеющее некоторый структурированный тип с помощью ключевого слова"ОF".)

Читать »

МОДЕЛЬ "СУЩНОСТЬ-СВЯЗЬ"

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

Как уже упоминалось в разделе 14.1, одним из наиболее известных и получивших широкое распространение методов семантического моделирования является метод построения модели "сущность—связь" (или ER-модели). Этот подход основан на использовании модели "сущность—связь", предложенной Ченом в 1976 году [14.6] и с тех пор неоднократно дополнявшейся как самим Ченом, так и многими другими исследователями (об этом можно прочесть, например, в  [14.18], [14.45]—[14.47]). Дальнейшее обсуждение в настоящей главе в основном посвящено именно данному подходу. (Следует подчеркнуть, что модель  "сущность-связь" является далеко не единственной "расширенной" моделью, кроме нее, было предложено очень много других моделей. В частности, в [14.6], [14.18], [14.30], [14.37] и особенно в [14.24] приведены общие вводные сведения по некоторым из них, а в [14.27] и [14.36] даны вводные обзоры по рассматриваемой теме.)

Читать »

ЗАМЫКАНИЕ МНОЖЕСТВА АТРИБУТОВ

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

В принципе, замыкание S+ для заданного множества функциональных зависимостей S можно вычислить с помощью следующего алгоритма: "Повторно применять правила из предыдущего раздела до тех пор, пока остается  возможным  создание новых функциональных зависимостей". Но на практике редко требуется вычислить замыкание как таковое, а потому и только что упомянутый алгоритм вряд ли будет достаточно эффективным. Однако из этого раздела вы узнаете, как можно вычислить некоторое подмножество замыкания, а именно то подмножество, которое состоит из всех функциональных зависимостей с некоторым (указанным) множеством z атрибутов, расположенных в  левой части выражения зависимости. Точнее говоря, мы покажем, что для заданной переменной отношения R, заданного множества атрибутов этой переменной отношения z и заданного множества функциональных зависимостей S, выполняющихся для переменной

Читать »

РАСПРЕДЕЛЕННАЯ ОБРАБОТКА В БАЗАХ ДАННЫХ

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

Как было указано в разделе 2.10, средства распределенной обработки позволяют соединить отдельные компьютеры в коммуникационную сеть (такую как Internet) для организации совместного решения общей задачи обработки данных на нескольких компьютерах сети. (Термин параллельная обработка используется практически в том же смысле, но в параллельных системах взаимодействующие компьютеры должны быть расположены физически достаточно близко, тогда как для распределенной системы это вовсе не обязательно, и отдельные компьютеры могут быть удалены на большие расстояния.) Взаимодействие между компьютерами осуществляется с помощью специального программного обеспечения, предназначенного для управления сетью, которое может представлять собой некоторое расширение диспетчера передачи данных (см. раздел 2.9), но чаще всего применяется в виде отдельного программного компонента.

Читать »

СРАВНЕНИЕ ПОНЯТИЙ ПРАВИЛЬНОСТИ И НЕПРОТИВОРЕЧИВОСТИ

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

По определению, внешние предикаты и высказывания, полученные путем конкретизации таких предикатов, не известны (и фактически не могут быть известными) в системе. Например, система не может иметь информации о  том,  что некий "поставщик" где-то "находится", или о том, что означает  утверждение, будто "поставщик" имеет "некоторый статус" (и т.д.). Все эти вопросы относятся к области интерпретации фактических данных, поскольку данные имеют смысл только для пользователя, но не для системы. Рассмотрим более конкретный пример. Допустим, что в одном и том же кортеже оказались данные о номере поставщика S1 и названии города Лондона. Тогда пользователь может рассматривать этот факт так, как будто он означает, что поставщик S1 находится в Лондоне10, но (повторяем) нет никакого способа, с помощью которого  можно было бы вынудить систему прийти к аналогичным выводам.

Читать »

НЕКОТОРЫЕ ДОПОЛНИТЕЛЬНЫЕ ЗАМЕЧАНИЯ

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

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

Ассоциативность и коммутативность

Можно легко убедиться в том, что операция UNION является ассоциативной. Это означает, что если a, b и с — произвольные отношения одного и того же типа, то следующие два выражения логически эквиваленты.

Читать »

УТОЧНЕНИЕ С ПОМОЩЬЮ ОГРАНИЧЕНИЯ

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

Рассмотрим следующий пример вызова селектора для типа ELLIPSE.

ELL IP SE ( L ENG TH ( 5 . 0 ), L E N G T H ( 5 . 0 ) , PO INT ( . . . ) )

Это выражение возвращает эллипс с равными полуосями. Но в реальном мире эллипс с равными полуосями фактически представляет собой окружность, поэтому можно ли рассчитывать на то, что данное выражение возвратит результат наиболее конкретного типа CIRCLE, а не просто наиболее конкретного типа ELLIPSE?

Читать »

СИСТЕМА УПРАВЛЕНИЯ ПЕРЕДАЧЕЙ ДАННЫХ

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

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

Читать »