Бакалавриат
2023/2024
Базы данных (часть 1)
Статус:
Курс по выбору (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 3, 4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
4
Контактные часы:
80
Программа дисциплины
Аннотация
Предлагаемый курс ориентирован на изучение современных методов и средств организации баз данных, моделей данных (основной акцент — на классической реляционной модели), концептуального моделирования предметной области, даталогического проектирования, использования языка запросов 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
- Доступ к базам данных из приложений
- Файловые структуры хранения данных
- Индексы
- Выполнение запросов
- Управление транзакциями
Промежуточная аттестация
- 2023/2024 учебный год 4 модуль0.28 * Групповой проект + 0.07 * Контрольная работа + 0.3 * Письменный экзамен + 0.14 * Работа на семинарах + 0.07 * Тест + 0.14 * Эссе
Список литературы
Рекомендуемая основная литература
- 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