Подпись: Министерство образования Российской Федерации
Кемеровский государственный университет
Кафедра ЮНЕСКО по Новым информационным технологиям

«Утверждаю»

___________________________

 «        »                               200  г.


РАБОЧАЯ ПРОГРАММА

по курсу
"Базы данных и СУБД. Часть II"



Факультет:  Математический	
Специальность: 351500 «Математическое обеспечение и администрирование информационных систем»	
Отделение:				Дневное	
Курс:					III	
Семестр:				5	
Всего часов:				94	
В том числе	Экзамен:	5 семестр
Лекции:				32	
практические занятия:			
лабораторные занятия: 		32	
самостоятельные занятия:		30	
Составитель: 
доцент, Гудов А.М.	

Кемерово, 2004
2002

 

 

 

 

 

Рабочая программа обсуждена на заседании кафедры

Протокол №_____от «_____»_________200__г.

Зав.кафедрой ____________________________ К.Е. Афанасьев

 

 

 

 

 

Одобрено методической комиссией

Протокол №_____от «_____»_________200__г.

Председатель ____________________________


 

1.Пояснительная записка

Курс предназначен для освоения студентами базовых знаний по вопросам организации параллельных и распределенных баз данных и систем управления ими, а также основ проектирования приложений с использованием сервера баз данных Oracle.  В качестве языка реализации приложений выбрано процедурное расширение стандартного языка структурированных запросов SQL PL/SQL.

Курс позволяет приобрести специальные знания и навыки, рассчитанные на будущих профессиональных программистов.  Специально рассмотрены вопросы проектирования приложений, выполняющихся на сервере приложений.

Курс является основным для специальности 351500 «Математическое обеспечение и администрирование информационных систем».

Программа курса полностью соответствует Государственному образовательному стандарту высшего профессионального образования.  Отдельные разделы могут быть опущены или добавлены по усмотрению преподавателя.

 

2.Тематический план

 

Темы

Объем часов

Лекции

Лаб. занятия

Наглядные и метод. пособия

Сам. раб. студент.

Формы контроля

1. 1

Распределенные и параллельные СУБД

6

6

0

Материалы презентации на компьютере

 

 

2.  

Параллельные архитектуры баз данных

2

2

0

Материалы презентации на компьютере

 

 

3.  

Объектно ориентированные базы данных

2

2

0

Материалы презентации на компьютере

 

 

4.  

Многомерные базы данных

4

4

0

Материалы презентации на компьютере

 

 

5.  

Технологии баз данных для WWW

6

6

0

Материалы презентации на компьютере

 

 

6.  

Кто такой администратор базы данных

2

2

0

Материалы презентации на компьютере

 

 

7.  

Введение в PL/SQL

4

2

2

Материалы презентации на компьютере

 

 

8.  

Введение в оболочку SQL-manager

2

0

2

Материалы презентации на компьютере

 

Контрольные вопросы

9.  

Структура блока PL/SQL

4

0

4

Материалы презентации на компьютере

 

Контрольные вопросы

10.   

Основные конструкции языка PL/SQL

12

2

10

Материалы презентации на компьютере

 

Контрольные вопросы, тестовые задачи

11.   

Хранимые процедуры и функции

8

2

6

Материалы презентации на компьютере

 

Контрольные вопросы, тестовые задачи

12.   

Триггеры базы данных

8

2

6

Материалы презентации на компьютере

 

Контрольные вопросы, тестовые задачи

13.   

Проектирование приложений с использованием конструкций PL/SQL и триггеров базы данных

34

2

2

 

30

Семестровая работа

 

Всего:

94

32

32

 

30

 

 

 

 

3. Содержание дисциплины

 

Программа курса

 

1.     Распределенные и параллельные системы управления базами данных

Основные определения.  Отличительные признаки распределенных и параллельных баз данных.  Горизонтальная и вертикальная фрагментация.  Понятия межзапросного, внутризапросного и внутриоперационного параллелизма.  Понятия линейной расширяемости и линейного ускорения.  Основные архитектуры параллельных систем.  Обработка и оптимизация запросов в распределенных и параллельных системах.  Управление доступом.   Протоколы обеспечения надежности.

 

