|
Программирование >> Формирование связанных подзапросов
90 4. Создание объектов базы данных манды ALTER TABLE для добавления столбцов в таблицу имеет вид ALTER TABLE <ИМЯ ТабЛИЦЫ> ADD (<ИМЯ СТОЛбца> <ТИП ДАННЫХ> <размер>); По этой команде для существующих в таблице строк добавляется новый столбец, в который заносится NULL-значение. Этот столбец становится последним в таблице. Можно добавлять несколько столбцов, в этом случае их определения в команде ALTER TABLE разделяются запятой. Возможно изменение описания столбцов. Часто это связано с изменением размеров столбцов, добавлением или удалением ограничений, накладываемых на их значения. Синтаксис команды в этом случае имеет вид ALTER TABLE <ИМЯ ТЭбЛИЦЫ> MODI <ИМЯ СТОЛбЦЭ> <ТИП ДАННЫХ> <размер/точность >; Следует иметь в виду, что модификация характеристик столбца может осуществляться не в любом случае, а с учетом следующих ограничений: изменение типа даннхх возможно только в том случае, если столбец пуст; для незаполненного столбца можно изменять размер/точность. Для заполненного столбца размер/точность можно увеличить, но нельзя понизить; ограничение NOT NULL может быть установлено, если ни одно значение в столбце не содержит nUlL. Опцию NOT NULL всегда можно отменить; разрешается изменять значения, установленнхе по умолчанию. 4.4. Удаление таблицы Чтобы удалить существующую таблицу, необходимо предварительно удалить все данные из этой таблицы, то есть сделать ее пустой. Таблица, имеющая строки, не может бгть удалена. Синтаксис команды, осуществляющей удаление пустой таблицы, имеет следующий вид: DROP TABLE <имя таблицы>; 4.5. Ограничения на множество допустимых значений данных До сих пор рассматривалось только следующее ограничение - значения, вводимте в таблицу, должны иметь тип: данных и размеры, совместимые с типами/размером данных столбцов, в которые эти значения вводятся (как определено в команде CREATE TABLE или ALTER TABLE). Описание таблицы может быть дополнено более сложными ограничениями, накладываемыми на значения, которые могут быть вставлены в столбец или группу столбцов. Ограничения (CONSTRAINTS) являются частью определения таблицы. При создании (изменении) таблицы могут быть определены ограничения на вводимые значения. В этом случае SQL будет отвергать любое из них при несоответствии заданным критериям. Ограничения могут быть статическими, ограничивающими значения или диапазон значений, вставляемых в столбец (CHECK, NOT NULL). Они могут иметь связь со всеми значениями столбца, ограничивая новые строки значениями, которые не содержатся в столбцах или их наборах (уникальные значения, первичные ключи). Ограничения могут также определяться связью со значениями, находящимися в другой таблице, допуская, например, вставку в столбец только тех значений, которые в дан-н1м момент содержатся также в другом столбце другой или этой ,же таблице! (внешний ключ). Эти ограничения носят динамический характер. Упражнения 1. Напишите команду CREATE TABLE для создания таблицы LECTURER. 2. Напишите команду CREATE TABLE для создания таблицы SUBJECT. 3. Напишите команду CREATE TABLE для создания таблицы UNIVERSITY. 4. Напишите команду CREATE TABLE для создания таблицы EXAMMARKS . 5. Напишите команду CREATE TABLE для создания таблицы SUB J LECT. 6. Напишите команду, которая позволит быстро выбрать данные о студентах по курсам, на которых они учатся. 7. Создайте индекс, который позволит для каждого студента быстро осуществить поиск оценок, сгруппированных по датам. Существует два основнхх типа ограничений - ограничения на столбцы и ограничения на таблицу. Ограничения на столбце! (COLUMN CONSTRAINTS) применимы только к отдельнхм столбцам, а ограничения на таблицу (TABLE CONSTRAINTS) применимы к группам, состоящим из одного или более столбцов. Ограничения на столбец добавляются в конце определения столбца после указания типа данных и перед окончанием описания столбца (запятой). Ограничения на таблицу размещаются в конце определения таблицы, после определения последнего столбца. Команда CREATE TABLE имеет следующий синтаксис, расширенный включением ограничений: CREATE TABLE <ИМЯ таблицы > (<имя столбца > <тип данных> Ограничения на столбец>, <имя столбца> <тип данных> Ограничения на столбец>, Ограничения на таблицу> (<имя столбца>[,<имя столбца>])); Поля, заданные в круглых скобках после описания ограничений таблицы, - это поля, на которые эти ограничения распространяются. Ограничения на столбцы применяются к тем столбцам, в которых они описаны. 4.5.1. Ограничение NOT NULL Чтобы запретить возможность использования в поле NULL-значений, можно при создании таблицы командой CREATE TABLE указать для соответствующего столбца ключевое слово NOT NULL. Это ограничение применимо только к столбцам таблицы. Как уже говорилось выше, NULL - это специальный маркер, обозначающий тот факт, что поле пусто. Но он полезен не всегда. Первичные ключи, например, в принципе не должны содержать NULL-значений (бгть пустыми), поскольку это нарушило бы требование уникальности первичного ключа (более строго - функциональную зависимость атрибутов таблицы от первичного ключа). Во многих других случаях также необходимо, чтобы поля обязательно содержали определеннхе значения. Если ключевое слово NOT NULL размещается непосредственно после типа даннхх (включая размер) столбца, то любые попытки оставить значение
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |