double arrow

АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

Лекция 1. Этапы проектирования БД

ТЕМА 1.3. ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ

ВОПРОСЫ

1. Что такое реляционная база данных?

2. Что такое запись и поле?

3. Что такое первичный ключ?

4. Что такое внешний ключ?

5. Что называют связью?

6. Расскажите о видах связей между таблицами?

7. В чём суть ссылочной целостности?

8. Перечислите и охарактеризуйте основные операции реляционной алгебры?

9. Где используются операции реляционной алгебры?

Процесс конструирования базы данных (ее проектирования и реализации) состоит из последовательности преобразований модели данных одного уровня в модель данных другого уровня.

Последовательности преобразований модели данных:

- систематизация объектов реального мира;

- создание информационных структур, описывающих систему объектов реального мира;

- создание структуры данных, которая используется для представления информационных структур в базе данных и прикладных программах;

- представление структуры памяти, используемой для хранения структур данных.

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

Первый этапанализ предметной области или этап концептуального проекти­рования. На этапе концептуального проектирования осуществляется сбор, анализ и редактирование требований к данным.

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

Анализ предметной области целесообразно разбить на три фазы:

1) анализ требований и информационных потребностей;

2) выявление информационных объектов и связей между ними;

3) построение модели предметной области и проектирование схемы БД.

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

На этапе анализа концептуальных требований и информационных потребностей необходимо выполнить;

1) анализ требований пользователей к базе данных (концептуальных требований);

2) выявление имеющихся задач по обработке информации, которая должна быть представлена в базе данных (анализ приложений),

3) выявление перспективных задач (перспективных приложений);

4) документирование результатов анализа

Требования пользователей к разрабатываемой БД представляют собой список за­просов с указанием их интенсивности и объемов данных. Эти сведения разработчики БД получают в диалоге с ее будущими пользователями. Здесь же выясняются требо­вания к вводу, обновлению и корректировке информации Требования пользователей уточняются и дополняются при анализе имеющихся и перспективных задач.

Рассмотрим примерный состав вопросника, требований к базе данных при анализе различных предметных областей.

Пример 1. Пусть предлагается разработать систему вопросов к БД «Сессия студентов колледжа»:

1. Сколько студентов учится в колледже?

2. Сколько отделений в данном колледже?

3. Как распределены студенты по отделениям отделений и курсам?

4. Сколько дисциплин читается на каждом курсе по каждой специальности?

5. Как часто обновляется информация в базе данных?

6. Сколько преподавателей?

7. Сколько иногородних студентов живет в общежитии, на частных квартирах?

8. Какая преемственность существует между читаемыми курсами?

9. Сколько лекционных аудиторий и аудиторий для проведения практических за­нятий, лабораторий?

10. Как информация, представленная в п.п. 1-9, используется в настоящее время (расписание занятий, экзаменов, зачетов и т.д.) и как ее собираются использовать?

11. Сколько раз в день, сколько человек и кто пользуются БД?

Пример 1 (продолжение). Выполним анализ требований к БД «Сессия студентов». Вопрос 1. Для каких типов задач (приложений) проектируется БД? Ответ. Для трех типов задач: Задача 1. Информация о студентах. Задача 2. Инфор­мация о преподавателях. Задача 3. Информация об успеваемости студентов. Задача 4. Информация о предметах.

Вопрос 2. Какими информационными объектами характеризуются эти задачи? Ответ. Задача 1 характеризуется информационным объектом: личные дела студен­тов. Задача 2 характеризуется информационным объектом: личные дела преподава­телей. Задача 3 характеризуется одним информационным объектом - сессия. Задача 4 характеризуется одним информационным объектом - предметы.

Вопрос 3. Каким текущим запросам должны удовлетворять данные информационные объекты?

Вопрос 4. Каким перспективным запросам должны удовлетворять информационные объекты в БД «Сессия студентов»?

Пример 2. Пусть требуется разработать требования к локальной БД «Аэропорт».

Вопрос 1. Для каких типов задач (приложений) проектируется БД? Ответ. Для трех типов задач: Задача 1. Информацияоб обслуживающем персонале. Задача 2. Информация о полетных средствах Задача 3. Информация о графике дви­жения самолетов.

Вопрос 2. Какими информационными объектами характеризуются эти задачи? Ответ. Задача 1 характеризуется тремя информационными объектами: летный со­став, диспетчеры, технический персонал. Задача 2 характеризуется двумя информа­ционными объектами: самолет, взлетное поле. Задача 3 характеризуется одним ин­формационным объектом - рейсы.

Вопрос 3. Каким текущим запросам должны удовлетворять данные информационные объекты? Ответ.

1. ФИО, звание, должность членов экипажа самолета.

2. Списочный состав диспетчеров.

3. Состав смены технического персонала.

4. Тип самолета, который может обслуживать тот или иной пилот.

5. Номер самолета, который обслуживает данный пилот, данная смена диспетчеров и технического персонала.

6. Номер личного дела сотрудника аэропорта.

7. Номер смены диспетчеров и технического персонала, обслуживающего аэропорт в заданном интервале времени.

8. Готовность самолета с номером № к полету.

9. Количество часов налета самолета с № .

10. Готовность данной взлетной полосы в настоящее время.

11. Длина данной полосы.

12. Номер (номера) рейса до данного пункта назначения.

13. Какие промежуточные посадки совершает рейс № ?

14. Время вылета и расчетное время прибытия рейса № .

15. Время и место регистрации рейса №

16. Время посадки на рейс № .

17. До какого времени задерживается рейс № ?

18. Какие типы самолетов обслуживают рейс №. ?

