Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методическое пособие 241

.pdf
Скачиваний:
4
Добавлен:
30.04.2022
Размер:
675.96 Кб
Скачать

6.10. Изменить таблицу «learnplan» добавив ей ограничение вторичного ключа с именем

«FK_learnplan_discipline» для поля «id_discipline» (вторич-

ный ключ) и ссылкой на первичный ключ «id» таблицы «discipline» – задать связь между главной таблицей «discipline» и подчиненной «learnplan» по первичному и вторичному ключу соответственно:

ALTER TABLE learnplan ADD CONSTRAINT

FK_learnplan_discipline FOREIGN KEY(id_discipline) REFERENCES discipline (id);

6.11. Изменить таблицу «learnplan» добавив ей ограничение вторичного ключа с именем

«FK_learnplan_studgroup» для поля «id_dgroup» (вторич-

ный ключ) и ссылкой на первичный ключ «id» таблицы «studgroup» – задать связь между главной таблицей «studgroup» и подчиненной «learnplan» по первичному и вторичному ключу соответственно:

ALTER TABLE learnplan ADD CONSTRAINT FK_learnplan_studgroup FOREIGN KEY(id_group) REFERENCES studgroup (id);

6.12. Изменить таблицу «learnplan» добавив ей огра-ничение вторичного ключа с именем

«FK_learnplan_teacher» для поля «id_teacher» (вторичный ключ) и ссылкой на первичный ключ «id» таблицы «teacher» – задать связь между главной таблицей «teacher» и подчиненной «learnplan» по первичному и вторичному ключу соответственно:

 

ALTER

TABLE learnplan ADD

CONSTRAINT

 

 

 

 

 

 

FK_learnplan_teacher

FOREIGN

KEY(id_teacher)

 

 

REFERENCES teacher (id);

 

 

 

 

7.

Написать запросы на создание представлений

 

 

 

39

 

 

7.1.Создание представления с именем «v_student»,

вкоторое попадут студенты из группы с кодом 1:

CREATE VIEW v_student AS SELECT lastname AS

[фамилия], firstname AS [имя], secondname AS [отчество]

FROM student WHERE id_group=1;

7.2. Представление с использованием группировки – представление с именем «v_studcount», в котором будут содержаться количество студентов в каждой группе

CREATE VIEW v_studcount AS SELECT id_group, COUNT(id) AS studcount FROM student GROUP BY id_group;

7.3. Представление с использованием UNION – представление с именем «v_person» с выборкой ФИО из таблиц «student» и «teacher», в выборку попадают только уникальные в пределах подзапроса записи:

CREATE VIEW v_person AS (SELECT lastname, firstname,'stud' AS person FROM student UNION SELECT lastname, firstname,'teach' AS person FROM teacher);

7.4. Представление с использованием нескольких таблиц – представление с именем «v_studеnts» с выборкjq всех полей из таблиц «student» и «studgroup» при условии, что код группы из таблицы «student» равен коду группы из таблицы «studgroup», в выборку не попадут студенты без группы и группы без студентов:

CREATE VIEW v_studеnts SELECT*FROM student INNER JOIN studgroup ON (student.id_group = studgroup.id);

40

5.СОЗДАНИЕ ТАБЛИЦ

СРЕДСТВАМИ ЯЗЫКА TRANSACT-SQL (8ч)

5.1. Требуемые ресурсы и инструменты

Установленный программный продукт Microsoft

SQL ServerExpress

Разработанные ранее физические модели предметных областей 2-4 раздела 6 в виде ER-диаграмм.

5.2.Порядок действий

Создать все таблицы и связи в БД по физическим моделям предметных областей 2-4 раздела 6, используя инструменты и последовательность действий приведенных в разделе 0. Выполнить задания, описанные в разделе 8.

6. ОПИСАНИЯ ПРЕДМЕТНЫХ ОБЛАСТЕЙ ДЛЯ ЗАНЯТИЙ

1.Вуз осуществляет образовательную деятельность.

Ввузе имеются кафедры с преподавателями. У кафедры есть наименование, телефон, список сотрудников. У преподавателя есть ФИО, должность. В вузе есть факультеты со списком кафедр и специальностей. У факультета есть название. У специальности есть наименование, шифр и список групп. У группы есть наименование и список студентов. У студента есть ФИО, номер зачетки, год поступления. Учебный процесс описывается указанием группы, преподавателя, дисциплины, объема.

2.Фирма занимается проектированием и строительством частных домов по ключ. В фирме существует несколько отделов. Есть деление материалов на группы и подгруппы. Проект состоит из названия, имени и адреса заказчика, имени сотрудника отдела, общей площади, схемы. Смета содержит имя и адрес заказчика, имя

41

сотрудника отдела, список всех материалов с количеством

иценами и итоговую сумму. Может быть скидка.

