Практическая работа 6. Проектирование логической модели реляционной базы данных

Цель работы: приобрести умение анализировать предметную область (ПО) информационной системы и на основе анализа создавать концептуальную, логическую модели будущей базы данных.

 

Теоретическая часть

Главными элементами семантической модели данных являются типы объек­тов, их атрибуты и типы связей. Типы объектов часто представляют в виде существительных, а типы связей — в виде глаголов.

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

Объекты

В процессе концептуального проектирования предметная область рассмат­ривается как объектная система, которая имеет следующие составляющие:

ü объект;

ü средство;

ü время;

ü связь.

Объекты обозначают вещи, которые пользователи считают важными в моде­лируемой части реальности: Объект — это то, о чем накапливается информа­ция в информационной системе и что может быть однозначно идентифици­ровано. Объекты могут быть атомарными или составными. Для составного объекта определяется его внутренняя структура. Каждый объект в конкретный момент времени характеризуется своим состоянием. Это состояние определя­ется с помощью ограниченного набора средств и связей с другими объектами. Составляющая время позволяет моделировать динамические системы.

Объект-mun (в дальнейшем просто объект) характеризуется независимым су­ществованием и представляет множество объектов реального мира с одинако­выми свойствами. Отдельные объекты, которые входят в данный тип, назы­вают экземплярами объекта. Различают реальные и концептуальные объекты. Примерами объектов могут быть люди, товары, дома, детали, книги и так да­лее. Это реальные объекты. Концептуальными объектами будут навыки, орга­низации, деловые операции, штатное расписание и многое другое.

Каждый объект имеет имя и изображается на диаграммах в виде прямо­угольника, а экземпляр объекта — в виде точки в прямоугольнике данного объекта.

В концептуальной модели могут присутствовать объекты двух видов: силь­ные и слабые. Объект, существование которого не зависит от существования другого объекта, называется сильным.

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

Ключи

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

Идентификацию некоторых объектов иногда приходится осуществлять при помощи составных ключей, которые включают несколько атрибутов.

Модель сущность-связь (ER-модель)— модель данных, позволяющая описывать концептуальные схемы предметной области.

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

Во время проектирования баз данных происходит преобразование ER-модели в конкретную схему базы данных на основе выбранной модели данных (реляционной, объектной, сетевой или др.).

ER-модель представляет собой формальную конструкцию, которая сама по себе не предписывает никаких графических средств её визуализации. В качестве стандартной графической нотации, с помощью которой можно визуализировать ER-модель, была предложена диаграмма сущность-связь (ER-диаграмма) (англ. entity-relationship diagram, ERD).

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

Связи между объектами

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

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

Процесс проектирования БД состоит из трёх этапов: концептуального, логического и физического проектирования. Результат каждого этапа – соответствующая модель ПО, что отражает трёхуровневую архитектуру (концептуальный, внешний, внутренний уровни) любой автоматизированной ИС.

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

Основной задачей логического проектирования является разработка логической схемы (модели), ориентированной на выбранную систему управления базами данных (СУБД).

Процесс логического проектирования состоит из следующих действий:

выбор конкретной СУБД;

отображение концептуальной схемы на логическую схему, получение логической МД, соответствующей внешнему уровню архитектуры любой автоматизированной ИС;

выбор ключей;

описание языка запросов.

Физическое проектирование: логическая модель данных отображается на физическую схему, в результате получается физическая модель, определяющая размещение данных, методы доступа и технику индексирования. Физическая модель соответствует внутреннему уровню архитектуры любой АИС. В современных СУБД (в том числе MS Access) процесс физического проектирования БД осуществляется автоматизированно средствами самой СУБД.

 

Практическая часть

Проектирование БД ИС “Бухгалтерский учёт на предприятии”.

 

1. Анализ предметной области: выявление информационных потребностей пользователей (запросы, отчёты и т.д.), анализ концептуальных требований и информационных потребностей, выявление информационных объектов (ИО) и связей между ними, построение концептуальной модели (схемы) данных.

2. Выбор информационных объектов, их свойств, определение связей между ними

В результате анализа предметной области выделено четыре ИО (План счетов, Контрагенты, Валюты, Журнал хозяйственных операций (ЖХО)), их свойства и связи.

Определим связи между сущностями:

 

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

Фрагмент концептуальной модели, соответствующей подсистеме “Расчёты с контрагентами”1 в виде ER-диаграмм “сущность” – “атрибут” – “связь”, представлен на рис. 1.

 

Рисунок 1. Фрагмент концептуальной модели предметной области

“Бухгалтерский учёт на предприятии”

 

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

4. Выбор конкретной СУБД для реализации БД (MS Access 2007/2010)

5. Отображение концептуальной модели на логическую: каждый прямоугольник ER-диаграммы – реляционная таблица (рисунок 2)

Рисунок 2. Отношение “План счетов”

 

6. Определение ключей каждой таблицы (первичных и внешних), уточнение связей между таблицами

Поле первичного ключа одной таблицы присутствует в качестве обычного поля в связанной (подчинённой) таблице, его и называют внешним ключом по отношению к главной таблице, например, поле Код контрагента в таблице Контрагенты первичный ключ, такое же поле Код контрагента в таблице Журнал хозяйственных операций внешний ключ (рис. 3). В таблице ЖХО простой первичный ключ – поле Номер операции. Простой ключ состоит из одного поля, составной – из нескольких полей. В таблице Валюты первичный ключ составной – из двух полей Код валюты и Дата. В таблице План счетов первичный ключ – поле Номер счёта. В таблице Контрагенты первичный ключ – поле Код контрагента. В таблице ЖХО поля Код валюты, Дата, Дебет, Код контрагента – внешние ключи, тип связей 1.

 

Рисунок 3. Логическая модель БД

 

7. Анализ на предмет соответствия правилам нормализации, при необходимости внести изменения (в СУБД MS Access этой цели служит инструмент Анализатор таблиц);

Все таблицы имеют четвёртую НФ.

 

Задание для самостоятельной работы

1. Спроектировать базу данных, состоящую из четырёх–пяти таблиц, описывающих определённую предметную область ИС. Каждая запись таблицы должна состоять не менее чем из пяти – восьми разнотипных полей. Рассмотреть предметную область зачисления абитуриентов на бюджетные места в некоторое учебное заведение. Абитуриенты сдают экзамены на один или несколько специальностей. Известно расписание экзаменов: дата, предмет экзамена, специальность, на который экзамен сдается. На экзаменах абитуриенты получают оценки. По каждому абитуриенту хранятся некоторые данные, в частности, номер и дата выдачи аттестата.

2. Определить ключи таблиц и типы связей между ними.

3. Концептуальную модель предметной области представить в виде ER-диаграмм (по аналогии с рис. 1), логическую модель – в виде схемы сообразно рис. 3.

 

Контрольные вопросы

1. Из каких элементов строится ER-диаграмма?

2. Каким образом на диаграмме обозначаются связи?

3. Какие виды связей возможны между объектами?