19. Какой номер самолета обслуживает рейс N°. ?

Вопрос 4. Каким перспективным запросам должны удовлетворять информационные объекты в БД «Аэропорт»?

Ответ.

1. С какого года используется самолет с № в аэропорту, тип самолета?

2. Какое количество часов полета у члена экипажа, ФИО?

Расчетное время отпуска члена экипажа, диспетчера, технического работника.
Выявление информационных объектов и связей между ними

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

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

1. На какие классы можно разбить данные, подлежащие хранению в БД?

2. Какое имя можно присвоить каждому классу данных?

3. Какие наиболее интересные характеристики (с точки зрения пользователя) каж­дого класса данных можно выделить?

4. Какие имена можно присвоить выбранным наборам характеристик?

В ходе выявления связей между информационными объектами следует ответить на следующие вопросы:

1. Какие типы связей между информационными объектами?

2. Какое имя можно присвоить каждому типу связей?

3. Каковы возможные типы связей, которые могут быть использованы впоследст­вии?

4. Имеют ли смысл какие-нибудь комбинации типов связей?

Далее проектировщик пытается задать ограничения на объекты и их характери­стики. Под ограничением целостности обычно понимают логические ограничения, накладываемые на данные. Ограничение целостности - это такое свойство, которое проектировщик задает для некоторого информационного объекта или его характери­стики, и которое должно сохраняться для каждого их состояния.

При выявлении условий ограничения целостности проектировщик пытается отве­тить на следующие вопросы:

1. Какова область значений для числовых характеристик?

2. Каковы функциональные зависимости между характеристиками одного инфор­мационного объекта?

3. Какой тип отображения соответствует каждому типу связей?

Пример 1 (продолжение). Для БД «Сессия студентов» выберем следующие сущности: институт, факультет, студент, преподаватель, дисциплина, ведомость. Каждую сущность зададим набором атрибутов (ключевые атрибуты подчеркнем): институт (сокращение, название, подчиненность, адрес, телефон, ФИО ректора).

факультет (код Факультета, название, код специальности, декан). кафедры факультета (код кафедры, название, код факультета, зав.кафедрой). студент (номер зачетной книжки, ФИО, группа, пол, дата рождения, домашний ад­рес, телефон).

преподаватель {№ страхового свидетельства. ФИО, дата рождения, домашний адрес, телефон, должность, ученое звание, ученая степень, код кафедры, стаж).

дисциплина (шифр дисциплины, название, число часов, виды занятий, число читае­мых семестров, на каких курсах преподается).

ведомость (№ п/п, номер зачетной книжки студента, код дисциплины, семестр, фор­ма сдачи, дата сдачи, отметка, преподаватель). Определим связи между сущностями.

Имя связи учится изучает принадлежит

Связи между объектами

студент, факультет студент, дисциплина институт, факультет

учится

изучает

принадлежит

работает преподает экзамен

преподаватель, факультет

преподаватель, дисциплина

студент, дисциплина

преподаватель, студент

Рассмотрим некоторые ограничения на характеристики объектов:

1. Значение атрибута "телефон" (сущность - институт) задается целым положи­
тельным шестизначным числом, задавать значение будем по маске __-__-__ .

2. Значение атрибута "код факультета" (сущность факультет) лежит в интервале
0-10.

3. Значение атрибута "курс" (сущность - студент) лежит в интервале 1-6 и хранится первая цифра номера группы.

4. Значение атрибута "семестр" (сущность - студент, дисциплиналежит в интерва­ле 1-12.

5. Значение атрибута "число часов" (сущность - дисциплина) лежит в интервале 1-300.

6. Одному студенту может быть приписана только одна группа.

7. Один студент может учиться только на одном факультете.

8. Один студент в семестре сдает от 3 до 10 дисциплин.

9. Один студент изучает в семестре от 6 до 12 дисциплин.

10.Одному преподавателю приписывается только одна кафедра.

11.Один студент может пересдавать одну дисциплину не более трех раз.

Ключи: сокращение (названия института), код факультета, номер зачетной книжки, № страхового свидетельства преподавателя, шифр дисциплины, № п/п.

Построение концептуальной модели предметной области

Заключительная фаза анализа предметной области состоит в проектировании ее информационной структуры или концептуальной модели.

Концептуальная модель включает описания объектов и их взаимосвязей, пред­ставляющих интерес в, рассматриваемой предметной области (ПО) и выявляемых в результате анализа данных. Концептуальная модель применяется для структурирова­ния предметной области с учетом информационных интересов пользователей систе­мы. Она дает возможность систематизировать информационное содержание предмет­ной области, позволяет как бы "подняться вверх" над ПО и увидеть ее отдельные элементы.

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

Одной из распространенных моделей концептуальной схемы является модель «сущность-связь». Остановимся на наиболее известной модели данного типа, назван­ной по фамилии автора, - модели П. Чена, или ER-модели. Основными конструкция­ми данной модели являются сущности и связи.

Под сущностью понимают основное содержание объекта ПО, о котором собирают информацию. В качестве сущности могут выступать место, вещь, личность, явление. Экземпляр сущности - конкретный объект. Например: сущность (объект) - студент, экземпляр сущности - Иванов А. В.; сущность (объект) - институт, экземпляр сущно­сти - КГУ.

Сущность принято определять атрибутами - поименованными характеристика­ми. Например: сущность - студент, атрибуты - ФИО, год рождения, адрес, номер группы ит.д.

Чтобы задать атрибут в модели, ему надо присвоить имя и определить область до­пустимых значений. Одно из назначений атрибута - идентифицировать сущность.


Сейчас читают про: