
- •Лабораторная работа № 3 Использование диаграмм для графического представления структуры базы данных
- •Теоретическое обоснование
- •Методика и порядок выполнения работы Методика и порядок выполнения задания 1
- •Методика и порядок выполнения задания 2
- •Содержание отчета и его форма
- •Методика и порядок выполнения работы
- •Select ...
- •Методика и порядок выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 7 Использование ограничений в sql – совместимых базах данных
- •Теоретическое обоснование
- •Контрольные вопросы
- •Лабораторная работа № 8 Хранимые процедуры в sql Server
- •Теоретическое обоснование
- •Задания к лабораторной работе № 7
- •Контрольные вопросы
- •Лабораторная работа № 9 Триггеры в sql Server
- •Использование триггеров
- •Срабатывание триггеров
- •Создание триггеров
- •Удаление триггеров
- •Таблицы deleted и inserted
- •Просмотр таблиц deleted и inserted
- •Вставка и удаление нескольких записей
- •Триггер вставки
- •Условный триггер вставки
- •Триггер обновления
- •Задание к лабораторной работе № 9
- •Методика и порядок выполнения работы Методика и порядок выполнения задания 1
- •Методика и порядок выполнения задания 2
- •Содержание отчета и его форма
- •Контрольные вопросы и защита работы
- •Лабораторная работа № 11
- •Обеспечение безопасности пользователей в sql Server
- •Цель и содержание:изучить основные приемы администрирования баз данных вSqlServer, рассмотреть возможность добавления новых пользователей в систему и разграничения их полномочий.
- •Теоретическое обоснование
- •Методика и порядок выполнения работы Методика и порядок выполнения задания 1
- •Методика и порядок выполнения задания 2
- •Методика и порядок выполнения задания 3
- •Содержание отчета и его форма
- •Методика и порядок выполнения работы Методика и порядок выполнения задания 1
- •Методика и порядок выполнения задания 2
- •Методика и порядок выполнения задания 3
- •Содержание отчета и его форма
- •Контрольные вопросы
- •Лабораторная работа № 14 Организация обмена данными. Взаимодействие sql-сервера с Word и Excel
- •Контрольные вопросы
- •Лабораторная работа № 15 Организация обмена данными. Взаимодействие sql-сервера и локальных баз данных Access и FoxPro
- •Взаимодействие sql-сервера и Visual FoxPro
- •Контрольные вопросы
Методика и порядок выполнения работы
Задание. Создайте самостоятельно представление, которое будет отображать полную информацию из структуры данных EDUCATION: перечень студентов с оценками, проставленными им по различным предметам, а также список преподавателей, проводивших занятия по данным курсам.
поля TFAM, T1MA, ТОТСН таблицы TEACHERS;
поля PNAME, HOURS таблицы PREDMET;
поля OCENKA, UDATE таблицы USP;
поля SFAM, SIMA, SOTCH таблицы TEACHERS.
Содержание отчета и его форма
Отчет по лабораторной работе должен состоять из:
1) названия лабораторной работы;
2) формулировки заданий к лабораторной работе и порядка их выполнения;
3) ответов на контрольные вопросы;
Отчет о выполнении лабораторной работы в письменном виде сдается преподавателю.
Контрольные вопросы и защита работы
Охарактеризуйте понятие представление. Его основное назначение.
Порядок создания представления.
Каким образом можно создать представление по данным одной таблицы?
Последовательность действий при создании представления из нескольких связанных таблиц.
Каким образом можно просмотреть результаты работы представления в SQL Server?
Защита работы
При защите лабораторной работы студент отвечает на контрольные вопросы, приведенные в конце, и поясняет выполненное задание. Ход защиты лабораторной работы контролируется преподавателем.
Лабораторная работа № 5
Индексы в SQL Server
Цель и содержание работы: научить студентов создавать индексы для упорядочивания данных вSQL– совместимых базах данных; управлять индексами.
Теоретическое обоснование
Индексы представляют собой наборы уникальных значений для некоторой таблицы с соответствующими ссылками на данные, расположенные в самой таблице. Индексы являются удобным внутренним механизмом системы SQL-сервера, с помощью которого осуществляется доступ к данным наиболее оптимальным способом.
Для создания индексов определенной таблицы базы данных SQL-сервера можно воспользоваться одним из следующих способов:
• создать индекс с помощью SQL-команды CREATE INDEX;
• воспользоваться возможностями утилиты SQL Server Enterprise Manager.
Рассмотрим подробней второй способ создания индексов. Начальным этапом создания индекса является выбор необходимой базы данных и таблицы, для которой он будет определяться. Выполнение команды All Tasks / Manage Indexes меню Action отобразит на экране диалоговое окно управления индексами базы данных. Следует обратить внимание на выпадающие списки данного диалогового окна Databases и Table, которые позволяют перемещаться между базами данных и их таблицами. При этом в списке Existing indexes отображаются имеющиеся индексы для выбранных таблиц баз данных.
В нижней части данного диалогового окна расположены управляющие кнопки, выполняющие следующие действия:
New - создание нового индекса для выбранной таблицы базы данных;
Edit - редактирование параметров существующего индекса;
Delete - удаление предварительно выбранного индекса;
Close - закрытие диалогового окна;
Help - получение справочной информации по данному вопросу.
Для создания нового индекса следует воспользоваться кнопкой New данного диалогового окна. Это действие приведет к открытию другого диалогового окна Create New Index, с помощью которого и устанавливаются параметры индекса.
В поле Index name данного диалогового окна необходимо ввести имя создаваемого индекса, после чего определить перечень полей, участвующих в индексе, в представленном списке. Для добавления определенного поля в индекс следует установить флажок слева от его имени. Здесь также можно просмотреть следующую информацию о поле: Column - имя поля. Data type - тип данных. Length - размер, N tillable - возможность использования NULL-значений, Precision - точность и Scale - порядок вводимых значений.
С помощью области Change column order можно менять порядок расположения полей в представленном списке. Для этого, используя кнопку Move Up, можно переместить поле на одну позицию вверх, а кнопку Move Down - соответственно на одну позицию вниз.
Группа опций Index options позволяет настроить дополнительные параметры создаваемого индекса:
Unique values - при необходимости ввода в определенное поле только уникальных значений, следует установить данную опцию. Это позволит осуществлять автоматическую проверку уникальности при каждом добавлении новой записи. Если будет предпринята попытка ввода уже имеющегося значения в записи данного поля, то системой будет выдано сообщение об ошибке. При этом следует обратить внимание на запрет присутствия NULL-значений в этом поле. При использовании NULL-значений и установке данной опции могут возникнуть ошибки. Поэтому рекомендуется установить обязательный ввод значений в поле, для которого планируется создание уникального индекса;
Clustered index - в системе SQL-сервер имеется возможность физического индексирования данных. Другими словами, использование индексов приводит к созданию отдельной структуры, которая связывается с физическим расположением данных в таблице. Использование этой опции позволяет произвести так называемое кластерное индексирование, в результате чего будут отсортированы данные в самой таблице согласно порядку этого индекса, и вся добавляемая информация будет приводить к изменению физического порядка данных. При этом нужно учитывать, что в таблице может быть определен только один кластерный индекс;
Ignore duplicate values - выбор данной опции приводит к игнорированию ввода повторяющихся значений в проиндексированных полях. Использование данной опции совместно с Unique values позволяет игнорировать уникальность значений для этого поля. Следует обращаться с этой опцией особо аккуратно при работе с многотабличными структурами и связями между ними. Обычно использование данной опции имеет значение при ориентации на распределение данных в разрабатываемых структурах;
Do not recompute statistics (not recommended) — установка этой опции определяет функцию автоматического обновления статистики для таблицы. Не рекомендуется установка данной опции;
File ffroup - с помощью данной опции можно осуществить выбор файловой группы, в которой будет находиться создаваемый индекс. Использование индекса из другой файловой группы повышает производительность некластерных индексов в связи с параллельностью выполнения процессов ввода/вывода и работы с самим индексом. При выборе данной опции активизируется список файловых групп, позволяющий определить необходимую группу для размещения индекса;
Fill factor - данная возможность используется крайне редко. С помощью этой опции осуществляется настройка разбиения индекса на страницы. Однако использование данной возможности может заметно оптимизировать работу SQL-сервера. Коэффициент FILLFACTOR определяет в процентом соотношении размер создаваемых индексных страниц. При этом имеется обратная пропорциональная зависимость частоты работы с таблицей и коэффициента FILLFACTOR. Другими словами, если планируется частое изменение, удаление и добавление информации в таблице базы данных, то коэффициент FILLFACTOR следует установить как можно меньше, например, 20. С другой стороны, установка коэффициенту значения 100 рекомендуется при использовании больших таблиц, обращение к которым обычно происходит только для чтения;
Pad index - опция определяет заполнение внутреннего пространства индекса и используется совместно с опцией Fill factor,
Drop existing - при использовании кластерного индекса, выбор данной опции определяет его повторное создание, что позволяет предотвратить нежелательное обновление кластерных индексов.
Использование кнопки Edit SQL данного диалогового окна предоставляет пользователю сгенерированную SQL-комавду, с помощью которой и будут выполняться произведенные настройки.
Пример. SQL-команда для индекса будет иметь следующий вид:
CREATE UNIQUE
INDEX [index_sfam] ON
[dbo] . [ STUDENTS ] ( [SFAM] ) WITH
PAD_INDEX , FILLFACTOR =20
, IGNORE__DUP_KEY
При этом здесь будут присутствовать управляющие кнопки Parse и Execute, с помощью которых можно проанализировать корректность установленных настроек (Parse), а также произвести запуск полученной SQL-команды (Execute).
Впоследствии созданные индексы могут использоваться в SQL операторах SELECT следующим образом: