Создание, изменение и удаление базовых таблиц бд

  • Часть 1
  • | 2
  • | 3

Например, если требуется поместить в столбец summa значение суммы столбцов first и second, описание типа данных столбца summa должно выглядеть так:

summa COMPUTED BY (first + second).

В результате тип данных столбца summa будет автоматически приведен к типу данных столбцов firstи secondпо правилу преобразования типов.

При конкатенации строк, содержащих имя (name) и отчество (second_name), для получения полного имени (full_name) описание типа данных столбца full_name, содержащего в качестве разделителя запятую, может быть следующим:

full_name COMPUTED BY (name || ',' || second_name).

Столбец full_name будет иметь строковый тип данных с длиной, равной сумме длин строк second_name и name.

Очевидно, что определенные таким образом столбцы summa и full_name будут доступны только для чтения (read-only column), т.е. в эти столбцы нельзя добавлять значения, а следовательно, они не должны упоминаться в списке столбцов запросов INSERTи UPDATE.

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

Предложение DEFAULT определяет значение столбца по умолчанию, т.е. то значение, которое будет вставляться в таблицу при добавлении новой строки. Если таблица содержит один столбец, то ему не может быть назначено значение по умолчанию.

Например, необходимо создать таблицу Days, состоящую из пяти столбцов: number типа INTEGER, dat типа DATE, event типа VARCHAR(20), usr типа CHAR(10) и tel, определенного на созданном домене Telephone. При этом столбец number не должен содержать NULL-значений, столбец dat по умолчанию должен содержать 1 сентября 1996 года, столбец event по умолчанию должен содержать NULL-значения, столбец usr по умолчанию должен содержать имя пользователя, подключенного к БД, а столбец tel должен содержать значение по умолчанию из домена Telephone. Запрос для создания таблицы Days примет следующий вид:

предыдущаяследующая