Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка без заданий часть1.pdf
Скачиваний:
18
Добавлен:
12.05.2015
Размер:
310.49 Кб
Скачать

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

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

Модель данных может быть одним из трех видов (в соответствии с ANSI 1975 год) :

Концептуальная схема описывает семантику организации. Она состоит из классов сущностей и связей. Другое название — инфологическая модель данных.

Логическая схема описывает семантику, в частности, технологии манипулирования данными. Она состоит из описаний таблиц и столбцов, объектно ориентированных классов и XML тегов. Другое название — даталогическая модель данных.

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

Модели концептуальной схемы

Основные понятия

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

Атрибут — поименованная характеристика сущности. Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей (например, ЦВЕТ может быть определен для многих сущностей: СОБАКА, АВТОМОБИЛЬ, ДЫМ и т.д.). Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Примерами атрибутов для сущности АВТОМО-

- 4 -

БИЛЬ являются ТИП, МАРКА, НОМЕРНОЙ ЗНАК, ЦВЕТ и т.д. Здесь также существует различие между типом и экземпляром. Тип атрибута ЦВЕТ имеет много экземпляров или значений.

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

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

Тип данных определяет: 1) множество значений; 2) набор операций, которые можно применять к таким значениям и; 3) способ реализации хранения значений и выполнения операций. Любые данные, которыми оперируют программы, относятся к определенным типам. Подразделяются на базовые и пользовательские типы данных.

К базовым обычно включают строки символов, числовые типы, дата и время и т.п.

Домен — допустимое потенциальное, ограниченное подмножество значений данного типа. Например, домен ИМЕНА определен на базовом типе символьных строк, но в число его значений могут входить только те строки, которые могут представлять имена (в частности, для возможности представления русских имен такие строки не могут начинаться с мягкого или твердого знака и не могут быть длиннее, например, 20 символов).

Структура данных

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

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

Сущности, представленные в модели данных могут быть материальны-

- 5 -

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

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

Этапы концептуального моделирования

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

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

Определение типов связей.

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

Определение доменов атрибутов.

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

Специализация или генерализация типов сущностей (необязательный этап).

Создание диаграммы "сущность-связь".

Диаграмма сущность-связь

При построении логических моделей можно использовать язык ER-диа- грамм (от англ. Entity-Relationship, т.е. сущность-связь).

На использовании разновидностей ER-модели основано большинство современных подходов к проектированию баз данных (главным образом, реляционных). Модель была предложена Ченом (Chen) в 1976 г. Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов.

В них сущности изображаются помеченными прямоугольниками, ассоциации — помеченными ромбами или шестиугольниками, атрибуты — помеченными овалами, а связи между ними — ненаправленными ребрами, над ко-

- 6 -

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

Между двумя сущностям, например, А и В возможны четыре вида связей: один-к-одному, один-ко-многим, многие-к-одному, многие-ко-многим:

Мужчины

1

Брак

1

Женщины

Традиционный брак

1

M

 

 

 

 

 

 

 

 

Мужчины

Брак

Женщины

Многоженство

M

1

 

 

 

 

 

 

 

 

Мужчины

Брак

Женщины

Многомужество

M

N

 

 

 

 

 

 

 

 

Мужчины

Брак

Женщины

Групповой брак

 

 

 

 

 

 

 

 

Рис. 1. Виды связей один-к-одному, один-ко-многим, многие-к-одному, многие-ко-многим

Существуют и более сложные связи:

Множество связей между одними и теми же сущностями, например:

 

1

 

Лечащий врач

 

 

N

 

 

 

 

 

 

Врач

 

 

 

 

 

 

Пациент

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

 

Консультант

 

M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2. Множество связей между одними и теми же сущностями

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

Тренарные связи, например:

Квартира

Назначение

Жилец

 

Р

 

Сантехник

Рис. 3. Тренарные связи

- 7 -