Syllabus Базы данных (рус) 2015

advertisement
Syllabus
1. Описание курса
a. Название: Базы данных
b. Предшествующие дисциплины: Программирование, Дискретная
математика, Введение в программную инженерию, Алгоритмы и структуры
данных.
c. Тип курса: Обязательный
d. Аннотация
2. Цели обучения



формирование у студентов профессиональных компетенций, связанных с
использованием классических и современных подходов к моделированию данных,
методов управления данными и их реализации в программных продуктах;
развитие умений, основанных на полученных теоретических знаниях, позволяющих
анализировать, моделировать и проектировать базы данных и разрабатывать
программных приложений, использующих базы данных;
получение студентами навыков исследовательской работы, предполагающей
самостоятельное изучение специфических инструментов и средств, необходимых
для решения конкретной проблемы управления данными, которая в качестве задачи
поставлена перед ним.
3. Формируемые компетенции
В результате освоения дисциплины студент должен
Знать:
 основы теории организации и применения баз данных;
 место и роль баз данных в информационных системах, основы организации
промышленных систем управления базами данных;
 современное состояние и тенденции развития систем управления базами
данных.
 уровни представления данных, основные модели данных, методы
организации, поиска и обработки данных;
 операции реляционной алгебры;
 нормальные формы схем отношений;
 типы целостности данных, методы обеспечения целостности данных;
 языки запросов, их классификацию и области применения;
 язык запросов SQL в части средств описания данных и манипулирования
данными;
 операторы выборки, добавления, модификации и удаления данных языка
запросов SQL;
 способы обеспечения независимости и защиты данных с использованием
представлений и хранимых процедур;
 способы применения триггеров для обеспечения целостности данных и для
реализации бизнес-логики;

способы обеспечения безопасности в современных системах управления
базами данных, принципы управления доступом к базе данных и аудита
обращений к базе данных;
 способы хранения записей и отношений;
 способы индексирования, типы индексов, свойства данных, влияющие на
эффективность индексирования;
 способы ввода данных в базу данных;
 способы доступа к данным из прикладных программ;
 способы обеспечения многопользовательского конкурентного доступа к
базам данных; транзакции и их свойства; локальные и распределенные
транзакции;
 основные свойства объектно-ориентированных баз данных;
 средства объектно-реляционного отображения.
Уметь :
 разрабатывать схемы баз данных;
 выполнять инфологическое проектирование баз данных методом
«сущность-связь»;
 выполнять логическое проектирование реляционных баз данных;
 выполнять нормализацию схем отношений реляционных баз данных;
 создавать и удалять базы данных, управлять их размером;
 создавать, модифицировать и удалять таблицы баз данных;
 применять ограничения целостности;
 выбирать типы индексов, создавать и настраивать индексы;
 формулировать запросы на выборку, добавление, модификацию и удаление
данных на языке SQL;
 создавать, модифицировать и удалять представления;
 создавать, запускать, модифицировать и удалять хранимые процедуры;
 создавать, модифицировать и удалять триггеры;
 использовать транзакции;
 получать доступ к данным с помощью курсоров;
 разрабатывать приложения баз данных.
Иметь навыки (приобрести опыт):
 в применении методов описания схем баз данных в современных СУБД;
 в инфологическом проектировании баз данных методом «сущность-связь»;
 в нормализации схем отношений реляционных баз данных;
 в разработке приложений баз данных, выполняющихся на компьютере
пользователя;
 в разработке приложений баз данных с веб-интерфейсом;
 в применении средств объектно-реляционного отображения.