2.     Параллельные архитектуры баз данных

Основные типы архитектур.  Требования к параллельным СУБД.  Факторы производительности параллельных СУБД.  Вертикальный и горизонтальный параллелизмы.  Системы со смешанной загрузкой.  Обеспечение надежности функционирования параллельных СУБД.

 

3.     Объектно ориентированные базы данных

Модель объектно ориентированной базы данных.  Типы данных в ООБД.  Оптимизация ядра ООСУБД.  Языки запросов к ООБД.  Механизмы управления транзакциями в ООСУБД.  Особенности реализации некоторых ООСУБД.

 

4.     Многомерные базы данных

Многомерные модели данных.  Хранилище многомерных данных.  Типы запросов к многомерным данным.  Основные формы реализации многомерных БД.

 

5.     Технологии баз данных для WWW

Основные классы задач для управления БД из WWW.  Представление данных для задач Web/DB.  Моделирование структуры WEB и запросы к базам банных.  Основные языки запросов к данным под управлением WWW.

 

6.     Введение в PL/SQL

Что такое PL/SQL? Основные отличия от языка SQL.  Назначение и формы реализации хранимых приложений. Что будем изучать?  И зачем?

 

7.     Структура блока PL/SQL

Анонимный и именованный блок.  Структура блока.  Процедура и функция.  Формальные и фактические параметры.  Исключения.  Как выполнить блок?  А как получить результат.

 

8.     Основные конструкции языка PL/SQL

Переменные.  Базовые и сложные типы данных.  Описание переменных, констант и курсоров.  Курсор.  Конструкция IFTHENELSEEND IF.  Оператор присваивания.  Конструкция цикла.  Что описать в исключении?  Как вызвать исключение?  Метки.  Конструкция EXITWHEN.  Пакеты: спецификация и тело.

 

9.     Хранимые процедуры и функции

Где располагаются и выполняются хранимые процедуры.  Пакеты хранимых процедур.  Отладка и диагностика ошибок.  Хранимые процедуры и словарь базы данных.  Компиляция и выполнение.  Связность объектов базы данных.  Статус хранимой процедуры и пакета.

 

10.           Триггеры базы данных

Обработчик событий при обращении к объектам базы данных – триггер.  Типы триггеров.  Сколько раз выполнить триггер?  Рекурсивный вызов триггеров.  Когда нужен триггер?  А когда он полезен?  Процедура или триггер?  Контроль над объектами базы данных с использованием триггеров.  Аудит – это просто.

 

11.           Проектирование приложений с использованием конструкций PL/SQL и триггеров базы данных

Основные приемы создания серверных приложений.  Распределенные приложения.  Задание для семестровой работы.  Типовая модель данных.  Как реализовать логику приложения, выполняющегося на сервере базы данных?

 

 

Темы лабораторных занятий

1.     Простой блок PL/SQL.

2.     Первая программа на PL/SQL.

3.     Работа с основными конструкциями PL/SQL.

4.     Процедуры и функции.

5.     Пакет.

6.     Хранимые процедуры и функции.

7.     Компиляция и отладка хранимых процедур и пакетов.

8.     Связность объектов базы данных.  Статус хранимых процедур и пакетов.

9.      Основные приемы реализации приложений с использование хранимых процедур и пакетов.

10. Триггера базы данных.

11. Контроль использования таблиц из приложений.

 

Семестровая работа, ее характеристика

Семестровая работа направлена на самостоятельное создание приложения с использованием хранимых процедур и триггеров базы данных.  Требования к приложению:  обращения к базе данных через хранимые процедуры;  контроль за изменением данных в основных таблицах через вызов триггеров;  полнота функций для занесения и изменения данных во всех согласованных таблицах при использовании приложения;  поддержка целостности данных.

Семестровые задания даются каждому студенту индивидуально.

 

