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





НазваниеИнформация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний
страница7/11
Дата публикации17.07.2013
Размер0.72 Mb.
ТипЛекция
100-bal.ru > Информатика > Лекция
1   2   3   4   5   6   7   8   9   10   11

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


http://www.intuit.ru/department/database/rdbintro/5/

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

Предположим, что мы работаем с базой данных, которая состоит из отношений СЛУЖАЩИЕ {СЛУ_НОМ, СЛУ_ИМЯ, СЛУ_ЗАРП, ПРО_НОМ} и ПРОЕКТЫ {ПРО_НОМ, ПРОЕКТ_РУК, ПРО_ЗАРП} (в отношении ПРОЕКТЫ атрибут ПРОЕКТ_РУК содержит имена служащих, являющихся руководителями проектов, а атрибут ПРО_ЗАРП – среднее значение зарплаты, получаемой участниками проекта), и хотим узнать имена и номера служащих, которые являются руководителями проектов со средней заработной платой, превышающей 18000 руб.

Если бы для формулировки такого запроса использовалась реляционная алгебра, то мы получили бы, например, следующее алгебраическое выражение:

(СЛУЖАЩИЕ JOIN ПРОЕКТЫ WHERE (СЛУ_ИМЯ = ПРОЕКТ_РУК AND

ПРО_ЗАРП > 18000.00)) PROJECT (СЛУ_ИМЯ, СЛУ_НОМ)

Это выражение можно было бы прочитать, например, следующим образом:

  • выполнить эквисоединение отношений СЛУЖАЩИЕ и ПРОЕКТЫ по условию СЛУ_ИМЯ = ПРОЕКТ_РУК;

  • ограничить полученное отношение по условию ПРО_ЗАРП > 18000.00;

  • спроецировать результат предыдущей операции на атрибут СЛУ_ИМЯ, СЛУ_НОМ.

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

Если же сформулировать тот же запрос с использованием реляционного исчисления, которому посвящается эта лекция, то мы получили бы два определения переменных:

RANGE СЛУЖАЩИЙ IS СЛУЖАЩИЕ и

RANGE ПРОЕКТ IS ПРОЕКТЫ

и выражение

СЛУЖАЩИЙ.СЛУ_ИМЯ, СЛУЖАЩИЙ.СЛУ_НОМ WHERE EXISTS (СЛУЖАЩИЙ.СЛУ_ИМЯ = ПРОЕКТ.ПРОЕКТ_РУК AND ПРОЕКТ.ПРО_ЗАРП > 18000.00).

Это выражение можно было бы прочитать, например, следующим образом: выдать значения СЛУ_ИМЯ и СЛУ_НОМ для каждого кортежа служащих такого, что существует кортеж проектов со значением ПРОЕКТ_РУК, совпадающим со значением СЛУ_НОМ этого кортежа служащих, и значением ПРО_ЗАРП, большим 18000.00.

Во второй формулировке мы указали лишь характеристики результирующего отношения, но ничего не сказали о способе его формирования. В этом случае система сама должна решить, какие операции и в каком порядке нужно выполнить над отношениями СЛУЖАЩИЕ и ПРОЕКТЫ. Обычно говорят, что алгебраическая формулировка является процедурной, т. е. задающей последовательность действий для выполнения запроса, а логическая – описательной (или декларативной), поскольку она всего лишь описывает свойства желаемого результата. Как мы указывали в начале лекции 3, на самом деле эти два механизма эквивалентны, и существуют не слишком сложные правила преобразования одного формализма в другой.

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

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

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

Исчисление кортежей


Для определения кортежной переменной используется оператор RANGE. Например, для того чтобы определить переменную СЛУЖАЩИЙ, областью определения которой является отношение СЛУЖАЩИЕ, нужно употребить конструкцию

RANGE СЛУЖАЩИЙ IS СЛУЖАЩИЕ

Как уже говорилось, из этого определения следует, что в любой момент времени переменная СЛУЖАЩИЙ представляет некоторый кортеж отношения СЛУЖАЩИЕ. При использовании кортежных переменных в формулах можно ссылаться на значение атрибута переменной (это аналогично тому, как, например, при программировании на языке C можно сослаться на значение поля структурной переменной). Например, для того, чтобы сослаться на значение атрибута СЛУ_ИМЯ переменной СЛУЖАЩИЙ, нужно употребить конструкцию СЛУЖАЩИЙ.СЛУ_ИМЯ.

Правильно построенные формулы


