Материал: Проектирование баз данных. метод. указания к выполнению лабораторных работ. Ошивалов А.В., Акамсина Н.В

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

1Нф (Первая Нормальная Форма)

Первая нормальная форма (1НФ) - это обычное отношение. Согласно определению отношений, любое отношение автоматически уже находится в 1НФ. Свойства 1НФ:

  • В отношении нет одинаковых кортежей.

  • Кортежи не упорядочены.

  • Атрибуты не упорядочены и различаются по наименованию.

  • Все значения атрибутов атомарны.

2Нф (Вторая Нормальная Форма)

Отношение находится во второй нормальной форме (2НФ) тогда и только тогда, когда отношение находится в 1НФ и нет неключевых атрибутов, зависящих от части сложного ключа. Неключевой атрибут - это атрибут, не входящий в состав никакого потенциального ключа. Если потенциальный ключ отношения является простым, то отношение автоматически находится в 2НФ.

3Нф (Третья Нормальная Форма)

Отношение находится в третьей нормальной форме (3НФ) тогда и только тогда, когда отношение находится в 2НФ и все неключевые атрибуты взаимно независимы. Атрибуты называются взаимно независимыми, если ни один из них не является функционально зависимым от другого.

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

У слабо нормализованных отношений единственное преимущество - если к базе данных обращаться только с запросами на выборку данных, то для слабо нормализованных отношений такие запросы выполняются быстрее. Это связано с тем, что в таких отношениях уже как бы произведено соединение отношений и на это не тратится время при выборке данных.

Таким образом, выбор степени нормализации отношений зависит от характера запросов, с которыми чаще всего обращаются к базе данных.

Можно выделить некоторые классы систем, для которых больше подходят сильно или слабо нормализованные модели данных.

Сильно нормализованные модели данных хорошо подходят для так называемых OLTP-приложений (On-Line Transaction Processing (OLTP)- оперативная обработка транзакций). Типичными примерами OLTP-приложений являются системы складского учета, системы заказов билетов, банковские системы, выполняющие операции по переводу денег, и т.п. Основная функция подобных систем заключается в выполнении большого количества коротких транзакций.

Другим типом приложений являются так называемые OLAP-приложения (On-Line Analitical Processing (OLAP) - оперативная аналитическая обработка данных). Это обобщенный термин, характеризующий принципы построения систем поддержки принятия решений (Decision Support System - DSS), хранилищ данных (Data Warehouse), систем интеллектуального анализа данных (Data Mining). Такие системы предназначены для нахождения зависимостей между. Такие системы характеризуются следующими признаками:

  • Добавление в систему новых данных происходит относительно редко крупными блоками (например, раз в квартал загружаются данные по итогам квартальных продаж из OLTP-приложения).

  • Данные, добавленные в систему, обычно никогда не удаляются.

  • Перед загрузкой данные проходят различные процедуры "очистки", связанные с тем, что в одну систему могут поступать данные из многих источников, имеющих различные форматы представления для одних и тех же понятий, данные могут быть некорректны, ошибочны.

  • Запросы к системе являются нерегламентированными и, как правило, достаточно сложными. Очень часто новый запрос формулируется аналитиком для уточнения результата, полученного в результате предыдущего запроса.

  • Скорость выполнения запросов важна, но не критична.

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

Элементы модели "сущность-связь"

В реальном проектировании структуры базы данных обычно применяется так называемое семантическое моделирование. Семантическое моделирование представляет собой моделирование структуры данных, опираясь на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь (ER - Entity-Relationship).

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

Основные понятия er-диаграмм

Сущность - это класс однотипных объектов, информация о которых должна быть учтена в модели.

Каждая сущность должна иметь наименование, выраженное существительным в единственном числе.

Примерами сущностей могут быть такие классы объектов как "Поставщик", "Сотрудник", "Накладная".

Каждая сущность в модели изображается в виде прямоугольника с наименованием (Рис. 1).

Рис. 1. Графическое изображение сущности

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

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

Атрибут сущности - это именованная характеристика, являющаяся некоторым свойством сущности.

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

Атрибуты изображаются в пределах прямоугольника, определяющего сущность (Рис. 2).

Рис. 2. Графическое изображение сущности с атрибутами

Ключ сущности - это неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности. Неизбыточность заключается в том, что удаление любого атрибута из ключа нарушается его уникальность. Сущность может иметь несколько различных ключей. Ключевые атрибуты изображаются на диаграмме подчеркиванием (Рис. 3).

Рис. 3. Графическое изображение сущности с ключевым атрибутом

Связь - это некоторая ассоциация между двумя сущностями. Одна сущность может быть связана с другой сущностью или сама с собою.

Связи позволяют по одной сущности находить другие сущности, связанные с нею.

Графически связь изображается линией, соединяющей две сущности (Рис. 4).

Рис. 4. Графическое изображение связи между сущностями

Каждая связь имеет два конца и одно или два наименования. Наименование обычно выражается в неопределенной глагольной форме: "иметь", "принадлежать" и т.п. Каждое из наименований относится к своему концу связи. Иногда наименования не пишутся ввиду их очевидности.

Каждая связь может иметь один из следующих типов связи (Рис. 5).

Рис. 5. Графическое изображение типов связей

Связь типа один-к-одному означает, что один экземпляр первой сущности (левой) связан с одним экземпляром второй сущности (правой). Связь один-к-одному чаще всего свидетельствует о том, что на самом деле имеется всего одна сущность, неправильно разделенная на две.

