Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мои билеты.docx
Скачиваний:
16
Добавлен:
27.09.2019
Размер:
2.85 Mб
Скачать

25. Sql. Команда изменения структуры таблицы. Примеры.

Специальная команда ALTER TABLE предназначена для модификации структуры таблицы. С ее помощью можно изменять свойства существующих столбцов, удалять или добавлять в таблицу столбцы, а также управлять ограничением целостности как на уровне столбца, так и на уровне таблицы, т.е. выполнять следующие функции:

• добавить в таблицу определение нового столбца;

• удалить столбец из таблицы;

• изменить значение по умолчанию для какого-либо столбца;

• добавить или удалить первичный ключ таблицы;

• добавить или удалить внешний ключ таблицы;

• добавить или удалить условие уникальности;

• добавить или удалить условие на значение.

Основные режимы использования команды ALTER TABLE следующие:

• добавление столбца;

• удаление столбца;

• модификация столбца;

• изменение, добавление и удаление ограничений (первичных и внешних ключей, значений по умолчанию).

1. Добавление столбца.

ALTER TABLE Студенты

ADD Год_поступления INTEGER NOT NUL DEFAULT YEAR(GETDATE())

В структуру таблицы «Студент» будет добавлен еще один столбец со значением по умолчанию, равным текущему году.

2. Модификация столбца.

Для модификации существующего столбца служит ключевое слово ALTER COLUMN. Изменение столбца невозможно, если:

• столбец участвует в ограничениях PRIMARY KEY или FOREGIG KEY;

• на столбец наложены ограничения целостности CHECK или UNIQUE (исключение – столбцы, имеющие тип данных переменной длины, т.е. типы данных, начинающиеся на var);

• со столбцом связано значение по умолчанию.

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

ALTER TABLE Студенты

ALTER COLUMN Номер_группы CHAR(6) NOT NULL

3. Удаление столбца.

Нельзя удалять столбцы с ограничением целостности CHECK, FOREIGN KEY, UNIQUE или PRIMARY KEY, а также столбцы, для которых определены значения по умолчанию.

ALTER TABLE Студенты

DROP COLUMN Год_поступления

4. Добавление ограничений на уровне таблицы.

Добавление внешних ключей в таблицу «Учебный план» (создание связи с именем FK_Дисциплина и связи с именем FK_Кадровый_состав_):

ALTER TABLE Ученый план

ADD CONSTRAINT FK_Дисциплина

FOREIGN KEY (ID_Дисциплина)

REFERRNCES Дисциплины

ALTER TABLE Ученый план

ADD CONSTRAINT FK_Кадровый_состав

FOREIGN KEY (ID_Преподаватель)

REFERRNCES Кадровый_состав

С помощью конструкции ADD CONSTRAINT создается поименованное ограничение. Необходимо отметить, что удаление любого ограничения на уровне таблицы происходит только по его имени, поэтому ограничение должно быть поименовано (чтобы его можно было удалить).

Добавление значения по умолчанию для столбца Номер_группы:

ALTER TABLE Студент

ADD CONSTRAINT DEF_Номер_группы DEFAULT 1 FOR Номер_группы

На уровне таблицы будет создано ограничение целостности с именем DEF_Номер_группы.

5. Удаление ограничений.

ALTER TABLE Учебный_план

DROP CONSTRAINT FK_Дисциплина

ALTER TABLE Студент

DROP CONSTRAINT DEF_Номер_группы.

6. Удаление таблиц.

Невозможно удалить таблицу, если на нее с помощью ограничения целостности FOREIGN KEY ссылается другая таблица: попытка удаления таблицы «Дисциплины» вызовет сообщение об ошибке, так как на таблицу «Дисциплины» ссылается таблица «Учебный_план»: DROP TABLE Дисциплины.

26. SQL. Команды добавления, модификации и удаления данных. Примеры.

1. Добавление данных – команда INSERT

Команда может быть использована для вставки как одной, так и множества строк.

INSERT [INTO] <имя_таблицы> [<список_столбцов>]

VALUES(<список_значений>)

Имя таблицы – идентифицирует имя таблицы, в которую необходимо вставить строку данных.

Список столбцов – задает имена столбцов, в которые будет производиться добавление данных.

Пример: таблица «Сводная_ведомость». Каждая строка таблицы содержит результат сдачи экзамена (зачета) по отдельной дисциплине отдельным студентом. Если студент, ID_Студент которого равен 10, сдал экзамен со значением 4 в столбце ID_Дисциплина на оценку «пять», то команда добавления этих данных в таблицу «Сводная_ведомость» выглядит следующим образом:

INSERT Сводная_ведомость

VALUES (10,4,5)