45213 (664389), страница 2
Текст из файла (страница 2)
Основа МИП – это графические документы, то есть схемы информационных потоков – СИП. СИП верхнего уровня – это отражение представления пользователя о функциональной стороне. СИП нижнего уровня – это детализированное представление СИПа верхнего уровня. МИП разрабатывается последовательно с логической моделью данных, причем эти модели должны дополнять друг друга.
С
хема информационных потоков первого уровня представлена на рисунке 4, а
СИП второго уровня – на рисунке 5.
2. Проектирование базы данных
2.1 Определение объектов
Объектом называется элемент информационной системы, информацию о котором мы сохраняем. В реляционной теории баз данных объект называется сущностью.
Объект может быть реальным (например, человек, какой-либо предмет или населенный пункт) и абстрактным (например, событие, счет покупателя или изучаемый студентами курс). Так, в области продажи недвижимости примерами объектов могут служить ОБЪЕКТ НЕДВИЖИМОСТИ, КЛИЕНТ и СЧЕТ. На товарном складе – это ПОСТАВЩИК, ТОВАР, ОТПРАВЛЕНИЕ и т. д. Каждый объект обладает определенным набором свойств, которые запоминаются в информационной системе. При обработке данных часто приходится иметь дело с совокупностью однородных объектов, например таких, как служащие, и записывать информацию об одних и тех же свойствах для каждого из них.
Классом объектов называют совокупность объектов, обладающих одинаковым набором свойств.
Таким образом, для объектов одного класса набор свойств будет одинаков, хотя значения этих свойств для каждого объекта, конечно, могут быть разными. Например, класс объектов ОБЪЕКТ НЕДВИЖИМОСТИ будет иметь одинаковый набор свойств, описывающих характеристики объектов недвижимости, и каждый объект недвижимости будет иметь различные значения этих характеристик.
Объекты и их свойства являются понятиями реального мира. В мире информации, существующем в представлении программиста, говорят об атрибутах объектов.
Атрибут — это информационное отображение свойств объекта. Каждый объект характеризуется рядом основных атрибутов.
Например, сотрудник характеризуется фамилией, именем, табельным номером т. д. Клиент магазина, продающего автомобили, имеет такие атрибуты, как фамилию, имя, отчество, адрес и, возможно, идентификационный номер. Каждый атрибут в модели должен иметь уникальное имя – идентификатор. Атрибут при реализации информационной модели на каком-либо носителе информации часто называют элементом данных, полем данных или просто полем. Взаимосвязь между перечисленными выше понятиями проиллюстрирована схемой, приведенной на рисунке 5.
В нашем случае объектами будут являться:
-
объекты недвижимости;
-
клиенты;
-
сотрудники;
-
заказы.
Список объектов и их атрибутов приведен в таблице 1.
Таблица 1 – Перечень объектов и их атрибутов
| Объект | Атрибуты |
| Объект недвижимости | Наименование |
| Категория | |
| Адрес | |
| Страна | |
| Владелец | |
| Стоимость | |
| Клиент | Организация |
| Адрес | |
| Индекс | |
| Телефон | |
| Заказ | Клиент |
| Сотрудник | |
| Владелец | |
| Заказанные объекты | |
| Дата размещения заказа | |
| Дата оплаты | |
| Сумма заказа |
Продолжение таблицы 1
| Объект | Атрибуты |
| Сотрудник | Фамилия |
| Имя | |
| Отчество | |
| Адрес | |
| Телефон |
2.2 Определение взаимосвязей между объектами
Исходя из задачи, выделим следующие сущности:
-
Владелец;
-
Недвижимость;
-
Клиент;
-
Продавец;
-
Заказ;
-
Продажа;
-
Счет.
О
пределим для включенных в модель сущностей взаимосвязи. Полученная после этого модель представлена на рисунке 6.
Взаимосвязь выражает отображение или связь между двумя множествами данных. Различают взаимосвязи типа «один к одному», «один ко многим» и «многие ко многим».
В рассматриваемой задаче по автоматизации управления работой дилера по продаже недвижимости, если клиент производит заказ на покупку впервые, осуществляется первичная регистрация его данных и сведений о сделанном заказе. Если же клиент производит заказ повторно, осуществляется регистрация только данного заказа. Вне зависимости от того, сколько раз данный клиент производил заказы, он имеет уникальный идентификационный номер (уникальный ключ клиента). Информация о каждом клиенте включает наименование организации клиента, адрес, телефон, факс и примечание. Таким образом, атрибутами объекта КЛИЕНТ являются «УНИКАЛЬНЫЙ КЛЮЧ КЛИЕНТА», «НАИМЕНОВАНИЕ КЛИЕНТА», «АДРЕС КЛИЕНТА» и т. д.
Следующий представляющий для нас интерес объект – ОБЪЕКТ НЕДВИЖИМОСТИ. Этот объект имеет атрибуты «УНИКАЛЬНЫЙ КЛЮЧ ОБЪЕКТА», «НАИМЕНОВАНИЕ ОБЪЕКТА» и т. д.
Третий рассматриваемый объект — ЗАКАЗ. Его атрибутами являются «НОМЕР ЗАКАЗА», «КЛЮЧ КЛИЕНТА» и «КЛЮЧ ОБЪЕКТА НЕДВИЖИМОСТИ».
И четвертый рассматриваемый объект — СОТРУДНИК. Его атрибутами являются «УНИКАЛЬНЫЙ КЛЮЧ СОТРУДНИКА», «ИМЯ СОТРУДНИКА», «ФАМИЛИЯ» и «ОТЧЕСТВО».
Схема взаимосвязей между атрибутами в модели приведена на рисунке 7.
Р
исунок 1 – Схема взаимосвязей между атрибутами в модели
2.3 Задание атрибутов, первичных и альтернативных ключей объектов
При переходе к проектированию базы данных основные объекты будут описывать следующие атрибуты (информация, хранимая в таблицах):
Сущность «Клиенты»:
-
код клиента (ключевое поле);
-
организация;
-
адрес;
-
индекс;
-
телефон;
-
город;
-
регион;
-
страна;
-
описание счета;
-
факс.
Сущность «Объекты недвижимости»:
-
код объекта недвижимости (ключевое поле);
-
наименование;
-
категория;
-
физический адрес;
-
страна;
-
код владельца;
-
описание;
-
стоимость.
Сущность «Заказы»:
-
код заказа (ключевое поле);
-
код клиента;
-
наименование;
-
код сотрудника;
-
сумма заказа;
-
дата размещения;
-
дата оплаты.
Сущность «Владельцы»:
-
код владельца (ключевое поле);
-
организация;
-
адрес;
-
индекс;
-
телефон;
-
город;
-
регион;
-
страна;
-
описание счета;
-
факс.
Сущность «Сотрудники»:
-
код сотрудника (ключевое поле);
-
фамилия;
-
имя;
-
отчество;
-
домашний адрес;
-
рабочий телефон.
2.4 Нормализация модели
Приведение модели к требуемому уровню нормальной формы является основой построения реляционной БД.
В процессе нормализации элементы данных группируются в таблицы, представляющие объекты и их взаимосвязи. Теория нормализации основана на том, что определенный набор таблиц обладает лучшими свойствами при включении, модификации и удалении данных, чем все остальные наборы таблиц, с помощью которых могут быть представлены те же данные. Введение нормализации отношений при разработке информационной модели обеспечивает минимальный объем физической, то есть записанной на каком-либо носителе БД и ее максимальное быстродействие, что впрямую отражается на качестве функционирования информационной системы. Нормализация информационной модели выполняется в несколько этапов.
Данные, представленные в виде двумерной таблицы, являются первой нормальной формой реляционной модели данных.
Первый этап нормализации заключается в образовании двумерной таблицы, содержащей все необходимые атрибуты информационной модели, и в выделении ключевых атрибутов. Очевидно, что полученная весьма внушительная таблица будет содержать очень разнородную информацию. В этом случае будут наблюдаться аномалии включения, обновления и удаления данных, так как при выполнении этих действий нам придется уделить внимание данным (вводить или заботиться о том, чтобы они не были стерты), которые не имеют к текущим действиям никакого отношения. Например, может наблюдаться такая парадоксальная ситуация. При включении в каталог продаж новой модели автомобиля нам сразу придется указать купившего ее клиента.
Отношение задано во второй нормальной форме, если оно является отношением в первой нормальной форме и каждый атрибут, не являющийся первичным атрибутом в этом отношении, полностью зависит от любого возможного ключа этого отношения.
Если все возможные ключи отношения содержат по одному атрибуту, то это отношение задано во второй нормальной форме, так как в этом случае все атрибуты, не являющиеся первичными, полностью зависят от возможных ключей. Если ключи состоят более чем из одного атрибута, отношение, заданное в первой нормальной форме, может не быть отношением во второй нормальной форме. Приведение отношений ко второй нормальной форме заключается в обеспечении полной функциональной зависимости всех атрибутов от ключа за счет разбиения таблицы на несколько, в которых все имеющиеся атрибуты будут иметь полную функциональную зависимость от ключа этой таблицы. В процессе приведения модели ко второй нормальной форме в основном исключаются аномалии дублирования данных.
Отношение задано в третьей нормальной форме, если оно задано во второй нормальной форме и каждый атрибут этого отношения, не являющийся первичным, не транзитивно зависит от каждого возможного ключа этого отношения.
Транзитивная зависимость выявляет дублирование данных в одном отношении. Если А, В и С – три атрибута одного отношения и С зависит от В, а В от А, то говорят, что С транзитивно зависит от А. Преобразование в третью нормальную форму происходит за счет разделения исходного отношения на два.
В данном случае во избежание дублирования данных выделены две таблицы-справочника – «Категории» и «Страны». После этого, как видно из схемы взаимосвязей сущностей (рисунок 8), модель находится в первой нормальной форме.
Р
исунок 2 – Схема взаимосвязей сущностей после нормализации модели
2.5 Физическое описание модели
Модель реализована в СУБД Microsoft Access 2002. В соответствии с изложенным выше, физическая модель состоит из семи таблиц, описание полей которых приведены в таблице 2.
Таблица 2 – Перечень объектов и их атрибутов
| Наименование поля | Примечание | Тип поля | Ограничение |
| Таблица «Объекты недвижимости» | |||
| Ключ объекта недвижимости | Первичный ключ, индексированное | Счётчик | |
| Наименование | Текстовое | 50 | |
| Ключ категории | Индексированное, для связи с таблицей «Категории» | Числовое | Целое положительное |
| Физический адрес | Текстовое | 200 | |
| Ключ страны | Индексированное, для связи с таблицей «Страны» | Числовое | Целое положительное |
| Ключ владельца | Индексированное, для связи с таблицей «Владельцы» | Числовое | Целое положительное |
| Описание | Поле примечания | Memo | |
| Стоимость | Денежный | Положительное | |
Продолжение таблицы 2
| Наименование поля | Примечание | Тип поля | Ограничение |
| Таблица «Владельцы» | |||
| Ключ владельца | Первичный ключ, индексированное | Счётчик | |
| Организация | Текстовое | 50 | |
| Адрес | Текстовое | 200 | |
| Индекс | Числовое | Целое положительное | |
| Телефон | Текстовое | 15 | |
| Город | Текстовое | 50 | |
| Регион | Текстовое | 50 | |
| Ключ страны | Индексированное, для связи с таблицей «Страны» | Числовое | Целое положительное |
| Описание счёта | Поле примечания | Memo | |
| Факс | Текстовое | 15 | |
| Таблица «Клиенты» | |||
| Ключ клиента | Первичный ключ, индексированное | Счётчик | |
| Организация | Текстовое | 50 | |
| Адрес | Текстовое | 200 | |
| Индекс | Числовое | Целое положительное | |
| Телефон | Текстовое | 15 | |
| Город | Текстовое | 50 | |
| Регион | Текстовое | 50 | |
| Ключ страны | Индексированное, для связи с таблицей «Страны» | Числовое | Целое положительное |
| Описание счёта | Поле примечания | Memo | |
| Факс | Текстовое | 15 | |
Продолжение таблицы 2
| Наименование поля | Примечание | Тип поля | Ограничение |
| Таблица «Заказы» | |||
| Ключ заказа | Первичный ключ, индексированное | Счётчик | |
| Ключ клиента | Индексированное, для связи с таблицей «Клиенты» | Числовое | Целое положительное |
| Ключ объекта | Индексированное, для связи с таблицей «Объекты» | Числовое | Целое положительное |
| Ключ сотрудника | Индексированное, для связи с таблицей «Сотрудники» | Числовое | Целое положительное |
| Сумма заказа | Вычисляемое программно | Денежное | Положительное |
| Дата размещения | Дата | ||
| Дата оплаты | Дата | ||
| Таблица «Сотрудники» | |||
| Ключ сотрудника | Первичный ключ, индексированное | Счётчик | |
| Фамилия | Текстовый | 20 | |
| Имя | Текстовый | 20 | |
| Отчество | Текстовый | 20 | |
| Домашний адрес | Текстовое | 50 | |
| Рабочий телефон | Числовое | 7 | |
| Таблица «Категории» | |||
| Ключ категории | Первичный ключ, индексированное | Счётчик | |
| Категория | Текстовое | 50 | |
| Таблица «Страны» | |||
| Ключ страны | Первичный ключ, индексированное | Счётчик | |
| Страна | Текстовое | 50 | |
2.6 Обоснование выбора СУБД
Microsoft Access – это самая популярная сегодня настольная система управления базами данных. Ее успех можно связывать с великолепной рекламной кампанией, организованной Microsoft, или включением ее в богатое окружение продуктов семейства Microsoft Office. Вполне возможно, что это так. Но корень успеха, скорее всего, заключается в прекрасной реализации продукта, рассчитанного как на начинающего, так и квалифицированного пользователя. Не будем сейчас вдаваться в подробности сравнения отдельных характеристик Access и его основных конкурентов, например Paradox for Windows или Lotus Approach. Эта тема прекрасно освещена в периодической компьютерной печати.