Учебно-методические материалы по дисциплине

Презентации в формате MS PowerPoint.  Тексты тестовых заданий в формате MS Word.

4.    Литература

 

1.     Мейер М. Теория реляционных баз данных. М.: Мир, 1987. - 608 с.

2.     Кириллов В.В. Основы проектирования реляционных баз данных. Учебное пособие. - СПб.: ИТМО, 1994. - 90 с.

3.     Дейт К. Введение в системы баз данных. М.: Наука, 1980

4.     Озкарахан Э. Машины баз данных и управление базами данных. - М.: Мир, 1989

5.     Ульман Д. Основы систем баз данных. - М.: Финансы и статистика, 1983. - 334 с.

6.     Chen P.P. The Entity-Relationship Model: A Basis for the Enterprise View of Data. – ACM Transaction on Database Systems, 1976, Vol. 1, No. 1, pp. 9-36.

7.     Гудов А.М., Шмакова Л.Е. Введение в язык структурированных запросов SQL / Учебное пособие. – Кемерово, Кемеровский госуниверситет, 2001.- 118с.

8.     Материалы сайта http://www.citforum.ru

 

5.     Контрольные вопросы и контрольные срезы

 

1.     Отличительные признаки распределенных и параллельных баз данных. Горизонтальная и вертикальная фрагментация.

2.     Понятия межзапросного, внутризапросного и внутриоперационного параллелизма.

3.     Понятия линейной расширяемости и линейного ускорения.  Основные архитектуры параллельных систем.

4.     Обработка и оптимизация запросов в распределенных и параллельных системах.

5.     Управление доступом.   Протоколы обеспечения надежности.

6.     Требования к параллельным СУБД.  Факторы производительности параллельных СУБД.

7.     Вертикальный и горизонтальный параллелизмы.  Системы со смешанной загрузкой.

8.     Основные типы архитектур. Обеспечение надежности функционирования параллельных СУБД.

9.     Модель объектно ориентированной базы данных.  Типы данных в ООБД.

10. Оптимизация ядра ООСУБД.  Языки запросов к ООБД.

11. Механизмы управления транзакциями в ООСУБД.

12. Многомерные модели данных.  Хранилище многомерных данных.

13. Типы запросов к многомерным данным.  Основные формы реализации многомерных БД.

14. Каковы основные отличительные черты SQL и PL/SQL?  Привести примеры задач, для которых специфичен каждый из языков. Структура блока PL/SQL.  Анонимные и именные блоки.

15. Типы данных в PL/SQL.  Базовые и сложные типы.  Переменные.

16. Процедуры и функции.  Параметры.  Пример описания процедуры и функции.

17. Циклические структуры PL/SQL.  Привести примеры всех структур.

18. Условные конструкции PL/SQL.  Привести пример.

19. Курсор.  Каково отличие между явным и неявным курсором?  Способы обработки записей в курсоре.

20. Исключения.  Предопределенные исключения и исключения пользователя.  Пример описания и возбуждения исключений.

21. Хранимые процедуры и функции.  Чем они отличаются от обычных процедур и функций?  Примеры описаний.  Передача параметров.

22. Триггера базы данных.  Классификация триггеров.

23. Пакет.  Компиляция, вызов, отладка процедур из пакета.

24. Как можно контролировать обращения к таблицам базы данных через использование триггеров?  Привести пример.

25. Как отладить триггер?  Создать триггер, предложенный преподавателем.  Отладить его.

26. Написать процедуру или функцию, реализующую задачу, предложенную преподавателем.

27. Связность объектов базы данных.  Зависимость статуса пакета или процедуры от статуса объектов базы данных.

28. Провести диагностику процедуры, предложенной преподавателем.  Отладить и сформировать в пакет.  Провести всестороннее тестирование пакета.

29. Типы триггеров.  Когда выполняется триггер?  Рекурсивный вызов триггера.  Манипуляции с триггерами.

30. Какие принципы должны учитываться при разработке приложения, использующего базы данных?  Сервер или клиент – что лучше?