Условия на значения полей и значения по умолчанию

На этапе концептуального проектирования было введено понятие домена как множество разрешенных значений атрибута. При создании физической модели базы данных домен находит свое выражение в виде задания каждому полю таблицы определенного типа данных. Кроме того, большинство СУБД позволяет накладывать ограничения на значения данных в виде некоторого условия, что позволяет снизить ошибки ввода. При вводе данных производится автоматическая проверка их соответствия указанным типам и проверка выполнения заданных условий. Например, при описании поля Дата рождения ему присваивается тип Дата и задается интервал возможных значений, например: >01/01/1920 и < 01/01/2000.

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

Реализация реляционных баз данных. Язык SQL

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

Большинство использующихся в настоящее время реляционных СУБД поддерживают стандартизованный язык запросов SQL, называемый структурным языком запросов (Structured Query Language). Язык SQL существует в различных формах с середины 1970-х г. После появления в 1970 г. реляционной модели компания IBM инициировала проект по разработке реляционной СУБД, получившей название System R. В рамках этого проекта была создана первая версия языка. Практически одновременно язык SQL был применен в СУБД ORACLE компанией Relation Software Inc, называющейся теперь Oracle Corporation. Система ORACLE, постоянно развиваясь, стала одной из доминирующих коммерческих СУБД.

Международная организация по стандартизации ISO, начиная с 1980-х г., проводила работу по созданию стандарта языков реляционных баз данных. В настоящее время принят в качестве стандарта и нашел применение в коммерческих продуктах язык SQL-92. Далее мы опишем основные особенности этого языка и приведем в качестве примера основные его конструкции.

Язык SQL предназначен для выполнения операций над таблицами и над данными таблиц. К операциям над таблицами относятся операции создания, удаления, изменения структуры таблиц. К операциям над данными относятся выборка, изменение, добавление и удаление записей таблицы. SQL является, таким образом, одновременно и языком описания данных и языком построения запросов.

Язык SQL является непроцедурным языком, то есть он не содержит операторов передачи управления, организации и вызова подпрограмм. В связи с этим SQL не используется автономно, а представляет собой средство манипулирования данными в рамках СУБД и ее встроенного языка программирования (например, языка Visual Basic for Applications СУБД MS Access).

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

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

Имена и типы данных

Имена таблиц и представлений должны быть уникальными в пределах данной схемы, а имена столбцов – уникальными в пределах данной таблицы. Имена объектов могут иметь до 128 символов и состоять из букв латинского алфавита, цифр и символов подчеркивания. Регистр символов (прописные или строчные буквы) значения не имеет. Обращение к полю таблицы в общем случае записывается как имя_таблицы.имя_поля.

Каждому полю необходимо присвоить определенный тип данных. В SQL-92 описаны более десятка типов данных, основные типы приведены в табл. 7.6. Логический тип в описании языка отсутствует.

Таблица 7.6

Основные типы данных в SQL

Тип Описание
INTEGER (INT) Целое число
NUMERIC Число с фиксированной точкой. Необходимо указать общую длину числа (включая десятичную точку) и количество десятичных знаков после точки. Например, при задании Numeric (6, 2) все числа столбца должны иметь две цифры после десятичной точки и не более трех в целой части.
REAL Вещественное число одинарной точности. Количество десятичных знаков зависит от конкретной вычислительной системы
DATE Дата
TIME Время
CHARACTER (CHAR) Строка символов фиксированной длины. Необходимо указывать длину: например,CHAR (20) соответствует строкам из 20 символов

Отметим, что значение длины в байтах и, следовательно, диапазон и точность данных числовых типов определяется конкретной вычислительной системой, на которой реализуется база данных.

Наши рекомендации