Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Избачков Юрий - Информационные системы ltrs в.rtf
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.24 Mб
Скачать

Тип данных

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

• целочисленные;

• вещественные;

• строковые;

• специализированные типы данных для денежных величин;

• специальные типы данных для временных величин (дата и/или время);

• типы двоичных объектов – данный тип не имеет аналога в языках программирования; обычно для его обозначения используется аббревиатура BLOB (Binary Large Object – большой двоичный объект).

Примечание.

Достаточно активно развивается подход к расширению возможностей реляционных систем абстрактными типами данных (соответствующими возможностями обладают, например, системы семейства Ingres/Postgres).

В рассматриваемом примере (см. табл. 4.1) используются три типа данных: строковый (столбцы Имя и Специальность), временной (столбец Дата_рождения) и целочисленный (Курс и №_студенческсто_билета).

Домен

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

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

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

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

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

Примечание.

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

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

Примечание.

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