Бакалавриат
2021/2022
Базы данных
Статус:
Курс обязательный (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для всех кампусов НИУ ВШЭ
Язык:
русский
Кредиты:
5
Контактные часы:
60
Программа дисциплины
Аннотация
Предлагаемый курс ориентирован на изучение современных методов и средств организации баз данных, моделей данных (основной акцент — на классической реляционной модели), концептуального моделирования предметной области, даталогического проектирования, использования языка запросов SQL, создания программных приложений, обращающихся к базам данных. В качестве сервера баз данных используется PostgreSQL, в качестве инструментальных языков программирования — Python, Java и Си.
Содержание курса соответствует курсу CS270T Databases, входящему в свод знаний по программной инженерии Software Engineering Education Knowledge (SEEK), описанный в документе Software Engineering 2004, определяющий руководящие принципы создания учебных планов для преподавания программной инженерии в высших учебных заведениях. Построение курса отвечает требованиям отечественных профессиональных стандартов в области информационных технологий и международного профессионального стандарта Guide to the Software Engineering Body of Knowledge (SWEBOK) ISO/IEC TR 19759 IEEE.
Цель освоения дисциплины
- Овладение студентами классическими и современными подходами к моделированию данных и методами управления данными, позволяющими анализировать, моделировать и проектировать базы данных и разрабатывать программные приложения, использующие базы данных.
Планируемые результаты обучения
- Знает основы теории организации и применения баз данных;
- Знает место и роль баз данных в информационных системах, основы организации промышленных систем управления базами данных;
- Знает современное состояние и тенденции развития систем управления базами данных.
- Знает уровни представления данных, основные модели данных, методы организации, поиска и обработки данных;
- Знает операции реляционной алгебры;
- Знает нормальные формы схем отношений;
- Знает типы целостности данных, методы обеспечения целостности данных;
- Знает языки запросов, их классификацию и области применения;
- Знает язык запросов SQL в части средств описания данных и манипулирования данными;
- Знает операторы выборки, добавления, модификации и удаления данных языка запросов SQL;
- Знает способы обеспечения независимости и защиты данных с использованием представлений и хранимых процедур;
- Умеет выполнять инфологическое проектирование баз данных методом «сущность-связь»;
- Умеет выполнять логическое проектирование реляционных баз данных;
- Умеет выполнять нормализацию схем отношений реляционных баз данных;
- Умеет выбирать типы индексов, создавать и настраивать индексы;
- Умеет использовать транзакции;
- Умеет получать доступ к данным с помощью курсоров;
- Владеет навыками применения методов описания схем баз данных в современных СУБД;
- Владеет навыками инфологического проектирования баз данных методом «сущность-связь»;
- Владеет навыками нормализации схем отношений реляционных баз данных;
- Владеет навыками разработки приложений баз данных, выполняющихся на компьютере пользователя;
- Владеет навыками разработки приложений баз данных с веб-интерфейсом;
- Владеет в применении средств объектно-реляционного отображения.
Содержание учебной дисциплины
- Введение в управление данными
- Моделирование данных
- Проектирование баз данных: диаграммы сущность-связь
- Реляционная модель данных
- Проектирование реляционных баз данных
- Реляционные языки запросов
- Язык SQL: DDL
- Язык SQL: Запросы
- Язык SQL: DML
- Процедурные расширения SQL
- Доступ к базам данных из приложений
- Файловые структуры хранения данных
- Индексы
Элементы контроля
- midterm test
- essay
- quiz
- group projectStudents will work in groups of up to 5 students towards designing and development of a relational database. Topics might be suggested by lecturer as well as proposed by students.
- written exam
- Work on seminars
- midterm test
- essay
- quiz
- group projectStudents will work in groups of up to 5 students towards designing and development of a relational database. Topics might be suggested by lecturer as well as proposed by students.
- written exam
- Work on seminars
Промежуточная аттестация
- 2021/2022 учебный год 2 модуль0.14 * essay + 0.28 * group project + 0.14 * midterm test + 0.3 * written exam + 0.14 * quiz
Список литературы
Рекомендуемая основная литература
- Foster, E. C., & Godbole, S. (2016). Database Systems : A Pragmatic Approach (Vol. Second edition). [United States]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1174505
- Petrov, A., & O’Reilly for Higher Education (Firm). (2019). Database Internals : A Deep Dive Into How Distributed Data Systems Work (Vol. First edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=2250514
Рекомендуемая дополнительная литература
- Celko, J. (2014). Joe Celko’s SQL for Smarties : Advanced SQL Programming (Vol. Fifth edition). Amsterdam: Morgan Kaufmann. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=924899
- Connolly, T. M., & Begg, C. (2015). Database Systems: A Practical Approach to Design, Implementation, and Management, Global Edition (Vol. Sixth edition, Global edition). Harlow: Pearson. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1419568
- Databases reference sheets: Date with Java, SQL, XML, JAXB, JDBC, JPA, JPA Inheritance / Rodrigo García Carmona. (2016). Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.991AD36F
- Date, C. J. (2015). SQL and Relational Theory : How to Write Accurate SQL Code (Vol. Third edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1099367
- Date, C. J. (2016). The New Relational Database Dictionary : Terms, Concepts, and Examples (Vol. New and expanded edition). Sebastopol, CA: O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1136522
- Haq, Q. M. R. U. (2016). Data Mapping for Data Warehouse Design. Amsterdam: Morgan Kaufmann. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1115852
- Jukic, N., Vrbsky, S., & Nestorov, S. (2017). Database Systems : Introduction to Databases and Data Warehouses. Burlington, Virginia: Prospect Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1562389
- Mohanty, H., Bhuyan, P., & Chenthati, D. (2015). Big Data : A Primer. New Delhi: Springer. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1020194
- Ottinger, J. B., Linwood, J., & Minter, D. (2016). Beginning Hibernate : For Hibernate 5 (Vol. Fourth edition). [United States]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1360349
- Rad, R. (2016). Mastering Hibernate. Birmingham, UK: Packt Publishing. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1239416