Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа6 - новая..doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
78.85 Кб
Скачать

4. Модификация структуры таблицы.

Оператор изменения таблицы имеет следующий обобщенный формат:

<изменение_таблицы> ::=

ALTER TABLE имя_таблицы

[ADD [COLUMN]имя_столбца тип_данных

[ NOT NULL ][UNIQUE]

[DEFAULT <значение>][ CHECK (<условие_выбора>)]]

[DROP [COLUMN] имя_столбца [RESTRICT | CASCADE ]]

[ADD [CONSTRAINT [имя_ограничения]]

[{PRIMARY KEY (имя_столбца [,...n])

|[UNIQUE (имя_столбца [,...n])}

|[FOREIGN KEY (имя_столбца_внешнего_ключа [,...n])

REFERENCES имя_род_таблицы

[(имя_столбца_род_таблицы [,...n])],

[ MATCH {PARTIAL | FULL}

[ON UPDATE {CASCADE| SET NULL |

SET DEFAULT | NO ACTION}]

[ON DELETE {CASCADE| SET NULL |

SET DEFAULT | NO ACTION}]

|[CHECK(<условие_выбора>)][,...n]}]

[DROP CONSTRAINT имя_ограничения

[RESTRICT | CASCADE]]

[ALTER [COLUMN] SET DEFAULT <значение>]

[ALTER [COLUMN] DROP DEFAULT]

Здесь параметры имеют то же самое назначение, что и в определении оператора CREATE TABLE.

Задание по работе.

Вариант1.

1.Создать новую таблицу РаЗделы(Кодраздела, названиераздела), где Кодраздела –первичный ключ.

2.В таблицу КНИГИ добавить поле Кодраздела как внешний ключ , заполнить это поле.

3.Для учебной литературы увеличить срок пользования в 10 раз.

4.Записать команду, которая позволит быстро выбирать информацию о должниках, сгруппированную по датам.

5. Удалить из таблицы Читатели, читателей за которыми не числятся книги.

Вариант 2.

  1. Создать таблицу карточек с истекшим сроком действия.

  2. Из таблицы Карточки удалить карточки, срок действия которых истек.

  3. Добавить поле Дата операции в таблицу Операции , установив по умолчанию дату равную текущей.

  4. Записать команду, которая позволит быстро выбирать информацию из таблицы Операции, сгруппированную по номеру карточки..

  5. Для поля тип в таблице Карточки сделать ограничение на значение путем выбора из заданного списка.

Вариант 3.

  1. Записать команду, которая позволит быстро выбирать информацию о должностях из таблицы Рабочие места.

  2. Добавить в таблицу Подразделения поле стажработы.

  3. Создать таблицу Трудовая книжка(Табномер, датапринятия, датаувольнения)

  4. Удалить из таблицы Подразделения уволенных сотрудников.

  5. Установить по умолчанию значение поля Надбавка равным нулю.

Вариант 4.

  1. Создать табл специальности (шифр факультета, код специальности, название специальности) , объявить поле код специальности первичным ключом и заполнить ее для всех существующих факультетов.

  2. Добавить в табл Группа поле Код специальности, объявив его внешним ключом

  3. Записать команду, которая позволит быстро выбирать информацию по группе из табл Студенты

  4. Дополнить табл Группы полем средний балл группы

  5. Удалить студентов, имеющий средний балл ниже 4

Вариант 5.

  1. Создать таблицу Маршруты(Кодмаршрута, Местоприбытия, Километраж, Времявпути). Поле Код маршрута – первичный ключ, объявить как счетчик.

  2. Скорректировать таблицу Поездки, убрав поле километраж, добавив поле Кодмаршрута, объявив его внешним ключом.

  3. Записать команду, которая позволит быстро выбирать информацию по дате из таблицы Поездки.

  4. Обновить поле Пробег в таблице Транспорт данными иа табл.Маршруты, т.е. подсчитать каков километраж поездок каждого автомобиля.

  5. Удалить из таблицы Транспорт автомобили, имеющие неудовлетворительное состояние.

Вариант 6.

  1. Создать таблицу Расписание(Кодпары, Номерзанятия, Дата, Видзанятия, Аудитория).Установить по умолчанию значение поля Видзанятия – лабораторные работы.

  2. Скорректировать таблицу Пропуски, удалив поля Дата, Вид занятия и добавив поле Кодпары. Это поле объявить как вторичный ключ.

  3. Записать команду, которая позволит быстро выбирать информацию по Номерузанятия из таблицы Пропуски.

  4. Преподаватель Петров уволился, перевести его занятия преподавателю Иванову.

  5. Имеющиеся вакансии по лабораторным работам передать Гусеву.

Вариант 7.

  1. Записать команду, которая позволит быстро выбирать информацию о заселении из таблицы Booking, сгруппированную по датам.

  2. Добавить новое поле в таблицу Hotel – класс комфортности гостиницы.

  3. Из таблицы Guest удалить информацию о гостях, срок проживания которых закончен.

  4. Для гостиниц с наивысшим типом комфортности увеличить цену за проживание на 20%.

  5. Создать новую таблицу НотelMinsk и перенести в нее данные о гостиницах Минска их таблицы Hotel.

Вариант 8.

  1. Записать команду, которая позволит быстро выбирать информацию по типам в таблице Product.

  2. ПК, имеющие скорость ниже заданной, сняты с производства. Удалить эту информацию из таблицы РС.

  3. Увеличить цену на лазерные цветные принтеры на 5%.

  4. Создать новую таблицу, содержащую информацию о сканерах.

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

Вариант 9.

  1. Создать таблицу Credit(KlientId, CreditSum, Data, Srok) и заколнить ее данными из таблицы Klient, предусмотреть возможность нескольких кредитов у каждого клиента.

  2. Удалить из таблицы Klient поле CreditSum.

  3. Увеличить зарплату клиентам, работающим в должности менеджер на 20%.

  4. Записать команду, которая позволит быстро выбирать информацию по дате из таблицы Credit.

  5. Удалить из таблицы Credit сведения о кредитах, которые выплачены.

Вариант 10.

  1. Создать таблицу

Гарантийный ремонт(номерсчета,серийныйномер,дата,описание,стоимость,номер)

  1. Из таблицы Ремонт удалить записи ремонта горелок по гарантии и перенести в таблицу Гарантийный ремонт

  2. Записать команду, которая позволит быстро выбирать информацию по типу и версии из таблицы Горелки.

  3. Для горелок, сданных в ремонт после 1.01.11г. увеличить стоимость ремонта в 1.5 раза

  4. Добавить в таблицу Горелка новую горелку.

Вариант 11.

  1. Записать команду, которая позволит быстро выбирать информацию по продавцам в таблице ЗАКАЗ.

  2. Продавец Котов уволился , перевести его заказы продавцу Волкову.

  3. Создать таблицу Товар(Код товара, Наименование, Едизм, Цена)

  4. Заполнить таблицу Товар данными, не менее пяти записей.

  5. Дополнить таблицу Заказ новыми полями Кодтовара, Количество. Поле Кодтовара объявить как вторичный ключ.

Вариант 12.

  1. Таблицу Поставки дополнить полем Датапоставки.

  2. Таблицу Детали полем Стоимость детали.

  3. Создать таблицу Заказ (Номер заказа, Номердетали, Номеризделия) и Заполнить таблицу Заказ на основе данных таблицы Поставки..

  4. Записать команду, которая позволит быстро выбирать информацию по номеру детали в таблице Заказ.

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

Вариант 13.

  1. Записать команду, которая позволит быстро выбирать информацию по поставщикам из таблицы ПДП.

  2. Создать новую таблицу Заказ(НОмерзаказа, Номердетали, Количество) и заполнить ее данными из таблицы ПДП.

  3. Скорректировать Таблицу ПДП, удалив из нее поля Номердетали, Количество, добавив поле Номерзаказа.

  4. Из таблицы ДТ удалить детали, которые ни разу не заказывались.

  5. Увеличить цену деталей , имеющих спрос выше среднего, на 10%

Вариант 14.

  1. Записать команду, которая позволит быстро выбирать информацию по владельцам из таблицы Объекты_недв.

  2. Создать новую таблицу ОбъектыМинска и заполнить данными на основе таблицы Объектынедвижимости.

  3. Скорректировать таблицу Объектынедвижимости с учетом новой таблицы ОбъектыМинска.

  4. Сотрудник Иванов уволился , перевести его объекты сотруднику Петрову.

  5. Для объектов города Минска увеличить стоимость аренды на 20%.

Вариант 15.

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

  2. Создать новую таблицу Объекты_недвижимости (14вариант) и объявить номер объекта в осмотре как внешний ключ.

  3. Скорректировать таблицу Арендаторы добавив столбец Номер_сотрудника, удалить столбец номер отделения.

  4. Увеличить зарплату сотрудникам, имеющим число курируемых объектов более 5, на 25%.

  5. Добавить нового Сотрудника и закрепить за ним объект недвижимости.

Вариант 16.

  1. Создать новую таблицу Маршруты(кодмаршрута, Времявпути, Протяженность)

  2. Скорректировать таблицу Командировки, добавив поле КОДмаршрута как внешний ключ, удалив поля, ДП.ЧП,КМП.

  3. В таблицу Водители добавить поле Категория.

  4. Увеличить зарплату на 20% водителям 1-ой категории.

  5. Создать таблицу заданий на командировку для водителей отдела О2.

Контрольные вопросы.

  1. Каким образом поддерживается целостность данных?

  2. Как определяются составные первичные ключи?

  3. Как задаются ограничения на вводимые данные?

  4. Каким образом можно скорректировать структуру таблицы?

  5. Для чего нужен дополнительный индекс?

  6. Какого типа бывают индексы?