Федеральное государственное бюджетное образовательное
учреждение высшего образования 
Московский государственный университет имени М.В. Ломоносова
Факультет вычислительной математики и кибернетики

УТВЕРЖДАЮ
декан факультета вычислительной математики и кибернетики
______________/И.А. Соколов /
«___» ________________20___г.

РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ
Наименование дисциплины:
Базы данных
Уровень высшего образования:
бакалавриат
Направление подготовки / специальность:
01.03.02 «Прикладная математика и информатика» (3++)
Направленность (профиль):
Математические и компьютерные методы решения задач естествознания
Математические методы обработки информации и принятия решений
Форма обучения:
очная

Москва 2023

Рабочая программа дисциплины (модуля) разработана в соответствии с самостоятельно установленным МГУ образовательным стандартом (ОС МГУ) для реализуемых основных профессиональных образовательных программ высшего образования по направлению подготовки 01.03.02, 01.04.02 "Прикладная математика и информатика" программы бакалавриата  Утвержден приказом МГУ от 30 августа 2019 года № 1041 (в редакции приказов МГУ от 11 сентября 2019 года № 1109, от 10 июня 2021 года № 609, от 7 октября 2021 года № 1048, от 21 декабря 2021 года № 1404, от 2 ноября 2022 года № 1299)

1. Дисциплина относится к базовой части ОПОП ВО.

2. Входные требования для освоения дисциплины (модуля): учащиеся должны владеть знаниями по алгоритмам и алгоритмическим языкам и системам программирования в объеме, соответствующем программе первых двух лет обучения основных образовательных программ бакалавриата по укрупненным группам направлений и специальностей 01.00.00 «Математика и механика», 02.00.00 «Компьютерные и информационные науки».

3. Результаты обучения по дисциплине (модулю), соотнесенные с требуемыми компетенциями выпускников.

Компетенции выпускников, частично формируемые при реализации дисциплины (модуля):

•	ОПК-3.Б Способность решать задачи в области прикладной математики и информатики с использованием современных информационных технологий, учитывая основные требования информационной безопасности
•	ПК-4.Б Способность применять в профессиональной деятельности современные средства разработки программного обеспечения и методы параллельной обработки данных, реализовывать отдельные этапы разработки системного и прикладного программного обеспечения, систем обработки и анализа данных, сетевых технологий
Планируемые результаты обучения по дисциплине (модулю):

Знать:
1.	модели данных, применяемые в современных СУБД.
2.	теорию реляционных баз данных.
3.	реляционную алгебру и исчисление.
4.	основы языка SQL.
5.	графические нотации ER-диаграммы и диаграммы классов UML, их применение при проектировании реляционных баз данных.

Уметь:  
1.	проектировать базы данных с использованием ER-диаграмм и диаграмм классов UML.
2.	применять базовые средства языка SQL на практике.

Владеть:  
1.	современной технологией баз данных.

4. Формат обучения: лекции проводятся с использованием компьютера и мультимедийного проектора.

5. Объем дисциплины (модуля) составляет 3 з.е., в том числе 36 академических часов, отведенных на контактную работу обучающихся с преподавателем, 72 академических часов на самостоятельную работу обучающихся. 

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

Форма промежуточной аттестации по дисциплине (модулю)	Всего
(часы)	В том числе	
		Контактная работа 
(работа во взаимодействии с преподавателем)
Виды контактной работы, часы	Самостоятельная работа обучающегося,
 часы 
	
		Занятия лекционного типа*	Занятия семинарского типа*	Всего		
1.	Назначение технологии баз данных. Функции и основные компоненты систем управления базами данных.	3	2	0	2	1	
2.	Понятие модели данных. Реляционная модель данных.	4	2	0	2	2	
3.	Базовые средства манипулирования реляционными данными: реляционные алгебра и исчисление.	12	6	0	6	6	
4.	Теория реляционных баз данных. Классический подход к проектированию реляционных баз данных на основе принципов нормализации. 	13	7	0	7	6	
5.	Текущий контроль успеваемости: контрольная работа №1	2	0	0	0	2	
6.	Физическая организация реляционных баз данных во внешней памяти. Индексные структуры, B-деревья, методы хеширования.	2	1	0	1	1	
7.	Концептуальное проектирование баз данных. Проектирование реляционных баз данных с использованием диаграмм «сущность-связь» и диаграмм классов языка UML.	11	5	0	5	6	
8.	Язык баз данных SQL. Характеристика и структура языка. Типы данных. Базовые средства языка SQL для определения и изменения схемы базы данных, выборки и модификации данных. Авторизация доступа и управление транзакциями в SQL. 	17	9	0	9	8	
9.	Постреляционные модели данных: объектно-ориентированная модель, объектно-реляционные расширения SQL, "истинная" реляционная модель. 	6	4	0	4	2	
10.	Текущий контроль успеваемости: контрольная работа № 2	2	0	0	0	2	
Промежуточная аттестация: зачет	36	0	0	0	36	
Итого	108	36	0	36	72	

