3619 ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ

Введение

База данных (БД) – это машинное средство накопления  и  хранения, а также организации  больших массивов данных, на основе которых решаются все задачи некоторой предметной области (ПО). Назначение базы данных -–отображать текущие данные о предметной области. Поэтому  БД должна иметь возможность накапливать, хранить и обновлять данные, а также предоставлять различным категориям  пользователей  быстрый доступ к требующимся данным. Для этого данные в базе данных должны быть структурированы и организованы в соответствии с некоторой  моделью предметной области, представляющей собой совокупность  объектов, их свойств и связей между ними. База данных является элементом сложной системы, называемой банком данных или системой баз данных. Эта система включает в себя сами базы данных, программные, технические, языковые  и организационно–методические средства, предназначенные для  обеспечения централизованного  накопления  и  коллективного  многоцелевого  использования данных. Для того, чтобы пользователь мог получить от базы данных помощь в выполнении  своих функций, в нее должны быть включены программные средства, реализующие требования пользователя. Кроме того, в проекте базы данных важное значение имеют вопросы поддержания целостности данных, то есть соответствие данных правилам предметной области (бизнес – правилам), защиты и восстановления БД.

При проектировании баз данных и их эксплуатации к ним предъявляются следующие требования:

1)    адекватность отображения предметной области (полнота, целостность, непротиворечивость данных, актуальность);

2)    возможность взаимодействия пользователей разных категорий; обеспечение высокой эффективности доступа;

3)    дружественность интерфейса;

4)    обеспечение секретности и конфиденциальности;

5)    обеспечение взаимной независимости программ и данных;

6)    обеспечение надежности  базы данных; защита данных от случайного и преднамеренного разрушения; возможность быстрого и полного восстановления данных в случае их разрушения.

Лицом, ответственным за создание, эксплуатацию и сопровождение базы данных является Администратор базы данных. В его обязанности входит выполнение следующих функций:

1)    анализ предметной области: ее описание, формулировка ограничений целостности;

2)    проектирование структуры базы данных: состава и структуры файлов БД, связей между ними;

3)    задание ограничений целостности при описании структуры БД и процедур обработки БД;

4)    первоначальная загрузка и ведение базы данных;

5)    защита данных;

6)    определение прав доступа пользователей к данным;

7)    выбор/создание программно-технических средств защиты данных;

8)    тестирование средств защиты данных;

9)    сбор статистики;

10)      исследование случаев нарушения защиты данных;

11)      обеспечение восстановления БД, организация ведения системных журналов;

12)      работа над совершенствованием и реализация изменений требований пользователей.

1. Рабочая программа

1.1. Цели и задачи дисциплины

 

Задача курса – освоить практически процесс проектирования БД.

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

Дисциплина «Проектирование баз данных» опирается на дисциплины основ баз данных, технологии проектирования программного обеспечения. Для успешного освоения курса студенты должны знать основы построения систем БД, моделирования и структуризации данных, алгоритмизации задач и проектирования программ, уметь программировать на алгоритмических языках четвертого поколения (4GL).

1.2. Требования к уровню освоения содержания дисциплины

 

В результате изучения курса студенты должны

знать:

  • Ø цели и задачи проектирования систем баз данных;
  • Ø современные методы и средства разработки и синтеза моделей данных предметных областей и автоматизированных систем обработки информации и управления;
  • Ø последовательность и этапы проектирования баз данных;
  • Ø методику анализа предметной области;
  • Ø современные средства реализации целостности данных;
  • Ø теорию нормальных форм и зависимостей;
  • Ø методы организации баз данных в различных архитектурах;
  • Ø современную методологию проектирования приложения БД;

уметь:

  • Ø применять современную методологию для исследования и синтеза информационных моделей предметных областей;
  • Ø планировать и выполнять работу по проектированию БД;
  • Ø применять  современную  систему управления базами данных для реализации проекта БД;
  • Ø приводить БД к заданному уровню нормализации;
  • Ø применять современные языки манипулирования и описания данных;
  • Ø конструировать элементы управления, макросы, процедуры и функции, необходимые для реализации требований пользователя;
  • Ø конструировать интерфейс пользователя и придавать приложению БД законченный вид;

иметь представление:

  • Ø о современных требованиях выполнения проекта БД;
  • Ø о способах и средствах защиты БД;
  • Ø о методах ограничения доступа к данным;
  • Ø о тенденциях использования БД в современных информационных технологиях.

1.3. Объем дисциплины и виды учебной работы

Вид учебной работы

Всего часов

Общая трудоемкость дисциплины

138

Аудиторные занятия

24

Лекции

12

Лабораторные работы (ЛР)

12

Самостоятельная работа

114

Курсовой проект

+

Вид итогового контроля

Зачет

 

1.4. Разделы дисциплины и виды занятий

Раздел дисциплины

ЛК, ч

ЛБ, ч

  1. Жизненный цикл приложения баз данных

1.

 

  1. ER - технология проектирования БД

1.

2.

  1. Построение диаграммы ER  – типов

1.

2.

  1. Преобразование ER – диаграммы в схему БД

