Слайд 2
1.1. Системный анализ предметной области
2 подхода к определению
состава и структуры предметной области:
функциональный подход – проектирование начинается
с анализа задач и функций, обеспечивающих реализацию информационных потребностей;
объектный подход – информационные потребности пользователей (задачи) жестко не фиксируются, а основное внимание сосредоточено на выделении существенных объектов – предметов и связей, информация о которых может быть использована в прикладных задачах пользователя.
Слайд 3
1.2. Цель системного анализа предметной области
Цель системного
анализа предметной области как этапа проектирования – выделить предметную
область как систему объектов и их взаимосвязей, определив при этом функционально-информационные требования к их последующему представлению в виде системы взаимосвязанных данных.
Слайд 4
2. Инфологическое проектирование и семантическая модель
Фаза реализации: анализ
данных.
Семантическая модель предметной области базируется на анализе свойств и
природы объектов предметной области и информационных потребностей будущих пользователей.
Объект моделирования: предметная область будущей системы.
Результат: инфологическая модель предметной области (часто называют концептуальной моделью).
Инфологическая модель (ИМ)обобщенно представляет информационные потребности пользователей в части использования хранимых данных и является средством коммуникации разработчиков и пользователей на разных стадиях жизненного цикла базы данных.
Слайд 5
3. Требования к средствам представления ИМ
Независимость от среды
(оборудования).
Адекватность отображения предметной области.
Формализованность, обеспечивающая возможность автоматизированной обработки.
Дружественность, обеспечивающая
возможность использования наглядных графических средств отображения и обработки их пользователем.
Слайд 6
4. Компоненты инфологической модели
Описание объектов и связей между
ними (метод «сущность-связь»).
Система атрибутов и средств описания предметной области.
Например:
лингвистические свойства языка (синтаксис и т.д.), используемого для вербального представления объеrта;
логические (алгоритмические) связи между показателями;
Ограничения целостности, определяющие допустимость значения отдельных полей и взаимосвязей на уровне семантики содержимого БД, так и физической структуры (отдельных файлов данных и взаимосвязей между ними).
Описание информационных потребностей пользователей, например, в виде типовых запросов, отражающих процедурные особенности обращения к данным.
Слайд 7
Нотации «сущность-связь»
(http://www.mstu.edu.ru/study/materials/zelenkov/ch_2_4.html)
Питера Чена (1976);
Мартина (1990);
IDEF1X (1993);
Баркера;
(UML).
Слайд 8
Компоненты модели «сущность-связь» (нотация Чена)
Слайд 9
Сущности
Класс сущностей – совокупность однотипных сущностей, которая описывается
структурой или форматом сущностей, его составляющих. Содержит множество экземпляров
сущности.
Например: студент, клиент, сотрудник.
Экземпляр сущности – конкретная сущность в наборе, которая описывается значениями атрибутов этой сущности.
Например: класс Клиент содержит множество экземпляров по одному на каждого клиента.
Слайд 10
Сущность: класс и экземпляры, атрибуты
(пример сущности Клиент)
Слайд 11
Классификация сущностей: расширенная нотация Чена (Кириллов В.)
Имя
Слайд 12
Изображение сущностей и свойств на диаграммах «сущность-связь»
Слайд 13
Ключи
Ключ (возможный ключ) – минимальный набор атрибутов, по
значениям которых можно однозначно найти требуемый экземпляр сущности.
!Каждая сущность
должна обладать хотя бы одним возможным ключом.
Ключ:
естественный (выбирается из возможных);
суррогатный (не связан с информационным содержанием сущности, создается принудительно).
Слайд 14
Первичный ключ
Первичный ключ – один из возможных ключей.
Правила:
минимальное
число атрибутов;
уникальность;
не допускается неопределенное значение (NULL).
Рекомендации:
нецелесообразно использовать ключи с
длинными текстовыми значениями;
при наличии составного первичного ключа вводить суррогатный ключ
Слайд 15
О внешних ключах
Если сущность С (ассоциация) связывает сущности
А и В, то она должна включать внешние ключи,
соответствующие первичным ключам сущностей А и В (идентифицирующая связь между независимой и зависимой сущностью: А,В – независимые, С – зависимая).
Если сущность В (характеристика) характеризует сущность А, то сущность В должна включать внешний ключ, соответствующий первичному ключу сущности А (идентифицирующая связь между независимой и зависимой сущностью).
Если сущность В (обозначение) поясняет сущность А, то сущность А должна иметь внешний ключ, соответствующий первичному ключу сущности В (неидентифицирующая связь между независимыми сущностями).
Слайд 16
Связи
Класс связей выражает взаимоотношения между классами сущностей. Связи
могут иметь атрибуты и участвовать в других связях. Класс
связей содержит множество экземпляров связи.
Примеры классов связей: студент-преподаватель (обучение), клиент-товар (заказ), сотрудник-фирма (работает).
Экземпляр связи выражает взаимоотношения между экземплярами сущностей.
Степень связи – количество классов сущностей, участвующих в связи(2 класса – бинарная связь, 3 класса – тернарная связь).
Связи между сущностями одного и того же класса называются рекурсивными.
Слайд 18
Кардинальность связей
Отражает то, как экземпляры сущностей
взаимодействуют между
собой.
Различают:
Максимальная кардинальность связи (или тип связи);
Минимальная кардинальность связи.
Слайд 19
Максимальная кардинальность связи
(тип связи)
Максимальное кардинальное число –
показывает максимальное число экземпляров сущности, участвующих в связи (1
или М). Например: студент-общежитие – студент имеет максимальное кардинальное число М (много), общежитие – 1 (один).
Совокупность двух максимальных кардинальных чисел определяет максимальную кардинальность (или тип!) связи:
1:1 (один-к-одному)
1:М (один-ко-многим)
М:М (или М:N) (многие-ко-многим)
Слайд 20
Минимальная кардинальность связи
Минимальное кардинальное число – показывает минимальное
число экземпляров сущности, участвующих в связи (0 или 1).
Например: чтобы показать, что сущность обязана участвовать в связи, на линию связи помещают |, если нет – 0. Связь «студент-общежитие»: студент имеет минимальное кардинальное число 1 (т.е. сущность Общежитие д.б. связана как минимум с одной сущностью Студент), общежитие – 0 (Студент не обязан иметь связь с сущностью Общежитие). Совокупность двух минимальных кардинальных чисел определяет минимальную кардинальность связи (1:0, 0:0, 1:1).
Минимальное кардинальное число интерпретируется как класс принадлежности сущностей:
0 (0)– необязательный класс (хотя бы один экземпляр сущности не участвует в связи);
1 (|) – обязательный класс (каждый экземпляр сущности участвует в связи).
Слайд 21
Подтипы (категории) сущностей
Сущности, которые имеют необязательные наборы атрибутов,
могут быть представлены с помощью подтипов (категорий).
Цель использования: избежать
ситуаций, при которых некоторые атрибуты должны иметь нулевые (NULL) значения.
Сущность, порождающая подтипы, называется надтипом.
Наследование – характристика иерархии обобщений для подтипов, которая означает, что подтипы классов сущностей наследуют атрибуты от надтипа.
Слайд 22
Этапы моделирования ИЛМ
1. На основе анализа предметной области
определить входные и выходные данные системы и выделить то,
что подлежит хранению в БД.
Выделить стержневые и характеристические сущности.
Выделить связи, в том числе ассоциации (на уровне сущностей).
Выделить атрибуты сущностей, первичные и внешние ключи.
Слайд 23
Пример проектирования ИЛМ: виртуальный лабораторный практикум (ВЛП)
Определение входных
и выходных данных
Исходной информацией для формирования входных и выходных
данных ресурса являются персональные данные пользователей и описание лабораторных заданий по отобранной тематике.
Таким образом, входными данными являются данные, хранящиеся в базе данных ресурса:
персональные данные пользователей системы (обучающихся, преподавателей, администраторов);
данные, необходимые для регистрации и авторизации пользователей (логин, пароль);
описание лабораторных заданий, включающее общее описание задания, набор ip-адресов для индивидуальных вариантов, логин и пароль для подключения клиентского ПК к серверу, набор ключевых слов–эталонов для проверки корректности выполненных заданий (для каждого варианта).
Выходными данными являются результаты выполнения заданий, на основании которых формируется статистика для преподавателя и обучающихся.
Слайд 24
Проектирование модели данных
Первым этапом моделирования БД является
этап анализа данных и семантического моделирования, на котором формируется
инфологическая модель данных. При построении инфологической модели данных использовался метод «сущность-связь» (метод ER-диаграмм Питера Чена, комбинированная нотация Питера Чена и Мартина, http://www.mstu.edu.ru/study/materials/zelenkov/ch_2_4.html).
Анализ входных и выходных данных показал, что в предметной области можно выделить следующие сущности:
Пользователь (User) (атрибуты: идетификатор (id-st – первичный ключ), ФИО (fio), имя_учетной записи (login), пароль_к_ учетной записи (password), студенческая_группа (st_gr), статус (status));
Лабораторная_работа (labs) (атрибуты: идентификатор_ лабораторной_работы (id-lab – первичный ключ), заголовок работы (head_lab), текст работы (text_lab));
Вариант_лабораторной_работы (var_lab) (атрибуты: идентификатор_варианта_лабораторной_работы (id_varlab – первичный ключ), ip-адрес_варианта_лабораторной_работы (ip_address), ключевое_слово (key_word), идентификатор_лабораторной_работы (id_vl – внешний ключ));
Выполнение (study) (атрибуты: идентификатор (id_st - первичный ключ), результат (result), статус (status), пользователь (user), вариант_лабораторной_работы (var_lab), дата_выполнения (date_st).
Слайд 25
Инфологическая модель данных ВЛП
Слайд 26
Сущности в ИЛМ для ВЛП
сущности «Пользователь» и «Вариант_лабораторной_работы»
являются стержневыми;
сущность «Лабораторная_работа» является обозначающей для сущности «Вариант_лабораторной_работы»;
сущность «Выполнение»
является ассоциацией между сущностями «Пользователь» и «Вариант_лабораторной_работы».