Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кр_пасои(4).doc
Скачиваний:
106
Добавлен:
16.03.2015
Размер:
1.44 Mб
Скачать
  1. Проектирование базы данных информационной системы

    1. Инфологическое проектирование

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

Концептуальная модель — это абстрактная модель, определяющая структуру моделируемой системы, свойства её элементов и причинно-следственные связи, присущие системе и существенные для достижения цели моделирования.

Концептуальная модель базы данных (рисунок 11) относительно легко может быть отображена в любую систему баз данных. Одной из наиболее распространенных разновидностей нотации ERD является нотация, предложенная Ричардом Баркером [4].

Рисунок 11 - Концептуальная модель

После построения концептуальной модели, построим информационную модель.

Информационная модель - это спецификация структуры данных и

бизнес правил (правил предметной области).

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

  1. Определение сущностей.

  2. Определение зависимостей между сущностями.

  3. Задание первичных и альтернативных ключей.

  4. Определение атрибутов сущностей.

  5. Приведение модели к требуемому уровню нормальной формы.

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

Данная технология работает со следующими сущностями:

  • клиенты;

  • турагенты;

  • путевки;

  • заказы;

  • страна;

  • тип отеля;

  • питание;

  • туроператор.

Для построения логической модели базы данных необходимо выбрать необходимую модель базы данных[5].

Любая модель должна обеспечивать такие операции над БД:

  • поиск указанного элемента базы;

  • переход от одних данных к другим;

  • движение по записям.

Существуют три основных типа моделей данных:

  • реляционная;

  • иерархическая;

  • сетевая.

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

Узел - информационная модель элемента, находящегося на данном уровне иерархии.

Свойства иерархической модели данных:

  • несколько узлов низшего уровня связано только с одним узлом высшего уровня;

  • иерархическое дерево имеет только одну вершину (корень), не подчиненную никакой другой вершине;

  • каждый узел имеет свое имя (идентификатор);

  • существует только один путь от корневой записи к более частной записи данных.

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

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

Основной структурой в сетевых моделях данных является «сеть». При таком представлении существует несколько входов в сеть - неоднозначность доступа к данным. Особенности такого представления: один или несколько узлов могут иметь больше одного родителя; время доступа изменяется в зависимости от исходного входа. Время доступа в сетевой структуре может быть больше, чем в иерархической структуре.

К достоинствам сетевой модели относят:

  • возможность создания произвольных связей;

  • эффективную реализацию с точки зрения затрат времени и памяти.

Недостатки модели:

  • сложность и жесткость схемы;

  • сложность в установлении и проверке целостности данных.

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

«Реляционный» (от латинского relatio - отношение) указывает, прежде всего, на то, что такая модель хранения данных построена на взаимоотношении составляющих ее частей.

Реляционная модель данных имеет следующие свойства:

  • каждый элемент таблицы - один элемент данных;

  • каждое поле имеет уникальное имя;

  • все поля в таблице являются однородными, т.е. имеют один тип;

  • одинаковые записи в таблице отсутствуют;

  • порядок записей в таблице может быть произвольным и может характеризоваться количеством полей, типом данных.

В реляционной модели считается, что все данные ИС представлены в виде таблиц. Строки в каждой таблице - это кортеж неструктурированных единиц данных, «атрибутов». Набор кортежей, составляющий таблицу, образует математическое отношение; таким образом, модель данных представляется множеством таблиц-отношений (называемых также R-таблицами); отсюда название "реляционная", т.е. модель, представленная отношениями.

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

Также данная модель соответствует следующим требованиям:

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

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

Учитывая свойства моделей и требования, остановим выбор на реляционной модели.