Связь типа один-ко-многим означает, что один экземпляр первой сущности (левой) связан с несколькими экземплярами второй сущности (правой). Это наиболее часто используемый тип связи. Левая сущность (со стороны "один") называется родительской, правая (со стороны "много") - дочерней. Характерный пример такой связи приведен на .

Связь типа много-ко-многим означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и каждый экземпляр второй сущности может быть связан с несколькими экземплярами первой сущности. Тип связи много-ко-многим является временным типом связи, допустимым на ранних этапах разработки модели. В дальнейшем этот тип связи должен быть заменен двумя связями типа один-ко-многим путем создания промежуточной сущности.

Каждая связь может иметь одну из двух модальностей связи (Рис. 6).

Рис. 6. Графическое изображение модальности связей

Модальность "может" означает, что экземпляр одной сущности может быть связан с одним или несколькими экземплярами другой сущности, а может быть и не связан ни с одним экземпляром.

Модальность "должен" означает, что экземпляр одной сущности обязан быть связан не менее чем с одним экземпляром другой сущности. Связь может иметь разную модальность с разных концов.

Для построения ER-диаграмм существует множество программных инструментов моделирования на языке UML. Одним из таких инструментов может служить программный продукт Software Ideas Modeler by Dusan Rodina (бесплатен для некоммерческого использования).

  1. Занятие 1 (1ч): Установка требуемого программного обеспечения

    1. Требуемые ресурсы и инструменты

Дистрибутив программы Software Ideas Modeler (бесплатен для некоммерческого использования).

    1. Порядок действий

Для установки программы Software Ideas Modeler ее необходимо скачать по следующему адресу «http://www.softwareideas.net/en/download» (Рис. 7).

Рис. 7. Страница загрузки программы Software Ideas Modeler

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

После распаковки архива или установки программы необходимо запустить программу для этого либо выбрать соответствующий пункт в стартовом меню windows или ярлык на рабочем столе, либо запустить исполняемый файл «SoftwareIdeasModeler.exe» в папке с программой.

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

Рис. 8. Стартовое окно программы при первом запуске

В следующем окне необходимо подтвердить свой выбор, выбрав вариант (1), отметив пункт (2) и нажав кнопку подтверждения (3) (Рис. 9).

Рис. 9. Окно подтверждения варианта использования

Дальнейшие запуски программы будут происходить в обычном режиме (Рис. 10).

Рис. 10. Стартовое окно программы

Программа обладает широким рядом настроек, доступных в пункте меню Tools/Options (Рис. 11).

Рис. 11. Пункт меню Tools/Options для доступа к настройкам

Одной из настроек является выбор русского языка для интерфейса (Рис. 12), однако рекомендуется использовать английский язык вследствие использования английских терминов при моделировании. Дальнейшее описание будет приведено для английского варианта интерфейса.

Рис. 12. Окно настроек. Выбор языка

После первичной настройки программы можно приступать к непосредственной разработке ER-диаграмм.

  1. Занятие 2 (1ч): Знакомство с основными элементами интерфейса

    1. Требуемые ресурсы и инструменты

Установленный программный продукт Software Ideas Modeler

    1. Порядок действий

После запуска программы появится основное окно приложения (Рис. 13). Для разработки диаграмм необходимо создать проект, для этого в главном меню служит пункт File/New. После выбора данного пункта меню будет создан новый проект (Рис. 14). Также, при наличии уже созданного проекта он может быть открыт с помощью пункта меню File/Open.

В окне проекта имеется возможность создания различного типа диаграмм, для создания ER-диаграммы необходимо в разделе «Add New Diagramm», группе «Entity Relationship» выбрать элемент «Entity Relationship Diagramm».

Рис. 13. Основное окно приложения

Рис. 14. Окно проекта

После создания ER-диаграммы появится окно редактирования текущей диаграммы (Рис. 15).

Рис. 15. Окно редактирования диаграммы

Слева в этом окне расположена панель основных элементов диаграммы (1), служащая для добавления этих элементов в рабочее пространство (4).

Справа расположена панель дополнительных элементов (2), служащая для добавления в проект новых диаграмм, настройки стилей отображения и.т.п.

Также справа расположена панель предварительного просмотра диаграммы (3).

Для добавления новой сущности необходимо в панели основных элементов выбрать элемент «Entity», и в рабочей области левой клавишей мыши растянуть сущность на требуемый размер (Рис. 16).

Рис. 16. Окно редактирования диаграммы, добавление сущности

Для редактирования наименования сущности необходимо дважды щелкнуть по заголовку (1) и ввести требуемое наименование (Рис. 17).

Для добавления атрибута в сущность, необходимо выделить эту сущность, после чего нажать кнопку добавления атрибута в появившейся панели (2). Для быстрого изменения наименования атрибута необходимо щелкнуть на атрибуте (3) и ввести требуемое наименование (Рис. 17).

Рис. 17. Окно редактирования диаграммы, редактирование сущности

Для указания дополнительных свойств сущности и ее атрибутов, а также для добавления новых атрибутов служит окно свойств сущности, доступное из контекстного меню. Для доступа к этому окну необходимо нажать правой клавишей мыши на сущности и в появившемся контекстном меню выбрать пункт «Properties» (Рис. 18).

Рис. 18. Окно редактирования диаграммы, свойства сущности

После выбора этого пункта меню появится окно редактирования сущности (Рис. 19). В этом окне можно изменить наименование сущности, а также редактировать ее атрибуты.

Рис. 19. Окно редактирования сущности

В закладке «Attributes» окна редактирования сущности можно добавлять, удалять и редактировать атрибуты сущности (Рис. 20).

Источник: https://studfile.net/preview/16567647/