7. Фонд оценочных средств (ФОС) для оценивания результатов обучения по дисциплине (модулю)

7.1. Типовые контрольные задания или иные материалы для проведения текущего контроля успеваемости.

В течение семестра проводятся две контрольные работы. Вариант задания для первой контрольной работы включает задачу по теме "Реляционная алгебра" и один теоретический вопрос по темам 1-4 (см. тематический план, на данном этапе вопросы по теме 4 ограничиваются теоретическими аспектами нормализации и младшими нормальными формами). Вариант задания для второй контрольной работы включает в себя три теоретических вопроса по всей программе курса, требующих развернутого письменного ответа, и одну задачу.

Пример варианта:
1. Базовые понятия реляционной модели данных.
2. Замыкание множества функциональных зависимостей. Аксиомы Армстронга (с доказательством).
3. Передача и аннулирование привилегий в SQL.
4. Выполнить указанные операции:
   а) при несовместимости исходных операндов для заданной операции – предварительно преобразовать операнды минимальным образом (записать преобразованные!)
   б) если домены атрибутов не оговорены особо, то они включают только значения присутствующие в операнде: 
-) REL1 DIVIDE BY REL2
-) REL1 NATURAL JOIN REL2
-) REL3 <OR> REL4
-) <NOT> REL3

REL1
 A	
 C	
 B	

 55  	
 55  	
 24 	

 30 	
 31 	
 42 	

 32  	
 32  	
 42 	

 30 	
 30 	
 42 	

 55  	
 55  	
 24 	

 24 	
 24 	
 30 	

	REL2
 A	
 B	

 24	
 30	

 32	
 42	

 30	
 42	

	REL3
 A	
 B	

 15	
 20	

 30	
 42	

	REL4
 C	
 D	

 11	
 24	

 36	
 42	

7.2. Типовые контрольные задания или иные материалы для проведения промежуточной аттестации.

Вопросы к зачету.