В результате освоения дисциплины студент осваивает следующие компетенции:
Компетенция
Код
Описание
Профессиональная,
инструментальная,
в научноисследовательской
деятельности
ПК-1
Профессиональная,
инструментальная,
в научноисследовательской
ПК-2
Способен применять основные
концепции, принципы, теории и
факты, связанные с
информатикой при решении
научно-исследовательских задач;
Способен к формализации в
своей предметной области с
учетом ограничений
используемых методов
Образовательные
технологии
Лекции,
Написание эссе,
Домашние работы,
Самостоятельная работа
Лекции,
Практические занятия,
Домашние работы
Компетенция
Код
деятельности
Профессиональная,
инструментальная,
в научноисследовательской
деятельности
Профессиональная,
инструментальная,
в аналитической
деятельности
ПК-3
Профессиональная,
инструментальная,
в проектной деятельности
ПК-10
Профессиональная,
инструментальная,
в проектной деятельности
ПК-11
Профессиональная,
инструментальная,
в проектной деятельности
ПК-12
Профессиональная,
инструментальная,
в технологической
деятельности
ПК-15
Профессиональная,
инструментальная,
в технологической
деятельности
ПК-16
Профессиональная,
инструментальная,
в производственной
деятельности
ПК-17
Профессиональная,
инструментальная,
в производственной
деятельности
ПК-19
ПК-6
Описание
Образовательные
технологии
исследования
Способен использовать методы и
инструментальные средства
исследования объектов
профессиональной деятельности
Лекции,
Практические занятия
Домашние работы
Способен формализовать
предметную область
программного проекта и
разработать спецификации для
компонентов программного
продукта
Способен проектировать,
конструировать и тестировать
программные продукты
Способен читать, понимать и
выделять главную идею
прочитанного исходного кода,
документации
Способен моделировать,
анализировать и использовать
формальные методы
конструирования программного
обеспечения
Способен использовать
операционные системы,
сетевые технологии, средства
разработки программного
интерфейса, применять языки и
методы формальных
спецификаций, системы
управления базами данных
Способен использовать
различные технологии
разработки программного
обеспечения
Способен применять основные
методы и инструменты
разработки программного
обеспечения
Способен понимать стандарты
и модели жизненного цикла
Лекции,
Практические занятия,
Домашние работы
Лекции,
Практические занятия,
Домашние работы
Практические занятия,
Рассмотрения примеров из
практики
Лекции,
Практические занятия,
Домашние работы
Лекции,
Практические занятия,
Домашние работы
Лекции,
Практические занятия,
Домашние работы
Лекции,
Практические занятия,
Домашние работы
Лекции,
Практические занятия,
Домашние работы
4. План
№
Тема
Всего,
ч.
Аудиторных часов
Самостоя
Лекц Семи Практиче тельная
работа
ии
нары
ские
занятия
Модуль #3, 3й год
Введение
Моделирование данных
Реляционная модель
Реляционные языки запросов
SQL.
Проектирование баз данных с
использованием диаграмм Сущность-связь
и UML
Проектирование реляционных баз данных
Всего за модуль
Модуль #4, 3й год
Проектирования и разработка приложений
баз данных.
Хранение данных.
Инждексирование и хеширование.
Выполнение запросов.
Управление транзакциями.
Распределенные и параллельные базы
данных.
Всего за модуль
Всего за год
Модуль #1, 4й год
Хранилища данных и управление
Большими данными.
Архитектуры и модели хранилищ данных
Очистка и интеграция данных
Базы данных NoSQL (ключ/значение и
документные)
Всего за модуль
Модуль #2, 4й год
Map/Reduce и Hadoop
Крупномасштабные распределенные базы
данных
Базы данных в оперативной памяти
Управление потоками данных
Всего за модуль
Всего за год
ИТОГО
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
6
6
6
8
22
2
2
2
2
4
2
2
2
2
2
2
2
2
2
2
4
14
8
14
72
2
16
2
14
10
42
20
4
4
12
8
8
12
12
2
2
2
2
2
2
2
4
4
4
8
6
12
2
2
8
72
144
14
30
16
30
42
84
10
2
2
6
22
20
20
4
4
4
6
4
4
12
12
12
72
14
16
42
34
14
8
4
8
2
18
8
12
12
72
144
288
2
2
16
30
60
2
2
14
30
60
8
8
42
84
168
10
5. Список литературы
Обязательная литература
Любой (один) учебник из трех:

Silberschatz, A., Korth, H.F., Sudarshan, S. (2010) (2010) Database System Concepts, 6th ed,
McGraw-Hill, 2010. — 1376pp.

Garcia-Molina, H., Ullman, J., Widom, J. (2009) (2009) Database Systems: The Complete
Book, 2nd Edition, Prentice Hall, 2009. — 1248pp.

