Читать книгу «Базы данных. Лабораторный практикум» онлайн полностью📖 — Дмитрия Маголы — MyBook.

Лабораторная работа №1. Проектирование БД

Тема: Проектирование базы данных

Цель: Научиться осуществлять инфологическое и физическое моделирование базы данных выбранной предметной области.

Задание:

– В среде моделирования баз данных CA Erwin Data Modeler разработать проект базы данных на инфологическом (ER-модель) и физическом уровнях.

– В среде Microsoft SQL Server создать пустую базу данных (выполнение этого задания не требуется при условии выполнения задания №2 лабораторной работы №0).

– Произвести экспорт созданной физической модели базы данных на сервер Microsoft SQL Server.

В приведенном ниже описании выполнения этой и последующих лабораторных работ используется сервер Microsoft SQL Server 2014 и среда моделирования CA Erwin Data Modeler 9.6. При выполнении работы по аналогии экранные формы могут несколько отличаться от приведенных.

Описание выполнения работы:

1. Основные понятия ER-моделирования: Сущности, атрибуты, связи. Нормализация базы данных

На этапе инфологического проектирования базы данных должна быть построена модель предметной области, не привязанная к конкретной СУБД, понятная не только разработчикам информационной системы, но и пользователям. В то же время модель предметной области должна максимально точно отражать смысловое содержание предметной области, выявлять правила и позволять легко перейти к модели данных конкретной СУБД.

Такими моделями являются модели» сущность-связь» (Entity- Relationship, ER-модели). Наибольшее распространение построения ER-моделей получила методология IDEF1X. Ниже будет рассмотрено построение моделей «сущность-связь», ориентируясь на продукт CA ERwin Data Modeler 9.6 (Erwin) и методологию IDEF1X.

ERwin имеет два уровня представления модели:

– Логический уровень, соответствующий инфологическому этапу проектирования и не привязанный к конкретной СУБД. Модели логического уровня оперируют с понятиями сущностей, атрибутов и связей, которые на этом уровне именуются на естественном языке.

– Физический уровень – это отображение логической модели на модель данных конкретной СУБД. Одной логической модели может соответствовать несколько физических моделей. Erwin позволяет автоматизировать отображение логической модели на физическую.

Модель «сущность-связь» строится в виде диаграммы, основными компонентами которой являются сущности (Entity) и связи (Relationship).

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

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

У каждой сущности должен быть выделен идентификатор, или первичный ключ. Первичный ключ – это один или несколько атрибутов, однозначно определяющих каждый экземпляр сущности. Если первичный ключ состоит из нескольких атрибутов, то он называется составным. Первичный ключ не должен изменяться и принимать неопределенное значение (NULL). Ключ должен быть компактным, т. е. не содержать слишком много атрибутов. Сущность может иметь несколько потенциальных ключей, из которых должен быть выбран первичный ключ. Иногда используют искусственный первичный ключ (некоторый номер или код), когда ключ содержит слишком много атрибутов. Используется также понятие внешнего ключа. Внешний ключ – это первичный ключ другой сущности, который мигрирует (копируется) в сущность и служит для связи сущностей.

Пример сущности показан на рис. 1.1.

Рис. 1.1. Пример сущности


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

Связи между объектами реального мира отражаются в виде связей между сущностями, описывающими их отношения. Отношение – это ассоциация или «связь» между двумя сущностями. Отношение представляется в модели линией, соединяющей две сущности, и именем отношения – глагольной конструкцией, которая описывает, как две сущности зависят друг от друга. Имена сущностей, соединенные именем отношения, должны образовывать осмысленную фразу, описывающую правило отношения. Например, Сотрудник <Работает в> Отделе. В примере имя отношения показано в угловых скобках. Отношения двунаправлены, поэтому должны иметь имена в каждом направлении.

Отношение обладает следующими свойствами:

– степень,

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

– тип,

– мощность,

– обязательность.

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

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

Конец ознакомительного фрагмента.