Правильно построенная формула (Well-Formed Formula, WFF) служит для выражения условий, накладываемых на кортежные переменные.

Простые условия

Основой WFF являются простые условия, представляющие собой операции сравнения скалярных значений (значений атрибутов переменных или литерально заданных констант). Например, конструкции

СЛУЖАЩИЙ.СЛУ_НОМ = 2934 и

СЛУЖАЩИЙ.СЛУ_НОМ = ПРОЕКТ.ПРОЕКТ_РУК

являются простыми условиями. Первое условие принимает значение true в том и только в том случае, когда значение атрибута СЛУ_НОМ кортежной переменной СЛУЖАЩИЙ равно 2934. Второе условие принимает значение true в том и только в том случае, когда значения атрибутов СЛУ_НОМ и ПРОЕКТ_РУК переменных СЛУЖАЩИЙ и ПРОЕКТ совпадают.

По определению, простое сравнение является WFF, а WFF, заключенная в круглые скобки, представляет собой простое сравнение.

Более сложные варианты WFF строятся с помощью логических связок NOT, AND, OR и IF ... THEN1) с учетом обычных приоритетов операций (NOT > AND > OR) и возможности расстановки скобок. Так, если form – WFF, а comp – простое сравнение, то NOT form, comp AND form, comp OR form и IF comp THEN form являются WFF.

Для примеров воспользуемся отношениями СЛУЖАЩИЕ, ПРОЕКТЫ и НОМЕРА_ПРОЕКТОВ из предыдущей лекции (см. рис. 5.1).

примерные значения отношений служащие, проекты и номера_проектов


Рис. 5.1.  Примерные значения отношений СЛУЖАЩИЕ, ПРОЕКТЫ и НОМЕРА_ПРОЕКТОВ

Правильно построенной является следующая формула:

IF СЛУЖАЩИЙ.СЛУ_ИМЯ = 'Иванов'

THEN (СЛУЖАЩИЙ.СЛУ_ЗАРП >= 22400.00 AND СЛУЖАЩИЙ.ПРО_НОМ = 1)

Эта формула будет принимать значение true для следующих значений кортежной переменной СЛУЖАЩИЙ:

СЛУ_НОМЕР

СЛУ_ИМЯ

СЛУ_ЗАРП

ПРО_НОМ

2934

Иванов

22400.00

1

2935

Петров

29600.00

1

2936

Сидоров

18000.00

1

2937

Федоров

20000.00

1

2938

Иванова

22000.00

1

2935

Петров

29600.00

2

2939

Сидоренко

18000.00

2

2940

Федоренко

20000.00

2

2941

Иваненко

22000.00

2

