Главная » SQL

ИЗБИРАТЕЛЬНАЯ СХЕМА УПРАВЛЕНИЯ ДОСТУПОМ

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

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

Читать »

ИЕРАРХИИ ТИПОВ

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

В этом разделе представлен рабочий пример, который используется на протяжении всей остальной части этой главы. Этот пример относится к множеству геометрических типов (PLANE_FIGURE, ELLIPSE, CIRCLE, POLYGON и  т.д.), упорядоченных в виде так называемой иерархии типов (рис. 20.1). Ниже приведены наброски определений для

Читать »

Архитектура системы баз данных

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

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

Читать »

КАТАЛОГ SQL

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

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

Читать »

ЗАМЫКАНИЕ МНОЖЕСТВА  ЗАВИСИМОСТЕЙ

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

Как упоминалось выше, из одних функциональных зависимостей могут  следовать другие функциональные зависимости. Например, рассмотрим  приведенную ниже зависимость.

{   S#,    Р#   }  → {   CITY,   QTY   }

Из нее следуют приведенные ниже функциональные зависимости.

Читать »

Администрирование данных и администрирование базы данных

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

Рассмотрим более подробно концепцию централизованного управления. Предполагается, что при централизованном управлении на предприятии, использующем базу данных, есть человек, который несет основную  ответственность за данные предприятия. Это— администратор данных, или сокращенно АД, уже упоминавшийся в разделе 1.2. В связи с тем, что данные (как было отмечено выше) — это одна из главных ценностей предприятия,  администратор должен разбираться в них и понимать нужды предприятия по  отношению к данным на уровне высшего управляющего звена в руководстве предприятием. Сам администратор данных также должен относиться к этому звену. В его обязанности входит принятие решений о том, какие данные необходимо вносить в базу данных в первую очередь, а также выработка требований по сопровождению и обработке данных после их занесения в базу данных. Примером подобных требований может служить распоряжение о том, кто и при каких обстоятельствах имеет право выполнять  конкретные  операции  над  теми  или  иными  данными.  Другими  словами, администратор данных должен обеспечивать защиту данных (подробнее об этом речь пойдет ниже).

Читать »

ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ SQL

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

Как и в предыдущем разделе, начнем с рассмотрения грамматики в форме  БэкусаНаура, затем перейдем  к  более  подробному  описанию  условий  <like  cond>,  <match cond> и <all or any cond>.

<bool exp>

Читать »

ER-ДИАГРАММЫ

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

Как уже указывалось в предыдущем разделе, в [14.6] была не только введена сама модель "сущность—связь", но и представлена концепция ER-диаграмм.  Такая диаграмма является методом представления логической структуры базы данных в графическом виде для более простого и наглядного отображения основных компонентов конкретного проекта базы данных (один рисунок порой стоит тысячи слов). Действительно, популярность методов ER-моделирования  как подхода для проектирования баз данных, скорее всего, объясняется именно наличием подобной диаграммной технологии, а не чем-либо иным. Ниже правила создания ER-диаграмм поясняются на примерах, представленных

Читать »

Введение в реляционные  базы данных

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

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

Читать »

ЦЕПОЧКИ УКАЗАТЕЛЕЙ В БАЗЕ ДАННЫХ

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

Снова предположим, как и в начале раздела Г.4, что важное значение имеет запрос:  "Определить всех  поставщиков  из  города  с".  Еще  одним  хранимым  представлением,  позволяющим достаточно успешно выполнять этот запрос (возможно, даже лучше по  сравнению  с индексом, хотя и не всегда), является представление, в котором используются цепочки указателей. Такое представление показано на рис. Г. 16. Как показано на этом рисунке,  в  нем используются два файла — файл поставщиков и файл городов, во многом аналогично  тому, как и в индексном представлении, показанном на рис. Г.9 (но на этот раз оба файла,  скорее  всего, должны находиться в одном и том же наборе страниц по причинам, которые будут описаны в разделе Г.7). Но в представлении на основе цепочки указателей, показанном на рис. Г. 16, файл городов — это не индекс, а структура, которую иногда называют родительским файлом. В  соответствии  с  этим,  файл  поставщиков  именуется  дочерним  файлом  и  вся  эта  структура  может рассматриваться как пример родительско-дочерней организации данных.

Читать »

ВЗАИМОБЛОКИРОВКА

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

Выше было описано, как может использоваться блокировка (а точнее, строгий протокол двухфазной блокировки) для решения трех основных проблем  управления параллельным выполнением. Но, к сожалению, было также показано, что блокировка может сама стать причиной возникновения проблем, из которых основной является проблема взаимоблокировки. В предыдущем разделе были приведены два примера взаимоблокировки. На рис. 16.10 показан немного более общий вариант этой проблемы; на данном рисунке через rl и г2 обозначены любые блокируемые ресурсы, а не только кортежи базы данных (см. раздел 16.9), а с помощью операторов "LOCK . . . EXCLUSIVE" обозначаются  любые операторы, для выполнения которых требуется выдача запросов на блокировки X, явных или неявных.

Читать »

ХРАНИЛИЩА ДАННЫХ И МАГАЗИНЫ ДАННЫХ

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

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

Читать »

Транзакция как  логическая единица работы

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

Транзакция — это логическая единица работы; она начинается с выполнения операции BEGIN TRANSACTION и заканчивается операцией COMMIT или ROLLBACK. На рис. 15.1 показан псевдокод транзакции, которая предназначена для перечисления суммы 100 долл. со счета 123 на счет 456. Вполне очевидно, что операция перевода денег с одного счета на другой, которая по самой своей сути является неразрывной, фактически требует выполнения в базе данных двух отдельных операций обновления. Более того, сама база данных на этапе между этими двумя обновлениями находится в недопустимом состоянии, в том смысле, что она не отражает действительное состояние дел в реальном мире; вполне очевидно, что в банковской практике перевод денег с одного счета на другой не должен влиять на суммарное количество денежных средств на рассматриваемых счетах, а в данном примере после выполнения первого обновления сумма в 100 долл. на время "исчезает" из

Читать »

Табличные  и  логические  выражения  SQL

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

Табличные  и  логические  выражения  составляют  основу  языка  SQL.  В   данном приложении  представлена  грамматика  указанных  выражений  в  форме  Бэкуса-Наура. Кроме того, в некоторых случаях подробно описана семантика таких выражений. Тем не менее, здесь преднамеренно исключены следующие описания:

Читать »

СРЕДСТВА блокировки ЯЗЫКА SQL

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

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

Читать »