1.

1.

  1. Теория нормальных форм

1.

1.

  1. Методология проектирования приложений БД

3.

2.

  1. Технология объектно-ориентированной разработки приложений

2.

2.

  1. Проектирование и реализация ограничений целостности данных

1.

1.

  1. Защита базы данных и обработка транзакций

1.

1.

 

1.5.  Содержание разделов дисциплины

 

Раздел 1. Этапы проектирования баз данных

Цели и задачи проектирования БД, жизненный цикл приложения БД.

Этапы проектирования: определение требований к системе, анализ предметной области, работа с документами, представление результатов анализа, разработка реализаций, сравнение вариантов и выбор наилучшего, конструирование, эксплуатация и сопровождение БД.

Раздел 2. ER технология проектирования БД

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

Проблемы ER-моделирования, расширенная модель «сущность - связь» (EER-модель). Суперклассы и подклассы, наследование атрибутов, специализация и генерализация.

Раздел 3. Построение диаграммы ER типов

Графические элементы диаграмм сущностей – связей в различных нотациях: ER-диаграмма, IEEFX1 стандарт, нотация «вороньих лапок».

Раздел 4. Преобразование ER-диаграммы в схему БД

Требования к построению «хорошего» проекта реляционной БД, проблема отсутствующей информации.

Правила преобразования диаграммы ER-типов в схему реляционной БД, преобразование сущностей, преобразование связей.

Раздел 5. Теория нормальных форм

Концепция нормальных форм, аномалии удаления, добавления и изменения. Процесс нормализации отношения, способы нормализации.

Нормализованное отношение и первая нормальная форма (1НФ).

Дальнейшая нормализация, вторая (2НФ), третья (3НФ) и нормальная форма Бойса–Кодда (НФБК).

Нормальные формы более высокого порядка. Многозначные зависимости и четвертая нормальная форма (4НФ).

Зависимости соединения и пятая нормальная форма (5НФ). Другие нормальные формы.

Раздел 6. Методология проектирования приложения БД

Процедуры проектирования БД: моделирование данных, концептуальное проектирование БД, логическое проектирование БД, физическое проектирование БД, проектирование приложений.

Способы проектирования БД, технология, основанная на запросах пользователя и теории нормализации, технология «сущность-связь», объектно-ориентированная технология.

Использование средств автоматизации проектирования БД (CASE - инструменты).

Раздел 7. Технология объектно-ориентированной
разработки приложений

Автоматизация разработки приложений в среде СУБД. Модель объектов приложения. Объект и его характеристики: свойства, методы, события. Концепция включающего языка. Разработка приложений на платформе BDE.

Основные концепции объектно-ориентированной технологии проектирования БД: объекты, методы и сообщения. Классы, экземпляры и семейства, иерархия классов.

Раздел 8. Проектирование и реализация ограничений
целостности данных

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

Поддержание целостности в стандарте SQL.

Раздел 9. Защита базы данных и управление транзакциями

Типы опасностей при эксплуатации БД, способы защиты БД.

Восстановление данных при сбоях: транзакции, восстановление системы и носителей, двухфазная фиксация, поддержка языка SQL.

Параллелизм и его проблемы, решение проблем параллелизма, блокировка и ее поддержка в SQL.

Безопасность и управление доступом: избирательность доступа, шифрование данных, средства SQL по обеспечению безопасности.

1.6. Лабораторный практикум

№ п/п

Наименование лабораторных работ

Число часов

1

Проектирование диаграммы ER-типов

1

2

Проектирование отношений БД

1

3

Нормализация отношений (1НФ – 5НФ)

1

4

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

1

5

Проектирование частных ограничений целостности

1

6

Формы, элементы управления, элементы OLE и ActiveX

1

7

Модель объектов приложения и  доступа к данным

1

8

Разработка интерфейса пользователя

1

9

Реализация транзакций

1

10

Диспетчер главной кнопочной формы

1

11

Импорт-экспорт данных и связь с другими приложениями

1

12

Защита приложения: ограничение доступа

1

1.7. Перечень разделов для самостоятельного изучения

 

СУБД Access: средства разработки приложений. Конструирование основных компонентов приложения. Элементы Active X.

Средства проектирования БД языка SQL. Команды организации транзакций и ограничения доступа.

Объектно-ориентированные СУБД.

Язык программирования Visual Basic for Application (VBA) и технология разработки приложений на VBA.

1.8. Курсовое проектирование

 

В курсовом проекте требуется разработать приложение базы данных (ПБД) для предметной области (ПО), выданной преподавателем или выбранной самостоятельно. Основой для проектирования  является предварительное изучение теоретического материала, основных этапов и методологии проектирования баз данных, исследование предметной области.

Курсовой проект должен содержать

  1. 1. Собственно базу данных, реализованную в СУБД Access (допускается другая СУБД).
  2. 2. Приложение базы данных, реализующее функции ведения базы данных, ограничения целостности данных и выполнение требований пользователя (транзакций).
  3. 3. Пояснительную записку к курсовому проекту с подробным описанием основных разделов: