Управление данными: Рабочая программа дисциплины

ОУ ВО «Южно-Уральский институт управления и экономики»
РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ
УПРАВЛЕНИЕ ДАННЫМИ
Направление подготовки
230400.62 "Информационные системы и технологии"
Квалификация (степень) выпускника
Бакалавр
Мухина Юлия Рамилевна,
Доцент кафедры «Информационные
технологии и системы»
ОУ ВО «Южно-Уральский институт
управления и экономики»
Челябинск
2014
ОГЛАВЛЕНИЕ
I ВВЕДЕНИЕ ........................................................................................................... 3
II ТЕМАТИЧЕСКОЕ ПЛАНИРОВАНИЕ ........................................................... 9
IV ОЦЕНОЧНЫЕ СРЕДСТВА ДЛЯ ТЕКУЩЕГО КОНТРОЛЯ
УСПЕВАЕМОСТИ, ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ ПО ИТОГАМ
ОСВОЕНИЯ ДИСЦИПЛИНЫ И УЧЕБНО-МЕТОДИЧЕСКОЕ
ОБЕСПЕЧЕНИЕ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ ............... 22
VI МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ................................. 72
I ВВЕДЕНИЕ
Рабочая программа учебной дисциплины «Управление данными»
предназначена для реализации Федерального государственного стандарта
Высшего профессионального образования по направлению 230400.62
«Информационные системы и технологии» и является единой для всех форм
обучения.
1 Цели и задачи дисциплины
Изучение дисциплины «Управление данными» позволит:
1. Сформировать умения анализировать предметную область и строить
логическую схему хранения данных.
2. Отработать навыки создания баз данных и манипулирования
данными в базах данных.
3. Дать представление об оптимизации работы с данными.
После
ее
изучения
выпускник
должен
решать
следующие
профессиональные задачи в соответствии с видами профессиональной
деятельности:
Проектно-конструкторская деятельность:
 предпроектное обследование (инженеринг) объекта проектирования,
системный анализ предметной области, их взаимосвязей;
Проектно-технологическая деятельность:
 проектирование
базовых
и
прикладных
информационных
технологий;
 разработка
(методические,
средств
реализации
информационные,
технические и программные).
информационных
математические,
технологий
алгоритмические,
2 Входные требования и место дисциплины в структуре ООП
бакалавриата
Дисциплина «Управление данными» относится к базовой части
профессионального цикла.
Освоение
дисциплины
должно
осуществляться
после
изучения
дисциплин: Информатика, Технологии программирования, Информационные
технологии, Архитектура информационных систем.
Дисциплина «Управление данных» является опорой для изучения
дисциплин: Теория информационных процессов и систем, Технологии
обработки информации, Современные средства разработки приложений,
Корпоративные
информационные
системы,
Основы
программной
инженерии, Документационное программное обеспечение, а также для
прохождения учебных и производственных практик, написания выпускной
квалификационной работы.
3 Требования к результатам освоения дисциплины «Управление
данными»
Процесс изучения дисциплины направлен на формирование следующих
компетенций:
Код
компетенции
ОПК-1
ОПК-3
Наименование
компетенции
владение широкой
общей подготовкой
(базовыми знаниями)
для решения
практических задач в
области
информационных
систем и технологий
способностью
Характеристика компетенции
В результате изучения дисциплины студент
должен
знать/понимать:
 состав,
структуру
и
свойства
информационных систем, методы анализа
информационных
систем,
модели
представления проектных решений, общую
характеристику
процесса
проектирования
информационных систем;
 основные понятия, принципы и базовые
концепции технологии баз данных, основные
этапы и принципы создания баз данных,
инструментальные средства их реализации;
 основные конструкции языка SQL.
В результате изучения дисциплины студент
применять основные
приемы и законы
создания и чтения
чертежей и
документации по
аппаратным и
программным
компонентам
информационных
систем
ПК-1
способность проводить
предпроектное
обследование объекта
проектирования,
системный
анализ
предметной области, их
взаимосвязей
должен
знать/понимать:
 правила построения логических и
физических схем представления данных;
уметь:
 по описанию предметной области строить
логические схемы баз данных;
 по логической модели в соответствии с
правилами создавать физическую модель
базы;
 анализировать и проверять на корректность
логические и физические схемы баз данных,
а также оценивать и выбирать наиболее
подходящие схемы с точки зрения
целостности, расширяемости, избыточности
и т.д.;
 использовать техническую документацию
по стандартам SQL для создания и
управления базами данных.
владеть:
 методами ER-проектирования;
 методами нормализации баз данных;
 инструментальными средствами
представления данных и знаний о
предметной области.
В результате изучения дисциплины студент
должен
знать/понимать:
 состав,
структуру
и
свойства
информационных систем, методы анализа
информационных
систем,
модели
представления проектных решений, общую
характеристику процесса проектирования
информационных систем;
 основные понятия, принципы и базовые
концепции
технологии
баз
данных,
основные этапы и принципы создания баз
данных, инструментальные средства их
реализации;
 правила построения логических схем
представления данных;
уметь:
 строить информационную и
функциональную модель предметной
области;
 анализировать и проверять на корректность
логические схемы баз данных, а также
оценивать и выбирать наиболее подходящие
схемы с точки зрения целостности,
расширяемости, избыточности и т.д.;
владеть:
ПК-11
 методами ER-проектирования;
 методами нормализации баз данных.
 инструментальными средствами
представления данных и знаний о
предметной области.
способность
к В результате изучения дисциплины студент
проектированию
должен
базовых и прикладных знать/понимать:
информационных
 состав,
структуру
и
свойства
технологий
информационных систем, методы анализа
информационных
систем,
модели
представления проектных решений, общую
характеристику процесса проектирования
информационных систем;
 основные понятия, принципы и базовые
концепции
технологии
баз
данных,
основные этапы и принципы создания баз
данных, инструментальные средства их
реализации;
 правила построения логических и
физических схем представления данных;
 правила поиска узких мест в
информационной системе (эталонное
тестирование и профилирование);
 основные конструкции языка SQL;
 способы определения, манипулирования и
управления данными в информационных
системах;
уметь:
 строить информационную и
функциональную модель предметной
области;
 создавать базу данных и систему запросов
для управления данными;
 анализировать и проверять на корректность
логические и физические схемы баз данных,
а также оценивать и выбирать наиболее
подходящие схемы с точки зрения
целостности, расширяемости, избыточности
и т.д.;
 оптимизировать структуру хранения данных
и процесс управления данным для их более
эффективного использования;
владеть:
 методами ER-проектирования;
 методами нормализации баз данных;
 инструментальными
средствами
представления данных и знаний о
предметной области;
 методами
оптимизации
хранения
и
использования данных (оптимизация схемы
и индексирование, оптимизация запросов);
технологией
работы
с
одной
из
современных системам управления базами
данных.
В результате изучения дисциплины студент
должен
знать/понимать:
 основные конструкции языка SQL;
 способы определения, манипулирования и
управления данными в информационных
системах;
 требования к информационным средствам
реализации информационных технологий
(доступность, достоверность, надежность,
конфиденциальность, масштабируемость и
т.д.);
уметь:
 создавать базу данных и систему запросов
для управления данными;
 оптимизировать структуру хранения данных
и процесс управления данным для их более
эффективного использования;
владеть:
 технологией
работы
с
одной
из
современных системам управления базами
данных;
 методами
оптимизации
хранения
и
использования данных (оптимизация схемы
и индексирование, оптимизация запросов).

ПК-12
способность
разрабатывать средства
реализации
информационных
технологий
(методические,
информационные,
математические,
алгоритмические,
технические и
программные)
В результате изучения дисциплины студент должен
знать/понимать:
 состав, структуру и свойства информационных систем, методы анализа
информационных систем, модели представления проектных решений, общую
характеристику процесса проектирования информационных систем;
 основные понятия, принципы и базовые концепции технологии баз
данных,
основные
этапы
и
принципы
создания
баз
данных,
инструментальные средства их реализации;
 основные конструкции языка SQL;

способы определения, манипулирования и управления данными в
информационных системах;

требования к информационным средствам реализации информационных
технологий (доступность, достоверность, надежность, конфиденциальность,
масштабируемость и т.д.);

правила построения логических и физических схем представления
данных;
уметь:

строить информационную и функциональную модель предметной
области;

по описанию предметной области строить логические схемы баз данных;

по
логической
модели
в
соответствии
с
правилами
создавать
физическую модель базы;

создавать базу данных и систему запросов для управления данными;

анализировать и проверять на корректность логические и физические
схемы баз данных, а также оценивать и выбирать наиболее подходящие
схемы с точки зрения целостности, расширяемости, избыточности и т.д.;

использовать техническую документацию по стандартам SQL для
создания и управления базами данных.
владеть:

методами ER-проектирования;

методами нормализации баз данных;

инструментальными средствами представления данных и знаний о
предметной области;
 методами оптимизации хранения и использования данных (оптимизация
схемы и индексирование, оптимизация запросов);
 технологией работы с одной из современных системам управления
