Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pract2011_BD_KT_7 до 13 работы.docx
Скачиваний:
26
Добавлен:
17.11.2018
Размер:
173.27 Кб
Скачать

Лабораторная работа № 14

ИЗМЕНЕНИЕ И УДАЛЕНИЕ ТАБЛИЦЫ. (ALTER TABLE, ADD, DROP)

Порядок выполнения

Внимание!

После каждого изменения состояния таблицы вывести в файл результатов структуру и все данные этой таблицы.

  1. Средствами Transact-SQL cоздать базу данных для выполнения лабораторной работы 14. Имя этой базы данных состоит из номера группы и Вашей фамилии (например, КТ‑406_Иванов_лаб14).

  2. Создать и заполнить таблицу car с полями:

  • модель,

  • год выпуска,

  • страна выпуска,

  • пробег,

  • цвет,

  • цена;

  1. Изменить таблицу car с помощью команды ALTER, обеспечив:

  • добавление одного нового столбца в таблицу (опция ADD), допускающего NULL и не имеющего значений,

  • добавление трех новых столбцов в таблицу (опция ADD), допускающих NULL и не имеющих значений,

  • удаление одного из добавленных выше столбцов из таблицы (DROP) (по Вашему усмотрению),

  • изменение (типа) для одного из добавленных столбцов (опция ALTER),

  • добавление одного нового столбца в таблицу (опция ADD) с ограничением UNIQUE,

  • добавление одного нового столбца в таблицу (опция ADD) с ограничением DEFAULT. Столбец выбираете сами,

  • добавление двух-трех новых столбцов с ограничениями по Вашему желанию (опция ADD),

  • добавление нового столбца, допускающего NULL, но имеющего значение по умолчанию (ADD),

  • удаление одного из добавленных ограничений (например, UNIQUE) (опция DROP),

  • добавление и удаление первичного ключа по выбранным столбцам (ADD):

  • по одному столбцу,

    • некластеризованного индекса,

    • кластеризованного индекса,

    • разберитесь, в чем разница результатов, получаемых при использовании кластеризованных и некластеризованных индексов,

  • по двум столбцам,

  • попробовать добавить первичный ключ при уже имеющемся первичном ключе. Посмотреть и осмыслить поведение системы в этом последнем случае.

  1. Предъявить результаты преподавателю в отдельном файле. Объяснить результаты.

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

  1. С какой целью используется команда ALTER TABLE?

  2. Опишите формат команды ALTER TABLE. Приведите пример использования команды.

  3. Как добавить ограничение для существующего поля?

  4. Как убрать ограничения для существующего поля?

  5. Чем отличается команда ALTER TABLE от команды UPDATE?

  6. Что означает опция ADD? Для каких действий она предназначена?

  7. Назовите возможные опции команды ADD.

  8. Как добавить в таблицу новый столбец? Удалить столбец?

  9. Как изменить тип столбца?

  10. Как добавить столбец с ограничениями?

  11. Как отключить, а затем снова добавить ограничение?

СРЕДСТВА ЗАЩИТЫ СЕТЕВОГО ДОСТУПА. ЗНАКОМСТВО С ТАБЛИЦАМИ РАЗРЕШЕНИЙ. USER, DB, HOST, TABLES_PRIV, COLUMNS_PRIV, ВИДЫ ПРИВИЛЕГИЙ. ДЕЛЕГИРОВАНИЕ ПОЛНОМОЧИЙ (КОМАНДА GRANT)

Порядок выполнения

При выполнении данной работы по умолчанию предполагается, что обучаемые имеют порядковые номера, определенные преподавателем (или физическим размещением компьютеров в аудитории). Считается, что сосед слева имеет меньший предыдущий номер, а сосед справа – следующий больший номер. Первый и последний номера также являются соседями. Иной порядок может быть установлен преподавателем.

  1. Изучить структуры таблиц USER, DB, HOST, TABLES_PRIV, COLUMNS_PRIV базы данных MySQL. Структуры таблиц приведены в файле Priveleg в папке sql (и в приложении 4). Проанализировать характер информации в таблицах.

  2. Просмотреть списка привилегий (SHOW GRANTS) для пользователя.

  3. Создать в своей базе данных таблицу dostup_r (Владелец таблицы, Номер машины справа, Фамилия пользователя справа, Имя пользователя справа). Заполнить таблицу одной записью, указав в ней свою фамилию, а также данные соседа справа (по кругу).

  4. Передать соседу справа привилегии SELECT, INSERT.

  5. Убедиться в получении привилегий от левого соседа, просмотрев список привилегий (SHOW GRANTS).

  6. Дополнить таблицу dostup_r левого соседа двумя записями, заполнив два правых поля его таблицы. Просмотреть эту таблицу с выводом результатов в выводной файл.

  7. Просмотреть свою таблицу dostup_r после добавления в нее двух записей соседом справа. Отменить привилегии для соседа справа.

  8. Удалить таблицу dostup_r.

  9. Создать в своей базе данных таблицу dostup_l (Владелец таблицы, Номер машины слева, Фамилия пользователя слева, Имя пользователя слева). Заполнить таблицу одной записью, указав в ней свою фамилию, а также данные соседа слева (по кругу).

  10. Передать соседу слева (или по указанию преподавателя) привилегии SELECT, INSERT.

  11. Убедиться в получении привилегий от правого соседа, просмотрев список привилегий (SHOW GRANTS).

  12. Дополнить таблицу dostup_l правого соседа двумя записями, заполнив два правых поля его таблицы. Просмотреть эту таблицу с выводом результатов в выводной файл.

  13. Просмотреть свою таблицу dostup_l после добавления в нее двух записей соседом слева. Отменить привилегии для соседа слева.

  14. Удалить таблицу dostup_l.

Список использованной литературы

1. Методические указания по выполнению контрольных работ по дисциплине Базы данных и управление ими. ‑ Екатеринбург: 2002. – 21 с.

2. Аткинсон Л. MySQL. Библиотека профессионала. Пер. с англ. – М.: Издательский дом "Вильямс", 2002. – 624 с.; ил.

3. Дюбуа П. MySQL: ‑ М.: Издательский дом "Вильямс", 2001.‑ 816 с.: ил.

4. Астахова И.Ф. SQL в примерах и задачах: Учеб. Пособие / И.Ф. Астахова, А.П. Толстобров, В.М. Мельников. – Мн.: Новое знание, 2002. – 176 с.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]