Правительство Российской Федерации Московский институт электроники и математики
Научно-исследовательского университета
"Высшая школа экономики" Факультет Информационных технологий и вычислительной техники
Кафедра Вычислительные системы и сети Программа дисциплины
“Базы данных”
для направления 230100.01 «Информатика и вычислительная техника» подготовки специалиста Автор программы доцент, к.т.н. И.П.Карпова ikarpova@hse.ru
Одобрена на заседании кафедры вычислительных систем и сетей «___»____________ 2010 г Зав. кафедрой А.В. Вишнеков Москва Цели и задачи дисциплины
Целью дисциплины является изучение и практическое освоение методов создания баз данных (БД) и общих принципов их функционирования. Рассматриваются теоретические и прикладные вопросы применения современных систем управления базами данных (СУБД) и автоматизированных информационных систем (АИС). Требования к уровню освоения содержания дисциплины
В результате изучения дисциплины студенты должны: – знать: принципы организации и архитектуры систем баз данных;
модели данных;
последовательность и этапы проектирования баз данных;
современные методики синтеза и оптимизации структур баз данных;
основные конструкции языка обработки данных (SQL);
методики оптимизации процессов обработки запросов;
современные методы обеспечения целостности данных;
методы физической организации баз данных;
современные методы и средства создания автоматизированных информационных систем.
– уметь: применять современную методологию для исследования и синтеза информационных моделей предметных областей АИС;
применять современную методологию на стадии технического проектирования – обследование, выбор и системное обоснование проектных решений по структуре информационных моделей и базам данных;
выполнять работы по проектированию базы данных: проводить анализ предметной области информационной системы и составление логической схемы базы данных, определять ограничения целостности и права доступа к данным, использовать средства защиты данных;
применять методы проектирования баз данных и составления программ взаимодействия с базой данных;
реализовывать и документировать автоматизированную информационную систему, основанную на базе данных.
– иметь представление: о многообразии современных систем управления базами данных, их областях применения и особенностях;
о тенденциях и перспективах развития современных систем управления базами данных;
об основных нерешенных на сегодняшний день проблемах, возникающих при создании и использовании баз данных.
Объем дисциплины и виды учебной деятельности
Вид учебной работы
| Всего часов
| Семестр (5)
| Семестр (6)
| Общая трудоемкость дисциплины
| 140
| 69
| 71
| Аудиторные занятия
| 102
| 51
| 51
| Лекции (Л)
| 51
| 34
| 17
| Лабораторные работы (ЛР)
| 34
| 17
| 17
| Курсовой проект
| 17
|
| 17
| Самостоятельная работа
| 38
| 18
| 20
| Расчетно-графические работы
| 10
|
| 10
| Реферат
| 18
| 18
|
| Контрольные работы
| 10
|
| 10
| Вид итогового контроля
(зачет, экзамен)
|
| зачет
| экзамен
| Содержание дисциплины
Разделы дисциплины и виды занятий
№ п/п
| Раздел дисциплины
| Аудиторные занятия
| Лекции
| ЛР
| 1
| Введение | *
|
| 2
| Модели данных | *
| *
| 3
| Введение в язык баз данных SQL | *
| *
| 4
| Системы управления базами данных | *
| *
| 5
| Физическая организация данных | *
|
| 6
| Механизмы доступа к данным | *
|
| 7
| Специальная обработка баз данных | *
|
| 8
| Элементы проектирования баз данных и основы создания приложений к БД | *
| *
| 9
| Распределенные базы данных | *
|
| 10
| Обзор современных СУБД и перспективы развития баз данных | *
|
| Содержание разделов дисциплины
Семестр 5
№ п/п
| Наименование темы и ее содержание
| Часы
| 1
| 2
| 3
| 1
| Введение.
| 2
| Информация, данные, знания. Терминология.
Автоматизированная информационная система.
Предметная область информационной системы.
Назначение и основные компоненты системы баз данных.
Уровни представления данных. Понятия схемы и подсхемы.
| 2
| Модели данных.
| 4
| Структуризация данных. Типы отношений.
Операции над данными. Ограничения целостности.
Иерархическая модель данных (ИМД).
Сетевая модель данных (СМД).
Реляционная модель данных (РМД). Отношение, схема отношения, свойства отношения.
Основные и вспомогательные операции реляционной алгебры.
Общее представление об объектно-реляционной и объектно-ориентированной моделях.
| 3
| Введение в язык баз данных SQL.
| 8
| SQL как декларативный язык запросов к реляционным базам данных. Стандарты SQL.
Подмножества языка SQL (DDL – язык описания данных, DML – язык манипулирования данными, DCL – язык контроля данных).
Объекты БД. Типы данных SQL.
Основные команды SQL (create table, insert, update, delete, select). Операторы, предикаты, агрегирующие функции.
Вложенные запросы (кореллированные и некореллированные).
Представления (view) и особенности работы с ними.
Использования NULL-значений.
| 4
| Системы управления базами данных (СУБД).
| 2
| Назначение СУБД. Классификация СУБД.
Основные функции СУБД.
Требования к реляционным СУБД (по Кодду).
Словари-справочники данных.
Администрирование базы данных.
| 5
| Физическая организация данных.
| 6
| Механизмы среды хранения и архитектура СУБД.
Пространство памяти и размещение хранимых данных.
Структура хранимых данных (на примере формата DBF и СУБД Oracle).
Способы размещения и доступа к данным.
Индексирование данных. Линейные и многоуровневые индексы. Составные индексы. Использование индексов.
Методы хеширования. Использование хеширования.
Кластеризация данных. Использование кластеров.
| 6
| Механизмы доступа к данным.
| 6
| Работа в режиме клиент-сервер.
Доступ к базам данных в многопользовательских системах.
Транзакции. Начало и завершение транзакций. Команды управления транзакциями. Модели транзакций.
Временные отметки и блокировки. Тупики (deadlocks).
Взаимовлияние транзакций.
Уровни изоляции. Уровни блокировок. Многовариантность.
| 7
| Специальная обработка БД.
| 6
| Оптимизация выполнения запросов. Цели и критерии оптимизации. Методы оптимизации.
Порядок оптимизации выполнения запроса.
Обеспечение защиты данных. Безопасность данных.
Защита от несанкционированного доступа.
Обеспечение целостности данных. Триггеры баз данных.
| Итого:
| 34
| Семестр 6
№ п/п
| Наименование темы и ее содержание
| Часы
| 1
| 2
| 3
| 8
| Элементы проектирования баз данных и создания приложений к БД
| 10
| Проектирование как итерационный процесс.
Инфологическое проектирование. Методы инфологического проектирования: функциональный подход, предметный подход, метод "сущность-связь".
Определение требований к операционной обстановке.
Выбор СУБД и других инструментальных программных средств.
Логическое и физическое проектирование БД.
Нормализация отношений (до 4-й нормальной формы).
Пример проектирования базы данных.
Особенности проектирования БД для сложных предметных областей. Объединение локальных представлений.
Создание приложений к базам данных. Основные технологии доступа к базе данных (ADO, ODBC, BDE).
| 9
| Распределенные базы данных (РБД).
| 5
| Критерии распределенности РБД (по Кодду).
Дополнительные критерии оценки СУРБД.
Специфика проблем проектирования и эксплуатации РБД.
Методы поддержки распределенных данных (фрагментация, репликация, распределенные ограничения целостности, распределенные запросы и транзакции).
| 10
| Обзор современных СУБД и перспективы развития БД.
| 2
| Перспективы развития технологии баз данных.
| Итого:
| 17
| Понедельный план проведения лекционных занятий Семестр 5
№
недели
| Тема и содержание занятия
| Часы
| 1
| 2
| 3
| 1
| Введение. Терминология.
Автоматизированная информационная система.
Предметная область информационной системы.
Основы построения банков данных.
| 2
| 2
| Модели данных. Структуризация данных. Типы отношений. Операции над данными. Ограничения целостности. Иерархическая модель данных (ИМД). Сетевая модель данных (СМД).
| 2
| 3
| Реляционная модель данных (РМД). Основные и вспомогательные операции реляционной алгебры.
Общее представление об объектно-реляционной и объектно-ориентированной моделях.
| 2
| 4
| Введение в SQL. SQL как декларативный язык запросов к реляционным базам данных. Стандарты SQL. Подмножества языка SQL. Основные команды DDL (create, alter, drop) и DML (insert, update, delete).
| 2
| 5
| Команда select. Синтаксис и правила выполнения. Операторы, предикаты, агрегирующие функции.
| 2
| 6
| Соединение таблиц.
Вложенные запросы (кореллированные и некореллированные).
| 2
| 7
| Множественные операторы (union и другие).
Использования NULL-значений.
Представления (view) и особенности работы с ними.
| 2
| 8
| Системы управления базами данных (СУБД). Назначение. Классификация. Основные функции СУБД.
Требования к реляционным СУБД (по Кодду).
Словари-справочники данных. Администрирование базы данных.
| 2
| 9
| Механизмы среды хранения и архитектура СУБД.
Пространство памяти и размещение хранимых данных.
Структура хранимых данных (на примере формата DBF и СУБД Oracle).
| 2
| 10
| Способы размещения и доступа к данным.
Индексирование данных. Линейные и многоуровневые индексы. Составные индексы. Использование индексов.
| 2
| 11
| Методы хеширования. Использование хеширования.
Кластеризация данных. Использование кластеров.
| 2
| 12
| Механизмы доступа к данным. Работа в режиме клиент-сервер.
Доступ к базам данных в многопользовательских системах.
Транзакции. Начало и завершение транзакций. Команды управления транзакциями.
| 2
| 1
| 2
| 3
| 13
| Модели транзакций.
Временные отметки и блокировки как средство разграничения доступа. Тупики (deadlocks).
| 2
| 14
| Взаимовлияние транзакций.
Уровни изоляции транзакций. Уровни блокировок.
Алгоритм многовариантности (Oracle).
| 2
| 15
| Оптимизация выполнения запросов. Цели и критерии оптимизации. Методы оптимизации.
Порядок оптимизации выполнения запроса.
| 2
| 16
| Обеспечение защиты данных. Безопасность данных.
Защита от несанкционированного доступа.
| 2
| 17
| Обеспечение целостности данных. Триггеры баз данных.
| 2
| Семестр 6
№
недели
| Тема и содержание занятия
| Часы
| 1
| 2
| 3
| 1
| Элементы проектирования баз данных.
Инфологическое проектирование.
Определение требований к операционной обстановке.
Выбор СУБД и других инструментальных программных средств.
Логическое проектирование БД.
Физическое проектирование БД.
| 2
| 3
| Аномалии выполнения операций при некорректной схеме БД.
Нормализация отношений (до 4-й нормальной формы). Функциональные, транзитивные и многозначные зависимости. Декомпозиция отношений.
| 2
| 5
| Пример проектирования базы данных.
| 2
| 7
| Особенности проектирования БД для сложных предметных областей. Объединение локальных представлений.
| 2
| 9
| Создание приложений к базам данных. Основные технологии доступа к базе данных (ADO, ODBC, BDE).
| 2
| 11
| Распределенные базы данных (РБД).
Критерии распределенности РБД (по Кодду).
Дополнительные критерии оценки СУРБД.
Специфика проектирования и эксплуатации РБД.
| 2
| 13
| Методы поддержки распределенных данных. Фрагментация и репликация.
Поддержка распределенных ограничений целостности.
| 2
| 15
| Распределенные запросы и транзакции. Алгоритм двухфазной фиксации.
Обзор современных СУБД.
| 2
| 17
| Манифест "Системы баз данных третьего поколения".
Перспективы развития технологии баз данных.
| 1
| Лабораторный практикум
№ п/п
| № раздела дисциплины
| Наименование лабораторных работ
| Часы
| 1
| 2,3,8
| Создание и модификация отношений базы данных
| 4
| 2
| 3,4
| Поиск и сортировка данных
| 6
| 3
| 3,4
| Работа с представлениями
| 7
| 4
| 4,8
| Создание приложений к БД. СУБД Access
| 6
| 5
| 4,8
| Создание приложений к БД. СУБД MySQL
| 5
| 5
| 4,8
| Создание приложений к БД. Использование ODBC
| 6
| Итого
| 34
| Курсовая работа
Курсовая работа выполняется в соответствии с методическими указаниями по курсовому проектированию (см. список методической литературы). Она включает в себя проектирование и реализацию базы данных по одному из указанных или самостоятельно выбранных вариантов под управлением любой выбранной СУБД. Учебно-методическое обеспечение дисциплины
Рекомендуемая литература
а) основная литература Коннолли Т., Бегг К. Базы данных: проектирование, реализация, сопровождение. Теория и практика, 3-е изд. : Пер. с англ. : Уч. пос. – М.: Изд. дом "Вильямс", 2003. – 1440 с.
Грабер М. Введение в SQL. – М.: Лори, 2008. – 378 с.
Ульман Дж. Основы систем баз данных: Пер. с англ. – М.: Финансы и статистика, 1983.
Манифест "Системы баз данных третьего поколения". – Журнал «СУБД»,·1995, № 2. – с. 143-159. http://rema.44.ru/resurs/study/ddb/manifest.html
Манифест «Системы объектно-ориентированных баз данных». – Журнал «СУБД»,·1995, № 4. – с. 142-155. http://rema.44.ru/resurs/study/ddb/manif_oo.html
ГОСТ 20886-85. Организация данных в системах обработки данных. Термины и определения.
ГОСТ 34.320-96. Информационные технологии. Система стандартов по базам данных. Концепции и терминология для концептуальной схемы и информационной базы. – Межгосударственный стандарт. Дата введения 01.07.2001.
б) дополнительная литература Дейт К. Дж. Введение в системы баз данных.: Пер. с англ. – 6-е изд. – Киев: Диалектика, 1998. – 784 с.
Кузнецов С.Д. Основы баз данных. – "Издательство Интернет-университет информационных технологий – ИНТУИТ.ру", 2005. – 488 с.
Тиори Т., Фрай Дж. Проектирование структур баз данных : В 2-х кн. Пер. с англ. – М.: Мир, 1985.
Хомоненко А.Д. и др. Базы данных. – М.: Бином–Пресс, С\П.: КОРОНА. 2006. – 736 с.
СУБД (Системы управления базами данных ): Журнал. – АО "Открытые системы".
в) методическая литература Карпова И.П. Базы данных: Учеб. пособие. – Московский государственный институт электроники и математики. – М., 2009. – 118 c.
Изучение основ языка SQL: Метод. указания к лабораторным работам по курсу "Базы данных" / Московский государственный институт электроники и математики; Сост.: И.П. Карпова. М., 2003. – 31 с.
Проектирование реляционных баз данных: Метод. указания к курсовому проектированию по курсу "Базы данных" / Московский государственный институт электроники и математики; Сост.: Карпова И.П. – М., 2010. – 32 с.
Методические указания к лабораторным работам по курсу "Базы данных", Часть 2: Создание приложений для работы с базами данных / Московский государственный институт электроники и математики; Сост.: Карпова И.П., Жарков С.В., Глускер А.И. – М., 2009. – 24 с.
Методические указания к лабораторным работам по курсу "Базы данных": Работа с базами данных. СУБД Access. / Московский государственный институт электроники и математики; Сост.: Карпова И.П. – М., 2010. – 29 с.
Средства обеспечения дисциплины
В качестве средства дополнительного контроля знаний используется система автоматизированного контроля знаний TS, разработанная группой преподавателей и студентов кафедры "Вычислительные системы и сети" и кафедры "Управление и информатика в технических системах". Она установлена в дисплейном классе кафедры ВСиС, а также доступна через Internet (http://rema44.ru/resurs/students/karpova/). Материально-техническое обеспечение дисциплины
Лабораторные занятия проводятся в дисплейном классе, оснащенном персональными компьютерами типа IBM PC, которые объединены в локальную сеть. В качестве СУБД используется система MySQL. Методические рекомендации по организации изучения дисциплины
Ввиду огромного разнообразия существующих СУБД нецелесообразно изучение какой-либо конкретной СУБД. Поэтому на лабораторных занятиях по языку SQL необходимо предъявлять требования об использовании только тех конструкций языка SQL, которые входят в стандарт SQL-92 и не зависят от используемого программного средства. Рабочая программа составлена в соответствии с Государственным образовательным стандартом высшего профессионального образования по направлению подготовки (специальности) 230101 – "Вычислительные машины, комплексы, системы и сети". Программу составила к.т.н., доцент каф. ВСиС _______________________ И.П. Карпова Настоящая рабочая программа рассмотрена на заседании (методическом семинаре) кафедры «___»____________2010___г. протокол №______ и рекомендована к применению в учебном процессе. Зав. кафедрой «Вычислительные системы и сети» проф., д.т.н. ________________________ Вишнеков А.В. «_____»_________________ 2010__ г.
|