3.Аэропорт занимается авиаперевозками. В аэропорту есть посадочные полосы, у которых указаны длина, максимальный вес самолета, который может приземлиться, наличие автоматической системы посадки (АСП). Существуют диспетчерские, у которых есть закрепленные полосы, указано оборудованы или не оборудованы они АСП. Есть трапы разных типов, закрепленные за терминалами. Для подвоза пассажиров используются автобусы различной вместимости. Автобусы закреплены за терминалами. Для заправки самолетов используются заправочные автомобили различной грузоподъемности. В аэропорту есть терминалы с указанием названия, полос обслуживания, вместимости, наличие/отсутствие таможни. Самолеты бывают разных типов, у самолетов указаны: наименование, вместимость (грузоподъемность), объем топлива, максимальный вес самолета, дальность полета, АСП. В расписании указано: название рейса, город вылета

иприлета, самолет, время вылета и прилета, полоса.

4.Документооборот организации. Есть сотрудники с указанием фамилии, имени отчества, даты рождения, пола, отдела, должности. У отделов должны быть указаны название, телефон, факс, емейл. Сотрудники занимают различные должности с указанием оклада. Есть документы, у которых должны быть указаны: типы, наименования, дата издания, дата утверждения, даты согласования, даты редактирования, изменения, дата ознакомления, признак ознакомления, дата сдачи в архив. Также должны быть различные виды прав работы с документом, отдельно для сотрудников и для отделов.

42

7. ЗАДАНИЯ ДЛЯ ЛАБОРАТОРНЫХ РАБОТ ПО ЯЗЫКУ МАНИПУЛИРОВАНИЯ ДАННЫМИ

1. Написать запросы на выборку из одной таблицы

1.1.выборка всех полей

1.2.выборка всех полей с заданием алиасов

1.3.выборка двух полей

1.4.выборка с сортировкой по первому полю

1.5.выборка с сортировкой по первому полю по возрастанию, по второму по убыванию

1.6.выборка с простым условием отбора со сравнением (одно из =, >, <, >=, <=, <>)

1.7.выборка с составным условием отбора со сравнением (одно из =, >, <, >=, <=, <>), логическое выражение одно из (AND, OR, NOT)

1.8.выборка с простым условием отбора с

BETWEEN

1.9.выборка с простым условием отбора с IN

1.10.выборка с простым условием отбора с LIKE по первой букве

1.11.выборка с простым условием отбора с LIKE по первой букве и предпоследней

1.12.выборка с группировкой и подсчетом

количества

1.13.выборка с группировкой и суммой

1.14.выборка с любым условием отбора, группировкой и подсчетом количества или суммы и

условием отбора после группировки 2. Написать запросы на выборку из нескольких таблиц

2.1.простая выборка из двух таблиц с простым

условием

2.2.простая выборка из двух таблиц с составным

условием

2.3.простая выборка из трех таблиц с простым

43

условием

2.4.простая выборка из трех таблиц с составным

условием

2.5.выборка из двух таблиц с INNER JOIN

2.6.выборка из двух таблиц с LEFT JOIN

2.7.выборка из двух таблиц с RIGHT JOIN

2.8.выборка из трех таблиц с INNER JOIN

2.9.выборка из трех таблиц с LEFT JOIN

2.10.выборка из трех таблиц с RIGHT JOIN

2.11.выборка из двух таблиц с UNION

2.12.выборка из двух таблиц с UNION ALL

2.13.выборка из трех таблиц с UNION и UNION

ALL

3. Написать запросы на выборку с подзапросами

3.1.

выборка с простым условием отбора со

сравнением (одно из =, >, <, >=, <=, <>) с подзапросом

3.2.

выборка с простым условием отбора с IN с

подзапросом

 

3.3.

выборка с простым условием отбора с ANY

3.4.

выборка с простым условием отбора с ALL

3.5.

выборка с простым условием отбора с EXISTS

4. Написать запросы на вставку данных (1 запись) во все таблицы

4.1.Вставка предопределенных данных

4.2.Вставка сгенерированных случайно данных

4.3.Вставка данных из нескольких элементов с использованием преобразования типов

4.4.Вставка данных и с использованием встроенных функций работы с датой (системная дата, генерация из частей, дата со сдвигом) и строками (регистр, часть строки) – как минимум 1 запрос на функцию

5. Написать запросы на изменение данных во всех таблицах

5.1. Изменение всех полей по условию на

44

предопределенные значения

5.2.Изменение части полей по условию на сгенерированные случайно значения

5.3.Изменение части полей по условию (увеличение/уменьшение текущего значения)

5.4.Изменение части полей по условию с использованием преобразования типов

5.5.Изменение части полей по условию с использованием встроенных функций работы с датой (системная дата, генерация из частей, дата со сдвигом) и строками (регистр, часть строки) – как минимум 1 запрос на функцию

6. Написать запросы на вставку данных (несколько записей) в таблицы (минимум 5 запросов)

