Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие(А4).doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.19 Mб
Скачать

7.3 Концептуальные модели данных

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

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

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

Модель данных — это комбинация трех составляющих:

1) набора типов структур данных;

2) набора операторов или правил вывода, которые могут быть применены к любым правильным примерам типов данных, чтобы находить, выводить или преобразовывать информацию, содержащуюся в любых частях этих структур в любых комбинациях;

3) набора общих правил (ограничений) целостности, которые прямо или косвенно определяют множество непротиворечивых состояний БД и/или множество изменений её состояния.

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

7.3.1 Типы структур данных

Среди широкого множества определений, обозначающих типы структур данных, наиболее распространена терминология КОДАСИЛ (CОnference of DAta SYstems Language) Международной ассоциации по языкам систем обработки данных, созданной в 1959 г.

Структуризация данных базируется на использовании концепций «агрегации» и «обобщения». Первый вариант структуризации данных был предложен Ассоциацией по языкам обработки данных (Conference on Data Systems Languages, CODASYL) (рис. 7.6).

В соответствии с этой терминологией используют пять типовых структур (в порядке усложнения):

  1. элемент данных;

  2. агрегат данных;

  3. запись;

  4. набор;

  5. база данных.

Рис. 7.6 — Композиция структур данных по версии CODASYL

Дадим краткие определения этих структур.

1) Элемент данных наименьшая поименованная единица данных, к которой СУБД может адресоваться непосредственно и с помощью которой выполняется построение всех остальных структур данных. Для каждого элемента данных должен быть определён его тип.

2) Агрегат данных поименованная совокупность элементов данных, которую можно рассматривать как единое целое. Агрегат может быть простым (включающим только элементы данных, рис. 7.7, а) и составным (включающим наряду с элементами данных и другие агрегаты, рис. 7.7, б).

3) Запись поименованная совокупность элементов данных и (или) агрегатов.

Рис. 7.7 — Примеры агрегатов:

а — простой и б — составной агрегаты

Запись — это агрегат, не входящий в состав никакого другого агрегата; она может иметь сложную иерархическую структуру, поскольку допускается многократное применение агрегации. Различают тип записи (её структуру) и экземпляр записи, т.е. запись с конкретными значениями элементов данных. Одна запись описывает свойства одного объекта ПрО (экземпляра).

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

Иногда термин «запись» заменяют термином «группа».

4) Набор поименованная совокупность записей, образующих двухуровневую иерархическую структуру.

Каждый тип набора представляет собой отношение (связь) между двумя или несколькими типами записей. Набор определяется путем объявления одного типа записи «записью-владельцем», а других типов — «записями-членами». При этом каждый экземпляр набора должен содержать один экземпляр «записи-владельца» и любое количество «записей-членов». Если запись представляет в модели данных сущность, то набор — связь между сущностями. Например, если рассматривать связь «учится» между сущностями «учебная группа» и «студент», то первая из сущностей объявляется «записью-владельцем» (она в экземпляре набора одна), а вторая — «записью-членом» (их в экземпляре набора может быть несколько).

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

Групповые отношения удобно изображать с помощью диаграммы Бахмана (названа по имени одного из разработчиков сетевой модели данных). Диаграмма Бахмана представляет собой ориентированный граф, в котором вершины соответствуют группам (типам записей), а дуги — иерархическим групповым отношениям (рис. 7.8).

Рис. 7.8 — Пример диаграммы Бахмана для фрагмента

БД «Город»

Здесь запись типа ПОЛИКЛИНИКА является владельцем записей типа ЖИТЕЛЬ и они связаны групповым отношением «диспансеризация». Запись типа ОРГАНИЗАЦИЯ также является владельцем записей типа ЖИТЕЛЬ и они связаны групповым отношением «работают». Записи типа РЭУ и типа ЖИТЕЛЬ являются владельцами записей типа КВАРТИРА с отношениями соответственно «обслуживают» и «проживают». Таким образом, запись одного и того же типа может быть членом одного отношения и владельцем другого.

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

Отметим, что структуры БД строятся на основании следующих основных композиционных правил:

  • БД может содержать любое количество типов записей и типов наборов;

  • между двумя типами записей может быть определено любое количество наборов;

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

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

Рассмотренные типы структур данных могут быть представлены в различной форме — графовой, табличной, в виде исходного текста языка описания данных конкретной СУБД.