Elmasri, R., Navathe, S.B. (2010) Fundamentals of Database Systems, 6th ed., Addison Wesley,
2010. — 1200 pp.
Дополнительная литература

Blaha Michael (2010) Patterns of Data Modeling (Emerging Directions in Database Systems
and Applications), CRC Press, 2010. — 261pp.

Kuate P.H. et al. (2009) NHibernate in Action, Manning Publications, 2009. — 400pp.

Golfarelli M., Rizzi S. Data Warehouse Design: Modern Principles and Methodologies,
McGraw-Hill Osborne Media, 2009. — 480pp.

Celko J. Joe Celko's Analytics and OLAP in SQL, Morgan Kaufmann, 2006. — 208pp.

Kimball R., Ross M. The Data Warehouse Toolkit, Wiley, 2002. — 447pp.

Kimball R., Caserta J. The Data Warehouse ETL Toolkit, Wiley, 2004. — 491pp.

Smith B.C., Clay C.R. Microsoft SQL Server 2008 MDX Step by Step, Microsoft Press, 2009.
— 400pp.

Rodrigues F., Coles M., Dye D. Pro SQL Server 2012 Integration Services, Apress, 2012. —
636 pp.

Ben-Gan I. et al. Inside Microsoft SQL Server 2008: T-SQL Programming, Microsoft Press,
2009. — 832 pp.

Melton J., Buxton S. Querying XML: XQuery, XPath, and SQL/XML in context, Morgann
Kaufmann, 2006. 848pp.

Franks B. Taming The Big Data Tidal Wave: Finding Opportunities in Huge Data Streams
with Advanced Analytics (Wiley and SAS Business Series), Wiley, 2012. — 336pp.

White T. Hadoop: The Definitive Guide, 4th edition, O’Reilly, 2015. — 768pp.

Redmond E. Seven Databases in Seven Weeks: A Guide to Modern Databases and the
NoSQL Movement, Pragmatic Bookshelf, 2012. — 352pp.

Robinson I. Graph Databases, O’Reilly, 2013. — 224pp.

Golab L., Oszu M. T.
Data Stream Management (Synthesis Lectures on Data
Management), Morgan & Claypool Publishers, 2010. — 80 pp.

Chaudhury S., Dayal U. An overview of data warehousing and OLAP technology. // SIGMOD
Record, v.26 n.2, pp.507-508, 1997.

