SELECT * INTO table_copy FROM original 1 страница
Часть 2
Специализация
Компьютерные технологии
Екатеринбург, 2011
УДК 377:681.3.06: 519.682.5
Лабораторный практикум по дисциплине Базы данных и управление ими. – Екатеринбург: 2011. – 57 с.
Составили: доцент кафедры СИС к.т.н. В.В. Вьюхин, ст. преп. кафедры СИС С.В.Ченушкина
Одобрено на заседании кафедры сетевых информационных систем "___"_____________ 2011 г. Протокол №______
Заведующая кафедрой
________________ Е.В. Чубаркова
Рекомендовано к печати методической комиссией ЭлИн
от "___"_____________ 2011 г. Протокол №________.
Председатель методической комиссии ЭлИн РГППУ
__________________
© Российский государственный
профессионально-педагогический
университет, 2011
Лабораторный практикум по дисциплине
"Базы данных и управление ими"
Практикум рассчитан на выполнение в среде SQL Server Management Studio средствами MS SQL Server 2008.
Лабораторные работы рекомендуется выполнять в той последовательности, в которой они приводятся в данной разработке.
Прежде, чем приступить к выполнению любой лабораторной работы, необходимо полностью ознакомиться с ее содержанием.
В тексте указаний к некоторым лабораторным работам в рамках приводятся форматы команд (текстов запросов), которые могут использоваться при выполнении этих работ. Они исполняют роль справочных данных и должны быть тщательно изучены перед выполнением лабораторной работы.
Выполнение каждой работы сопровождается созданием отчетного файла (отчета), в котором приводятся команды на создание запросов. Все отчетные файлы собираются студентами на флеш-накопителях по мере их выполнения для подготовки к экзамену. По первой и второй лабораторным работам предъявляются отчеты (можно рукописные), подготовленные студентами внеаудиторно.
Имя файла результатов составляется из фамилии автора и номера работы.
Работа считается выполненной и зачтенной после ее защиты.
Учебная база данныхeducation3
Таблица Student ("Студент") | |
Student_id | Код студента |
Family | Фамилия студента |
Name | Имя студента |
Last_name | Отчество студента |
Course | Курс, на котором учится студент |
Stipendia | Размер стипендии студента |
Birthday | Дата рождения студента |
Inst_id | Код института (факультета), где учится студент |
Kod_sp | Код специальности |
Room_camp | Комната в общежитии |
Таблица Parents ("Родители") | |
Student_id | Код студента |
Town_id | Код города |
Kod_school | Код учебного учреждения |
Number_school | Номер учебного учреждения |
Medal | Медаль |
Street | Улица |
House | Дом |
Flat | Квартира |
Таблица Medali ("Медали") | |
Medal | Код медали |
Name_medal | Название медали |
Таблица Town ("Город") | |
Town_id | Код города |
Town_name | Название города |
Таблица Uch_plan ("Учебный план") | |
Kod_sp | Код специальности |
Subj_id | Код предмета |
Sem_r | Семестр |
Hour | Часов |
Attest | Вид аттестации |
Таблица Spec ("Специализация") | |
Kod_sp | Код специальности |
Name_spec | Название специализации |
Таблица Lecturer ("Преподаватель") | |
Lect_id | Код преподавателя |
Family | Фамилия преподавателя |
Name | Имя преподавателя |
Last_name | Отчество преподавателя |
Inst_id | Код института (факультета), где работает преподаватель |
Таблица Subject ("Предмет обучения") | |
Subj_id | Код предмета |
Subj_name | Наименование предмета |
Таблица Institute ("Институт/Факультет") | |
Inst_id | Код института (факультета) |
Inst_name | Наименование института (факультета) |
Rating | Рейтинг института (факультета) |
Таблица Subj_Lect ("Учебные дисциплины преподавателей") | |
Lect_id | Код преподавателя |
Subj_id | Код предмета |
Таблица Exam ("Экзамен") | |
Exam_id | Код экзамена |
Student_id | Код студента |
Subj_id | Код предмета |
Mark | Экзаменационная оценка |
Exam_date | Дата экзамена |
Lect_id | Код лектора |
Sem_r | Семестр |
Лабораторная работа № 1
ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ.
ДЕКОМПОЗИЦИЯ ПЛОСКОЙ ТАБЛИЦЫ
Порядок выполнения:
1) Выполните декомпозицию приведенной ниже плоской таблицы (или иной таблицы, предложенной преподавателем):
ФИО студента | Группа | Дата экзамена | ФИО преподавателя | Предмет | Оценка |
Иванов И.И. | Кт-102 | 12.12.98 | Пушкин А.С. | Математика | |
Иванов И.И. | Кт-102 | 16.12.98 | Ломов А.П. | Физика | |
Кочкин И.И. | Кт-102 | 20.12.98 | Саахов Ш.С. | Химия | |
Петров П.П. | Ио-101 | 12.12.98 | Пушкин А.С. | Математика | |
Павлов С.П. | Кт-104 | 16.12.98 | Ломов А.П. | Физика | |
Жуков А.П. | Кт-104 | 20.12.98 | Саахов Ш.С. | Химия | |
Черняк Д.И. | Ио-101 | 16.12.98 | Пушкин А.С. | Математика | |
Кочев Р.В. | Кт-102 | 12.10.99 | Ломов А.П. | Физика | |
Антонов В.И. | Кт-104 | 12.10.99 | Саахов Ш.С. | Химия |
Для этого необходимо:
· разбить поля, содержащие группы значений, на атомарные (не составные поля), по которым в дальнейшем возможно выполнение поисковых операций,
· ввести справочники для повторяющихся данных,
· выделить самостоятельные объекты в плоской таблице,
· разделить таблицу на части, соответствующие таким объектам,
· определить первичные и/или внешние ключи таблиц,
· убедиться на пробной модели в отсутствии чрезмерной повторяемости данных,
· убедиться, что любые данные исходной плоской таблицы могут быть определены по данным реляционной модели.
2) Создайте шапку плоской таблицы с полями:
- дата занесения строки (записи) в таблицу,
- таб_номер,
- фамилия,
- имя,
- отчество,
- дата_рождения,
- должность,
- оклад,
- дата_назначения_оклада,
- имя_ребенка,
- домашний_адрес (3-5 полей),
- дата_рождения_ребенка,
- дата_начала_больничного,
- дата_окончания_больничного,
- воинское_звание,
- дата_присвоения_воинского_звания,
- номер_страхового_свидетельства,
- ИНН.
3) Заполните таблицу на 8 человек. При заполнении таблицы имейте в виду, что:
- дата занесения строки (записи) в таблицу должна соответствовать хронологии работы воображаемого оператора,
- люди из списка могут иметь одну из 5 специальностей (номенклатура специальностей - по Вашему усмотрению),
- может быть использована следующая шкала воинских званий – мл. сержант, сержант, ст. сержант, старшина, прапорщик,
- номер страхового свидетельства и ИНН – это 10-разрядные последовательности цифр.
4) Добавьте записи, с помощью которых вводится дополнительно следующая информация:
- для одного-двух человек отражается изменение оклада (в историческом аспекте, т.е. с учетом дат),
- у двух человек имеется по два ребенка, у одного – три ребенка (учесть даты рождения детей и возраст родителей),
- три человека из списка были на больничном листе по одному разу, один – два раза в разные периоды (дата выхода с больничного должна быть позднее даты выхода на больничный лист). Больничные у одного и того же человека не должны перекрываться по датам,
- один человек, находясь в запасе, должен изменить воинское звание с сержанта на старшего сержанта, а затем на старшину (с учетом дат), два человека должны получить очередное воинское звание в пределах указанной номенклатуры званий.
Обратите внимание на существенное увеличение размеров плоской таблицы.
5) В получившейся плоской таблице выявите группы полей (столбцов), которые могут быть выделены в отдельные таблицы, поскольку относятся к отдельным объектам, и данные, которые имеют тенденцию к повторению от записи к записи.
6) Составьте шапки таблиц, на которые предполагается разбить созданную плоскую таблицу.
7) Заполните таблицы с этими шапками, используя данные плоской таблицы.
Помните!
Совокупность таблиц реляционной базы должна полностью заменять плоскую таблицу.
8) Дополните полученный набор таблиц справочниками для должностей и воинских званий (можно создать справочники для фамилий, имен).
9) Выполните декомпозицию плоской таблицы по варианту, выданному преподавателем или методистом (может быть использована [1]), не допуская повторения одних и тех же данных.
10) Определите количество элементов данных для плоских таблиц и их реляционных моделей (для п. 1 и п. 9). Сравните результаты. Приведите выводы из сравнения, имея в виду, что количество записей в таблицах для современных баз данных может достигать сотен тысяч.
11) Определите количество ячеек таблиц, несущих полезную информацию об объектах, и количество ячеек, используемых в качестве индексов для организации связи. Результаты привести в отчете.
12) Предъявите преподавателю отчет, включающий все плоские исходные таблицы, таблицы реляционных базы данных, а также результаты расчетов по элементам данных и выводы о сравнении исходных таблиц и реляционных баз данных.
Контрольные вопросы
1. Что такое плоская таблица?
2. Опишите алгоритм декомпозиции плоской таблицы.
3. Как выполняется соединение таблиц друг с другом?
4. Что такое первичный ключ? Внешний ключ?
5. По каким признакам можно догадаться, что декомпозиция не удалась?
Лабораторная работа № 2
ОПЕРАЦИИ С ОТНОШЕНИЯМИ
Порядок выполнения
1) Исходные отношения (таблицы) для знакомства с операциями:
ООО «Титан» (в формулах обозначается R1):
Номер зачетной книжки | Фамилия | Начислено |
Иванов | ||
Петров | ||
Сидоров | ||
Коршунов | ||
Пашкевич | ||
Марков |
ООО «Гигант» (в формулах обозначается R2):
Номер зачетной книжки | Фамилия | Начислено |
Иванов | ||
Петров | ||
Петров | ||
Кузнецов | ||
Антонов |
2) Выполните следующие операции, обратив внимание на смысловую сторону этих операций:
Объединение (R3=R1ÈR2),
Пересечение (R3=R1ÇR2),
Разность (R3=R1\R2).
3) Создайте таблицу «Предметы» (в формулах обозначается R3)
Код предмета | Наименование предмета |
Математика | |
Информатика | |
Русский язык |
4) Для отношений (таблиц) ООО «Гигант» и «Предметы» выполните операцию расширенного декартова произведения (R4=R2ÄR3).
5) Для отношения ООО «Титан» выполните:
- операцию выбора (фильтрации), отобрав записи со значением в поле «Начислено», равным 3000,
- операцию выбора (фильтрации), отобрав записи со значениями в поле «Начислено», соответствующими интервалу от 2300 до 3300, предварительно написав запрос для выполнения операции,
- операцию проектирования, отобрав атрибут «Начислено».
6) Для отношения «Гигант» выполните операцию проектирования по полю «Фамилия»,
Обратите внимание:
1. Формат операции выбора: Rрез=Rисх[условие отбора записей].
Если условие отбора сложное, оно составляется из простых с использованием операций AND, OR, NOT. Длина условия практически не ограничена.
2. Формат операции проектирования: Rрез1=Rисх1[список полей].
Если при выполнении операции проектирования получаются одинаковые записи, то в результирующем отношении остается по одному экземпляру таких записей.
7) Выполните следующее задание:
‑ Создать таблицу Список(Табельный номер, Фамилия) и таблицу Образование(Табельный номер, Учреждение, Специальность),
‑ Заполнить 5-ю записями таблицу Список и таблицу Образование.
‑ Выполнить операцию расширенного декартова произведения.
‑ Выполнить условное соединение записей таблиц Список и Образование по условию совпадения табельных номеров. Сравнить две последних операции и сделать выводы.
Формат операции условного соединения:
Rрез=Rисх1[Условие соединения] Rисх2
‑ Создать таблицу Дети(Фамилия, Имя ребенка, Возраст ребенка). Ввести в таблицу для одного человека одного ребенка, еще для одного – двоих детей).
‑ Выполнить условное соединение записей таблиц Список и Дети по условию совпадения фамилий.
‑ Выполнить условное соединение записей таблиц Список и Дети (см. предыдущий пункт задания) с таблицей Образование (по условию совпадения табельного номера) и спроектировать результат на атрибуты (поля) Фамилия, Специальность, Возраст ребенка.
8) Выполните следующее задание:
· Даны три отношения со схемами:
- R7=(ФИО, Дисциплина, Оценка),
- R8=(ФИО, Группа),
- R9=(Группа, Дисциплина).
· Заполнить отношения R8-R9 не менее чем десятью кортежами (записями) каждое, отношение R7 - не менее чем 20 записями.
· Составить следующие запросы:
- Список студентов, которые сдали на отлично экзамен по предмету (выберите предмет сами).
- Список тех, кто сдавал экзамен по одному из предметов (см. табл. R9).
- Список тех, кто имеет несколько (не менее двух) одинаковых оценок (оценка выбирается Вами).
- Составить список групп, студенты которых не имеют неудов.
- Список круглых отличников | хорошистов | троечников (по Вашему выбору).
- Список студентов, которые сдали экзамены только на оценки 3 и 5 (естественно, такие студенты должны присутствовать в Ваших таблицах R7 и R8).
Внимание! При выполнении данного задания:
Допустимо и приветствуется использование вложенных операций.
Каждая операция описывается в три этапа:
- записывается содержание операции на русском языке,
- записывается операция реляционной алгебры (с использованием или без использования вложенных операций),
- приводится заполненная таблица результата выполнения операции.
Лабораторная работа № 3
ОБЗОР СРЕДЫ SQL SERVER MANAGMENT STUDIO (SSMS)
Цель: Познакомиться со средой SSMS.
Задачи:
1. Научиться изменять макет среды.
2. Научиться изменять параметры запуска.
3. Научиться восстанавливать установленную по умолчанию конфигурацию SSMS.
SQL Server Management Studio (SSMS)— это утилита, используемая для конфигурирования, менеджмента и администрирования всех компонентов Microsoft SQL Server. Утилита включает скрипт-редактор и графическую утилиту, которая работает с объектами и надстройками сервера.
Главной утилитой SSMS является Object Explorer, которая позволяет пользователю просматривать, извлекать объекты сервера и полностью управлять ими.
1. Запуск приложения:
· В меню Пуск укажите пункт Все программы, далее - пункт Microsoft SQL Server 2008 и выберите затем команду СредаSSMS.
· В диалогом окне Соединение с сервером подтвердите заданные по умолчанию параметры и нажмите кнопку Соединить. Для соединения необходимо, чтобы поле Имя сервера содержало имя компьютера, на котором установлен SQL Server. Если компонент Database Engine является именованным экземпляром, то поле Имя сервера должно также содержать имя экземпляра в формате <имя_компьютера>\<имя_экземпляра>.
Компонентам среды SSMS не хватает места на экране. Чтобы увеличить рабочее пространство, можно закрыть, скрыть или переместить компоненты среды Management Studio.
2. Изменение макета среды:
· Скройте окно «Зарегистрированные серверы», нажав кнопку Х в верхнем правом углу этого окна. Окно «Зарегистрированные серверы» закроется.
· В обозревателе объектов нажмите закрепляющую кнопку с подсказкой Автоматически скрывать. Обозреватель объектов будет свернут в левой части экрана.
· Переместите мышь на заголовок окна обозревателя объектов. Оно откроется снова.
· Нажмите закрепляющую кнопку еще раз, чтобы закрепить обозреватель объектов в открытой позиции.
· В меню Вид выберите пункт Зарегистрированные серверы, чтобы восстановить окно «Зарегистрированные серверы».
Среда Management Studio позволяет перемещать компоненты и закреплять их в разных позициях.
3. Перемещение элементов среды:
· Щелкните заголовок окна «Зарегистрированные серверы» и перетащите это окно в центр окна документа. Компонент открепляется и примет вид плавающего окна, пока нажата кнопка мыши.
· Перемещайте окно «Зарегистрированные серверы» по экрану. В некоторых областях экрана будут выведены сведения о закреплении, отображенные синим цветом. Эти стрелки обозначают, что при помещении компонента в эту область его окно будет закреплено в верхней, нижней или боковой стороне главного окна. Перемещение компонента в область стрелки приведет к затемнению основного экрана в этой области. Кружок в центре показывает, что компонент разделяет место с другими компонентами. При помещении в центре доступные компоненты отображаются на вкладках главного окна.
4. Настройка вида компонентов среды Management Studio.
· Щелкните правой кнопкой мыши заголовок окна обозревателя объектов и обратите внимание на следующие пункты меню:
o Плавающий
o Закрепляемый (выбрано)
o Документ с вкладками
o Автоматически скрывать
o Скрыть
Доступ к этим параметрам также можно получить в меню Окно или с помощью кнопки со стрелкой вниз на панели инструментов.
· Дважды щелкните заголовок окна обозревателя объектов, чтобы отменить закрепление.
· Дважды щелкните заголовок окна обозревателя объектов, чтобы снова закрепить его.
· Перетащите обозреватель объектов к правой границе окна среды Management Studio. Когда по всей высоте окна появится серая граница, перетащите обозреватель объектов на новое местоположение, в правую часть среды Management Studio.
· Обозреватель объектов также можно перетащить в верхнюю или нижнюю часть среды Management Studio. Перетащите обозреватель объектов обратно в левую часть.
· Щелкните правой кнопкой мыши заголовок окна обозревателя объектов и выберите команду Скрыть.
· В меню Вид выберите команду Обозреватель объектов, чтобы восстановить его окно.
· Щелкните правой кнопкой мыши заголовок окна обозревателя объектов и выберите команду Плавающий, чтобы отменить закрепление.
· Чтобы восстановить конфигурацию по умолчанию, в меню Окно выберите команду Восстановить параметры окон.
5. Настройка параметров запуска.
Среда SSMS может быть настроена таким образом, чтобы при запуске среды Management Studio область конструктора имела нужный вид. Настройка среды Management Studio позволяет сэкономить время пользователя.
· В меню Сервис выберите команду Параметры.
· Раскройте узел Среда и выберите пункт Общие. В списке При запуске просмотрите возможные параметры.
o Открыть обозреватель объектов. Это параметр по умолчанию.
o Открыть новое окно запроса. Выберите этот параметр, чтобы использовать поведение программы Query Analyzer SQL Server 2000.
o Открыть обозреватель объектов и новый запрос.
o Открыть пустую среду.
· Выберите нужный вариант и нажмите кнопку ОК.
Обратите внимание на другие параметры, например параметр Скрыть системные объекты в обозревателе объектов.
6. Восстановление установленной по умолчанию конфигурации SSMS:
Начинающие пользователи среды SSMS могут неумышленно закрыть или скрыть окна, не зная, как восстановить первоначальный вид среды SSMS. Следующие шаги позволяют вернуться к заданному по умолчанию виду среды SSMS.
· Восстановление компонентов: Чтобы вернуть исходное расположение окон, в меню Окно выберите команду Вернуть вид окон по умолчанию (Сброс макета окон).
· Восстановление окна документа со вкладками:
o В меню Сервис выберите команду Параметры.
o Раскройте элемент Среда, а затем щелкните элемент Общие.
o В области Настройки щелкните Документы с вкладками.
o В области Среда щелкните Клавиатура.
o В окне Раскладка клавиатуры щелкните Стандартная и нажмите кнопку ОК.
7. Познакомьтесь с учебником SSMS (Справка>Учебник | Ctrl+Alt+F5). Если потребуется, Вы в любой момент времени можете обратиться к учебнику и снять все возникшие вопросы.
Контрольные вопросы:
1. Для чего предназначена утилита SQL Server Management Studio?
2. Как запустить утилиту SSMS?
3. Что значит сервер по умолчанию? Именованный сервер?
4. Назовите пункты меню «Положение» окна. Охарактеризуйте их.
5. Как скрыть окно «зарезервированные серверы»?
6. Как переместить окно «менеджер объектов»?
7. Как восстановить установленную по умолчанию конфигурацию SSMS?
8. Укажите возможные макеты среды.
9. Как убрать системные объекты из обозревателя?
10. Создайте конфигурацию, при которой вдоль нижней строки экрана были бы размещены три следующие автоматически скрываемые окна: списка ошибок, закладок, вывода.
11. Создайте конфигурацию, при которой вдоль правой кромки экрана были бы размещены три следующие автоматически скрываемые окна: списка ошибок, обозревателя решений, панели элементов.
12. Создайте конфигурацию SSMS, включающую в режиме макета среды MDI три окна: зарегистрированные серверы, окно свойств, списка задач.
13. Назовите основные разделы учебника SSMS и кратко их охарактеризуйте?
Резюме: в процессе выполнения данной лабораторной работы вы научились изменять макет среды, изменять параметры запуска и восстанавливать установленную по умолчанию конфигурацию SSMS.
Лабораторная работа №4
НАСТРОЙКА SQL SERVER MANAGMENT STUDIO (SSMS)
Цель: Изучить компоненты и настройки SSMS.
Задачи:
1. Ознакомиться с компонентами SSMS;
2. Ознакомиться с элементами панели управления SSMS;
3. Ознакомиться с параметрами меню Свойства.
Порядок выполнения:
1. Запустите SSMS (Пуск | Bсe программы | Microsoft SQL Server 2008 | Среда SQL Server Management Studio).
2. Нажмите кнопку Options (Настройки), чтобы активизировать диалоговое окно Connect to Server (Соединение с сервером). На некоторые элементы в этом окне следует обратить внимание.
a. Server type (Тип сервера).
b. Server name (Имя сервера). Второй раскрывающийся список содержит перечень установок SQL Server, которые может отыскать или о которых известно в диалоговом окне Connect to Server (Соединение с сервером). Если развернуть раскрывающийся список Server name, то можно найти локально или через сетевое соединение большее количество серверов с помощью <Browse for more...> (<Обзор дальше ...>).
c. Authentication (Проверка подлинности). Последний раскрывающийся список определяет требуемый тип соединения.
3. Нажмите кнопку Options (Параметры), которая перенесет вас на вкладку Connection Properties (Свойства соединения). Там вы увидите специфические свойства данного соединения.
a. Connect to database (Соединение с базой данных). В этом раскрывающемся списке предоставляется перечень баз данных, находящихся на сервере, а на вкладке Login (Вход) указаны подробные данные входа. Нажав кнопку-стрелку, вы сможете просмотреть на сервере и выбрать базу данных, с которой необходимо соединиться. В этот список входят только те базы данных, с которыми позволяет соединиться учетная запись Windows или имя входа (login) для SQL Server. Кроме того, любая ошибка в подробных данных входа приведет к появлению здесь вместо списка баз данных сообщения об ошибке.
b. Network (Сеть). Здесь указывается, каким образом должно быть выполнено соединение с SQL Server. В настоящий момент менять эти текущие параметры настройки не требуется.
c. Connection (Соединение). Здесь речь идет о тайм-аутах соединения. Первый элемент, Connection time-out (Время ожидания соединения), определяет время ожидания соединения, предшествующее возврату ошибки. Для локальных установок и даже для большинства сетевых установок 15 секунд вполне достаточно. Единственно, когда может потребоваться увеличение данного параметра, — это при соединении через WAN или с установкой SQL Server у интернет-провайдера (ISP, Internet Service Provider). Второй параметр, Execution time-out (Время ожидания выполнения), содержит дополнительное значение тайм-аута для любого исполняемого кода T-SQL. Нулевое значение предполагает отсутствие тайм-аута; этот параметр настройки вам придется менять очень редко, если вообще придется.