1.	Файл, файловая система. Классификация файловых систем. Основные подходы к защите файловых систем.
2.	СУБД. Основные функции СУБД. Типовая организация современной СУБД.
3.	Транзакции. Свойства ACID. Сериализация транзакций.
4.	Надежность СУБД. Классификация сбоев. Журнализация. Уровни журнализации. Типичные схемы использования журнала.
5.	Ранние дореляционные подходы к организации баз данных.
6.	Базовые понятия реляционной модели данных. Ключи. Неопределенные значения. Ссылочная целостность и способы ее поддержания. Атомарность атрибутов и 1НФ.
7.	Реляционная алгебра Кодда. Перечислить все операции. Приоритет операций. Замкнутость реляционной алгебры.
8.	Реляционная алгебра Кодда. Теоретико-множественные операции. Совместимость отношений по объединению и по расширенному декартовому произведению.
9.	Реляционная алгебра Кодда. Специальные реляционные операции.
10.	Реляционная алгебра А. Базовые операции подробно с примерами.
11.	Полнота алгебры А. Определение операций алгебры Кодда через алгебру А.
12.	Реляционная алгебра А. Перечислить базовые операции. Избыточность алгебры А. Сокращение набора операций алгебры А.
13.	Реляционное исчисление: исчисление кортежей и доменов. Сравнение механизмов реляционной алгебры и реляционного исчисления на примере формулирования запроса.
14.	Исчисление кортежей. Кортежная переменная. Правильно построенная формула. Пример. Способ реализации.
15.	Исчисление кортежей. Кванторы, свободные и связанные переменные. Целевые списки. Выражения реляционного исчисления.
16.	Исчисление доменов. Основные отличия от исчисления кортежей.
17.	Классический подход к проектированию баз данных на основе нормализации. Нормальная форма. Общие свойства нормальных форм. Полный список нормальных форм. Нормализация в OLAP и OLTP системах.
18.	Функциональная зависимость. Пример отношения и его функциональных зависимостей. Связь функциональных зависимостей и ограничений целостности. Тривиальная FD. Транзитивная FD.
19.	Замыкание множества функциональных зависимостей. Аксиомы Армстронга (с доказательством). Расширенный набор правил вывода Дейта (с выводом).
20.	Замыкание множества атрибутов на множестве FD. Алгоритм построения. Пример. Польза. Суперключ отношения, его связь с замыканием и FD.
21.	Покрытие множества FD, эквивалентные покрытия, минимальное множество FD. Примеры. Алгоритм построения минимального эквивалентного множества. Минимальное покрытие множества функциональных зависимостей.
22.	Корректные и некорректные декомпозиции отношений. Теорема Хита (с доказательством). Минимально зависимые атрибуты.
23.	Минимальные функциональные зависимости. Аномалии, возникающие из-за наличия неминимальных FD. Пример декомпозиции, решающей проблему. 2НФ.
24.	Транзитивные функциональные зависимости. Аномалии, возникающие из-за наличия транзитивных FD. Пример декомпозиции, решающей проблему. 3НФ.
25.	Независимые проекции отношений. Теорема Риссанена (без доказательства). Атомарные отношения.
26.	Перекрывающиеся возможные ключи, аномалии обновления, возникающие из-за их наличия. Нормальная форма Бойса-Кодда.
27.	Многозначные зависимости. Двойственность многозначной зависимости. Лемма Фейджина. Теорема Фейджина (с доказательством).
28.	Многозначные зависимости. Аномалии, возникающие из-за наличия MVD. Пример декомпозиции, решающей проблему (на чем основывается). 4НФ. Нетривиальная и тривиальная многозначные зависимости.
29.	N-декомпозируемые отношения. Пример декомпозиций. Зависимость проекции/соединения.
30.	Аномалии, возникающие из-за наличия зависимости проекции/соединения. Пример декомпозиции, решающей проблему. 5НФ.
31.	Подходы к физическому хранению отношений. Построчное хранение отношений. Понятие tid-а.
32.	Понятие индексов в базе данных. Техника хранения на основе B-деревьев. Методы хеширования.
33.	Виды проектирования баз данных. Недостатки проектирования в терминах отношений. Понятие информационной модели. Достоинства информационного моделирования. Средства автоматизации проектирования баз данных.
34.	ER-модель. Основные понятия. Представление на диаграммах сущностей, атрибутов и связей. Примеры. Уникальные идентификаторы экземпляров сущностей.
35.	Получение реляционной схемы из ER-диаграммы. Пошаговый алгоритм (без учета наследования и взаимно исключающих связей).
36.	Наследование сущностей в ER-модели. Примеры. Отображение диаграммы с наследованием в реляционную схему.
37.	Взаимно исключающие связи в ER-модели. Примеры. Отображение диаграммы со взаимно исключающими связями в реляционную схему.
38.	Диаграммы классов языка UML. Основные понятия. Отображение классов, стереотипов, комментариев и ограничений на диаграммах. Примеры.
39.	Диаграммы классов языка UML. Категории связей и их отображение на диаграмме. Примеры.
40.	Язык OCL. Инварианты OCL. Основные типы данных и выражения.
41.	Получение реляционной схемы из диаграммы классов. Основные проблемы и рекомендации.
42.	Язык баз данных SQL. Основные отличия SQL-ориентированной модели от реляционной модели. Стандарт SQL:2003 – основные тома. Структура языка SQL (три различных схемы).
43.	Основные типы данных языка SQL (без учета объектных расширений). Преобразования типов данных.
44.	Средства работы с доменами в SQL.
45.	Средства определения, изменения и отмены определения базовых таблиц в SQL.
46.	Базовые средства манипулирования данными в языке SQL.
47.	Понятие триггера. Механизм триггеров в SQL. Типы триггеров и их выполнение.
48.	Общая структура оператора выборки в SQL и схема его выполнения.
49.	Представляемые и порождаемые таблицы в SQL. Агрегатные и кванторные функции.
50.	Предикаты языка SQL.
51.	Управление транзакциями в SQL. Средства инициации и завершения транзакций. Понятие точки сохранения. Уровни изоляции SQL-транзакций.
52.	Иерархия ограничений в SQL. Средства определения и отмены общих ограничений (ограничений БД). Проверка ограничений и ее связь с механизмом транзакций.
53.	Поддержка авторизации доступа к данным в SQL. Объекты и привилегии. Пользователи и роли.
54.	Передача и аннулирование привилегий и ролей в SQL.
55.	Объектно-ориентированная модель данных. Ее структурная, манипуляционная и целостная части. Реализации.
56.	Объектно-реляционные расширения языка SQL. Возможные подходы к объектно-реляционному отображению без использования объектно-реляционных расширений SQL.
57.	Истинная реляционная модель данных. Ее структурная, манипуляционная и целостная части. Реализации.Понятие дифференциального уравнения, примеры. Редукция ОДУ n-го прядка, разрешенного относительно старшей производной, к нормальной системе ОДУ. Определение решения общего ОДУ n-го прядка и его интегральной кривой. Определение решения, интегральной кривой и фазовой траектории нормальной системы ОДУ, примеры. 