Конечно, нужно представлять себе какой-нибудь способ реализации системы, которая сможет по заданной WFF при существующем состоянии базы данных произвести такой результат. И таким очевидным способом является следующий: в некотором порядке просмотреть область определения переменной и к каждому очередному кортежу применить условие. Результатом будет то множество кортежей, для которых при вычислении условия производится значение true. Очевидно, что результат эквивалентен выполнению алгебраической операции СЛУЖАЩИЕ WHERE (NOT (СЛУЖАЩИЙ.СЛУ_ИМЯ = 'Иванов') OR (СЛУЖАЩИЙ.СЛУ_ЗАРП >= 22400.00 AND СЛУЖАЩИЙ.ПРО_НОМ = 1) над отношением, тело которого представляет собой область определения кортежной переменной.

Пусть имеется следующее определение кортежной переменной ПРОЕКТ:

RANGE ПРОЕКТ IS ПРОЕКТЫ

Вот еще пример правильно построенной формулы:

СЛУЖАЩИЙ.СЛУ_ИМЯ = ПРОЕКТ.ПРОЕКТ_РУК

Эта формула будет принимать значение true для следующих пар значений кортежных переменных СЛУЖАЩИЙ и ПРОЕКТ:

СЛУЖАЩИЕ

ПРОЕКТЫ

СЛУ_НОМЕР

СЛУ_ИМЯ

СЛУ_ЗАРП

ПРО_НОМ

ПРО_НОМ

ПРОЕКТ_ РУК

2934

Иванов

22400.00

1

1

Иванов

2941

Иваненко

22000.00

2

2

Иваненко

2934

Иванов

22400.00

2

1

Иванов

Очевидный способ реализации системы, которая по заданной WFF при существующем состоянии базы данных производит такой результат, заключается в следующем. В некотором порядке просматривать область определения (например) переменной СЛУЖАЩИЙ. Для каждого текущего кортежа из области определения переменной СЛУЖАЩИЙ просматривать область определения переменной ПРОЕКТ. Оставлять в области истинности те пары кортежей, для которых формула принимает значение true. Возможен и альтернативный подход: начать просмотр с области определения переменной ПРОЕКТ, и для каждого кортежа ПРОЕКТ просматривать область определения СЛУЖАЩИЙ.

Здесь нужно сделать несколько замечаний. Во-первых, если бы в данном случае формула была тождественно истинной (например, имела вид

(СЛУЖАЩИЙ.СЛУ_ИМЯ = СЛУЖАЩИЙ.СЛУ_ИМЯ)

AND (ПРОЕКТ.ПРОЕКТ_РУК = ПРОЕКТ.ПРОЕКТ_РУК))

то областью истинности этой формулы являлось бы декартово произведение (в строгом математическом смысле) тел отношений СЛУЖАЩИЙ и ПРОЕКТ. В реляционном исчислении кортежей, как и в реляционной алгебре, принято иметь дело с операцией расширенного декартова произведения, и поэтому считается, что в подобных случаях областью истинности WFF является отношение, заголовок которого представляет собой объединение заголовков отношений, на телах которых определены кортежные переменные, а кортежи являются объединением соответствующих кортежей из областей определения переменных. При этом имя атрибута результирующего отношения уточняется именем соответствующей переменной. Поэтому правильнее было бы изображать область истинности формулы

СЛУЖАЩИЙ.СЛУ_ИМЯ = ПРОЕКТ.ПРОЕКТ_РУК

следующим образом:

СЛУЖАЩИЙ. СЛУ_НОМЕР

СЛУЖАЩИЙ. СЛУ_ИМЯ

СЛУЖАЩИЙ. СЛУ_ЗАРП

СЛУЖАЩИЙ. ПРО_НОМ

ПРОЕКТ. ПРО_НОМ

ПРОЕКТ. ПРОЕКТ_ РУК

2934

Иванов

22400.00

1

1

Иванов

2941

Иваненко

22000.00

2

2

Иваненко

Во-вторых, как видно, показанное результирующее отношение в точности совпадает с результатом алгебраической операции СЛУЖАЩИЕ JOIN ПРОЕКТЫ WHERE СЛУ_ИМЯ = ПРОЕКТ_РУК с учетом особенности именования атрибутов результирующего отношения. Наконец, заметим, что описанный выше способ реализации, который приводит к получению области истинности рассмотренной формулы, в действительности является наиболее общим (и зачастую неоптимальным) способом выполнения операций соединения (он называется методом вложенных циклов – nested loops join).
Кванторы, свободные и связанные переменные

При построении WFF допускается использование кванторов существования (EXISTS) и всеобщности (FORALL). Если form – это WFF, в которой участвует переменная var, то конструкции EXISTS var (form) и FORALL var (form) представляют собой WFF. По определению, формула EXISTS var (form) принимает значение true в том и только в том случае, если в области определения переменной var найдется хотя бы одно значение (кортеж), для которого WFF form принимает значение true. Формула FORALL var (form) принимает значение true, если для всех значений переменной var из ее области определения WFF form принимает значение true.

Переменные, входящие в WFF, могут быть свободными или связанными. По определению, все переменные, входящие в WFF, при построении которой не использовались кванторы, являются свободными. Фактически, это означает, что если для какого-то набора значений свободных кортежных переменных при вычислении WFF получено значение true, то эти значения кортежных переменных могут входить в результирующее отношение. Если же имя переменной использовано сразу после квантора при построении WFF вида EXISTS var (form) или FORALL var (form), то в этой WFF и во всех WFF, построенных с ее участием, var является связанной переменной. Это означает, что такая переменная не видна за пределами минимальной WFF, связавшей эту переменную. При вычислении значения такой WFF используется не одно значение связанной переменной, а вся область ее определения.

Пусть здесь и далее в этом разделе СЛУ1 и СЛУ2 представляют собой две кортежные переменные, определенные на отношении СЛУЖАЩИЕ. Тогда WFF

EXISTS СЛУ2 (СЛУ1.СЛУ_ЗАРП > СЛУ2.СЛУ_ЗАРП)

для текущего кортежа переменной СЛУ1 принимает значение true в том и только в том случае, если во всем отношении СЛУЖАЩИЕ найдется такой кортеж (ассоциированный с переменной СЛУ2), чтобы значение его атрибута СЛУ_ЗАРП удовлетворяло внутреннему условию сравнения. Легко видеть, что эта формула принимает значение true только для тех значений кортежной переменной СЛУ1, которые соответствуют служащим, не получающим минимальную зарплату. Соответствующее множество кортежей показано на рис. 5.2a (для тела отношения СЛУЖАЩИЕ из рис. 5.1).

примеры правильно построенных формул с кванторами


Рис. 5.2.  Примеры правильно построенных формул с кванторами

Правильно построенная формула

FORALL СЛУ2 (СЛУ1.СЛУ_ЗАРП http://www.intuit.ru/img/symbols/ge.gifСЛУ2.СЛУ_ЗАРП)

для текущего кортежа переменной СЛУ1 принимает значение true в том и только в том случае, если для всех кортежей отношения СЛУЖАЩИЕ (связанных с переменной СЛУ2) значения атрибута СЛУ_ЗАРП удовлетворяют условию сравнения. Снова легко видеть, что формула принимает значение true только для тех значений кортежной переменной СЛУ1, которые соответствуют служащим, получающим максимальную зарплату1). Соответствующее множество кортежей показано на рис. 5.2b.

Очевидно, что показанные на рис. 5.2 отношения соответствуют условиям обеих формул. Но как в данном случае можно реализовать систему, которая по заданной формуле производит правильный результат? Наиболее очевидный способ интерпретации обеих обсуждавшихся выше формул следующий. В некотором порядке просматривать область определения свободной кортежной переменной СЛУ1. Для каждого очередного кортежа из области определения СЛУ1 просматривать область определения связанной переменной СЛУ2 до тех пор, пока не будет установлено истинностное значение формулы для данного кортежа СЛУ1 (в случае наличия квантора существования процесс просмотра для СЛУ2 можно остановить после нахождения первого кортежа, для которого значением подформулы, находящейся под знаком квантора, станет true; при наличии квантора всеобщности необходимо просмотреть всю область определения СЛУ2). Заметим, что здесь мы снова получаем два цикла, как и при интерпретации WFF с двумя свободными переменными. Но в данном случае во внешнем цикле обязательно просматривается область определения свободной переменной.

На самом деле, правильнее говорить не о свободных и связанных переменных, а о свободных и связанных вхождениях переменных. Если переменная var является связанной в WFF form, то во всех WFF, включающих form, вне form может использоваться вхождение того же имени переменной var, которое может быть свободным или связанным, но в любом случае не имеет никакого отношения к вхождению переменной var в WFF form. Вот пример:

EXISTS СЛУ2 (СЛУ1.ПРО_НОМ = СЛУ2.ПРО_НОМ

AND СЛУ1.СЛУ_НОМЕР = СЛУ2.СЛУ_НОМЕР)

AND FORALL СЛУ2 (IF СЛУ1.ПРО_НОМ = СЛУ2.ПРО_НОМ

THEN СЛУ1.СЛУ_ЗАРП = СЛУ2.СЛУ_ЗАРП)

Эта формула принимает значение true только для тех значений переменной СЛУ1, которые соответствуют служащим, участвующим в проектах с более чем одним участником, причем все участники проекта получают одну и ту же зарплату. Здесь мы имеем два связанных вхождения переменной СЛУ2 с совершенно разным смыслом. Грубо говоря, для текущего значения переменной СЛУ1 переменная СЛУ2 два раза "пробежит" свою область определения – первый раз при вычислении части формулы с квантором существования, а второй при вычислении части с квантором всеобщности. Кстати, к тому же результату приведет формула с одним квантором всеобщности вида:

FORALL СЛУ2 (IF (СЛУ1.ПРО_НОМ = СЛУ2.ПРО_НОМ AND

СЛУ1.СЛУ_НОМЕР http://www.intuit.ru/img/symbols/ne.gif СЛУ2.СЛУ_НОМЕР)

THEN СЛУ1.СЛУ_ЗАРП = СЛУ2.СЛУ_ЗАРП)

Легко заметить, что кванторы можно трактовать как булевские функции (функции, принимающие значения true или false) над множеством значений связанной кортежной переменной. С тем же успехом можно ввести в реляционное исчисление числовые функции над множествами, такие, как MIN (минимальное значение), MAX (максимальное значение), AVG (среднее значение) и т. д.

В этом случае можно было бы написать, например, WFF

СЛУ1.СЛУ_ЗАРП > MIN СЛУ2.СЛУ_ЗАРП (СЛУ1.ПРО_НОМ = СЛУ2.ПРО_НОМ)

в области истинности которой содержатся все кортежи отношения СЛУЖАЩИЕ, соответствующие тем служащим, которые получают заработную плату, превышающую минимальную зарплату служащих, участвующих в том же проекте. Понятно, что для получения результирующего отношения можно интерпретировать формулу таким же образом, как в обсуждавшемся выше случае наличия кванторов.

Целевые списки и выражения реляционного исчисления

Итак, WFF обеспечивают средства формулировки условия выборки из отношений БД. Чтобы можно было использовать исчисление для реальной работы с БД, требуется еще один компонент, который определяет набор и имена атрибутов результирующего отношения. Этот компонент называется целевым списком (target list).

Целевой список строится из целевых элементов, каждый из которых может иметь следующий вид:

  • var.attr, где var – имя свободной переменной соответствующей WFF, а attr – имя атрибута отношения, на котором определена переменная var;

  • var, что эквивалентно наличию подсписка var.attr1, var.attr2, ..., var.attrn, где {attr1, attr2, ..., attrn} включает имена всех атрибутов определяющего отношения;

  • new_name = var.attr; new_name – новое имя соответствующего атрибута результирующего отношения.

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

Выражением реляционного исчисления кортежей называется конструкция вида target_list WHERE WFF. Значением выражения является отношение, тело которого определяется WFF, а множество атрибутов и их имена – целевым списком.

В качестве простого примера покажем выражение реляционного исчисления кортежей, результат которого совпадает с результатом операции СЛУЖАЩИЕ DIVIDE BY НОМЕРА_ПРОЕКТОВ (рис. 3.11 из лекции 3):

СЛУ1, СЛУ2 RANGE IS СЛУЖАЩИЕ

НОМЕР_ПРОЕКТА range is НОМЕРА_ПРОЕКТОВ

СЛУ1.СЛУ_НОМЕР, СЛУ1.СЛУ_ИМЯ, СЛУ1.СЛУ_ЗАРП

WHERE FORALL НОМЕР_ПРОЕКТА EXISTS СЛУ2

(СЛУ1.СЛУ_НОМЕР = СЛУ2.СЛУ_НОМЕР AND

СЛУ1.ПРО_НОМ = НОМЕРА_ПРОЕКТОВ.ПРО_НОМ)

Конечно, результатом этого выражения является отношение

СЛУ_НОМЕР

СЛУ_ИМЯ

СЛУ_ЗАРП

2934

Иванов

22400.00

2935

Петров

29600.00


Правила отображения концептуальной модели на реляционную




рассказать правила отображения сущностей на переменные отношения, связей типа 1:1, 1:М и М:М. Про обязательность атрибутов пока не говорить.

Лекция 11.

NULL значения.


Пример: Книга(ISBN, ББК, УДК, Название, Авторы, Издательство, Число страниц, Год издания)

Для обозначения значений, которые нам неизвестны или отсутствуют, было принято использовать пометку NULL, иначе называемым пустым значением.

При этом NULL не является значением в полном смысле. Мы просто обозначаем, что значение отсутствует. Продемонстрируем это на примере.

Допустим, мы хотим найти все книги, УДК которых равен 681.3.07. Если кортеж содержит такой УДК, то все понятно – кортеж попадает в выборку. Если кортеж содержит другой УДК, то не попадает. Но что делать, когда УДК имеет значение NULL?

Мы не можем сказать наверняка, что он не равен, потому что значение неизвестно (а вдруг он именно такой, а мы просто не знаем). Но и утверждать, что равен, мы тоже не можем. Интуиция нам подсказывает, что скорее не равен.

Для того, чтобы корректно обрабатывать пустые значения, была введена трёхзначная логика. В ней, кроме двух значений булевой переменной true и false введено третье значение – unknown.

Операторы сравнения всегда возвращают unknown, если происходит сравнение с NULL. В том числе, NULL==NULL вернет UNKNOWN.



(A=1) OR NOT (A=1) вернет UNKNOWN для А=NULL

(A=1) OR (1=1) вернет TRUE для А=NULL

В связи с тем, что NULL может обозначать неизвестное значение, либо отсутствующее значение, то существует также четырёхзначная логика, которую мы не будем рассматривать.

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

Например: 10 + 0*NULL = NULL

В SQL Server:

NULL/0 = NULL

(@i/0*2/0) = NULL

(@i/0)*(2/0) – ошибка деления на 0

NULL значения можно использовать в особенном виде соединения – LEFT OUTER JOIN/RIGHT OUTER JOIN, которое было бы невозможно в отсутствие NULL значений.

Функция IS NULL, IS NOT NULL

Внешние соединения (OUTER JOINS).

Пример.

Employee

ID

LastName

FirstName

1

Johnson

Joe

2

Lewis

Larry

3

Thompson

Thomas

4

Patterson

Patricia




PhoneNumber

ID

Number

1

555-2323

3

555-9876




The following sample SQL query performs a left outer join on these two tables.

SELECT e.ID, e.LastName, e.FirstName, pn.Number

FROM Employee e

LEFT OUTER JOIN PhoneNumber pn

ON e.ID = pn.ID;

The result set generated by this query demonstrates how SQL uses Null as a placeholder for values missing from the right-hand (PhoneNumber) table, as shown below.

Query Result

ID

LastName

FirstName

Number

1

Johnson

Joe

555-2323

2

Lewis

Larry

NULL

3

Thompson

Thomas

555-9876

4

Patterson

Patricia

NULL

Существование NULL-значений добавляет в реляционную модель новое ограничение целостности атрибута: NULLABLE/NOT NULLABLE. NULLABLE разрешает атрибуту принимать NULL-значения, NOT NULLABLE – запрещает. В большинстве СУБД потенциальные ключи не могут принимать NULL-значений.

Нотация для обозначения реляционной схемы


  • Диаграмма.

  • Запись текстом «в строчку».
1   2   3   4   5   6   7   8   9   10   11

Похожие:

Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconРабочая программа дисциплины «химический анализ объектов окружающей среды»
Целью освоения дисциплины является обучение студентов теоретическим и практическим основам выбора метода количественного анализа...
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний icon1 Основные сведения об измерениях
Базовой системой любой автоматизированной системы управления технологическими процессами (асу тп) является системой автоматического...
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconИ охраны окружающей среды администрации города ижевска доклад об экологической обстановке
Администрация города/Структурные подразделения Администрации города Ижевска/Управление природных ресурсов и охраны окружающей среды...
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconКурсовая работа по дисциплине «Введение в специальность»
Гигиеническое нормирование содержания тяжелых металлов в объектах окружающей среды“
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconЛекция приемы разработки и выборов управленческих решений в условиях...
Пособствовать формированию у учащихся навыков экономического соперничества, психологии успеха, умений работать в группе, выступать...
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconГосударственный комитет по охране окружающей среды ханты-мансийского...
Государственным Комитетом по охране окружающей среды Ханты-Мансийского автономного округа при участии территориальных специально...
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconГосударственный комитет по охране окружающей среды ханты-мансийского...
Государственным Комитетом по охране окружающей среды Ханты-Мансийского автономного округа (Хантымансийскгоскомэкологией) при участии...
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconПрограмма учебной дисциплины «Геохимия окружающей среды и ландшафтоведение»
Целью дисциплины «Геохимия окружающей среды и ландшафтоведение» является формирование у студентов понимания целостности биосферы...
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconРабочая программа дисциплины «Нормативы по защите окружающей среды»
Цель освоения дисциплины «Нормативы по защите окружающей среды» приобретение студентами знаний об основах экологического нормирования...
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconО проведении Года охраны окружающей среды в 2013 году на территории...
На основании Указа Президента РФ от 10. 08. 2012 №1157 «О проведении в Российской Федерации Года охраны окружающей среды» 2013 год...
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconИсследовательская работа «Мусор- источник загрязнения окружающей среды»
Откуда же берется мусор? «Как же сократить это безумное количество выбрасываемого мусора?». «Как он влияет на окружающую природу»....
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний icon1. Введение 14 > Образовательные технологии 20
...
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconИнформация о проведении Всероссийского открытого урока охраны окружающей...

Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconПрограмма дисциплины ер. Р. 01 Химия окружающей среды цели и задачи...
Курс «Химия окружающей среды» проводится после изучения систематических курсов общая и неорганическая химия, органическая химия,...
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconДоклад подготовлен специалистами Управления природных ресурсов и...
В докладе «Об экологической обстановке города Ижевска в 2005 году» представлена аналитическая информация, характеризующая состояние...
Информация это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состояниях, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний iconДоклад на заседании областной коллегии органов исполнительной власти...
«О состоянии окружающей среды Тамбовской области, повышении эффективности деятельности органов власти области по обеспечению экологической...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск