Пустые значения

Кортеж

Домен

 

Наименьшая единица данных реляционной модели – это отдельное атомарное (неразложимое) для данной модели значение данных. Доменом называется множество атомарных значений одного и того же типа. Иными словами, домен представляет собой допустимое потенциальное множество значений данного типа.

В нашем примере для каждого столбца таблицы можно определить домен.

• Домены Имена и Специальности для столбцов Имя и Специальность соответственно будут базироваться на строковом типе данных – в число их значений могут входить только те строки, которые могут представлять имя и название специальности (в частности, такие строки не должны начинаться с мягкого знака).

• Домен Даты_рождения для столбца Дата_рождения определяется на базовом временном типе данных – данный домен содержит только допустимый диапазон дат рождения студентов.

• Домены Номера_курсов и Номера_студенческих_билетов базируются на целочисленном типе – в число их значений могут входить только те целые числа, которые позволяют обозначить номер курса университета (обычно от 1 до 6) и номер студенческого билета (обязательно положительное число).

 

Примечание.

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

 

Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, если они относятся к одному домену. Если же значения двух атрибутов берутся из различных доменов, то их сравнение, вероятно, лишено смысла. В нашем примере значения доменов Номера_курсов и Номера_студенческих_билетов, хотя и основаны на одном типе данных – целочисленном, сравнимыми не являются.

 

Примечание.

Понятие домена характерно далеко не для всех СУБД. В качестве примера реляционных баз данных, использующих это понятие, можно привести Oracle и InterBase.

 

 

Атрибуты, схема отношения, схема базы данных

 

Столбцы отношения называют атрибутами, им присваиваются имена, по которым к ним затем производится обращение.

Список имен атрибутов отношения с указанием имен доменов (или типов, если домены не поддерживаются), называется схемой отношения.

Схема нашего отношения СТУДЕНТ запишется так:

СТУДЕНТ {№_студенческого_билета Номера_студенческих_билетов

Имя Имена,

Дата_рождения Даты_рождения,

Курс Номера_курсов,

Специальность Специальности}

Степень отношения – это число его атрибутов. Отношение степени один называют унарным, степени два – бинарным, степени три – тернарным, …, степени n – n‑арным.

Степень отношения СТУДЕНТЫ равна пяти, то есть оно является 5‑арным.

Схемой базы данных называется множество именованных схем отношений.

 

 

Кортеж, соответствующий данной схеме отношения, представляет собой множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. Аргумент значение является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым, степень кортежа, то есть число элементов в нем, совпадает со степенью соответствующей схемы отношения. Иными словами, кортеж– это набор именованных значений заданного типа.

Таким образом, отношение, по сути, является множеством кортежей, соответствующим одной схеме отношения.

 

Примечание.

Схему отношения иногда называют также заголовком отношения, а отношение как набор кортежей – телом отношения.

 

 

Примечание.

Понятие схемы отношения напоминает понятие структурного типа данных в языках программирования (структура в C/C++, запись в Pascal). Однако в реляционных базах данных имя схемы отношения всегда совпадает с именем соответствующего отношения‑экземпляра. В классических реляционных базах данных после определения схемы базы данных изменяются только отношения‑экземпляры. В них могут появляться новые и удаляться или модифицироваться существующие кортежи. Однако во многих реализациях допускается также изменение схемы базы данных: определение новых и изменение существующих схем отношения. Это принято называть эволюцией схемы базы данных.

 

Кардинальным числом, или мощностью отношения, называется число его кортежей. Мощность отношения СТУДЕНТЫ равна 6. В отличие от степени отношения, кардинальное число отношения изменяется во времени.

 

 

В некоторых случаях какой‑либо атрибут отношения может быть неприменим. Например, в рассматриваемом в качестве примера отношении СТУДЕНТЫ может также храниться информация о потенциальных абитуриентах, посещающих подготовительные курсы вуза. В этом случае неприменимыми оказываются атрибуты №_студенческого_билета и Курс (так как абитуриенты еще не поступили в вуз и, следовательно, не имеют студенческого билета и не могут быть отнесены к какому‑либо курсу). Кроме того, иногда при вводе информации в строку реляционной таблицы некоторые данные могут быть неизвестными и выясняться позже (при поступлении на подготовительные курсы абитуриент может еще не определиться окончательно, на какую специальность он будет поступать).

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

Следует понимать, что пустое значение – это не ноль и не пустая строка, а неизвестное значение атрибута, которое не определено в данный момент времени и, в принципе, может быть определено позднее.

 

Примечание.

Для обозначения пустых значений полей используется слово NULL.