базами данных.
II ТЕМАТИЧЕСКОЕ ПЛАНИРОВАНИЕ
1 Объем дисциплины и виды учебной работы
НАПРАВЛЕНИЕ: 230400.62 «Информационные системы и технологии»
СРОК ОБУЧЕНИЯ: 4 года
ФОРМА ОБУЧЕНИЯ: очная
Всего
Вид учебной работы
час./зач.ед.,
форма контроля
Аудиторные занятия:
Количество
семестров
108
В том числе:
Лекции
36
Практические занятия (ПЗ)
54
Лабораторные занятия (ЛЗ)
18
Самостоятельная работа
54
Формы текущего итогового контроля (для
1. Практические задания
очной формы обучения)
2. Индивидуальные
задания
Вид промежуточной аттестации (зачет,
Экзамен,
экзамен)
54
Общая трудоемкость
216/6
1
2 Разделы дисциплины и виды занятий
Всего, час.
Переаттестация,
час.
Самостоятельная
работа, час.
Практические
занятия, час
Лабораторные
занятия, час.
Наименование разделов и тем дисциплины
Лекции, час.
НАПРАВЛЕНИЕ: 230400.62 «Информационные системы и технологии»
СРОК ОБУЧЕНИЯ: 4 года
ФОРМА ОБУЧЕНИЯ: очная
Раздел 1 Введение в базы данных
Тема 1.1 Основные термины и определения
2
2
4
2
2
4
2
2
4
2
2
4
Тема 1.2 Архитектура представления
данных. Системы управления данными
(СУБД).
Тема 1.3 Архитектура организации работы с
СУБД
Тема 1.4 Модели представления данных
Раздел 2 Инфологическое и логическое проектирование баз данных
Тема 2.1 Этапы проектирования баз
данных. Инфологическое проектирование
Тема 2.2 Логическое проектирование.
Методы логического проектирования
2
6
6
14
2
6
6
14
2
4
Раздел 3. Язык SQL
Тема 3.1 Введение в SQL. СУБД MySQL
Тема 3.2 Определение данных. Язык DDL
Тема 3.3 Выборка данных. Оператор
SELECT
Тема 3.4 Модификация данных. Язык DML
Тема 3.5 Дополнительные конструкции.
Хранимые процедуры. Триггеры
2
2
6
2
10
2
12
4
18
2
6
4
12
2
6
4
12
Тема 3.6. Транзакции
Тема 3.7 Представления
Тема 3.8 Защита данных в СУБД
2
4
6
1
4
2
7
1
4
2
7
2
4
Раздел 4. Оптимизация управления данными в СУБД
Тема 4.1 Архитектура MySQL. Подсистемы
хранения.
Тема 4.2 Профилирование и эталонное
тестирование
Тема 4.3 Индексирование
Тема 4.4 Оптимизация схемы базы данных
Тема 4.5 Оптимизация запросов
2
2
4
2
8
2
4
2
8
2
4
4
10
2
6
4
12
Экзамен
ВСЕГО
54
36
18
54
54
216
3 Лабораторный практикум
НАПРАВЛЕНИЕ: 230400.62 «Информационные системы и технологии»
СРОК ОБУЧЕНИЯ: 4 года
ФОРМА ОБУЧЕНИЯ: очная
№
п/п
№ модуля (раздела) дисциплины
Наименование
практических занятий
Раздел 4. Оптимизация управления данными в СУБД
Лабораторная работа №1:
Тема 4.2 Профилирование и
Профилирование
эталонное тестирование
1
2
3
4
Тема 4.3 Индексирование
Тема 4.4 Оптимизация схемы базы
данных
Тема 4.5 Оптимизация запросов
ВСЕГО:
Лабораторная работа №2:
Индексирование
Лабораторная работа №3:
Денормализация
Лабораторная работа №4:
Оптимизация доступа к данным
Трудоем
кость
(час.)
4
4
4
6
18
4 Практические занятия
230400.62 «Информационные системы и технологии»
СРОК ОБУЧЕНИЯ: 4 года
ФОРМА ОБУЧЕНИЯ: очная
№
п/п
№ модуля (раздела) дисциплины
Наименование
практических занятий
Раздел 2 Инфологическое и логическое проектирование баз данных
Практическая работа №1: ERТема 2.1 Этапы проектирования
проектирование
баз данных. Инфологическое
1
Практическая работа №2:
Инфологическое проектирование
проектирование
Тема 2.2 Логическое
2
проектирование. Методы
логического проектирования
Практическая работа №3:
Нормальные формы
Практическая работа №4:
Логическое проектирование
Трудоем
кость
(час.)
6
6
Раздел 3. Язык SQL
Тема 3.2 Определение данных.
3
Язык DDL
Тема 3.3 Выборка данных.
Оператор SELECT
4
5
Тема 3.4 Модификация данных.
Язык DML
Тема 3.5 Дополнительные
6
7
8
9
конструкции. Хранимые
процедуры. Триггеры
Тема 3.6. Транзакции
Тема 3.7 Представления
Тема 3.8 Защита данных в СУБД
Практическая работа №5:
Работа с MySQL Work Bench.
Создание базы данных.
Практическая работа №6:
Модификация схемы базы
данных
Практическая работа №7:
Запросы на основе одной
таблицы
Практическая работа №8:
Объединение и соединение
таблиц
Практическая работа №9:
Подзапросы
Практическая работа №10:
Переменные и функции
Практическая работа №11:
Операторы модификации данных
Практическая работа №12:
Операторы управления языка
SQL. Хранимые процедуры и
функции
Практическая работа №13:
Триггеры
Практическая работа №14:
Транзакции
Практическая работа №15:
Создание и использование
представлений
Практическая работа №16:
6
12
6
6
4
4
4
Управление доступом:
пользователи и роли
ВСЕГО:
54
III СОДЕРЖАНИЕ ДИСЦИПЛИНЫ КУРСА
Раздел 1 Введение в базы данных
Тема 1.1 Основные термины и определения
Содержание темы: понятия «информационная система», «информация»,
«данные»; способы управления данными в фактографических системах: базы
данных, хранилища данных, базы знаний; взаимодействие с данными в
информационных системах, распределение задач между сервером и
приложением; области применения баз данных.
Результат (код компетенции): ОПК-1
Инструмент оценки: итоговое тестирование по разделу
Тема 1.2 Архитектура представления данных. Системы управления
данными (СУБД).
Содержание темы: трехуровневая архитектура ANSI-SPARC; организация
взаимодействия прикладных программ и баз данных; функции систем
управления базами данных; понятия «транзакция», «целостность данных»;
ASID-свойства транзакций.
Результат (Код компетенции): ОПК-1
Инструмент оценки: итоговое тестирование по разделу
Тема 1.3 Архитектура организации работы с СУБД
Содержание темы: режимы работы с базой данных; локальная архитектура
работы с БД; архитектура «файл-сервер»; архитектура «клиент-сервер»;
понятия «хранимые процедуры» и «триггеры»; трехуровневая архитектура;
распределенная система.
Результат (Код компетенции): ОПК-1
Инструмент оценки: итоговое тестирование по разделу
Тема 1.4 Модели представления данных
Содержание темы: понятия «модель представления данных»; способы
представления
и
управления
реляционной,
постреляционной,
данными
в
иерархической,
сетевой,
объектно-ориентированной
моделях
представления данных; основные понятия реляционных БД – отношение,
кортеж, атрибут, ключ, связь; свойства отношений; типы ключей –
первичный, альтернативный, суррогатный, внешний, простой и составной;
обзор NoSQL решений.
Результат (Код компетенции): ОПК-1
Инструмент оценки: итоговое тестирование по разделу
Раздел 2 Инфологическое и логическое проектирование баз данных
Тема
2.1
Этапы
проектирования
баз
данных.
Инфологическое
проектирование
Содержание темы: этапы проектирования баз данных; основные модели
проектирования баз данных – концептуальная (инфологическая), логическая,
физическая; соотношение моделей проектирования данных и уровней
архитектуры ANSI-SPARC; методология инфологического проектирования
базы данных; понятия «сущность», «атрибут», «связь», «ключ»; этапы
инфологического проектирование – представление локальных моделей,
объединение локальных моделей, определение ограничений целостности;
ER-проектирование; степень и класс принадлежности связи; типы связей.
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-1
Инструмент оценки: отчеты по практическим работам №1 и №2,
выполнение индивидуальных заданий №1 и 2; тестирование по разделу;
интерактивная игра по разделу.
Тема
2.2
Логическое
проектирования
проектирование.
Методы
логического
Содержание
темы:
основные
положения
теории
проектирования
реляционных баз данных; критерии выбора СУБД; нормализация данных;
требования к результатам логического проектирования; первая нормальная
форма;
функциональные зависимости
и диаграммы функциональных
зависимостей; полные и частные функциональные зависимости и вторая
нормальная форма; транзитивная зависимость и третья нормальная форма;
нормальная форма Бойса-Кодда; многозначная зависимость и четвертая
нормальная форма; зависимость по соединению и пятая нормальная форма;
методы логического проектирования: на основе декомпозиции отношений, на
основе синтеза отношений, семантический метод; правила преобразования
ER-диаграмм в отношения баз данных; CASE-средства проектирования баз
данных.
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-1
Инструмент оценки: отчеты по практическим работам №3 и №4,
выполнение индивидуальных заданий №3 и 4; тестирование по разделу;
интерактивная игра по разделу.
Раздел 3. Язык SQL
Тема 3.1 Введение в SQL. СУБД MySQL
Содержание темы: концепция и возможности языка SQL, стандарты SQL;
архитектура СУБД MySQL; типы данных; преобразование типов.
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-11, ПК-12
Тема 3.2 Определение данных. Язык DDL
Содержание темы: создание базы данных; создание таблиц, оператор
CREATE; правила задания типов данных у столбцов; определение
ограничений целостности (первичный ключ, уникальные значения, значения
по умолчанию, внешние ключи и др.); основные понятия об индексах;
особенности использования NULL-значений; клонирование таблиц, оператор
LIKE; изменение структуры таблиц, оператор ALTER; удаление таблиц,
оператор DROP; работа с СУБД MySQL и интерфейсом phpMyAdmin.
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-11, ПК-12
Инструмент оценки: отчет по практическим работам №5 и 6.
Тема 3.3 Выборка данных. Оператор SELECT
Содержание темы: типы операций выборки данных (выборка, проекция,
соединение и объединение); выборка и проекция данных из одной таблицы;
предложения
SELECT,
FROM,
WHERE;
использование
предикатов
сравнения, BETWEEN, IN, LIKE, IS NULL и др.; агригирующие функции
(COUNT, AVG, SUM, MAX, MIN и др.); квалификатор AS; оператор
DISTINCT; оператор LIMIT; логические операторы (AND, OR, NOT);
сортировка
строк,
предложение
ORDER
BY;
группировка
записей,
предложение GROUP BY; проверка группы строк, предложение HAVING;
способы
объединения
соединение,
данных
подзапросы);
из
правила
нескольких
соединения
таблиц
(объединение,
таблиц
(декартово
произведение таблиц, внутренние соединения, внешние соединения);
введение в оптимизацию запросов, команда EXPLAIN; правила объединения
таблиц; подзапросы, правила использования подзапросов в предложениях
SELECT, FROM, WHERE, HAVING; предикат EXISTS; предикаты SOME
(ANY) и ALL; обобщенная структура запроса на выборку; использование
переменных; функции преобразования; функции управления; строковые
функции.
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-11, ПК-12
Инструмент оценки: отчеты по практическим работам №7-10; выполнение
индивидуального задания № 5; интерактивная игра.
Тема 3.4 Модификация данных. Язык DML
Содержание темы: вставка данных в таблицу, оператор INSERT; вставка
одной или нескольких новых строк; вставка данных из других таблиц;
решение проблем дублирования при вставке данных; изменение данных,
синтаксис команды UPDATE; удаление данных, синтаксис команды
DELETE.
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-11, ПК-12
Инструмент оценки: отчет по практической работе №11.
Тема
3.5
Дополнительные
конструкции.
Хранимые
процедуры.
Триггеры
Содержание темы: назначение хранимых процедур и функций, достоинства
и недостатки их использования; правила определения и использования
хранимых процедур; простые операторы; условные операторы; опе5раторы
цикла; триггеры, достоинства и недостатки их использования; правила
определения и работы триггеров.
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-11, ПК-12
Инструмент оценки: отчеты по практическим работам №12 и №13.
Тема 3.6. Транзакции
Содержание
темы:
определение
транзакции;
свойства
транзакции
(атомарность, согласованность, изолированность, долговечность); операторы
работы с транзакциями (START TRANSACTION, COMMIT, ROLLBACK);
транзакции в СУБД MySQL.
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-11, ПК-12
Инструмент оценки: отчет по практической работе №14.
Тема 3.7 Представления
Содержание темы: назначение представлений; определение представлений,
синтаксис
команды
CREATE
VIEW;
правила
представлений;
алгоритм
Merge
и
представлений;
обеспечение
целостности
выборки
данных
из
TEMPTABLE;
обновляемость
данных
представлениях;
ограничение на использование представлений в MySQL.
в
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-11, ПК-12
Инструмент оценки: отчет по практической работе №15.
Тема 3.8 Защита данных в СУБД
Содержание темы: возможности защиты данных на уровне
SQL;
составляющие системы защиты данных; уровни доступа к данным в MySQL;
создание привилегий; типы привилегий; синтаксис команд GRANT и
REVOKE; управление пользователями; использование представлений для
защиты данных.
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-11, ПК-12
Инструмент оценки: отчет по практической работе №16.
Раздел 4. Оптимизация управления данными в СУБД
Тема 4.1 Архитектура MySQL. Подсистемы хранения.
Содержание
темы:
логическая
архитектура
MySQL;
управление
конкурентным доступом, блокировки; транзакции, уровни изоляции, журнал
транзакций;
технология
Multiversion
Concurrency
Control
(MVCC);
особенности подсистем хранения в MySQL; подсистемы хранения MyISAM и
InnoDB
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-11, ПК-12
Инструмент оценки: тестирование по теме
Тема 4.2 Профилирование и эталонное тестирование
Содержание темы: поиск узких мест в системах с базами данных;
назначение эталонного тестирование; стратегии эталонного тестирования;
инструменты эталонного тестирования; профилирование приложения и
профилирование сервера MySQL; протоколирование запросов; журнал
запросов и инструменты анализа журналов.
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-11, ПК-12
Инструмент оценки: отчет по лабораторной работе №1.
Тема 4.3 Индексирование
Содержание
темы:
основные
способы
оптимизации
базы
данных;
индексирование как один из способов оптимизации; типы индексов (B-Treeиндексы,
хеш-индексы,
пространственные
индексы,
полнотекстовые
индексы); стратегии индексирования; кластерные индексы; сравнение
индексирования в InnoDB и MyISAM; покрывающие индексы; обслуживание
индексов и таблиц.
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-11, ПК-12
Инструмент оценки: отчет по лабораторной работе №2; выполнение
индивидуального задания №6.
Тема 4.4 Оптимизация схемы базы данных
Содержание темы: физическое проектирование базы данных; оптимизация
выбора типов данных; достоинства и недостатки нормализованной и
денормализованной схем баз данных; способы и примеры денормализации.
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-11, ПК-12
Инструмент оценки: отчет по лабораторной работе №3; выполнение
индивидуального задания №7.
Тема 4.5 Оптимизация запросов
Содержание темы: причины неоптимальной работы запросов; оптимизация
доступа
к
данным;
способы
реструктуризации
запросов;
принципы
выполнения запросов; оптимизация запросов конкретных типов; управления
оптимизатором запросов в MySQL.
Результат (Код компетенции): ОПК-1, ОПК-3, ПК-11, ПК-12
Инструмент оценки: отчет по лабораторной работе №4; выполнение
индивидуального задания №8.
IV ОЦЕНОЧНЫЕ СРЕДСТВА ДЛЯ ТЕКУЩЕГО КОНТРОЛЯ
УСПЕВАЕМОСТИ, ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ ПО ИТОГАМ
ОСВОЕНИЯ ДИСЦИПЛИНЫ И УЧЕБНО-МЕТОДИЧЕСКОЕ
ОБЕСПЕЧЕНИЕ САМОСТОЯТЕЛЬНОЙ РАБОТЫ СТУДЕНТОВ
1. Перечень контрольных вопросов для подготовки к экзамену
1. Дайте определение понятиям «информация» и «данные». В чем разница
между этими понятиями?
2. Каков состав и назначение информационных систем?
3. Опишите основные способы хранения информации в информационных
системах: базы данных, хранилища данных, базы знаний.
4. Дайте определение понятию «предметная область». Приведите
несколько примеров предметных областей для разработки информационных
систем, которые можно будет использовать в вашем вузе.
5. Опишите уровни архитектуры ANSI-SPARC.
6. Разграничьте понятия «база данных» и «система управления базами
данных»? Перечислите основные функции СУБД.
7. Поясните понятия «целостность данных» и «непротиворечивость
данных».
8. Опишите возможные архитектуры организации работы с базами данных.
9. Для чего используются модели представления данных? Выделите
аспекты, рассматриваемые при представлении данных.
10. Разница в представлении, манипулировании и обеспечении целостности
данных при использовании иерархической и сетевой моделей.
11. Опишите структуру реляционной базы данных через понятия
отношение, связь, домен, кортеж, атрибут.
12. Каковы правила формирования отношений в реляционной базе данных?
13. Поясните понятия «ключ», «первичный ключ», «альтернативный ключ»,
«естественный ключ», «суррогатный ключ», «внешний ключ», «простой
ключ», «составной ключ».
14. Как осуществляется манипулирование данными в реляционных СУБД?
15. Каковы методы обеспечения целостности данных в реляционных базах
данных?
16. Каковы отличия постреляционной модели данных от реляционной?
17. Как
описывается
структура,
организуется
модификация
и
осуществляется
поддержание
целостности
данных
в
объектноориентированных СУБД.
18. Что такое NoSQL решения? Перечислите основные NoSQL подходы.
19. Перечислите требования, предъявляемые к базам данных.
20. Перечислите и охарактеризуйте основные этапы проектирования баз
данных.
21. Каковы основные задачи и этапы инфологического проектирования?
22. Дайте определение понятиям «сущность», «атрибут», «ключ», «связь».
23. В чем суть метода ER-проектирования?
24. Что такое «степень» связи? Какие ступени связи существуют?
Приведите примеры.
25. Что такое «класс принадлежности» связи? Какие классы
принадлежности существуют? Приведите примеры.
26. Дайте определение понятиям «супертип» и «подтип». Приведите
примеры супертипов и подтипов.
27. Что такое локальная и обобщенная модели предметной области?
28. Перечислите правила слияния локальных моделей.
29. Что такое «целостность данных»? Какие типы ограничений целостности
существуют? Приведите примеры.
30. Перечислите основные критерии выбора СУБД.
31. Дайте определение «нормализации» отношений. Для чего необходимо
проводить нормализацию отношений.
32. Приведите примеры возникновения аномалий вставки, удаления и
обновления.
33. Что такое «атомарность» атрибутов? Сформулируйте правило 1НФ.
34. Что такое «функциональная зависимость»? Приведите примеры
функциональных зависимостей.
35. Дайте определение полной и частной функциональным зависимостям.
Сформулируйте правило 2НФ.
36. Что такое транзитивная зависимость? Сформулируйте правило 3НФ.
37. Что такое НФБК? В чем отличие НФБК от 3НФ?
38. Что такое многозначная зависимость? Сформулируйте правило для
4НФ.
39. Что такое зависимость по соединению? Сформулируйте правило для
5НФ.
40. Определите алгоритм нормализации отношений.
41. Сформулируйте суть метода проектирования баз данных на основе
декомпозиции отношений. Приведите примеры.
42. Перечислите правила преобразования ER-диаграмм в нормализованные
отношения баз данных. Приведите примеры.
43. Что такое CASE-средства? Каковы функции case-средств?
44. Сформулируйте основную концепцию и структуру языка SQL (в
соответствии со стандартом SQL 2)?
45. Опешите направления развития стандартов SQL.
46. Перечислите основные типы данных MySQL, укажите их особенности.
47. Сформулируйте правила определения типов данных.
48. Опешите назначение и синтаксис команды CREATE.
49. Укажите способы задания ограничений целостности.
50. Для чего необходим оператор LIKE? Каков его синтаксис?
51. Что и как можно изменить в таблице с помощью команды ALTER?
52. Опешите назначение и синтаксис команды DROP.
53. Опешите назначение и правила задания предложений SELECT, FROM,
WHERE;
54. Перечислите основные операторы доступные в предложении WHERE.
55. Назовите правила использования агригирующих функций.
56. Для чего используется квалификатор AS и оператор DISTINCT?
57. Укажите особенности использования оператора LIMIT.
58. Опешите назначение и правила задания предложений ORDER BY,
GROUP BY и HAVING.
59. Перечислите способы и правила соединения таблиц.
60. Перечислите правила объединения таблиц.
61. Что такое подзапросы? Каковы особенности использования подзапросов
в различных предложениях выборки?
62. Опешите назначение и синтаксис предикатов EXISTS, SOME (ANY) и
ALL.
63. Опешите возможные способы задания оператора INSERT?
64. Опешите синтаксис команд UPDATE и DELETE.
65. Укажите назначение, достоинства и недостатки хранимых процедур и
функций.
66. Что такое триггер? Каковы правила его использования?
67. Что такое транзакция? Каковы ее свойства?
68. Опешите
правила
работы
операторов
START
TRANSACTION,
COMMIT, ROLLBACK?
69. Укажите особенности реализации транзакций в СУБД MySQL.
70. Что такое представления? Как можно определить и использовать
представления?
71. Укажите способы защиты данных на уровне SQL, правила задания
привилегий и синтаксис команд GRANT и REVOKE.
72. Опешите логическую архитектуру MySQL.
73. Опешите процесс управления конкурентным доступом.
74. Опешите технологию Multiversion Concurrency Control (MVCC).
75. Проведите сравнение двух подсистем хранения в MySQL: MyISAM и
InnoDB.
76. Что такое эталонное тестирование? Каковы стратегии эталонного
тестирования?
77. Что
такое
профилирование?
Каковы
правила
профилирования
приложения и сервера MySQL?
78. Что такое индекс? Опешите соновные типы индексов.
79. Сформулируйте правила индексирования данных для оптимизации
работы системы.
80. Что такое кластерные индексы? Сравните индексирование в InnoDB и
MyISAM?
81. Что такое покрывающие индексы? Каковы правила их использования?
82. Опешите функции физическое проектирование базы данных.
83. Что такое денормализация? Укажите достоинства и недостатки
нормализованной и денормализованной схем баз данных.
84. Перечислите основные причины неоптимальной работы запросов.
Укажите способы оптимизация доступа к данным.
85. Сформулируйте способы реструктуризации запросов.
86. Каковы правила оптимизация запросов различных типов?
2. Практические работы (примеры)
Практическая работа №1 – ER-проектирование
Цель работы: научиться проектировать ER-диаграммы: определять
сущности, их атрибуты и ключи, устанавливать связи между сущностями,
определять класс принадлежности и степень связей.
Задание 1. Дана предметная область: В фирме имеется несколько
филиалов, характеризующихся названием, адресом, телефоном и факсом. В
каждом отделении работают сотрудники, при этом сотрудник обязательно
работает только в одном филиале. Сотрудник характеризуется номером
личного дела, именем, фамилией, отчеством, адресом, телефоном. Создайте
ER-диаграмму для данной предметной области.
Строить ER-диаграммы можно на бумаге, маркерной доске, в любых
редакторах диаграмм и блок-схем, например, MS Visio.
Решение:
1. Запустите программу MS Visio (Пуск => Все программы =>
Microsoft Office 2013 => MS Visio 2013).
2. В появившемся окне (рис. 25) выберите раздел Категории.
Рисунок 25 – Программа MS Visio 2013
3. В категориях выберите категорию Программы и базы данных.
4. Visio предоставляет возможность проектировать базы данных в
нескольких нотациях: IDEF1X, UML, Crow’s Foot, нотация Чена. Выберите
(двойным щелчком ЛКМ) нотацию Crow’s Foot.
5. Рассмотрите интерфейс программы Visio 2013 (рис. 26).
Рисунок 26 – Интерфейс программы MS Visio 2013
6. Измените ориентацию листа на Альбомную: Лента инструментов =>
Конструктор => Параметры страницы => Ориентация => Альбомная.
7. Добавьте сетку: Лента инструментов => Вид => Показ => Сетка.
8. Создайте сущность Филиал:
a. из области фигур перетащите на рабочий лист фигуру
Сущность;
b. измените имя сущности, первичный ключ (атрибут с меткой
PK) и укажите два атрибута как на рис. 27;
Рисунок 27 – Сущность Филиал
c. из области фигур перенесите к существующей сущности
фигуру Атрибут (она добавится в список атрибутов), измените ее
название (рис. 28).
Рисунок 28 – Добавление атрибута к сущности
9.
Аналогично создайте сущность Сотрудник (рис. 29).
Рисунок 29 – Определение сущностей
10. Определите связь между сущностями. Согласно условиям задачи
связь обязательная один-ко-многим. Способ задания связи:
a. из области фигур в свободное место рабочей области
перетащите фигуру Связь (рис. 30);
Рисунок 30 – Связь
b. измените тип начала связи с необязательной ко многим (0 и
более) на обязательную ко многим (1 и более): в контекстном меню
связи выберите Задать символ начала => 1 и более;
c. при необходимости аналогично можно поменять и символ
окончания связи;
d. присоедините начало связи к сущностям Сотрудник, при
подведении связи к сущности дождитесь подсветки всей сущности, а не
отдельных ее атрибутов (рис. 31);
Рисунок 31 – Соединение связи с сущностью Сотрудник
e. аналогично соедините окончание связи и сущность Фирма
(рис. 32);
Рисунок 32 – Связь между сущностями
f. при необходимости можно задать имя связи, дважды щелкнув
по связи ЛКМ (рис. 33) – филиалу принадлежат сотрудники и
сотрудники работают в филиале.
Рисунок 33 – Задание имени связи
11. Сохраните полученный результат.
Задание 2. Создайте ER-диаграмму для предметной области: каталог
библиотеки. Требуется хранить информацию: название жанра, описание
жанра, ISBN, название книги, количество страниц, год издания, автор книги.
При этом в библиотеке могут отсутствовать книги определенных жанров, но
каждая книга библиотеки принадлежит к одному конкретному жанру. Книга
может иметь одного или более авторов. В базе хранится информация лишь о
тех авторах, книги которых есть в библиотеке.
Задание 3. Создайте ER-диаграмму для предметной области: каталог
товаров. Товар характеризуется артикулом, названием, ценой, а также
набором характеристик (например, цвет, размер, мощность и т.д.). Отдельные
товары обязательно обладают какими-либо характеристиками, при этом
разные товары могут иметь разный набор характеристик (например,
телевизор обладает характеристиками – размер диагонали, разрешение,
поддержка 3D, потребляемая мощность, а пылесос – потребляемая мощность,
мощность всасывания, длина шнура, тип регулировки мощности).
Характеристика обладает следующими свойствами – название, тип
характеристики (число, строка, логический, перечисление). Если
характеристика перечисляемая, то в базе данных должна храниться
информация о возможных значениях этой характеристики.
Задание 4. Создайте ER-диаграмму для предметной области: список
клиентов. Необходимо хранить информацию о клиентах – имя (название),
адрес, email, тип. Клиенты бывают двух типов: корпоративный клиент и
частный клиент. Если клиент частный, то он обладает дополнительной
характеристикой – номер кредитной карты. Если клиент корпоративный, то
он обладает дополнительными характеристиками – номер счета, контактное
лицо, форма собственности.
Задание 5. Создайте ER-диаграмму для предметной области: данные о
преподавателях. Преподаватель характеризуется номером личного дела,
фамилией, именем, отчеством, педагогическим стажем, базовым
образованием, степенью, званием, должностью и окладом. При этом
преподаватель может обладать или не обладать одной из степеней (кандидат
наук, доктор наук) и может обладать или не обладать одним из званий
(доцент, профессор). Преподаватель может занимать одну и только одну
должность, характеризующуюся названием и должностной инструкцией.
Должность однозначно определяет оклад преподавателя и характеризуется
кодом оклада и величиной.
Задание 6. Создайте ER-диаграмму для предметной области – поставки.
Поставщики поставляют товары на определенные склады. При этом каждый
поставщик поставляет товар (артикул, название) по определенной цене и в
определенном количестве на склад. Каждый поставщик поставляет несколько
наименований товаров на несколько складов. Каждый склад может работать
с одним или несколькими поставщиками и запрашивать у них несколько
наименований товаров. Разные поставщики могут поставлять одни и те же
товары, но по разной цене. А один склад может заказывать один и тот же
товар у разных поставщиков в разном количестве.
Практическая работа №2 – Инфологическое проектирование
Цель работы: закрепить навыки проектирования ER-диаграмм при
разработке локальных моделей данных; научиться объединять локальные
представления в обобщенную концептуальную модель.
Задание 1. Дано описание предметной области. Интернет-магазин
осуществляет продажу товаров (для примера, компьютерной и бытовой
техники).
В
интернет-магазине
предусмотрена
многоуровневая
иерархическая система категорий. Каждое наименование товара может
относиться только к одной категории. Каждое наименование товара может
обладать определенным набором характеристик, при этом у разных товаров
набор характеристик может меняться. Пользователь может осуществлять
заказ только после регистрации на сайте. В одном заказе пользователь может
купить несколько наименований товаров. Менеджеры по продажам после
авторизации могут обрабатывать заказ, менять его статус, просматривать
наличие товаров на складе. В системе предусмотрены расчет и хранение
информации об общей стоимости заказа, скидках покупателей, рейтинга
продавцов (суммарное количество реализованных заказов). Клиенты
являются физическими лицами.
Решение
1. Анализ предметной области и выявление информационных
потребностей различных категорий пользователей.
В системе можно выделить три типа пользователей: покупатели,
менеджеры по продажам, операторы системы.
Информационные потребности покупателя:
1. Регистрация в системе (имя, фамилия, e-mail, логин, пароль,
возраст, пол, адрес).
2. Авторизация по логину и паролю.
3. Просмотр данных о товарах (артикул, название, описание, цена,
характеристики, категория).
4. Поиск товара по дереву каталога (имена категорий).
5. Фильтрация товаров по различным техническим характеристикам.
6. Сортировка товаров.
7. Выбор товаров и оформление заказа (код заказа, дата заказа,
общая стоимость, позиции заказа).
8. Просмотр отдельных позиций своего заказа (наименование товара,
количество, стоимость).
9. Просмотр данных о себе (имя, фамилия, e-mail, логин, пароль,
возраст, пол, адрес, скидка).
10.Восстановление пароля и логина по e-mail.
Информационные потребности менеджера по продажам:
1. Авторизация в системе по логину и паролю.
2. Просмотр заказов (дата заказа, общая стоимость, отдельные
позиции заказа, статус).
3. Изменение статуса заказов (открыт, в обработке, скомпонован,
закрыт, отклонен и др.).
4. Просмотр информации о товарах (артикул, название, описание,
цена, характеристики, категория, количество на складе).
5. Просмотр информации о покупателях (e-mail, имя, фамилия, пол,
возраст, адрес, скидка).
6. Изменять позиции заказа покупателей.
7. Просмотр своего рейтинга.
Информационные потребности оператора:
1. Ввод данных о категориях (название категории, родительская
категория).
2. Создание справочника характеристик товаров (название, тип –
строковый, логический, числовой, перечисляемый).
3. Ввод информации о товарах (название, цена, описание) и их
характеристиках (значения конкретных характеристик).
Внутрисистемные функции:
1. Расчет стоимости заказа по его позициям.
2. Автоматический расчет скидки покупателя (от суммарной
стоимости всех его заказов).
3. Автоматический расчет рейтинга продавца (от количества
обработанных заказов).
4. Архивирование закрытых и отмененных заказов.
2. Проектирование локальной инфологической модели (с точки зрения
покупателя)
2.1. Создайте новый документ в MS Visio.
2.2. Переименуйте первую страницу документа в «Локальная модель
покупателя».
2.3. Анализ информационных потребностей покупателя позволяет
выделить следующие сущности системы – рисунок 34.
Рисунок 34 – Сущности локальной модели покупателя
2.4. Установим связи между сущностями (рисунок 35).
Рисунок 35 – Локальная модель покупателя
На рисунке 35 имя связи задается слева направо и сверху вниз. Обратим
внимание, что связь между сущностями Заказ и Товар и связь между
сущностями Товар и Характеристика имеют свои атрибуты – Количество и
Значение соответственно. У сущности Категория установлена унарная связь,
т.е. связь сущности сама с собой. Для данного случая это значит, что одна
категория может являться родителем нескольких других категорий и в то же
время у нее может быть свой родитель. Необязательность этой связи говорит
о том, что есть категории, являющиеся вершинами иерархии (у них нет
родителей) и есть категории, у которых нет дочерних категорий. Остальные
связи интуитивно понятны.
3. Проектирование локальной инфологической модели (с точки зрения
менеджера по продажам)
3.1.Создайте новую страницу в документе MS Visio и переименуйте ее в
«Локальная модель менеджера».
3.2.В соответствии с информационными потребностями менеджера по
продажам постройте локальную инфологическую модель с точки
зрения менеджера (рис. 36).
Рисунок 36 – Локальная модель менеджера по продажам
Если сравнивать локальные модели покупателя и менеджера, то заметны
следующие отличия:
 добавлена сущность Менеджер и связь между этой сущностью и
сущностью Заказ;
 в сущность Заказ добавлен атрибут Статус;
 в сущности Покупатель нет атрибутов Логин и Пароль;
 в сущность Товар добавлен атрибут Количество на складе.
4. Проектирование локальной инфологической модели (с точки зрения
оператора)
4.1.Создайте новую страницу в документе MS Visio и переименуйте ее в
«Локальная модель оператора».
4.2.В соответствии с информационными потребностями оператора
системы постройте локальную инфологическую модель оператора (рис.
37).
Рисунок 37 – Локальная модель оператора
В локальной модели оператора системы отсутствуют сущности
Покупатель, Менеджер, Заказ. В сущность Характеристика добавлен
атрибут Тип характеристики.
5. Объединение локальных моделей
5.1.Создаем новую страницу в документе MS Visio и переименовываем ее
в «Обобщенная модель».
5.2.Переносим идентичные сущности в обобщенную концептуальную
модель. При этом определяем все возможные атрибуты, указанные у
данной сущности в разных локальных моделях. Также переносим все
недостающие (неидентичные) сущности (рис. 38).
Рисунок 38 – Сущности обобщенной модели
5.3.Устанавливаем связи между сущностями по правилам локальных
моделей (рис. 39).
Рисунок 39 – Связи в обобщенной модели
5.4.В данном примере нет подобных сущностей, которые можно было бы
обобщить. Но для данной модели можно создать агрегированный
элемент Пользователь для сущностей Покупатель и Менеджер (рис.
40).
Рисунок 40 – Добавление агрегированных элементов
5.5.Сохраните документ.
6. Определение ограничений целостности
Программа MS Visio 2013 не предлагает удобных инструментов задания
внешних и специально конструируемых ограничений целостности. Можно
определить внутренние ограничения целостности. Для этого необходимо
включить функцию отображения типа данных у атрибутов сущностей. Для
этого выделите сущность и в контекстном меню поставьте галочку Показать
типы атрибутов (рис. 41).
В рамках инфологической модели мы не станем задавать ограничения
целостности данных.
Рисунок 41 – Отображение типов атрибутов
3. Индивидуальные задания (примеры)
Индивидуальное задание №1: Создайте ER-диаграмму для своего
варианта предметной области.
Вариант 1. В базе данных необходимо хранить информацию о
туристических путевках: код путевки, дата начала, дата окончания, город
назначения, страна назначения, описание страны, отель, адрес отеля, телефон
отеля, фамилия и имя туристов. За одной путевкой может быть закреплено
несколько туристов. В одном городе может быть несколько отелей.
Несколько путевок могут быть закреплены за одним отелем.
Вариант 2. В базе необходимо хранить информацию о технике, сданной
на ремонт в компьютерный сервис: серийный номер, название (модель), тип
проблемы, стоимость устранения проблемы, фамилия и имя владельца,
телефон владельца. У каждой единицы техники только один владелец, у
одного владельца может быть несколько единиц техники. У одной единицы
техники может быть несколько технических проблем, одна и та же проблема
может быть у разных единиц техники. Количество типов техники конечно.
Вариант 3. В базе необходимо хранить информацию об автомобилях:
VIN-код, модель, цвет, владелец, даты начала и окончания регистрации
автомобиля за владельцем. В базе может храниться информация о всех
моделях, при этом несколько автомобилей могут быть одной модели. У
одного автомобиля может быть несколько владельцев в разные периоды
времени. Один человек может владеть несколькими автомобилями.
Вариант 4. В базе необходимо хранить информацию об автобусных
рейсах на междугороднем автовокзале: номер маршрута, конечный пункт
назначения рейса, населенные пункты остановок автобуса, время
отправления, тип автобуса, количество мест в данном типе автобуса. По
одному маршруту организовано один или более рейсов. За каждым рейсом
закрепляется определенный тип автобуса, один тип автобуса может быть
закреплен за несколькими рейсами. Через один населённый пункт может
проходить несколько маршрутов. Каждый маршрут может проходить через
несколько населённых пунктов.
Вариант 5. В базе данных необходимо хранить информацию о
сотрудниках одного предприятия: номер личного дела, фамилия, имя,
отчество, адрес, телефон, тип образования (высшее, среднее, незаконченное
высшее, …), должность, должностная инструкция, период занятия
должности. Один тип образования может быть у нескольких сотрудников.
Один сотрудник может занимать разные должности в разные периоды
времени. На одной должности могут работать несколько сотрудников. У
каждой должности своя должностная инструкция.
Вариант 6. В базе необходимо хранить информацию об успеваемости
школьников: фамилия, имя школьника, учебные предметы, количество часов
на предметы, учебный класс, оценка, дата оценки. В одном классе учатся
несколько учеников, каждый ученик учится в одном классе. Каждый ученик
изучает несколько предметов и один предмет изучают несколько учеников. У
каждого ученика может быть несколько оценок по одному предмету в разные
даты.
Вариант 7. В базе необходимо хранить информацию о кредитах: номер
кредитного договора, дата договора, процентная ставка, сумма кредита, срок
кредита, фамилия, имя и отчество клиента, паспортные данные клиента,
фамилия, имя и отчество сотрудника банка. Один клиент может взять
несколько кредитов, но каждый кредит закреплен за одним клиентом. Один
сотрудник может оформить несколько кредитов, но каждый кредит
оформляется одним сотрудником.
Вариант 8. В базе необходимо хранить информацию о товарах на
складе: артикул товара, название товара, количество товара на складе, зоны
склада, цвет зоны, вместительность зоны. На складе может быть несколько
зон, в каждой зоне может храниться несколько товаров. Каждый товар может
храниться в одной или нескольких зонах в определенном количестве.
Вариант 9. В базе необходимо хранить информацию о пациентах
клиники: номер полиса, фамилия, имя, отчество, дата рождения, дата
посещения врача, тип специалиста (терапевт, кардиолог, …), фамилия, имя и
отчество врача. Каждый врач является врачом конкретной специализации, в
больнице может быть несколько врачей одной специализации. Клиент может
посещать разных врачей и одного и того же врача по нескольку раз.
Вариант 10. В базе необходимо хранить информацию о перевозках:
номер перевозки, дата перевозки, пункт назначения, номер транспортного
средства, тип транспорта, вместительность определенного типа транспорта,
артикул товара, название товара, количество товара. У каждой перевозки
только один пункт назначения и один тип транспорта. На перевозках
работают несколько типов транспорта. Один тип транспорта может быть
назначен нескольким перевозкам. В каждой перевозке может перевозиться
несколько товаров в разном количестве. Один и тот же товар может
перевозиться в разных перевозках.
Вариант 11. В базе необходимо хранить информацию о медицинских
анализах: тип анализа, срок выполнения данного типа анализа, способ забора,
наименование показателя, единица измерения, значение нормы для
показателя. Каждому типу анализа соответствует один способ забора, с
помощью одного способа забора можно получить разные типы анализов.
Одному типу анализа соответствует один или несколько показателей. Один
показатель может измеряться в различных типах анализа.
Вариант 12. В базе необходимо хранить информацию об опросах
клиентов: фамилия, имя и отчество клиента, дата проведения опроса,
название опроса, описание опроса, вопросы, ответы. В одном опросе может
быть несколько вопросов. Один и тот же опрос проводят среди нескольких
клиентов, и один клиент может участвовать в нескольких опросах.
Вариант 13. В базе необходимо хранить информацию о заявках службы
технической поддержки: тип заявки (инцидент, консультация, …), описание
проблемы, дата заявки, фамилия и имя сотрудника, исполнитель заявки.
Один сотрудник может подать несколько заявок. Один исполнитель может
выполнять несколько заявок. Одной заявки соответствует один конкретный
тип заявки.
Вариант 14. В базе необходимо хранить информацию о заработной
плате сотрудников предприятия: фамилия, имя, отчество сотрудника,
должность, оклад для должности, количество отработанных дней в месяце,
премия в месяце, сумма зарплаты. Сотрудникам зарплата начисляется
ежемесячно. На одной должности может работать несколько сотрудников,
один сотрудник занимает только одну должность.
Вариант 15. В базе необходимо хранить информацию о программе
телепередач на день: канал, название передачи, время передачи, тип передачи
(фильм, сериал, спорт, …). Одна передача может идти на нескольких
каналах. Каждая передача относится к одному типу, одному типу может
соответствовать несколько передач.
Вариант 16. В базе необходимо хранить информацию о
достопримечательностях города: название места, адрес места, время работы,
тип достопримечательности (музей, парк, памятник, …), экскурсия. Каждое
место соответствует одному типу, а одному типу могут соответствовать
несколько мест. В план одной экскурсии может входить посещение одного
или нескольких мест. Одни и те же места можно посетить в нескольких
экскурсиях.
Вариант 17. В базе необходимо хранить информацию о
производственном плане: производимые продукты, прибыль от продажи
одной единицы данного продукта, количество производимой продукции в
день в цехе, дата, номер цеха, название цеха. В одном цехе может
производиться только один тип продукции, один тип продукции может
производиться в нескольких цехах.
Вариант 18. В базе необходимо хранить информацию о заказах
клиентов: код заказа, дата заказа, фамилия, имя клиента, артикул товара,
название товара, количество заказанного товара. Один клиент может сделать
несколько заказов. Каждый заказ принадлежит одному клиенту. В одном
заказе может быть заказано один или несколько товаров. Один и тот же товар
может быть заказан в разных заказах.
Индивидуальное задание №2: Проанализируйте предметную область,
выделите категории пользователей (минимум две) и их информационные
потребности, разработайте локальные представления этих пользователей,
создайте обобщенную концептуальную модель для своего варианта
предметной области.
Вариант 1. Предметная область: процесс выбора, бронирования,
сопровождения туристических туров.
Вариант 2. Предметная область: учет оказания услуг по ремонту
компьютерной техники.
Вариант 3. Предметная область: учет оказания услуг автосервиса.
Вариант 4. Предметная область: процесс организации продаж билетов
на автовокзале.
Вариант 5. Предметная область: учет начисления заработной платы
сотрудникам предприятия.
Вариант 6. Предметная область: учет посещаемости и успеваемости
школьников.
Вариант 7. Предметная область: оформление потребительских
кредитов.
Вариант 8. Предметная область: планирование поставок материальных
ресурсов.
Вариант 9. Предметная область: учет пациентов клиники.
Вариант 10. Предметная область: процесс организации перевозок.
Вариант 11. Предметная область: учет товаров на складе.
Вариант 12. Предметная область: учет медицинских анализов.
Вариант 13. Предметная область: учет заявок для отдела технической
поддержки.
Вариант 14. Предметная область: организация маркетинговых опросов
клиентов компании.
Вариант 15. Предметная область: процесс поиска и выдачи/приема книг
в библиотеке.
Вариант 16. Предметная область: процесс бронирования и продажи
железнодорожных билет.
Вариант 17. Предметная область: процесс формирования и организации
экскурсий.
Вариант 18. Предметная область: процесс бронирования и продажи
билетов в кинотеатре.
4. Тесты (примеры)
Тест №1 – Теоретические основы баз данных
Вариант 1
1) Выделенный фрагмент таблицы является
A).
Атрибутом
B). Отношением
C). Значением атрибутов
D).
Схемой отношения
E). Кортежем
2) Выделенные фрагменты таблицы являются
A).
Атрибутами
B). Отношениями
C). Записями
D).
Значениями атрибутов
E). Схемой отношения
F). Кортежем
3) Число атрибутов в отношении называется:
A).
Степенью
B). Мощностью
C). Схемой отношения
D).
Кортежем
4) Первичный ключ
A).
Атрибут (набор атрибутов) однозначно идентифицирующий
каждый из его кортежей
B). Совокупность уникальных кортежей
C). Любое уникальное поле таблицы
D).
Поле, которое используется для организации поиска данных
5) Первичным ключом данного отношения будет
A).
Табельный_№
B). Фамилия
C). Имя
D).
Отчества
E). Группа
F). Фамилия Имя Отчество
G).
Фотография
6) Таблицу можно считать отношением, если (выберите ЛИШНЕЕ):
A).
не существует столбцов с одинаковыми именами
B). все столбцы имеют одинаковую структуру
C). все строки таблицы уникальны
D).
таблицы должны быть отсортированы по ключевому полю
E). нет неверных высказываний
7) Описание структуры базы данных называется:
A).
Структурой
B). Описанием
C). Методанными
D).
Суперданными
E). Нет правильных ответов
8) Последовательность действий над базой данной, в которой либо все
действия выполняются успешно, либо не выполняется ни одно из них,
называется
A).
Последовательность
B). Транзакция
C). Операция
D).
Протокол
E). Нет верных определений
Вариант 2
1) Выделенный фрагмент таблицы является
A).
Атрибутом
B). Отношением
C). Записью
D).
Значением атрибутов
E). Схемой отношения
F). Кортежем
2) Выделенный фрагмент таблицы является
A).
Атрибутом
B). Отношением
C). Записью
D).
Значениями атрибута
E). Схемой отношения
F). Кортежем
3) Текущее число кортежей называется:
A).
Степенью
B). Мощностью
C). Схемой отношения
D).
Кортежем
4) Первичный ключ должен обладать следующими свойствами
(выберите НЕВЕРНЫЙ ответ)
A).
Компактный
B). Существует для любого отношения
C). Содержит неопределенные отношения только в исключительных
случаях
D).
Имеет уникальное значение
5) Таблицу можно считать отношением, если (выберите ЛИШНЕЕ):
F). не существует столбцов с одинаковыми именами
G).
все столбцы имеют одинаковую структуру
H).
все строки таблицы уникальны
I). таблицы должны быть отсортированы по ключевому полю
J). нет неверных высказываний
6) Несуществующая архитектура многопользовательского приложения
баз данных
A).
Архитектура «клиент-сервер»
B). Архитектура «заказчик-исполнитель»
C). Архитектура «файл-сервер»
D).
Архитектура «активный сервер баз данных»
7) Что такое транзакция в теории БД (выберите один наиболее
подходящий и полный ответ)?
A).
Любое действие над базой данных
B). Любое действие на физическом уровне над хранимыми данными
C). Некоторое действие над базой данных, которое можно откатить в
случае возникновения ошибки
D).
Некоторое действие над базой данных, которое переводит БД из
одного непротиворечивого состояния в другое
E). Любое атомарное действие над хранимыми данными в БД
8) Множество допустимых значений определенного поля
A).
Таблица
B). Домен
C). Кортеж
D).
Триггер
E). Ограничение
Тест №2 Проектирование баз данных
1) Первичный ключ
E). Атрибут (набор атрибутов) однозначно идентифицирующий каждый из
его кортежей
верно
F). Совокупность уникальных кортежей
неверно
G).
Любое уникальное поле таблицы
неверно
H).
Поле, которое используется для организации поиска данных
неверно
2) Первичный ключ должен обладать следующими свойствами
(выберите НЕВЕРНЫЙ ответ)
E). Компактный
неверно
F). Существует для любого отношения
неверно
G).
Содержит неопределенные отношения только в исключительных
случаях
верно
H).
Имеет уникальное значение
неверно
3) Первичным ключом данного отношения будет
H).
Табельный_№
верно
I). Фамилия
неверно
J). Имя
неверно
K).
Отчества
неверно
L). Группа
неверно
M).
Фамилия Имя Отчество
неверно
N).
Фотография
неверно
4) Таблицу можно считать отношением, если (выберите ЛИШНЕЕ):
K).
не существует столбцов с одинаковыми именами
неверно
L). все столбцы имеют одинаковую структуру
неверно
M).
все строки таблицы уникальны
неверно
N).
таблицы должны быть отсортированы по ключевому полю верно
O).
нет неверных высказываний
неверно
5) Отношение называется универсальным (выберите верный вариант),
если
A).
включает сведения обо всех объектах, которые входят в базу
верно
B). если исключается дублирование информации
неверно
C). все значения полей являются атомарными
неверно
D).
может быть использовано в любой СУБД
неверно
6) Простая структура, организация данных в таблицы, использование
формальной алгебры отношений – все это характеризует
A).
иерархическую модель данных
неверно
B). сетевую модель данных
неверно
C). реляционную модель данных
верно
D).
структурную модель данных
неверно
7) Связь между таблицами Поставщик и Товары будет организована по
полям:
Таб_1. Поставщик
Таб_2. Товары
A).
Код_поставщика – Код_товара
B). Код_поставщика – Наименование товара
C). Код_товара – Наименование поставщика
D).
Через таблицу Поставки
неверно
неверно
неверно
верно
8) Тип связи между таблицами Поставщик и Поставки:
Таб_1. Поставщик
Таб_2. Поставки
A).
1:1
неверно
B). 1 : Многие
верно
C). Многие : 1
неверно
D).
Многие : Многие неверно
9) Тип связи между таблицами Кафедра и Информация по полю Зав.
кафедр:
Таб_1. Кафедра
Таб_2. Информация по зав. кафедр
A).
1:1
верно
B). 1 : Многие
неверно
C). Многие : 1
неверно
D).
Многие : Многие неверно
10) НФБК представляет собой расширенную
A).
первую нормальную форму;
неверно
B). вторую нормальную форму;
неверно
C). третью нормальную форму;
верно
D).
четвертую нормальную форму;
неверно
E). пятую нормальную форму.
неверно
11) Сколько необходимо отношений для связи 1:1
A).
Одно
неверно
B). Два
неверно
C). два либо три
неверно
D).
Три
неверно
E). Одно, два или три
верно
12) Сколько необходимо отношений для связи 1:М
A).
одно
неверно
B). Два
неверно
C). два либо три
верно
D).
Три
неверно
13) Сколько необходимо отношений для связи М:N
A).
Одно
неверно
B). Два
неверно
C). два либо три
неверно
D).
Три
верно
14) Что из перечисленного является СУБД
A).
FireBird
верно
B). MS SQL Server верно
C). Delphi
неверно
D).
MSExcel
неверно
E). ORACLE
верно
15) На диаграмме «сущность-связь» по П. Чену связь изображается в
виде
A).
Прямоугольника
неверно
B). Линии
неверно
C). Ромба
верно
D).
Овала
неверно
E). Не изображается
неверно
16) На ER-диаграмме сущность изображается в виде
A).
Прямоугольника
верно
B). Линии
неверно
C). Ромба
неверно
D).
Овала
неверно
E). Не изображается
неверно
17) На ER-диаграмме кортеж изображается
A).
Прямоугольника
неверно
B). Линии
неверно
C). Ромба
неверно
D).
Овала
неверно
E). Не изображается
верно
18) Реальный или представляемый объект, информация о котором
должна сохранится в базе данных
A).
Атрибут
неверно
B). Сущность
верно
C). Связь
неверно
D).
Домен
неверно
E). Кортеж
неверно
19) Разбиение одной таблицы на две или более других, обладающих
лучшими свойствами при вставке, изменении и удалении данных
A).
Моделирование
неверно
B). Декомпозиция
верно
C). Целостность
неверно
D).
Администрирование неверно
E). Стандартизация
неверно
20) Какая база данных состоит из взаимосвязанного набора таблиц
A).
Сетевая
неверно
B). Иерархическая
неверно
C). Реляционная
верно
D).
Объектная
неверно
E). Нет правильных ответов
неверно
21) Описание структуры базы данных называется:
F). Структурой
неверно
G).
Описанием
неверно
H).
Методанными
верно
I). Суперданными
неверно
J). Нет правильных ответов
неверно
22) Множество допустимых значений определенного поля
F). Таблица
неверно
G).
Домен
верно
H).
Кортеж
неверно
I). Триггер
неверно
J). Ограничение
неверно
23) Существующие стратегии разработки баз данных:
A).
Сверху вниз
верно
B). Слева направо
неверно
C). Справа налево
неверно
D).
Снизу вверх
верно
24) Самый распространенный тип связи
A).
Один к одному
неверно
B). Все к одному
неверно
C). Один ко многим
верно
D).
Многие ко многим
неверно
E). Рекурсивная
неверно
25) Один или несколько атрибутов, которые уникальным образом
идентифицируют строки таблицы
A).
Ключ
верно
B). Замок
неверно
C). Метка
неверно
D).
Индекс
неверно
E). Нет правильных ответов
неверно
26) Нормальная форма, в которой находится отношение, если оно
находится в 1НФ и все его неключевые атрибуты зависят от всего
ключа:
A).
1НФ
неверно
B). 2 НФ
верно
C). 3 НФ
неверно
D).
НФ Бойса-Кода
неверно
E). Нет правильных ответов
неверно
27) В какой нормальной форме находится таблица, удовлетворяющая
определению отношения
A).
1НФ
верно
B). 2 НФ
неверно
C). 3 НФ
неверно
D).
НФ Бойса-Кода
неверно
E). Нет правильных ответов
неверно
28) Нормальная форма, в которой находится отношение, если оно
находится во 2 НФ и не содержит транзитивных зависимостей
A).
1НФ
неверно
B). 2 НФ
неверно
C). 3 НФ
верно
D).
НФ Бойса-Кода
неверно
E). Нет правильных ответов
неверно
29) Кортежем реляционной базы данных является:
A).
корень дерева;
неверно
B). столбец таблицы;
неверно
C). строка таблицы;
верно
D).
ветви дерева;
неверно
E). дерево.
Неверно
30) Первичный ключ в реляционной базе данных служитдля:
A).
организации новой структуры данных;
неверно
B). указания типа поля;
неверно
C). связи между различными структурами данных;
неверно
D).
связи между различными таблицами вреляционной базе данных;
неверно
E). однозначного выделения записи в базе данных.
верно
31). БД содержит информацию об учениках компьютернойшколы: имя,
номер группы, балл за тест, балл зазадание, общее количество баллов.
Какого типадолжно быть поле ОБЩЕЕ КОЛИЧЕСТВО БАЛЛОВ?
A).
символьного;
неверно
B). логического;
неверно
C). числового;
верно
D).
любого типа;
неверно
E). числового или логического. неверно
32). БД содержит информацию о собаках из клуба собаководства:
кличка, порода, дата рождения, пол, количество медалей за участие в
выставках. Какие типы должны иметь поля?
A).
текстовое, текстовое, числовое, текстовое, числовое;
неверно
B). текстовое, текстовое, дата, текстовое, числовое;
верно
C). текстовое, текстовое, дата, числовое, числовое;
неверно
D).
текстовое, текстовое, числовое, логическое,числовое;
неверно
33) Система управления базами данных — это:
A).
программная система,
поддерживающая
наполнение и
манипулирование данными в файлах баз данных;
верно
B). набор программ, обеспечивающий работу всех аппаратных устройств
компьютера и доступ пользователя к ним;
неверно
C). прикладная программа для обработки текстов и различных документов;
неверно
D).
оболочка операционной системы, позволяющая более комфортно
работать с файлами.
Неверно
34). Неполная функциональная зависимость – это зависимость
A).
от части внешних ключей
неверно
B). от части альтернативного ключа
неверно
C). от части первичного ключа
верно
D).
от части внешнего ключа
неверно
35). Отношение в 2НФ может иметь
A).
составные или многозначные атрибуты
неверно
B). простые однозначные атрибуты
верно
C). зависимостинеключевых атрибутов не только от ключей верно
36). Нормальные формы вложены в порядке
A). 1НФ, 2НФ, НФБК, 3НФ
неверно
B). НФБК, 1НФ, 2НФ, 3НФ
неверно
C). 1НФ, НФБК, 2НФ, 3НФ
неверно
D). 1НФ, 2НФ, 3НФ, НФБК
верно
37) Что такое ER-диаграмма?
A).
Диаграмма сущностей и связей
B). Диаграмма ошибок
C). Диаграмма производительности БД
D).
Диаграмма потоков данных
верно
неверно
неверно
неверно
38) Анализ предметной области и построение ее концептуального
представления является задачей
A).
инфологического проектирования
верно
B). даталогического проектирования
неверно
C). физического проектирования
неверно
39) представление модели в терминах выбранной СУБД является
задачей
A).
инфологического проектирования
неверно
B). даталогического проектирования
верно
C). физического проектирования
неверно
40) Определение структуры хранения данных является задачей
A).
инфологического проектирования
неверно
B). даталогического проектирования
неверно
C). физического проектирования
верно
41) Любой различимый объект, информацию о котором необходимо
хранить в базе данных, - это…
A).
связь
неверно
B). сущность
верно
C). домен
неверно
D).
кортеж
неверно
E). атрибут
неверно
F). ключ
неверно
42) Поименованная характеристика сущности- это…
A).
связь
неверно
B). сущность
неверно
C). домен
неверно
D).
кортеж
неверно
E). атрибут
верно
F). ключ
неверно
43) Минимальный набор атрибутов, по значениям которых можно
однозначно найти требуемый экземпляр сущности, - это…
A).
связь
неверно
B). сущность
неверно
C). домен
неверно
D).
кортеж
неверно
E). атрибут
неверно
F). ключ
верно
44) ассоциирование двух или более сущностей - это…
A).
связь
верно
B). сущность
неверно
C). домен
неверно
D).
кортеж
неверно
E). атрибут
неверно
F). ключ
неверно
45) Связь между двумя сущностями называется..
A).
унарной
неверно
B). бинарной
верно
C). простой
неверно
D).
обязательной
E). необязательной
неверно
неверно
46) Связь сущности самой с собой называется..
A).
унарной
верно
B). бинарной
неверно
C). простой
неверно
D).
обязательной
неверно
E). необязательной
неверно
47) На рисунке изображена связь
A).
один-к-одному
B). один-ко-многим
C). многие-ко-многим
верно
неверно
неверно
48) На рисунке изображена связь
A).
один-к-одному
B). один-ко-многим
C). многие-ко-многим
верно
неверно
неверно
49) На рисунке изображена связь
A).
один-к-одному
B). один-ко-многим
C). многие-ко-многим
неверно
верно
неверно
50) На рисунке изображена связь
A).
один-к-одному
B). один-ко-многим
C). многие-ко-многим
неверно
верно
неверно
51) На рисунке изображена связь
A).
один-к-одному
B). один-ко-многим
C). многие-ко-многим
неверно
верно
неверно
52) На рисунке изображена связь
A).
один-к-одному
B). один-ко-многим
C). многие-ко-многим
неверно
неверно
верно
53) На рисунке изображена связь
A).
один-к-одному
B). один-ко-многим
C). многие-ко-многим
неверно
неверно
верно
54) На рисунке у сущности Заказ класс принадлежности является
A).
обязательной
B). необязательный
неверно
верно
55) На рисунке у сущности Товар класс принадлежности является
A).
обязательной
B). необязательный
верно
неверно
56) На рисунке у сущности Товар класс принадлежности является
A).
обязательной
B). необязательный
верно
неверно
57) На рисунке у сущности Склад класс принадлежности является
A).
обязательной
B). необязательный
верно
неверно
58) На рисунке у сущности Заказ класс принадлежности является
A).
обязательной
B). необязательный
верно
неверно
59) На рисунке у сущности Продавец класс принадлежности является
A).
обязательной
B). необязательный
неверно
верно
60) На рисунке у сущности Товар класс принадлежности является
A).
обязательной
B). необязательный
неверно
верно
61) На рисунке у сущности Товар класс принадлежности является
A).
обязательной
B). необязательный
верно
неверно
62) На рисунке у сущности Скидка класс принадлежности является
A).
обязательной
B). необязательный
неверно
верно
63) На рисунке у сущности Учетная запись класс принадлежности
является
A).
обязательной
B). необязательный
верно
неверно
64) Ограничения, накладываемые предметной областью, являются…
A).
внешними
верно
B). внутренними
неверно
65) Ограничения, накладываемые организацией данных в СУБД,
являются…
A).
внешними
неверно
B). внутренними
верно
66) Определение первичных ключей относится к…
A).
соответствию по типам
неверно
B). ссылочной целостности
неверно
C). целостности отношений
верно
67) Определение внешних ключей относится к…
A).
соответствию по типам
неверно
B). ссылочной целостности
верно
C). целостности отношений
неверно
68) Процесс превращения объектов инфологической модели (сущности и
связи) в логические таблицы базы данных называется
A).
определением целостности данных
неверно
B). нормализацией отношений
верно
C). типизацией отношений
неверно
69) В какой нормальной форме находится это отношение
Код_товара Название Цена Склад Адрес
Количество
1
Телевизор
20000
1
Ленина,13
34
1
Телевизор
20000
2
Гагарина,85
33
1
Телевизор
20000
3
Советская,
44
23
2
Пылесос
7000
1
Ленина,13
1
2
Пылесос
7000
3
Советская,
44
12
3
Ноутбук
30000
2
Гагарина,85
24
3
Ноутбук
30000
3
Советская,
44
22
A).
1НФ
верно
B). 2НФ
неверно
C). 3НФ
неверно
D).
НФБК
неверно
70) В какой нормальной форме находится это отношение
Код_товара Название
Цена Категория
Наценка
1
Телевизор
20000
Телевизоры
40
2
3D телевизор
30000
Телевизоры
40
3
Миксер
4000
Техника
для дома
20
4
Блендер
3000
Техника
для дома
20
5
Фотоаппарат
18000
Фото и
видео
50
6
Видеокамера
25000
Фото и
видео
50
7
Фотопринтер
10000
Фото и
50
видео
A).
1НФ
неверно
B). 2НФ
верно
C). 3НФ
неверно
D).
НФБК
неверно
71) Если степень бинарной связи 1:1 и класс принадлежности обеих
сущностей является обязательным, то требуется построение
A).
1
верно
B). 2
неверно
C). 3
неверно
D).
4
неверно
72) Если степень бинарной связи 1:1 и класс принадлежности одной
сущности является обязательным, а другой сущности - не обязательным,
то требуется построение
A).
1
неверно
B). 2
верно
C). 3
неверно
D).
4
неверно
73) Если степень бинарной связи 1:1 и класс принадлежности обеих
сущностей не является обязательным, то требуется построение
A).
1
неверно
B). 2
неверно
C). 3
верно
D).
4
неверно
74) Если степень бинарной связи 1:N, и класс принадлежности n-связной
сущности является обязательным, то достаточно построить
A).
1
неверно
B). 2
верно
C). 3
неверно
D).
4
неверно
75) Если степень бинарной связи 1:N и класс принадлежности n-связной
сущности не является обязательным, то необходимо построить
A).
1
неверно
B). 2
неверно
C). 3
верно
D).
4
неверно
76) Если степень бинарной связи M:N, то необходимо построить
A).
B). 2
C). 3
D).
1
4
неверно
неверно
верно
неверно
77) Если связь является трехсторонней, необходимо построить
A).
1
неверно
B). 2
неверно
C). 3
неверно
D).
4
верно
5. Интерактивные занятия
Регламент деловой игры
«Я знаю SQL»
игра в формате Code Retreat
Цель
игры:
Сформировать
производственно-технологические,
организационно-управленческие и инновационные компетенции студентов
на основе создания условий, приближенные к условиям реализации проектов
в области создания web-сайтов в небольших компаниях.
Задачи игры:
1. Научить студентов выполнять основные этапы по разработке
сайтов в соответствии с требованиями заказчика.
2. Развить навыки организации работы в команде из 2-3 человек в
соответствие с регламентом работы.
3. Развить инновационные компетенции студентов в ходе внесения
предложений по определению функционала сайта.
4. Сформировать интерес к процессу обучения за счет решения
практических общественно-значимых задач в рамках создания
web-сайтов для некоммерческих организаций и объединений.
Количество участников: 20 человек+1 преподаватель
План работы:
Этапы игры
Время
Организационный момент
10 мин
Деление на пары
5 мин
Постановка задачи
5 мин
Решение задачи
30 мин
Подведение итогов первого этапа, удаление решенных задач
5 мин
Перерыв
5 мин
Деление на пары
5 мин
Добавление ограничений на способы решения задачи
5 мин
Решение задачи
30 мин
Подведение итогов второго этапа, удаление решенных задач
5 мин
Перерыв
5 мин
Деление на пары
5 мин
Добавление ограничений на способы решения задачи
5 мин
Решение задачи
30 мин
Подведение итогов третьего этапа, удаление решенных задач
5 мин
Подведение итогов игры
5 мин
Итого:
160 мин
Задания
Создайте базу данных orders и выполните запросы представленные ниже
CREATE TABLE `user` (
id_user int(11) PRIMARY KEY,
fname varchar(30) NOT NULL,
lname varchar(30) NOT NULL,
gender char(1) NOT NULL
)
CREATE TABLE `order` (
id_order int(11) PRIMARY KEY,
id_user int(11),
cost float,
o_date date NOT NULL,
status varchar(20),
FOREIGN KEY (id_user) REFERENCES user(id_user) ON DELETE
CASCADE ON UPDATE CASCADE
)
CREATE TABLE `order_history`(
id_order int(11) PRIMARY KEY,
id_user int(11),
cost float,
o_date date
)
INSERT INTO `user`
VALUES (1,'Иван','Иванов','м'),
(2,'Анна','Фролова','ж'),
(3,'Ирина','Ефремова','ж'),
(4,'Олег','Петров','м'),
(5,'Ольга','Степанова','ж'),
(6,'Андрей','Игнатьев','м'),
(7,'Петр','Фомин','м')
INSERT INTO `order`
VALUES (1,1,45000,'2014/01/30','выполнен'),
(2,2,5500,'2014/01/25','выполнен'),
(3,7,155000,'2014/02/05','выполнен'),
(4,3,60000,'2014/02/05','выполнен'),
(5,2,45000,'2014/02/07','выполнен'),
(6,1,4560,'2014/02/07','выполнен'),
(7,5,33300,'2014/02/09','выполнен'),
(8,4,45120,'2014/02/10','выполнен'),
(9,6,8000,'2014/02/11','выполнен'),
(10,6,78000,'2014/02/15','выполнен'),
(11,1,45061,'2014/02/16','в обработке'),
(12,5,15007,'2014/02/16','в обработке'),
(13,4,45123,'2014/02/17','в обработке'),
(14,6,1302,'2014/02/18','в обработке'),
(15,6,56996,'2014/02/25','в обработке'),
(16,4,33420,'2014/02/26','выполнен'),
(17,2,2395,'2014/03/01','в обработке'),
(18,6,5090,'2014/03/05','выполнен'),
(19,4,67129,'2014/03/17','в обработке'),
(21,7,7994,'2014/03/25','в обработке')
INSERT INTO `order_history`
SELECT `id_order`, `id_user`, `cost`,`o_date` FROM `order`
WHERE `status`='выполнен'
DELETE FROM `order` WHERE `status`='выполнен'
Постановка задачи 1: Реализовать веб-приложение, которое бы выводила
список пользователей (id, имя и фамилию) и данных об их заказах (общая
сумма всех заказов, дата последнего заказа), осуществлявших заказ в
указанный период.
Пример формы для ввода дат:
Форма вывода результатов (для дат с 1.02.2014 по 28.02.2014):
Постановка задачи 2: Реализовать веб-приложение, которое бы выводила
список пользователей (id, имя и фамилию) и данных об их заказах (общая
сумма всех заказов, дата последнего заказа), осуществлявших заказ в
указанный период. Реализовать все только через одно обращение к базе
данных (за один запрос – используя только одну команду mysql_query).
Постановка задачи 3: Реализовать веб-приложение, которое бы выводила
список пользователей (id, имя и фамилию) и данных об их заказах (общая
сумма всех заказов, дата последнего заказа), осуществлявших заказ в
указанный период. Реализовать все только через одно обращение к базе
данных (за один запрос – используя только одну команду mysql_query). В
коде программы не должно быть условных операторов, вся информация
должна формироваться в теле запроса. К стоимости добавить вывод
денежных единиц (например, 456 рублей, 8901 рубль)
V УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ
ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
Рекомендуемый список литературы
Основная литература
1. Дейт, К. Дж. Введение в системы баз данных.– 8-е изд. – М.:
Вильямс, 2006. – 1328 с.
2. Кузин, А. В. Базы данных: учеб. пособие для студ. вузов / А. В.
Кузин, С. В. Левонисова. - 5-е изд., испр. – М. : Академия, 2012. – 315 с.
3. Кузнецов, С. Д. Базы данных. Модели и языки: учеб. пособие для
студ. вузов / С. Д. Кузнецов. – М. : Бином, 2008. – 720 с.
4. Кузовкин А.В. Управление данными: учебник для студ. высших
учеб. заведений / А.В. Кузовкин, А.А. Цыганов, Б.А. Щукин. – М.:
Издательский центр «Академия», 2010. – 256 с.
5. Сайт MySQL (документация на русском языке). – Режим доступа:
http://www.mysql.ru/.
6. Туманов, В.Е. Основы проектирования реляционных баз данных:
учебное пособие. – ИНТУИТ; БИНОМ. Лаборатория знаний, 2011. – 424 с.
7. Шварц Б. MySQL. Оптимизация производительности, 2-е издание /
Б. Шварц, П.Зайцев, В. Ткаченко, Дж. Заводны, А. Ленц, Д. Бэллинг. – Пер. с
англ. – СПб.: Символ-Плюс, 2010 – 832 с.
8. Упражнения по SQL: обучение, тестирование, сертификация по
языку SQL. - Режим доступа: http://www.sql-ex.ru/
Дополнительная литература
1. Кузнецов С. Базы данных. Вводный курс // CITForum.ru. – Режим
доступа: http://citforum.ru/database/advanced_intro/.
2. Лекции Технопарка. 2 семестр. Базы данных // Блог компании
Mail.ru
Group
на
сайте
Хабрахабр.
–
Режим
доступа:
http://habrahabr.ru/company/mailru/blog/254073/.
3. Моисенко С. SQL Задачи и решения // Интерактивный учебник по
SQL. - Режим доступа: http://www.sql-tutorial.ru/
4.
5.
Сайт NoSQL.– Режим доступа: http://nosql-database.org/.
Швецов В.И. Базы данных: учебное пособие. – ННГУ, 2008. – 337 с.
VI МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ
Лекционные аудитории: демонстрационный экран, мультимедийный
видеопроектор, рабочая станция преподавателя.
Компьютерные
комплектом
лаборатории:
лицензионного
персональные
программного
компьютеры
обеспечения
с
(операционная
система, текстовые процессоры, браузеры, локальный сервер с встроенным
сервером MySQL, например OpenServer, интерфейс phpMyAdmin, программа
MySQL WorkBench, программа MS Visio), объединенные в локальную сеть с
выходом
в
Интернет;
демонстрационный
экран,
видеопроектор; персональный компьютер преподавателя.
мультимедийный