6.1.Вставка нескольких записей из той же таблицы, выбранных по условию (вставка записей в расписание из расписания за определенный промежуток времени /дублирование/) – не более 3 запросов

6.2.Вставка нескольких записей из той же таблицы, выбранных по условию, с изменением значений части полей (вставка записей в расписание из расписания за определенный промежуток времени с увеличением даты вылета и прилета на год)

7. Написать запросы на удаление данных (минимум

5 запросов)

7.1.Удаление по условию (одно из: =, >, <, >=,

<=, <>)

7.2.Удаление по условию (IN)

7.3.Удаление по условию (одно из: ANY, ALL)

7.4.Удаление по условию (EXISTS)

7.5.Удаление по условию (LIKE)

45

8. ЗАДАНИЯ ДЛЯ ЛАБОРАТОРНЫХ РАБОТ ПО ЯЗЫКУ ОПРЕДЕЛЕНИЯ ДАННЫХ

1. Написать запросы на создание всех таблиц для БД предметных областей

1.1.Создание главных таблиц с автоинкрементным и первичным ключом

1.2.Создание подчиненных таблиц с вторичным

ключом

1.3.Создание таблицы со значением по умолчанию

1.4.Создание таблицы с ограничением уникальности

1.5.Создание таблицы с ограничением проверки 2. Написать запросы на изменение таблиц

2.1.Добавление поля

2.2.Добавление первичного ключа

2.3.Добавление вторичного ключа

2.4.Добавление ограничения уникальности

2.5.Добавление ограничения проверки

2.6.Добавление индекса

3. Написать запросы на удаление 3.1. Удаление таблицы 3.2. Удаление первичного ключа

3.3. Удаление вторичного ключа 3.4. Удаление ограничения значение по умолчанию

3.5. Удаление ограничения уникальности 3.6. Удаление ограничения проверки 3.7. Удаление индекса

4. Написать запросы на создание представлений

4.1.Представление с использованием условий

отборки

4.2.Представление с использованием группировки

4.3.Представление с использованием UNION

4.4.Представление с использованием нескольких

таблиц

46

ЗАКЛЮЧЕНИЕ

В методических указания даны теоретические сведения и описаны практические действия, необходимые для освоения методики создания баз данных и работы с ними с использованием языка Transact-SQL в среде SQL Server Management Studio пакета Microsoft SQL Server Express.

Описаны основные элементы языка Transact-SQL и способы его использования для создания баз данных в СУБД Microsoft SQL Server Express.

Даны описания предметных областей для создания по ним баз данных и работы с ними.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Кузин, А.В. Базы данных: учеб. пособие: допущено УМО/А. В. Кузин. – М.: Академия, 2008. – 314 с.

2.Марков, А. С. Базы данных. Введение в теорию и методологию: учебник для вузов: рек. УМО/ А. С. Марков.

М.: Финансы и статистика, 2006. – 510 с.

3.Швецов, В.И. Базы данных [Электронный ресурс] / В.И. Швецов. –М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2009. – 155 c. – Режим доступа: http://www.iprbookshop.ru/16688

4.Диго, С. М. Базы данных: проектирование и использование: учебник для вузов: рек. МО РФ/ С. М. Диго. – М.: Финансы и статистика, 2005. – 590 с.

5.Базы данных [Электронный ресурс]: учебное пособие/ - Электрон. текстовые данные. - Саратов: Научная книга, 2012. – 259 c. – Режим доступа: http://www.iprbookshop.ru/6261

6.Королева, О.Н. Базы данных [Электронный ресурс]:

47

курс лекций/ О.Н. Королева, А.В. Мажукин, Т.В. Королева.

– Электрон. текстовые данные. – М.: Московский гуманитарный университет, 2012. – 66 c. – Режим доступа: http://www.iprbookshop.ru/14515

7.Култыгин, О.П. Администрирование баз данных. СУБД MS SQL Server [Электронный ресурс]: учебное пособие/ О.П. Култыгин. – Электрон. текстовые данные. – М.: Московский финансово-промышленный университет «Синергия», 2012. – 232 c. - Режим доступа: http://www.iprbookshop.ru/17009

8.Швецов В.И. Базы данных [Электронный ресурс]

/В.И. Швецов. — Электрон. текстовые данные. — М.: Интернет-Университет Информационных Технологий

(ИНТУИТ), 2016. — 218 c. — 2227-8397. — Режим доступа: http://www.iprbookshop.ru/52139.html

9.Ткачев О.А. Создание и манипулирование базами данных средствами СУБД Мicrosoft SQL Server 2008 [Электронный ресурс] : учебное пособие / О.А. Ткачев. — Электрон. текстовые данные. — М. : Московский городской педагогический университет, 2013. — 152 c. — 2227-8397.

— Режим доступа: http://www.iprbookshop.ru/26613.html

48