Harinarayan V., Rajaraman A., and Ullman J. Implementing Data Cubes Efficiently. // In
Proceedings of the 1996 ACM SIGMOD international conference on Management of data
(SIGMOD '96), pp. 205-216, 1996.

Jensen C., Pedersen T., Thomsen C. Multidimensional Databases and Data Warehousing, Morgan
& Claypool Publishers, 2010. — 111p.

Rainardi V. Building a Data Warehouse: With Examples in SQL Server. Apress, 2008. —
541pp.

Inmon W. H., Krishnan K. Building the Unstructured Data Warehouse: Architecture,
Analysis, and Design, Technics Publications, 2011. — 216pp.

Holmes A. Hadoop In Practice, Manning Publications, 2012. — 511pp.

Miner D., Shook A. MapReduce Design Patterns, O’Reilly, 2012. — 232pp.

Gates A. Programming Pig, O’Reilly, 2011. — 203pp.

Arasu A., Babu S., Widom J. The CQL Continuous Query Language: Semantic Foundations
and Query Execution, VLDB Journal, 15(2), 2006. pp.121-142.

Arasu A., Babcock B., Babu S., Cieslewicz J., Datar M., Ito K., Motwani R., Srivastava U.,
Widom J. STREAM: The Stanford Data Stream Management System. // M. Garofalakis, J.
Gehrke, and R. Rastogi, editors, Data Stream Management: Processing High-Speed Data
Streams, Springer, 2009.

Cherniack M., Zdonik S. Stream-Oriented Query Languages and Operators, Encyclopedia of
Database Systems, Springer, 2009. pp 2848-2854.

Tiwari S. Professional NoSQL, Wrox, 2011. — 384pp.

Neeraj, Nishant. (2013) Mastering Apache Cassandra. – Packt Publishing, 2013. – 340pp.

Bradberry, Russell, Lubow. Eric (2014) Practical Cassandra. A Developer’s Approach. – Addison
Wesley, 2014. – 193 pp

Plattner H. (2013). A Course in In-Memory Data Management, Springer, 2013. – 298 pp.

Sitto, Kevin, Presser, Marshall (2015) Field Guide to Hadoop. – O’Reilly, 2015. – 118 pp.

Gunarathne, Thilina (2015) Hadoop MapReduce v2 Cookbook, 2nd ed. – Packt, 2015.

Karanth. Sandeep (2014) Mastering Hadoop. – Packt, 2014. – 351 pp
6. Система выставления оценок
Во всех случаях округление оценок выполняется в пользу студента.
Работа на практических занятиях оценивается по участию студента в обсуждениях и
качеству выполнения практических заданий и упражнений. Оценки за аудиторную
работу в третьем и четвертом годах Оclassroom 3rd year и Оclassroom 4th year выставляются по
десятибалльной шкале.
В каждом модуле студенты должны написать по одному эссе на тему, предложенную
преподавателем на первой лекции (срок сдачи – 4 неделя модуля). Оценки за эссе в
третьем и четвертом годах Оessays 3rd year и Оessays 4th year вычисляются как арифметические
средние двух эссе в двух модулях каждого года и выставляются по десятибалльной
шкале.
В начале каждой лекции студенты отвечают на вопросы теста по материалам
предыдущей лекции. Оценки за тесты в третьем и четвертом году Оquiz 3rd year и Оquiz 4th
year вычисляются как арифметические средние всех оценок за тесты в данном году:
сумма оценок студента за тесты делится на полное количество тестов в году.
Используется десятибалльная шкала.
На седьмой неделе третьего модуля третьего года и на седьмой неделе первого модуля
четвертого года студенты пишут контрольную работу по материалу, пройденному в
текущем модуле. Оценки за контрольные работы для третьего и четвертого года Оtest
3rd year и Оtest 4th year выставляются по десятибалльной шкале.
Оценки Оhomework 3rd year и Оhomework 4th year за домашние работы третьего и четвертого года
выставляются по результатам презентации, демонстрации и защиты домашней работы
по десятибалльной шкале и состоят из двух компонентов каждая: оценка в интервале
от 0 до 5 за презентацию, одинаковая для всех участников группы, и индивидуальная
оценка студента в интервале от 0 до 5 за ответы на вопросы. Если студент пропустил
защиту домашней работы по уважительной причине, выставляется оценка “неявка”.
Если студент пропустил защиту домашней работы по любой другой причине,
выставляется оценка 0.
Оценка за (промежуточный) письменный экзамен в конце четвертого модуля третьего
года Оinterim exam выставляется по десятибалльной шкале.
Оценка за (итоговый) письменный экзамен в конце второго модуля четвертого года
Оfinal exam выставляется по десятибалльной шкале.
Накопленная оценка за третий год вычисляется по следующей формуле::
Оcumulative 3rd year = 0,7* Оcurrent 3rd year + 0,3* Оclassroom 3rd year
где
Оcurrent 3rd year = 0,2·Оessays 3rd year+0,2·Оtest 3rd year+0,2·Оquiz 3rd year+0,6·Оhomework 3rd year;
Промежуточная оценка за третий год вычисляется по следующей формуле::
Оinterim 3rd year = 0,5·Оcurrent 3rd year + 0,5·Оinterim exam
Накопленная оценка за четвертый год вычисляется по следующей формуле::
Оcumulative 4th year = 0,7* Оcurrent 4th year + 0,3* Оclassroom 4th year
где
Оcurrent 4th year = 0,2·Оessays 4th year+0,2·Оtest 4th year+0,2·Оquiz 4th year+0,6·Оhomework 4th year;
Итоговая накопленная оценка вычиялется по следующей формуле:
Оcumulative final = (Оinterim 3rd year + Оcumulative 4th year )/2
Итоговая оценка по дисциплине, выставляемая в диплом, вычиялется по следующей
формуле:
Оfinal = 0,5 Оcumulative final + 0,5 Оfinal exam.
7. Оценивание знаний
Вид
контроля
Текущий
(неделя)
Форма
1
Контрольная
работа
Тест
3й год
2 3
7
4
*
*
*
4
4
4
Эссе
Промежут Защита
очный
домашней
работы
Экзамен
Итоговый Экзамен
*
1
7
Департамент
Параметры **
ПИ
Письменный тест, 30 мин.
*
ПИ
4
ПИ
*
ПИ
Каждую неделю, первые 10
минут лекции
Письменное эссе, до 2
страниц
Групповая презентация c
демонстрацией результата
домашней работы
Письменный экзамен, 90
минут
Письменный экзамен, 90
минут
4й год
2 3
4
ПИ
*
*
ПИ
Домашняя работа 1 должна быть выполнена студентами в 3 и 4 модулях третьего года
в группах до 5 человек. Работа состоит из выполнения проектирования, разработки и
тестирования реляционной базы данных и приложения базы данных. Задачу, которую
будет решать это приложение, выбирает группа по согласованию с преподавателем
либо назначается преподавателем, если группа не может выбрать задачу до конца
второй недели третьего модуля третьего года. Результаты разработки должны быть
оформлены в виде документации, состоящей из технического задания и
пояснительной записки с обязательными приложениями: исходным кодом приложения
и скриптом создания базы данных. Кроме документации необходимо представить
слайды презентации проекта. Архив со всеми материалами должны быть помещены в
LMS не позже, чем за 7 календарных дней до даты защиты (назначаемой на
последнюю неделю четвертого модуля третьего года). Защита домашней работы
состоит из презентации, демонстрации и ответа на вопросы всеми участниками
группы. Каждый участник должен продемонстрировать полное понимание всех
деталей работы и ответить не менее, чем на два вопроса преподавателя.
Письменная контрольная работа в конце третьего модуля третьего года выполняется в
аудитории в виде теста по материалам этого модуля дисциплины.
Письменный экзамен в конце четвертого модуля третьего года выполняется в
аудитории в виде теста по всем материалам этого года дисциплины.
Домашняя работа 2 должна быть выполнена студентами в первом и втором модулях
четвертого года в группах до 5 человек. Работа состоит из выполнения
проектирования, разработки и тестирования двух нереляционных баз данных и
соответствующих приложений базы данных: на основе технологий хранилищ данных
и на основе Hadoop, MongoDB или Cassandra. Задачу, которую будут решать эти
приложения, выбирает группа по согласованию с преподавателем либо назначается
преподавателем, если группа не может выбрать задачу до конца второй недели
первого модуля четвертого года. Разработанные решения группа должна сравнить
между собой и выявить их относительные преимущества и недостатки. Результаты
разработки должны быть оформлены в виде документации, состоящей из
технического задания и пояснительной записки с обязательными приложениями:
исходным кодом приложений и скриптами создания баз данных. Кроме документации
необходимо представить слайды презентации проекта. Архив со всеми материалами
должны быть помещены в LMS не позже, чем за 7 календарных дней до даты защиты
(назначаемой на последнюю неделю второго модуля четвертого года). Защита
домашней работы состоит из презентации, демонстрации и ответа на вопросы всеми
участниками группы. Каждый участник должен продемонстрировать полное
понимание всех деталей работы и ответить не менее, чем на два вопроса
преподавателя.
Письменная контрольная работа в конце первого модуля четвертого года выполняется
в аудитории в виде теста по материалам этого модуля дисциплины.
Письменный экзамен в конце второго модуля четвертого года выполняется в
аудитории в виде теста по всем материалам этого года дисциплины.
8. Образовательные технологии
Лекции, практические занятия, написание эссе, тесты, обсуждения примеров из
практики, обсуждения групповых проектов, использование интерактивных
симуляторов.
9. Оборудование и программное обеспечение









Проектор для демонстрации презентаций
Microsoft SQL Server 2008 R2 (or later)
Microsoft SQL Server Analysis Services 2008 R2 (or later)
Microsoft Visual Studio 2008-2010 (or later)
Apache Hadoop 2
Apache Pig
Apache Hive
Apache Cassandra
MongoDB
Download