Инфологическое проектирование информационной базы данных



Концептуальное (инфологическое) проектирование – построение семантической модели предметной области, то есть информационной модели наиболее высокого уровня абстракции. Такая модель создаётся без ориентации на какую-либо конкретную СУБД и модель данных. Термины «семантическая модель», «концептуальная модель» и «инфологическая модель» являются синонимами. Кроме того, в этом контексте равноправно могут использоваться слова «модель базы данных» и «модель предметной области» (например, «концептуальная модель базы данных» и «концептуальная модель предметной области»), поскольку такая модель является как образом реальности, так и образом проектируемой базы данных для этой реальности [15].

Чаще всего концептуальная модель базы данных включает в себя:

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

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

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

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

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

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

Так как предметом работы является склад целесообразно разбить информацию по одинаковым признакам и выделить следующие сущности:

1. Товар – информация о товарах и материалах, учет которых производится во время работы программы;

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

3. Сотрудник – сотрудники, работающие в компании;

4. Должность – должности сотрудников;

5. Тип и класс – информация о распределении товаров и материалов по принадлежности;

6. Пользователь – сотрудники, работающие с разрабатываемой программой;

7. Документ – документ, на основании которого происходит поставка или реализация товара;

8. Права доступа – тип учетной записи, определяющий допустимые операции, которые может выполнять пользователь программы.

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

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

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

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

Между двумя сущностям, например, А и В возможны четыре вида связей. Первый тип – связь один к одному: в каждый момент времени каждому представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности В.

Второй тип – связь один ко многим: одному представителю сущности А соответствуют 0, 1 или несколько представителей сущности В.

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

Указанные сущности имеют ряд атрибутов. Эти данные будут использованы при разработке таблиц базы данных.

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

Инфологическая модель применяется после словесного описания предметной области (рисунок 3.3).

 

Рисунок 3.3 – Инфологическая модель базы данных

 

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

- внутри определенного класса товаров можно выделить несколько типов товаров. Например, к классу "Сетевое оборудование" можно отнести такие типы как «коммутаоры», «маршрутизаторы», «сетевые адаптеры» и подобные;

- определенный товар принадлежит только к одному классу и, соответственно, только к одному типу товаров;

- товар поступил на склад в соответствии с определенными документами и от определенного поставщика;

- у каждого из товаров есть только один производитель;

- товар может быть закреплен за определенным сотрудником компании и находиться в его использовании;

- сотрудник компании занимает определенную должность внутри компании;

- сотрудник компании может быть пользователем программы складского учета, причем одному сотруднику может принадлежать несколько учетных данных для доступа к программе;

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

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

 


Дата добавления: 2018-10-25; просмотров: 373; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!