Понятие типа данных для СУБД практически тождественно одноименному понятию в программировании. Существенная разница заключается в том, что в базах данных значения могут быть неопределенными. Неопределенность эта не тождественна равенству нулю или «пустому» указателю. Слова «неопределенное значение» должны пониматься буквально: значение на данный момент неизвестно или не может быть установлено совсем. Неопределенное значение практически во всех СУБД обозначается специальным ключевым словом NULL; в примере на рис. 2.1 оно присутствует на пересечении второй строки и третьего столбца таблицы. Очевидно, что дата рождения Борисова С.В. по каким-то причинам оказалась неизвестна.
Типы данных в СУБД можно классифицировать следующим образом:
· простые типы (символы, целые и вещественные числа, битовые строки);
· специализированные числовые типы (например, деньги);
· «темпоральные» типы (дата, время).
Возможности реляционных СУБД сегодня существенно расширяются за счет внедрения абстрактных типов данных (объекты, временные таблицы, тип variant).
Некоторые СУБД поддерживают механизм доменов. Доменом в базах данных называется множество допустимых значений указанного типа. При создании столбцов они могут указываться вместе с типом данных дополнительно. Однако в некоторых СУБД (к таким относится и Microsoft SQL Server) домены не используются, т. к. для определения области допустимых значений вполне подходит ограничение целостности CHECK, о чем будет сказано несколько позже.
Именованное множество пар {имя атрибута, имя домена (типа)} образует схему отношения. Поэтому говорят, что отношение – это множество кортежей, удовлетворяющих заданной схеме.
Набор именованных схем отношения образует схему БД.
2.1.1. Фундаментальные свойства отношений
К числу фундаментальных свойств отношений, имеющих существенное значение для теории БД, принадлежат следующие три свойства.
1. Отсутствие обязательной упорядоченности кортежей.
Упорядоченность кортежей по значению какого-либо атрибута не несет для пользователя смысловой нагрузки. Поэтому взаимное расположение кортежей в отношении не принципиально. Но если для каких-то целей нужно хранить кортежи в отсортированном виде, можно использовать некоторые дополнительные функции СУБД (например, индексацию).
2. Отсутствие упорядоченности атрибутов.
Обращение к атрибуту отношения осуществляется с использованием имени, а не порядкового номера. Это позволяет менять структуру отношения: добавлять новые атрибуты, удалять существующие, без потерь в удобстве манипулирования данными.
3. Каждое поле реляционной таблицы содержит одно и только одно значение.
В этом заключается различие между реляционными и обычными, нереляционными таблицами, используемыми на ручном письме. На рис. 2.2 показаны две идентичные по содержанию таблицы, которые описывают неких людей и их увлечения. Вторая строка первой – нереляционной – таблицы разбита на три подстроки. Тем самым показано, что у Петрова С. Н. три увлечения: музыка, компьютеры и игра в снежки. Привести данную таблицу к реляционной форме можно, преобразовав вторую строку в три самостоятельных строки. Правая часть рисунка демонстрирует это: фамилия Петров повторена для каждого из трех увлечений.
Нереляционная таблица |
Реляционная таблица |
|||
ФАМИЛИЯ И.О. |
УВЛЕЧЕНИЕ |
ФАМИЛИЯ И.О. |
УВЛЕЧЕНИЕ |
|
Иванов А.В. |
Футбол |
Иванов А.В. |
Футбол |
|
Петров С.Н. |
Музыка |
Петров С.Н. |
Музыка |
|
Компьютеры |
Петров С.Н. |
Компьютеры |
||
Игра в снежки |
Петров С.Н. |
Игра в снежки |
||
Сидоров О.О. |
Этнография |
Сидоров О.О. |
Этнография |
Рисунок 2.2 – Различие между нереляционной и реляционной формой представления таблиц
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.