Моделирование и анализ данных Разработал Дубаков А.А. Модели систем Модель – представление реальности. Логические модели показывают что представляет собой система или что она делает. Они строятся независимыми от реализации; это означает, что модели изображают систему независимой от технической реализации. Логическая модель представляет существо системы. Физические модели показывают не только что система представляет собой, но также как система конструктивно и технически реализуется. Физические модели отражают технологические решения и их ограничения. Моделирование данных Моделирование данных – способ организации и документирования данных системы. Моделирование данных иногда называется моделирование баз данных, поскольку модель данных очевидно реализуется как база данных. Иногда, также, называется информационное моделирование. Моделирование данных Реальная модель данных часто называется диаграмма сущностей-связей (entity relationship diagram -ERD) поскольку она изображает данные в терминах сущностей и связей, описываемых данными. Существует несколько нотаций ERD. Большинство называются по именам их открывателей (т.е., Chen, Martin, Bachman, Merise), а также по опубликованному стандарту (т.е., IDEF1X). Пример ER-диаграммы REA модель данных Ресурсы (Resources), приобретаемые и используемые организацией. События (Events), которые происходят в организации. В широком понимании - это любая деятельность организации, изменяющая состояние ресурсов. Участники (Agents) этих событий. Участники как сущности - это обычно группы людей, о которых организация собирает данные E-R диаграмма, описывающая продажи на основе REA Концепция моделирования данных: Сущность (Entity) Сущность представляет собой класс субъектов, местоположений, объектов, событий или понятий относительно которых необходимо фиксировать и хранить данные. Student Концепция моделирования данных : Сущность - cont Субъекты: агентство, подрядчик, заказчик, подразделение, отделение, служащий, инструктор, студент, поставщик. Местоположения: зона продаж, здание, комната, филиал, кампус. Объекты: книга, машина, деталь, изделие, сырье, лицензия, пакет программ, инструмент, модель транспортного средства, транспортное средство. События: заявление, награда, завершение, занятие, рейс, заказ, договор, регистрация, реконструкция, заявка, резервирование, продажа, путешествие. Понятия: счет, период времени, обязательство, дисциплина, фонд, квалификация, запас. Концепция моделирования данных Экземпляр сущности разовое вхождение в сущность. Пример: Экземпляр сущности TUTOR может включать Анатолий Дубаков Виктор Силич Олег Фофанов Игорь Чудинов Евгений Чердынцев Вероника Соколова Концепция моделирования данных: Атрибуты (Attributes) STUDENT Атрибут – описательное свойство или характеристика сущности. Синонимы - элемент, свойство или поле. Составной атрибут, который состоит из других атрибутов. Name .Last Name .First Name .Middle Initial Address .Street Address .City .State or Province .Country .Postal Code Phone Number .Area Code .Number Date of Birth Gender Race Major Grade Point Average Концепция моделирования данных: Домен (Domains) Тип данных атрибута (data type) определяет какой тип данных может быть сохранен в атрибуте. Домен атрибута (domain) определяет какие значения для атрибута допустимы. Значение атрибута по умолчанию (default value) определяет значение, которое будет сохранено, если оно не задано пользователем . Концепция моделирования данных: Identification Обычно сущность содержит много экземпляров (миллионы) и необходимо однозначно идентифицировать каждый экземпляр сущности на основе значений данных атрибутов. Ключ(Primary key) – атрибут или группа атрибутов, которые обеспечивают уникальные значения для каждого экземпляра сущности. Группа атрибутов, которые однозначно идентифицируют экземпляр сущности называются «составной ключ» (concatenated key.) Потенциальный ключ – кандидат для установления первичного ключа (primary key) экземпляра сущности. Концепция моделирования данных: Identification - cont Первичный ключ (Primary Key) – потенциальный ключ, который будет в большинстве случаев использован для однозначной идентификации единственного экземпляра сущности. Любой потенциальный ключ, который не установлен в качестве первичного называется альтернативным ключом. Критерий разбиения(Subsetting Criteria)атрибут (или составной атрибут) значения которого разделяют все экземпляры сущности в полезном контексте. В ряде методов называется инвертированный вход (inversion entry). Концепция моделирования данных: Identification Keys & Subsetting Criteria STUDENT Student Number (Primary Key) Social Security Number (Alternate Key) Name Address Phone Number Date of Birth Gender (Subsetting Criteria 1) Race (Subsetting Criteria 2) Major (Subsetting Criteria 3) Grade Point Average Концепция моделирования данных: Связь (Relationships) Связь – естественное соединение, которое существует между одной более сущностями. Связь может представлять событие, которое связывает сущности или просто логическую близость, которая существует между сущностями. Для описания связи используется глагол. Концепция моделирования данных: Мощность (Cardinality) Мощность определяет минимальное и максимальное количество вхождений одной сущности, которая может быть связана с единственным вхождением другой сущности. Поскольку все связи являются двунаправленными, мощность должна быть определена в обоих направлениях для каждой связи. bi-directional Концепция моделирования данных: Мощность (Cardinality) Cardinality Interpretation Minimum Instances Maximum Instances Exactly one 1 1 Zero or one 0 1 One or more 1 many ( > 1 ) Zero, one, or more 0 many ( > 1 ) >1 >1 More than one Graphic Notation Концепция моделирования данных: Мощность (Cardinality) Концепция моделирования данных: Степень (Degree) Степень связи – количество сущностей, которые участвуют в связи. Концепция моделирования данных: Степень Рекурсивная связь – связь, которая существует между различными экземплярами одной и той же сущности. Концепция моделирования данных: Степень Связи могут существовать между более чем двумя сущности и называются Nарные связи. Пример ERD изображает тернарную связь. Концепция моделирования данных: Степень Зависимая сущность - сущность, которая наследует свой первичный ключ от более чем одной другой сущности (называемой родительской). Каждая часть составного ключа указывает на один и только на один экземпляр каждой из связанных сущностей. Ссылка на предыдущую диаграмму Концепция моделирования данных: внешний ключ(Foreign Keys) Внешний ключ – первичный ключ одной сущности, который внесен в другую сущность для идентификации связанного экземпляра. Концепция моделирования данных: внешний ключ(Foreign Keys) Неидентифицирующая связь, в которой все участвующие сущности имеют их собственный независимый первичный ключ, иными словами, ни один из первичных ключей не разделяется связанными сущностями. Идентифицирующие связи, в которых родительская сущность внедряет свой первичный ключ для установления части первичного ключа сущности потомка. Концепция моделирования данных: внешний ключ(Foreign Keys) Концепция моделирования данных: внешний ключ(Foreign Keys) Сущностьпотомок идентифицирую щей связи часто называется слабой (weak) сущностью, поскольку ее идентичность зависит от существования родительской сущности Неспецифические связи • • Неспецифические связи (связи многие-комногим), в которых множество экземпляров одной сущности связано с множеством экземпляров другой сущности. Неспецифические связи должны быть разрешены (resolved). Большинство неспецифических связей могут быть разрешены введением связующей сущности (associative entity). Разрешение неспецифических связей Примеры неспецифических связей Концепция моделирования данных: Категоризация(Generalization) Категоризация - конструкция при которой атрибуты, которые общие для нескольких типов сущностей группируются в отдельную сущность, называемую супертипом (supertype). Сущность супертип – сущность, экземпляры которой содержат атрибуты, общие для одной или более сущностей подтипа (сущность - категория). Концепция моделирования данных: Категоризация Концепция моделирования данных: Категоризация Сущность подтипа (сущность-категория) –экземпляры которой наследуют несколько общих атрибутов из сущности супертипа и затем добавляет другие атрибуты, которые уникальны для экземпляров подтипа (сущностькатегория). Этапы и задачи моделирования планирование проекта; сбор данных; определение сущностей; определение отношений; определение ключевых атрибутов; заполнение неключевых атрибутов; проверка правильности модели; приемка модели. Анализ данных и нормализация Анализ данных – процесс, который готовит модель данных для внедрения в базе данных с целью обеспечения простоты, гибкости, безызбыточности и адаптивности. Используемая технология называется нормализация. Нормализация технология анализ данных, которая формирует атрибуты данных, группируя их в виде безызбыточных, устойчивых, гибких и адаптивных сущностей. Нормализация: 1NF Отношение находится в первой нормальной форме (1NF) если не существует атрибутов, которые могут иметь более чем одно значение в одном экземпляре сущности. Любые атрибуты, которые могут иметь множественные значения фактически описывают отдельную сущность, возможно сущность и связь. 1НФ Нормализация: 2NF Отношение находится во второй нормальной форме (2NF) если оно уже в 1NF и если значения неключевых атрибутов зависят от полного ключа, а не от его части. Все неключевые атрибуты, которые зависят только от части ключа следует поместить в другие отношения, в которых часть ключа является действительно полным ключом. Это может потребовать создания нового отношения и связи в модели. 2НФ Нормализация: 3NF Отношение находится в третьей нормальной форме (3NF), если оно уже во 2NF и если значения его неключевых атрибутов не зависят от любых других неключевых атрибутов. Неключевые атрибуты, которые зависят от других неключевых атрибутов должны быть перемещены либо удалены. Опять, новые отношения и связи должны быть добавлены в модель данных. 3НФ