Проектирование реляционных баз данных.
Проектирование баз данных информационных систем является достаточно трудоемкой задачей. Оно осуществляется на основе формализации структуры и процессов рассматриваемой предметной области, сведения о которой предполагается хранить в БД.
Процесс проектирования можно разбить на несколько этапов.
Создается инфологическая модель, описывающая сведения об объектах и связях между ними с точки зрения их смыслового содержания.
Затем создается логическая модель описания хранимых в ЭВМ данных и связей. Она является представлением выделенных на предыдущем этапе сведений в виде данных в форматах, поддерживаемых выбранной СУБД.
Метод «сущность-связь».
Метод «сущность-связь» состоит в построении диаграмм, отображающих в графической форме основные объекты предметной области и связи между ними. Затем осуществляется переход от диаграмм к таблицам БД.
Определения. Сущность – объект, информации о котором должна быть представлена в БД (обычно соответствует существительному). Пример: сущность Студент. Экземпляр сущности – Николаев А.П. Связь – соединение между двумя или более сущностями (обычно соответствует глаголу). Экземпляр связи - конкретная связь между конкретными экземплярами сущностей. Пример экземпляра связи: Николаев учится в группе 144.
Пример: Преподаватели и дисциплины, которые они читают.
Сущности: Преподаватель, Дисциплина. Связь между ними: Преподаватель читает дисциплину. Подобная связь между двумя сущностями называется бинарной.
Связи могут быть и более высокого порядка (связи между несколькими сущностями). Например: Преподаватель читает дисциплину для группы – тройственная связь..
Связь между сущностями имеет две характеристики: (а) степень связи и (б) класс принадлежности.
(а) Степень связи показывает сколько экземпляров одной сущности может быть связано с каждым экземпляром другой сущности. Может иметь одно из трех значений:
один к одному (1:1), один ко многим (1:М или М:1), многие ко многим (М:N).
(б) Класс принадлежности сущности к связи м.б. обязательным и необязательным. При обязательном – каждый экземпляр сущности должен быть связан с другой сущностью. Во втором случае в БД хранится информация обо всех экземплярах сущностей, но только некоторые из них связаны с экземплярами другой сущности. (Не все преподаватели сейчас читают предметы).
Варианты бинарной связи сущностей Преподаватель, Дисциплина:
1. Каждый преподаватель читает одну дисциплину. Каждая Дисциплина читается одним Преподавателем.
В этом случае имеется взаимно однозначное соответствие . Степень бинарной Связи 1:1. Класс принадлежности для обеих сущностей – обязательный. Требуется только одна таблица. Первичным ключом может быть ключ любой из этих сущностей.
2. Каждый преподаватель читает одну дисциплину. Каждая дисциплина читается не больше чем одним преподавателем (какие-то дисциплины в настоящий момент могут не читаться вообще).
Степень бинарной Связи 1:1. Класс принадлежности для Дисциплина – необязательный, для Преподаватель – обязательный. Необходимо построение двух таблиц. Под каждую сущность выделяется таблица. При этом в таблицу для обязательной сущности вставляется первичный ключ необязательной.
3. Каждый преподаватель читает не более одной дисциплины. Каждая дисциплина читается не больше чем одним преподавателем. (Часть преподавателей и дисциплин не задействованы.) Степень бинарной Связи 1:1. Класс принадлежности для Дисциплина и для Преподаватель – необязательный. Необходимо построение трех таблиц. Под каждую сущность выделяется таблица и 3-я таблица отражает связь. Первичным ключом третьей таблицы (состоящей только из двух столбцов) является совокупность ключей первых двух таблиц.
4. (а) Каждый преподаватель читает до нескольких дисциплин (в т.ч. - ни одной). Каждая Д читается одним преподавателем.
Степень бинарной Связи N:1. Класс принадлежности для Дисциплина – обязательный, для Преподаватель - любой. Требуется две таблицы. При этом в таблицу Дисциплины вставляется первичный ключ главной таблицы Преподаватель.
(б) Однако, если класс принадлежности N-связной сущности является необязательным,то требуются 3 таблицы (аналогично случаю 3). Но, в отличие от случая 3, значения первичного ключа в разных строках могут совпадать.
5. Степень бинарной связи N:M. Класс принадлежности и для Дисциплина и для Преподаватель – любой. Необходимо построение трех таблиц. Под каждую сущность выделяется таблица и 3-я таблица отражает связь.. Первичным ключом третьей таблицы является совокупность ключей первых двух таблиц.
Во всех этих примерах только две сущности ПреподавательиДисциплина и связь бинарная.
При проектировании схемы реляционной БД можно выделить следующие процедуры:
- определение перечня таблиц и связей между ними;
- определение перечня полей (столбцов), типов полей, ключевых полей каждой таблицы (схемы таблицы), установление связей между таблицами через внешние ключи;
- установление индексирования для полей в таблицах;
- установление ограничений целостности для таблиц и связей (условий, которым должны удовлетворять данные);
- нормализация таблиц (составы атрибутов (т.е., столбцов) таблиц должны удовлетворять так называемым требованиям нормализации ) и соответствующая корректировка перечня таблиц и связей. В том случае, если состав столбцов таблицы не удовлетворяет требованиям нормализации, таблица разделяется на две или более таблиц.
Например, одна таблица Преподаватели-Дисциплины делится на две – таблицу Преподаватели и таблицу Дисциплины.
Нормализация позволяет устранить информационную избыточность, которая приводит к аномалиям обработки данных.
Логическое проектирование, помимо определения числа и структуры таблиц, включает разработку запросов к БД, отчетных документов, создание форм для ввода и редактирования данных в БД и т. д.
Хранилища данных
Разновидностью баз данных являются так называемые Хранилища данных.
Хранилище данных — предметно-ориентированная информационная база данных, специально разработанная и предназначенная для подготовки отчётов и бизнес-анализа с целью поддержки принятия решений в организации. Строится на базе систем управления базами данных и систем поддержки принятия решений. В отличие от стандартной БД хранилище содержит информацию не только о состоянии организации в текущий момент, но и в различные моменты в прошлом с определенной периодичностью. Таким образом, данные в хранилище привязаны к некоторому промежутку или моменту времени. Сравнение этих данных позволяет проводить анализ тенденций развития организации. Данные, поступающие в хранилище данных, как правило, доступны только для чтения. Данные из АИС организации копируются в хранилище данных таким образом, чтобы построение отчётов и анализ не использовал ресурсы АИС и не нарушал её стабильность.
Сбор данных в корпоративное хранилище производится с помощью процессов, обеспечивающих не только перенос данных в хранилище из различных систем-источников, но и их трансформацию в соответствии с заданными правилами, устранение противоречий. Таким образом, качество информации в хранилище данных становится существенно выше, чем в системах-источниках, что позволяет использовать хранилище данных различным пользователям в качестве единого источника достоверной информации. Создание хранилища данных является одним из необходимых условий внедрения на предприятии системы управления эффективностью бизнеса.
Дата добавления: 2016-12-26; просмотров: 673;