- •Лабораторный практикум по дисциплине Базы данных и управление ими
- •Часть 2
- •Лабораторный практикум по дисциплине "Базы данных и управление ими"
- •Учебная база данных education3
- •Лабораторная работа № 1
- •Лабораторная работа № 2
- •Лабораторная работа № 3
- •Лабораторная работа №4
- •Лабораторная работа № 5
- •Лабораторная работа № 6
- •Лабораторная работа № 7
- •Лабораторная работа № 8
- •Лабораторная работа № 9
- •Лабораторная работа № 10
- •Лабораторная работа № 11
- •Лабораторная работа № 12
- •Лабораторная работа № 13
- •Лабораторная работа № 14
- •Приложение 1
Лабораторная работа № 14
ИЗМЕНЕНИЕ И УДАЛЕНИЕ ТАБЛИЦЫ. (ALTER TABLE, ADD, DROP)
Порядок выполнения
Внимание!
После каждого изменения состояния таблицы вывести в файл результатов структуру и все данные этой таблицы.
-
Средствами Transact-SQL cоздать базу данных для выполнения лабораторной работы 14. Имя этой базы данных состоит из номера группы и Вашей фамилии (например, КТ‑406_Иванов_лаб14).
-
Создать и заполнить таблицу car с полями:
-
модель,
-
год выпуска,
-
страна выпуска,
-
пробег,
-
цвет,
-
цена;
-
Изменить таблицу car с помощью команды ALTER, обеспечив:
-
добавление одного нового столбца в таблицу (опция ADD), допускающего NULL и не имеющего значений,
-
добавление трех новых столбцов в таблицу (опция ADD), допускающих NULL и не имеющих значений,
-
удаление одного из добавленных выше столбцов из таблицы (DROP) (по Вашему усмотрению),
-
изменение (типа) для одного из добавленных столбцов (опция ALTER),
-
добавление одного нового столбца в таблицу (опция ADD) с ограничением UNIQUE,
-
добавление одного нового столбца в таблицу (опция ADD) с ограничением DEFAULT. Столбец выбираете сами,
-
добавление двух-трех новых столбцов с ограничениями по Вашему желанию (опция ADD),
-
добавление нового столбца, допускающего NULL, но имеющего значение по умолчанию (ADD),
-
удаление одного из добавленных ограничений (например, UNIQUE) (опция DROP),
-
добавление и удаление первичного ключа по выбранным столбцам (ADD):
-
по одному столбцу,
-
некластеризованного индекса,
-
кластеризованного индекса,
-
разберитесь, в чем разница результатов, получаемых при использовании кластеризованных и некластеризованных индексов,
-
по двум столбцам,
-
попробовать добавить первичный ключ при уже имеющемся первичном ключе. Посмотреть и осмыслить поведение системы в этом последнем случае.
-
Предъявить результаты преподавателю в отдельном файле. Объяснить результаты.
Контрольные вопросы
-
С какой целью используется команда ALTER TABLE?
-
Опишите формат команды ALTER TABLE. Приведите пример использования команды.
-
Как добавить ограничение для существующего поля?
-
Как убрать ограничения для существующего поля?
-
Чем отличается команда ALTER TABLE от команды UPDATE?
-
Что означает опция ADD? Для каких действий она предназначена?
-
Назовите возможные опции команды ADD.
-
Как добавить в таблицу новый столбец? Удалить столбец?
-
Как изменить тип столбца?
-
Как добавить столбец с ограничениями?
-
Как отключить, а затем снова добавить ограничение?
СРЕДСТВА ЗАЩИТЫ СЕТЕВОГО ДОСТУПА. ЗНАКОМСТВО С ТАБЛИЦАМИ РАЗРЕШЕНИЙ. USER, DB, HOST, TABLES_PRIV, COLUMNS_PRIV, ВИДЫ ПРИВИЛЕГИЙ. ДЕЛЕГИРОВАНИЕ ПОЛНОМОЧИЙ (КОМАНДА GRANT)
Порядок выполнения
При выполнении данной работы по умолчанию предполагается, что обучаемые имеют порядковые номера, определенные преподавателем (или физическим размещением компьютеров в аудитории). Считается, что сосед слева имеет меньший предыдущий номер, а сосед справа – следующий больший номер. Первый и последний номера также являются соседями. Иной порядок может быть установлен преподавателем.
-
Изучить структуры таблиц USER, DB, HOST, TABLES_PRIV, COLUMNS_PRIV базы данных MySQL. Структуры таблиц приведены в файле Priveleg в папке sql (и в приложении 4). Проанализировать характер информации в таблицах.
-
Просмотреть списка привилегий (SHOW GRANTS) для пользователя.
-
Создать в своей базе данных таблицу dostup_r (Владелец таблицы, Номер машины справа, Фамилия пользователя справа, Имя пользователя справа). Заполнить таблицу одной записью, указав в ней свою фамилию, а также данные соседа справа (по кругу).
-
Передать соседу справа привилегии SELECT, INSERT.
-
Убедиться в получении привилегий от левого соседа, просмотрев список привилегий (SHOW GRANTS).
-
Дополнить таблицу dostup_r левого соседа двумя записями, заполнив два правых поля его таблицы. Просмотреть эту таблицу с выводом результатов в выводной файл.
-
Просмотреть свою таблицу dostup_r после добавления в нее двух записей соседом справа. Отменить привилегии для соседа справа.
-
Удалить таблицу dostup_r.
-
Создать в своей базе данных таблицу dostup_l (Владелец таблицы, Номер машины слева, Фамилия пользователя слева, Имя пользователя слева). Заполнить таблицу одной записью, указав в ней свою фамилию, а также данные соседа слева (по кругу).
-
Передать соседу слева (или по указанию преподавателя) привилегии SELECT, INSERT.
-
Убедиться в получении привилегий от правого соседа, просмотрев список привилегий (SHOW GRANTS).
-
Дополнить таблицу dostup_l правого соседа двумя записями, заполнив два правых поля его таблицы. Просмотреть эту таблицу с выводом результатов в выводной файл.
-
Просмотреть свою таблицу dostup_l после добавления в нее двух записей соседом слева. Отменить привилегии для соседа слева.
-
Удалить таблицу dostup_l.
Список использованной литературы
1. Методические указания по выполнению контрольных работ по дисциплине Базы данных и управление ими. ‑ Екатеринбург: 2002. – 21 с.
2. Аткинсон Л. MySQL. Библиотека профессионала. Пер. с англ. – М.: Издательский дом "Вильямс", 2002. – 624 с.; ил.
3. Дюбуа П. MySQL: ‑ М.: Издательский дом "Вильямс", 2001.‑ 816 с.: ил.
4. Астахова И.Ф. SQL в примерах и задачах: Учеб. Пособие / И.Ф. Астахова, А.П. Толстобров, В.М. Мельников. – Мн.: Новое знание, 2002. – 176 с.