ШКАЛА И КРИТЕРИИ ОЦЕНИВАНИЯ результатов обучения (РО) по дисциплине (модулю)  
	
Оценка
РО и
соответствующие виды оценочных средств 	2	3	4	5	
Знания
Контрольная работа №1, Контрольная работа №2, Зачет	Отсутствие знаний	Фрагментарные знания	Общие, но не структурированные знания	Сформированные систематические знания	
Умения
Контрольная работа №1, Контрольная работа №2, Зачет 	Отсутствие умений	В целом успешное, но не систематическое умение	В целом успешное, но содержащее отдельные пробелы умение (допускает неточности непринципи-ального характера)	Успешное и систематическое умение	
Навыки 
(владения, опыт деятельности)
Зачет	Отсутствие навыков (владений, опыта)	Наличие отдельных навыков (наличие фрагментарного опыта)	В целом, сформированные навыки (владения), но используемые не в активной форме	Сформированные навыки (владения), применяемые при решении задач	
					
Соответствие результатов обучения и компетенций, в развитии которых участвует дисциплина (модуль)
	
Результаты обучения	Компетенция, с частичным формированием которой связано достижение результата обучения	
Знать:
1.	модели данных, применяемые в современных СУБД.
2.	теорию реляционных баз данных.
3.	реляционную алгебру и исчисление.
4.	основы языка SQL.
5.	графические нотации ER-диаграммы и диаграммы классов UML, их применение при проектировании реляционных баз данных.

Уметь:  
1.	проектировать базы данных с использованием ER-диаграмм и диаграмм классов UML.
2.	применять базовые средства языка SQL на практике.

Владеть:  
1.	современной технологией баз данных.

ОПК-3.Б	
Знать:
1.	модели данных, применяемые в современных СУБД.
2.	теорию реляционных баз данных.
3.	реляционную алгебру и исчисление.
4.	основы языка SQL.
5.	графические нотации ER-диаграммы и диаграммы классов UML, их применение при проектировании реляционных баз данных.

Уметь:  
1.	проектировать базы данных с использованием ER-диаграмм и диаграмм классов UML.
2.	применять базовые средства языка SQL на практике.

Владеть:  
1.	современной технологией баз данных.

ПК-4.Б	
8. Ресурсное обеспечение:

Основная литература:
  
1. Кузнецов С.Д. Основы баз данных: учебное пособие. 2-е изд. М., Интернет-Университет Информационных Технологий, 2007.
2. Кузнецов С.Д. Базы данных. Модели и языки. Учебник. М., Бином-пресс, 2008.
3. Марков А.С., Лисовский К.Ю. Базы данных. Введение в теорию и методологию: Учебник. М., "Финансы и статистика", 2006.

Дополнительная литература:

1.	Дейт К. Введение в системы баз данных, 8-е издание. М., Вильямс, 2005.
2.	Ульман Д. Основы систем баз данных. М., Финансы и статистика, 1983.
3.	Мейер Д. Теория реляционных баз данных. М., Мир, 1986.
4.	Грэй П. Логика, алгебра и базы данных. М., Машиностроение, 1989.
5.	Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем. М., Финансы и статистика, 1998.

Информационные справочные системы:

1. Кузнецов С.Д. Основы современных баз данных. http://citforum.ru/database/osbd/contents.shtml
2. Кузнецов С.Д. Введение в реляционные базы данных. http://www.intuit.ru/department/database/rdbintro

Материально-техническое обеспечение:

компьютер и мультимедийный проектор для демонстрации слайдов в ходе лекций, для самостоятельной работы студенты используют компьютеры в машинных залах и/или личные компьютеры

9. Язык преподавания - русский.

10. Преподаватели:  
ассистенты факультета ВМК МГУ, к.ф.-м.н. С.В. Морозов, О.А. Тарлапан.

11. Авторы программы:  ассистенты факультета ВМК МГУ, к.ф.-м.н. С.В. Морозов, О.А. Тарлапан.