Главная » SQL

ДОСТУП К БАЗЕ ДАННЫХ КРАТКИЙ ОБЗОР

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

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

Читать »

СТАТИСТИЧЕСКИЕ БАЗЫ ДАННЫХ

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

Статистической (в приведенном здесь контексте) называется база данных, в которой допускаются запросы с агрегированием данных (суммированием, вычислением среднего значения и т.д.), но не допускаются запросы по  отношению к элементарным данным. Например, в статистической базе данных  разрешается выдача запроса "Какова средняя зарплата служащих?", тогда как  выдача запроса "Какова зарплата служащего Мэри?" запрещена.

Читать »

ОБОБЩЕНИЕ РЕЛЯЦИОННЫХ ОПЕРАТОРОВ

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

В предыдущем разделе была приведена следующая формулировка запросав.

PACK

( ( UNPACK S_DURING { S#, DURING } ON DURING ) MINUS

( UNPACK SP_DURING { S#, DURING } ON

DURING ) ) ON DURING

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

Читать »

Дальнейшая нормализация: нормальные формы более высокого порядка

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

МНОГОЗНАЧНЫЕ ЗАВИСИМОСТИ И ЧЕТВЕРТАЯ НОРМАЛЬНАЯ ФОРМА

Пусть дана переменная отношения нстх (где н сокращенно обозначает "иерархический" — hierarchic), содержащая информацию о курсах обучения, преподавателях и учебниках. В этой переменной отношения атрибуты, описывающие преподавателей и учебники, принимают в качестве значений отношения (пример значения НСТХ приведен на рис. 13.1). Каждый кортеж переменной отношения НСТХ состоит из атрибута с названиями курсов (COURSE), a также атрибута-отношения с именами преподавателей (TEACHERS) и атрибута-отношения с названиями учебников (TEXTS) (на рис. 13.1 показаны два таких кортежа). Смысл каждого кортежа состоит в том, что соответствующий курс может читать любой из указанных преподавателей с использованием всех указанных учебников. Предположим, что для заданного курса с  может быть определено произвольное количество соответствующих преподавателей  m  и учебников п (m > 0n п  > 0). Более того, допустим, хотя этой не совсем реально, что преподаватели и рекомендуемые учебники совершенно не связаны друг с другом. Это означает, что независимо от того, кто преподает данный курс, всегда используется один и тот же набор учебников. Наконец, допустим, что определенный преподаватель или определенный учебник может быть связан с любым количеством курсов.

Читать »

Объектные базы данных

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

В период с конца 1980-х годов до середины 1990-х годов системы объектноориентированных баз данных (или сокращенно — объектные системы) вызывали значительный интерес. В тот период некоторые  исследователи рассматривали объектные системы как серьезного  конкурента реляционных систем (или, во всяком  случае,  конкурента   систем  SQL).  В  наши  дни  с  такой  позицией соглашаются    лишь     немногие;    большинство    специалистов    в    области информационных    технологий   теперь   считают,   что   объектные   системы, возможно,  имеют определенную область применения, но эта область является довольно   ограниченной   [25.33].   Тем   не   менее,   такие   системы   все   еще заслуживают  внимательного  изучения.  Поэтому  в  данной  главе   подробно рассматриваются объектные системы; здесь представлены и описаны основные объектные понятия; там, где это уместно, эти  понятия подвергнуты анализу и критике,  а  также  приведены  некоторые   выводы  относительно  перспектив применения этих понятий в системах баз данных в будущем.

Читать »

Структурированные типы

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

Перейдем к изучению структурированных типов Ниже приведен ряд примеров.

CREATE TYPE POINT AS ( X FLOAT, Y FLOAT ) NOT FINAL ;

CREATE TYPE LINESEG AS ( BEGIN POINT, END POINT ) NOT FINAL }_

15  Кроме того, для методов, в отличие от функций и процедур, предусматривается определенное связывание во время прогона (см. главу 20).

Читать »

ПРИМЕНЕНИЕ ЯЗЫКА XML В БАЗАХ ДАННЫХ

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

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

Читать »

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

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

Безусловно, что в общем любая конкретная переменная отношения может становиться объектом действия многих ограничений. Предположим, что R — переменная отношения. В таком случае предикатом переменной отношения R является результат применения логической операции "И", или операции  конъюнкции ко всем ограничениям, которые распространяются на переменную отношения R (иными словами, в которых она упоминается). Следует учитывать, что здесь возникает определенная опасность противоречивого

Читать »

ЕЩЕ РАЗ ОБ ОБЪЕКТАХ И ОБЪЕКТНЫХ КЛАССАХ

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

В этой главе определенные понятия, представленные в предыдущем разделе, описаны более подробно. Рассмотрим более сложный пример с двумя  объектными классами: DEPT (Отдел) и ЕМР (Сотрудник). Предположим, что в системе уже были описаны определяемые  пользователем  классы  MONEY  (Деньги)  и  JOB  (Работа),  а  класс  CHAR (Символьная переменная) является встроенным. Тогда операции, необходимые для создания классов DEPT и ЕМР, могут выглядеть следующим образом (с использованием некоторого гипотетического синтаксиса).

Читать »

Отношения без атрибутов

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

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

Читать »

УТИЛИТЫ БАЗ ДАННЫХ

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

2.14.  

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

Читать »

ОТОБРАЖЕНИЯ

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

Представленная на рис. 2.3 архитектура, кроме элементов самих трех уровней, включает определенные отображения: отображение концептуального уровня на внутренний и несколько отображений внешних уровней на концептуальный.

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

Читать »

Введение в язык SQL

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

Как отмечалось в главе 1, SQL является стандартным языком для работы с реляционными базами данных и в настоящее время поддерживается практически всеми   продуктами,   представленными   на    рынке.   Он   был   разработан   в лаборатории  IBM  Research  в  начале   1970-х   годов   [4.9],   [4.10].   Первой серьезной реализацией этого  языка  был продукт-прототип System R компании IBM    [4.1]—[4.3],     [4.12]—[4.14];    впоследствии    он    был    реализован    в многочисленных коммерческих продуктах как компании IBM [4.8], [4.14], [4.21], так и других изготовителей. В этой главе представлено введение в язык SQL, а дополнительные аспекты, касающиеся таких вопросов, как целостность, защита и т.п., обсуждаются в последующих главах,  специально посвященных этим темам.  При  обсуждении  языка  SQL,   если  не  указано  иное1,  мы  будем основываться на текущей версии стандарта (т.е. SQL:1999). В [4.23] приведена формальная спецификация  SQL: 1999; а в [4.24] можно  найти значительное количество исправлений и дополнений к этой спецификации.

Читать »

СРЕДСТВА SQL ДЛЯ СИСТЕМ ПРИНЯТИЯ РЕШЕНИЙ

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

В первоначально опубликованную версию стандарта SQL: 1999 с самого начала были включены определенные средства OLAP (по сути, дополнения GROUPING SETS, ROLLUP и CUBE к конструкции GROUP BY, которые описаны в разделе  22.7), а через год после публикации этой версии в стандарт было введено много дополнительных средств в форме "Дополнения OLAP" к этому стандарту [22.21]. Изложение исчерпывающих сведений об этом дополнении далеко выходит за  рамки данной книги, поэтому остановимся на приведенном ниже кратком описании включенных в него средств.

Читать »

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

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

Если предположить, что реляционная база данных — это по существу просто  база данных, в которой данные представлены в виде таблиц (а это так и есть), то возникает резонный вопрос: почему же мы называем такую базу данных именно реляционной, а не, скажем, табличной? Ответ прост (фактически он был дан еще в главе 1): термин "relation" (отношение) — это формальное название таблицы (точнее, определенного вида таблиц; подробности будут приведены в главе 6). Например, можно сказать, что база данных отделов и служащих, представленная на рис. 3.1, содержит два отношения.

Читать »