Государственное образовательное учреждение высшего профессионального
образования Московской области
«Международный университет природы, общества и человека «Дубна»
(университет «Дубна»)
УТВЕРЖДАЮ
проректор по учебной работе
С.В. Моржухина «_»_2010 г.
ПРОГРАММА ДИСЦИПЛИНЫ
«Современные технологии баз данных »по направлению 220100 68 — системный анализ и управление магистерская программа 002 — системный анализ проектно-технологических решений Форма обучения: очная Уровень подготовки: магистр (выбрать нужное) Курс (семестр): 5(9) г. Дубна, 2010 г.
Программа дисциплины «Современные технологии баз данных» по направлению 220100 68 — системный анализ и управление магистерская программа 002 — системный анализ проектно-технологических решений: Учебная программа.
Автор программы:
ст. преп. кафедры ИТ Гурчина Маргарита Петровна _ (подпись) Программа составлена в соответствии с Государственным образовательным стандартом высшего профессионального образования по направлению системный анализ и управление магистерская программа 002 системный анализ проектнотехнологических решений.
220100 68 — системный анализ и управление, магистерская программа 002 — системный анализ проектно-технологических решений (указывается номер ОКСО, код и наименование направления подготовки (специальности)) Программа рассмотрена на заседании кафедры информационных технологий (название кафедры) Протокол заседания № _ от «» 2010г.
Заведующий кафедрой /Токарева Н. А. / (ученое звание) (подпись) (фамилия, имя, отчество)
СОГЛАСОВАНО
заведующий выпускающей кафедрой ИТ / Токарева Н. А. / (ученое звание) (подпись) (фамилия, имя, отчество) «» _ 2010 г.Рецензент: _ (ученая степень, ученое звание, Ф.И.О., место работы, должность)
ОДОБРЕНО
декан факультета (директор института, филиала) /Черемисина Е.Н./ (ученое звание, степень) (подпись) (ФИО) «» _ 20 г.Руководитель библиотечной системы _ /Черепанова В.Г./ (подпись) (ФИО) 1. Выписка из ГОС ВПО Рабочая программа дисциплины «Современные технологии баз данных», относится к специальным дисциплинам, устанавливаемым вузом, согласно Государственным образовательным стандартом высшего профессионального образования по направлению 220100 68 системный анализ и управление магистерская программа 002 системный анализ проектно-технологических решений, утверждено приказом Министерства образования Российской федерации от 14.04.2000 № 343.
Общий объём курса, согласно учебному графику на 2010-2011 учебный год – часов. Из них: семинарские занятия – 32 час., самостоятельная работа – 38 час.
Итоговый зачет в 9-ом семестре.
Отрасль разработки программного обеспечения — одна из самых молодых и перспективных отраслей человеческой деятельности. В большинстве задач, решаемых отраслью, в качестве хранилища информации используются базы данных. Теоретическое изучение технологий баз данных, совмещенное с их практическим применением, представляет собой исключительно важную часть подготовки специалиста в области разработки программного обеспечения. Данный курс знакомит с реляционными базами данных, как одной из наиболее популярных и востребованных рынком видов хранилищ информации.
В курсе изучаются основы реляционных баз данных, СУБД Oracle, язык запросов SQL и язык программного расширения PL\SQL.
Перечень курсов, на которых базируется дисциплина Дисциплина «Современные технологии баз данных» не предполагает какой-либо базовой дисциплины.
Методы обучения Семинарские занятия проходят в компьютерной аудитории, оснащенной необходимым программным обеспечением. Студентам предлагается выполнить самостоятельных работы и 11 домашних работ за весь период прохождения дисциплины.
Требования к студентам Для успешного освоения курса студент должен обладать:
знаниями и навыками работы под управлением операционной системы семейства Windows;
знаниями основных концепций программирования на языках фон Неймановского типа;
знанием бинарной логики;
умением построения новых для него алгоритмов как суперпозицию ранее известных.
Виды контроля и формы работ Формы работы студентов предусматривают освоение дисциплины в рамках семинарских занятий (2 часа в неделю). Предусмотрены задания для домашней работы.
Данная дисциплина предусматривает:
выполнение заданий на семинарских занятиях;
выполнение домашних заданий;
демонстрация выполненных заданий на семинарских занятиях;
Итоговый контроль – зачет.
Методика формирования результирующей оценки Методика формирования результирующей оценки включает сдачу семинарских и домашних заданий, посещение всех занятий, что является допуском к сдаче зачету по теоретическим вопросам.
Итоги посещаемости и успеваемости фиксируются в промежуточных контрольных точках (8, 12, 16 недели обучения) при помощи трех значений:
«0» – студент имеет низкую посещаемость и успеваемость (много «1» – студент имеет среднюю посещаемость и не все задания сдал;
«2» – студент имеет высокую посещаемость и сдачу заданий на 90-100%.
Результирующая оценка по дисциплине (сдача зачета) формируется следующим образом:
«не зачтено» – студент не сдал все задания или не ответил на вопросы к «зачтено» – студент имеет допуск к зачету, после сдачи всех домашних и самостоятельных работ и отвечает на вопросы к зачету;
«автоматический зачет» – 100% посещений семинаров, сдача всех заданий, бонус за опережающую сдачу заданий.
3. Цели и задачи дисциплины Цель дисциплины — приобретение студентами теоретических знаний и устойчивых навыков проектирования, разработки и управления реляционными базами данных.
В результате изучения курса студент должен овладеть знаниями, умениями и навыками разработки баз данных, их сопровождения, обеспечения безопасности данных.
Основная задача дисциплины: подготовка студентов в области разработки и сопровождения баз данных и обеспечение их профессиональными знаниями для выполнения задач, связанных с работой с СУБД.
4. Требования к уровню освоения содержания дисциплины При успешном освоении курса студент должен:
Общие принципы архитектуры реляционных СУБД, основные понятия дисциплины;
СУБД Oracle, как среду разработки и управления базами данных;
Процедурное расширение Oracle язык PL/SQL.
проектировать собственные базы данных, ориентированные на решение поставленной задачи;
реализовывать структуру взаимосвязанных таблиц, учитывая бизнес-логику задачи, задавать необходимые ограничения;
реализовывать различные механизмы защиты информации, содержащейся в базе данных.
навыками разработки реляционных баз данных, использование их в прикладных программах..
5. Объём дисциплины и виды учебной работы:
Лекции Лабораторные работы (ЛР) Самостоятельный проект (зачет, экзамен) 6. Содержание дисциплины п/п написанной в среде.NET, с помощью технологии Содержание разделов дисциплины Раздел 1. Реляционная БД. Нормальные формы БД Рассматриваются основные понятия и принципы работы реляционной СУБД, СУБД Oracle в частности. Рассматриваются основные шаги проектирования БД и ее нормализации.
Раздел 2. Типы данных СУБД Oracle. Ограничения.
Типы данных, реализация бизнес-логики и обеспечение ссылочной целостности проектируемой базы данных.
Команды создания и управления структурой базы данных. Обсуждаются проблемы, возникающие при перекрестных ссылках. Рассматриваются иерархические таблицы.
Команды управления содержимым базы данных. Обсуждаются проблемы наполнения контентом при перекрестных ссылках. Последовательности. Обсуждение автоматизации заполнения первичных и уникальных ключей. Различия в стандарте SQL и конкретная реализация Oracle.
Раздел 5. Запросы в реляционной СУБД. Простые запросы. Сортировка вывода.
Вывод информации из таблиц, простейшие запросы, использующие единственную таблицу. Сортировка значений при выводе.
Раздел 6. Запросы с условием, специальные операторы.
Однострочные условия, операторы, используемые в условиях, логические операторы для соединения условий, специальные операторы.
Раздел 7. Многотабличные запросы.
Запросы, использующие несколько таблиц. Декартово произведение таблиц.
Однострочные условия для соединения таблиц. Фразы inner/outer join для соединения таблиц.
Раздел 8. Однострочные и агрегатные функции.
Однострочные функции, функции преобразования типов, агрегатные функции, работающие с группой строк.
Раздел 9. Групповые запросы, условия отбора групп.
Запросы, находящие общую информацию для построенных по какому-то общему признаку групп. Отбор групп, удовлетворяющих определенным условиям.
Раздел 10. Вложенные запросы.
Применение подзапросов в качестве исходных таблиц, массивов данных условий и т.д. в операторах DML.
Раздел 11. Безопасность БД.
Обсуждаются проблемы безопасности информации, хранящейся в БД.
Управлениие доступом к данным с помощью представлений, ролей, привелегий.
Раздел 12. Программное расширение язык PL/SQL. Типы данных.
Обсуждается вопрос о недостаточности возможностей языка SQL для реализации сложной бизнес-логики задачи. Обсуждаются преимущества языком программирования.
Программное расширения СУБД Oracle PL/SQL. Типы данных PL/SQL, тип записи, определение пользовательских типов данных. Объявления переменных. Объявление типов данных на основе типов данных таблиц, полей, курсоров.
Раздел 13. Блок PL/SQL Организация программного блока. Неименованные блоки. Управляющие конструкции.
Раздел 14. Курсоры. Работа с курсором.
Определение курсора, принцип его работы. Параметры курсора. Команды для работы с курсором, курсорный цикл.
Раздел 15. Хранимые процедуры и функции. Пакеты.
Определение хранимых процедур и функций. Их превосходство по отношению к запросам. Параметры, возвращаемое значение. Определение и создание пакетов.
Преимущества их использования.
Раздел 16. Триггеры.
Назначения триггеров. Обсуждение классификации триггеров по моменту срабатывания, по триггерному событию, уровню триггера. Реализация триггеров.
Раздел 17. Транзакции.
Определение транзакции. Команды управления транзакциями. Уровни изоляции.
Отложенная проверка ограничений ссылочной целостности во время транзакции.
Раздел 18. Взаимодействие СУБД и прикладной программы, написанной в среде.NET, с помощью технологии ADO.NET Технология ADO.NET для унифицированного взаимодействия платформы.NET и СУБД. Деление прикладной программы на 3 уровня для изоляции представления данных от пользовательского интерфейса. Интерфейс ADO.NET для разработки программы, использующей БД Oracle.
План семинарских занятий Нормальные формы БД.
2. Типы данных СУБД Oracle. Проектирование поддержки ограничений 5. Запросы в реляционной Простые запросы по созданным БД.
специальные операторы.
7. Многотабличные запросы. Многотабличные запросы 8. Однострочные и агрегатные Однострочные функции.
9. Групповые запросы, условия Запросы по группам строк.
12. Программное расширение Общие концепции PL/SQL. Стандарт и различные язык PL/SQL. Типы данных. реализации. Типы данных и переменные PL/SQL.
14. Курсоры. Работа с курсором. Курсоры, курсорные циклы.
Хранимые процедуры и Самостоятельная работа «Процедуры и функции функции. Пакеты. по расчету премий» Реализация пакета.
18. Взаимодействие СУБД и Пользовательское приложение к БД «ОК»
прикладной программы, написанной в среде.NET, с График выполнения самостоятельных работ студентами Самостоятельная работа. Создание и изменение таблиц, заполнение и изменение данных, Выполнение запросов из БД Самостоятельная работа. Процедуры, функции и триггеры PL/SQL
ВЗ СЗ СЗ СЗ СЗ ВЗ СЗ СЗ СЗ СЗ СЗ СЗ СЗ
ВЗ – выдача задания на самостоятельную работу, РК – рубежный контроль, СЗ – сдача и защита задания 7. Учебно-методическое обеспечение дисциплины Рекомендуемая литература Основная:1. Язык запросов SQL. Учебный курс./ Андон Ф., Резниченко В. – СПб.: Питер;
Киев: Издательская группа BHV, 2006.
2. 101:Oracle PL/SQL. / Аллен К. – М.: Издательство «ЛОРИ», 2005.
3. Microsoft ADO.NET 2.0 для профессионалов / Малик С. – М.: ООО «И.Д.
Дополнительная:
4. SQL. Справочник программиста. / Бхамидипати К. – М.: Издательство «Эком», 8. Материально-техническое обеспечение дисциплины Компьютерный класс, подключенный к сети Интернет и к локальной сети университета (директория GROUPS для обучающихся), обеспечивающей доступ к программному обеспечению для проведения семинарских занятий:
Сервер Oracle с настроенным пользовательским веб-интерфейсом.
6. Формы контроля и оценочные средства Перечень вопросов, выносимых на зачет по курсу «Современные технологии баз данных»:
1. Основные понятия реляционных баз данных. Tип данных, домен, атрибут, кортеж, первичный ключ.
2. Проектирование реляционных баз данных на основе принципов нормализации:
первые шаги нормализации.
3. Типы данных SQL. Типы данных Oracle. Определение домена. Неявные и явные преобразования типа или домена.
4. Язык DDL. Средства определения базовых таблиц и ограничений целостности (в стандарте и в Oracle).
5. Язык DDL. Средства изменения и ликвидации базовых таблиц.
6. Язык DDL. Последовательности – назначение, создание, изменение, удаление и использование.
7. Общая структура оператора выборки в языке SQL. Организация списка ссылок на таблицы в разделе FROM. Сортировка.
8. Представляемые таблицы, или представления (VIEW). Представления, над которыми возможны операции обновления.
9. Общая структура оператора выборки в языке SQL. Предикаты раздела WHERE оператора SELECT: логические выражения, like, between, IS NULL, in, unique.
10. Общая структура оператора выборки в языке SQL. Группировка и условия раздела 11. Общая структура оператора выборки в языке SQL. Внешние соединения.
Декартово произведение.
12. Общая структура оператора выборки в языке SQL. Агрегатные функции, однострочные функции.
13. Общая структура оператора выборки в языке SQL. Вложенные запросы.
14. Язык DML. Средства манипулирования данными.
15. Язык DML. Оператор INSERT для вставки отдельных строк, для вставки строк 16. Пользователи и роли. Передача и аннулирование привилегий и ролей.
17. Определение курсора. Порядок работы с курсорами. Атрибуты курсора.
18. Курсоры. Операторы OPEN, FETCH и CLOSE для работы с курсором.
19. Работа с курсорами для изменения данных. Курсорный цикл. Неявные курсоры.
20. Типы данных PL/SQL. Составной тип. Подтипы.
21. Структура блока PL/SQL. Итеративные блоки, условные предложения.
22. Структура блока PL/SQL. Обработка исключительных ситуаций.
23. Спецификация и тело хранимой процедуры. Вызов процедуры с фактическими параметрами.
24. Спецификация и тело хранимой функции. Вызов функции с фактическими параметрами.
25. Спецификация и тело пакета. Работа исполняемого блока пакета.
26. Отличие и сходство триггеров и процедур. Использование триггера.
27. Ограничения на использование триггера. Триггеры и транзакции.
28. Синтаксис создания триггера – раскрытие значений всех фраз.
29. Таблицы переходов в контексте триггеров. Пример использования.
30. Управление транзакциями в SQL. ACID-транзакция. Точки сохранения.
31. Управление транзакциями в SQL. Явная инициация и завершение транзакции.
Уровни изоляции SQL-транзакции.
32. Транзакции и ограничения целостности. Немедленная и откладываемая проверка ограничений.
УЧЕБНО-ТЕМАТИЧЕСКИЙ ПЛАН ДИСЦИПЛИНЫ
Номер и дата БД. Нормальные формы.ДЗ: 1, урок 1, стр. 15-30. 2, гл.1, стр. Проектирование БД "Отдел кадров" Литература: 1, урок 1, стр. 15нед table. Создание таблиц реляционных БД. Понятие первичного 2 нед ограничений в реляционной СУБД, реализация вOracle.Поддержка ограничений ссылочной целостности.ДЗ:1, урок Написать скрипт на модификацию таблиц БД "Отдел кадров" 3 нед удаления, изменения строк в таблицах.ДЗ:1, урок 13, стр. 235- Заполнить БД "Отдел кадров" данными, учитывая ограничение 4 нед 5 нед Условия объединения таблиц, соединение таблиц с помощью фразы Join - inner join, {left|right} outer join, cross joinДЗ:1, Выполнить многотабличные запросы по БД "Отдел кадров".
6 нед извлечения информации по группам. Групповые условия, Выполнить запросы с использованием функуций по БД "Отдел 7 нед подзапросов во фразе Where. Простые и кореллированные Выполнить запросы с сортировкой и подзапросами по БД "Отдел 8 нед заполнение и изменение данных, Выполнение запросов из 9 нед 10 нед Функция dbms_output.put_line.ДЗ:1, урок 16, стр. 289-301. 2, курсором, составной тип данных, реализованный на основе Написать неименнованные блоки PL\SQL с применением курсоров.
курсора. Курсорный цикл.ДЗ:1, урок 16, стр. 283-289. 2, гл.8, Литература: 1, урок 16, стр. 283-289. 2, гл.8, Кстр.275-280, гл.9, стр.
11 нед 12 нед использующих явные и неявные курсорыДЗ:2, гл. 9, стр. 305- Изучение пакетов PL/SQL, 2, гл. 9, стр. 315-321 Литература: 2, гл. 9, 13 нед 14 нед 15 нед 16 нед Учебная литература (обязательная) Язык запросов SQL. Учебный курс./ Андон Ф., Резниченко В. – СПб.: Питер; Киев: Издательская группа BHV, 2006.
101:Oracle PL/SQL. / Аллен К. – М.: Издательство «ЛОРИ», 2005.
Microsoft ADO.NET 2.0 для профессионалов / Малик С. – М.: ООО «И.Д. Вильямс», 2006.
Дополнительная литература SQL. Справочник программиста. / Бхамидипати К. – М.: Издательство «Эком», 2003.
практич. занятия Гурчина Маргарита Петровна