Модель данных. Системы управления базами данных

  • 02.08.2019

План


База данных (БД)

СУБД



Модель данных

Иерархическая модель базы данных

Сетевая модель базы данных

Строка таблицы - это запись, которая содержит информацию об отдельном объекте таблицы (один ученик).

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

Одинаковые записи в таблице не допускаются, поскольку во всех записях поля им предоставляют уникальные имена, фамилия СУБД Access позволяет:

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

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

Примеры реляционных СУБД: dBASE, FoxBase, FoxPro и Access.

Приложение MS Access является системой управления базами данных, которая входит в состав пакета Microsoft Office и предназначена для работы за персональным компьютером или в сети под управлением операционной системы Windows.

База данных СУБД Access является реляционной базой данных, которая состоит из взаимосвязанных двумерных таблиц.

СУБД Access дает возможность:

· Проектировать табличные объекты базы данных;

· Устанавливать связи между таблицами;

· Вводить, хранить, просматривать, сортировать, изменять данные таблицы с использованием аппарата алгебры логики и индексирования;

· Создавать и использовать объекты БД.

Объекты СУБД Access:

Базы данных - файл, который содержит различные объекты сохранения данных.

Таблицы (tables ) - организация хранения данных в виде двумерного массива. Она является основным объектом БД. Остальные - производные от таблицы.

Формы - объекты для отображения данных из таблицы на экране в удобном для просмотра и обработки виде.

Запросы - объекты для выбора и фильтрации данных таблицы по определенным критериям.

Отчет - формирование документа данных из таблицы для печати.

Макросы - описание действий в виде последовательности команд и их автоматического выполнения.

Модули - программы на Visual Basic, которые разрабатывает пользователь для реализации нестандартных процедур.

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

Модель "сущность-связь" (ER-модель) (англ. Entity-relationship model или entity-relationship diagram) - модель данных, позволяющая описывать концептуальные схемы с помощью обобщенных конструкций блоков. ER-модель - это метамодель данных, то есть средство описания моделей данных.

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

Существует ряд моделей для представления знаний. Одним из наиболее удобных инструментов унифицированного представления данных, независимого от реализующего его программного обеспечения, является модель "сущность-связь" (entity - relationship model, ER - model ).

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

ER-модель - это одна из наиболее простых визуальных моделей. Она позволяет постичь структуру объекта «крупными мазками», в общих чертах. Такое общее описание структуры называется ER-диаграммой или онтологией выбранной предметной области (area of interest).

Типичные примеры использования ER-модели данных IDEF1x (ICAM DEFinition Language) и dimensional modelling.

Отношение реляционных баз данных .

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

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

· не может быть одинаковых первичных ключей, то есть все строки (записи) должны быть уникальными;

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

· имена столбцов таблицы должны быть различны, а значения столбцов должны быть однотиповыми;

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

· должна сохраняться целостность внешних ключей;

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

Обеспечивается поддержка таких типов связей между записями: один ко многим; многие к одному, многие ко многим .

Основные этапы работы с базами данных:

Проектирование таблицы.

После создания нового банка данных с помощью директивы File/New Database (Создать новый банк) или открытие существующего банка с помощью File/Open Database (Открыть банк) на экране в рамках окна Access появляется окно банка данных.

В меню File выберите директиву New (Создать новый объект), а в подменю - опцию Table (Таблица).

Назначение имен полей

Каждая строка спецификации определяет характеристики одного поля записи. В колонку Fіeld Name задается имя поля. Оно может иметь длину до 64 символов и может содержать кириллицу, пробелы и специальные символы, за исключением точек, восклицательного знака и угловых скобок. Естественным ограничением является запрет на наличие в одной таблице двух полей с одинаковыми именами.

Установка типа данного поля

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

Text. Текстовые поля содержат текст, длина которого не может быть больше 255 символов. Реальная длина поля устанавливается с помощью параметра Fіeld Size (Размер поля)

Memo. В Memo-полях текст длиной до 32000 символов. Поля этого типа данных не могут индексироваться.

Number. Числовые поля содержат произвольные числовые значения. Диапазон допустимых значений определяется параметром Fіeld Size (Размер поля).

Date/Time. Поля даты/времени содержат значения даты и времени в диапазоне от 100 до 9999 года.

Currency. В денежных полях можно хранить числа с точностью до 15 разрядов слева от запятой и четырех десятичных разрядов (обычно достаточно двух) справа от запятой.

Counter. Поле счетчика, содержит число, которое автоматически увеличиваются Access на 1, когда в таблицу добавляется новый блок данных.

Yes/No. В таких полях хранятся значения Yes (Да) или No (Нет). Поля данного типа не могут индексироваться.

OLE Object. В OLE-полях содержатся объекты, такие как, например, Excel-таблица или Microsoft Draw-графика, обработанные OLE-сервером. Размер поля может быть до 128 МБ.

Определение размера поля. Для числовых полей параметр Fіeld Size может иметь одно из следующих значений:

Byte . Хранит числа от 0 до 255 (только целые). Занимает 1 байт.

Іnteger . Хранит числа от -32768 до 32767 (только целые). Занимает 2 байта.

Long Іnteger . Хранит числа от -2147483648 до 2147483647 (только целые). Занимает 4 байта.

Sіngle . Хранит числа с шестиразрядной точностью от 3,402823Е38 до 3.402823Е38. Занимает 4 байта.

Double . Хранит числа с десятиразрядной точностью от -1.79769313486232Е308 до 1,79769313486232Е308. Занимает 8 байтов (стандартная установка).

Определение параметров поля

Характеристики каждого поля определяются рядом параметров. Эти параметры регламентируют способы обработки, хранения и индикации данных.

Fіeld Sіze (Размер поля). Устанавливает максимальную длину текстового поля или способ представления чисел в поле типа Number.

Format (Формат). Определяет способ представления данных. Наряду с определенными форматами допускается использование собственных форматов пользователя.

Decіmal Places (Десятичные разряды). Устанавливает количество разрядов справа от десятичной запятой.

Captіon (Надпись). Определяет надпись, которая будет использоваться в качестве наименования поля в формуляре или отчете. Если для этого параметра не будет задано никакое значение, то, как надпись, будет по умолчанию использовано имя поля.

Default Value (Значение по умолчанию). Устанавливает значение, которое будет автоматически введено в поле при генерации блока данных.

Valіdatіon Rule (Ограничения введения). Правило, которое ограничивает допустимые для ввода в поле данные.

Valіdatіon Text (Сообщение о нарушении). При попытке ввести в поле данные, не удовлетворяющие правилу, сформулированному в Valіdatіon Rule.

Іndexed (Индексированное поле). Признак индексирования.

Добавление и удаление полей

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

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

2. В меню Edit выберите директиву Undo Delete (Отменить удаление). Однако отменить операцию удаления и восстановить исходное состояние таблицы можно только в случае, если после удаления не были сделаны никакие другие изменения в структуре или содержании банка. Access гарантирует возможность отмены, но только для последней выполненной операции.

3. Закройте окно таблицы и нажмите командную кнопку No (Нет) в диалоговом окне запроса о необходимости сохранения изменений. Однако в этом случае будут проигнорированы и все другие изменения, выполненные за этот сеанс работы с таблицей.

Установка первичного ключа

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

Первичный ключ может быть определен только в режиме проектирования таблицы. Маркируйте поле, что должно стать полем первичного ключа и вызовите директиву Set Ргімагу Key (Установить ключ) в меню Edit. Маркированная поле немедленно обозначается значком ключа в селекторном столбике (это и есть признак того, что поле объявлено первичным ключом) и соответственно индексируется.

Если к моменту выхода из режима проектирования первичный ключ для создаваемой таблицы не будет объявлен, то Access спросит, стоит ли включить в таблицу поле первичного ключа. Если пользователь ответит положительно (Yes), то Access создаст особое поле с именем ID, в которое для каждого блока данных будет вводиться.

Понятие таблицы, поля, записи. Основные этапы работы с базами данных в среде системы управления базами данных. Отображение модели «сущность-связь» базы данных. Свойства полей, типы данных. Ввод данных в таблицы. Сортировка, поиск и фильтрация данных.

Таблица - это набор именованных полей, в которых описываются свойства объектов.

Таблица предусматривает отражение данных в виде строк и столбцов. Столбец содержит характеристику объектов; строка - совокупность характеристик об одном экземпляре объекта. Записью является строка таблицы базы данных

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

Запись - строка таблицы. Одна запись содержит данные про отдельный объект, который описывают в базах данных.

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

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

Существует несколько методов построения концептуальной модели базы данных. Один из наиболее распространенных методов основывается на модели, которая основана на предоставлении предметной области в виде двух типов объектов - сущностей и связей.

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

Существует понятие степени связи между сущностями, относящихся к связи.

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

На этапе логического проектирования сущности и связи превращаются в логическую модель данных, построенную по законам логики. Как мы уже упоминали на первом уроке, существует несколько логических моделей данных. Среди них выделяют реляционную, иерархическую и сетевую. Наиболее широко сейчас используется реляционная модель. На английском «relation» - отношение, отсюда и название модели.
Отношение представляется в виде таблицы, состоящей из строк и столбцов. Каждый столбец отношения называют полем, а строку - записью. Названия полей - атрибутов. В отличие от обычной таблицы основное свойство отношения заключается в том, что в нем не должно быть одинаковых записей. Это связано с тем, что отношение отражает название определенного множества объектов, а каждая запись представляет элемент этого множества. Конечно, элементы множества должны быть разными.

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

Существует несколько методов построения концептуальной модели базы данных. Один из наиболее распространенных методов основывается на ER-модели. Эта модель основана на представлении предметной области в виде двух типов объектов - сущностей и связей.

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

Сущность УЧЕНИК - имя сущности.

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

Например, пусть сущность УЧЕНИК имеет характеристики ФАМИЛИЮ, ИМЯ, ОТЧЕСТВО, ДАТА РОЖДЕНИЯ, ДОМАШНИЙ АДРЕС. Будем записывать это в таком виде: УЧЕНИК (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ДАТА РОЖДЕНИЯ, ДОМАШНИЙ АДРЕС). Примеры экземпляров этой сущности - (Сидоров, Петр, Васильевич, 01.02.1985, ул. Цветочная 33), (Иванова, Ольга, Борисовна 12.05.1986, просп. Победы, 231, кв. 3).

Связи отражают важные для проектируемой базы данных отношения между сущностями. Это связи - ОБУЧАЕТСЯ (ученик в классе), ИЗЛАГАЕТ (учитель предмет для класса в кабинете) и т.п. Как правило, связи выражаются глаголами.

Связь между сущностями можно изобразить в виде линий между конкретными экземплярами. Ниже иллюстрируется связь ПОСЕЩАЕТ между сущностями УЧЕНИК и КРУЖОК. Если сущность можно представить в виде таблицы, то для представления связей нужно создать дополнительные таблицы, в которые помещают информацию о связываемых данных.

Объекты СУБД Access:

Таблица - организация хранения данных в виде двумерного массива. Она является основным объектом БД. Остальные - производные от таблицы.

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

Запросы - объекты для выбора и фильтрации данных таблицы по определенным критериям.

Отчет - формирование документа.

Макросы - описание действий в виде последовательности команд и их автоматического выполнения.

Модули - программы на языке Visual Basic, которые разрабатывает пользователь для реализации нестандартных процедур.

Создание таблиц.

Таблицы - это объекты, в которых непосредственно хранятся данные.

Создать таблицу можно, выбрав в окне БД на вкладке Таблица и используя Конструктор или Мастер. Но есть и другие способы (см. табл.).

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

Заполнение таблиц.

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

Типы данных.

В таблицах Access можно указать типы данных.

ФОРМА ИСПОЛЬЗУЕТСЯ ДЛЯ ОТОБРАЖЕНИЯ
Текст Короткие буквенно-цифровые значения, например фамилия или адрес.
Число Числовые значения, например расстояние. Обратите внимание, что для денежных единиц существует отдельный тип данных.
Денежная единица Денежные значения.
Да/Нет Значение "Да" и "Нет" и поля, содержащие только одно из двух значений.
Дата и врем Значения даты и времени для лет от 100 до 9999.
Форматированный текст Текст или сочетание текста и чисел, которое можно отформатировать с помощью элементов управления цветом и шрифтом.
Вычисляемое поле Результаты вычисления. В расчетах должны использоваться другие поля той же таблицы. Для создания вычислений используется построитель выражений.
Вложения Вложенные в записи базы данных, файлы электронных таблиц, документы, диаграммы и другие типы поддерживаемых файлов, подобно вложений в сообщениях электронной почты.
Гиперссылки Текст или сочетание текста и чисел, которое хранится в виде текста и используется как адрес гиперссылки.
Примечание Длинные фрагменты текста. Поле типа "Примечание" часто используется для хранения подробного описания продукта.
Подстановка Список значений из таблицы или запроса, или набор значений, указанных при создании поля. Поле подстановок можно создать с помощью мастера подстановок. Тип данных в поле подстановок текстовый или числовой, в зависимости от того, какие параметры были выбраны в мастере.

Ввод и редактирование.

Ввод и редактирование данных происходит путем переключения между режимами Представления таблицы и Конструктор.

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

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

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

Иначе отображается сообщение об ошибке.

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

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

Понятие языка SQL.

Языковой поддержкой проведения транзакций является, как правило, язык SQL. Языки реляционного исчисления основаны на классическом исчислении предикатов. Они предоставляют пользователю набор правил для написания запросов к базам данных. В таком запросе содержится лишь информация о желаемом результате. На основе запроса система управления базами данных автоматически, путем формирования новых отношений, формирует желаемый результат. Языки реляционного исчисления являются непроцедурными. Первый язык реляционного исчисления ALFA была разработана самим Е.Ф.Коддом.

В настоящее время широкое распространение получил язык SQL (Structured Query Language). Язык SQL был разработан фирмой IBM в середине 70-ых годов, а затем одобрен и поддержан многими компаниями как стандарт языка управления реляционными базами данных. Эта речь была разработана на основе стандарта языка, которая использовалась в системе управления базами данных dBase. Международная федерация по обработке информации (AFIP) и международная организация по стандартизации (ISO) формируют и уточняют стандарты для дальнейших разработок языка SQL. Речь ориентирована на проведение операций с данными, которые подаются в виде логически взаимосвязанной совокупности таблиц. Основным отличием от исходного языка dBase является то, что язык SQL разработан для проведения операций с таблицами, в то время как язык dBase ориентирован на работу с записями.

Функции языка SQL.

Использование концепции операций, ориентированных на табличное представление данных, позволило создать компактный язык SQL с небольшим набором команд. Такой подход позволяет достаточно легко определять, выводить и обновлять информацию в базе данных, упростив программирование сложных запросов. Особенностью команд языка SQL является то, что они в большей степени ориентированы на конечный результат обработки данных, чем на процедуру этой обработки. Система определяет оптимальный путь до вывода данных. Язык SQL - это непроцедурная речь. Полный набор команд языка SQL включает около 30 команд.

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

Эффективное использование команд языка SQL реализуется благодаря использованию и созданию специальной информации, которая позволяет ссылаться на каждую таблицу и выборку. Эта информация содержится в файлах, которые называются каталогами таблиц, которые формируются во время создания базы данных. Каждая команда языка SQL заканчивается “;”. Каждая команда SQL, которая называется предложением, начинается глаголом, которое определяет имя базовой операции. В состав многих команд входят ключевые слова и предложения, которые уточняют выполнения базовых операций. Кроме того, в команду SQL нужно включить данные, которые будут обрабатываться и (или) операции, которые нужно над этими данными выполнить.

Язык SQL оперирует с понятием баз данных, содержащих всю информацию, которая необходима для обработки данных в прикладной программе. В полный состав баз данных SQL входят такие компоненты:

· таблицы - основные структуры данных в базах данных;

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

· синонимы - альтернативные имена таблиц и выборок;

· индексные файлы, которые присоединяются к таблицам для обеспечения быстрого поиска данных и поддержания целостности баз данных;

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

Развитие языка SQL.

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

Неполнота требований SQL -89 привела к созданию в 1992 году следующей версии языка SQL -92, которая охватывала более широкий диапазон функций: манипулирование структурой базы данных, управление транзакциями и сессиями, динамический SQL. В стандартной версии предполагается три уровня: базовый, промежуточный и полный. Только последние версии систем управления базами данных обеспечивают совместимость с полным стандартом. Работа над совершенствованием этого языка не прекращается. Усовершенствования будут, в первую очередь, проводится в направлении включения механизма триггеров, определении произвольного типа данных.

План

1. Понятие модели данных, базы данных. Понятие и назначение систем управления базами данных.
2. Обзор реляционной модели данных. Модель «сущность-связь». Понятие отношения, атрибута, ключа, связи. Классификация связей с множественностью и полнотой. Правила построения модели данных предметной области.

3. Понятие таблицы, поля, записи. Основные этапы работы с базами данных в среде системы управления базами данных. Отображение модели «сущность-связь» базы данных. Свойства полей, типы данных. Ввод данных в таблицы. Сортировка, поиск и фильтрация данных.

4. Понятие запроса к реляционной базе данных. Понятие о языке запросов SQL.

5. Создание таблиц, форм, запросов и отчетов с помощью мастеров.

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

Понятие модели данных, базы данных. Понятие и назначение систем управления базами данных.

База данных (БД) - это структурированная совокупность взаимосвязанных данных определенной предметной области (реальных о6ъектов, процессов, явлений и т.п.).

Примеры: БД о наличии медикаментов; БД в системе расписания самолетов, поездов или БД продажи билетов транспорта; БД документов учащихся школы, картотека отдела кадров или в библиотеки и т.д..

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

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

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

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

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

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

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

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

Сетевая модель базы данных . Общим видом она похожа на иерархическую. Имеет такие же составляющие структуры, отличается характером отношения между ними. Между элементами структуры произвольное, не ограниченное количество элементов-связь.

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

Реляционная модель создана на основе двухмерной таблицы.

Строка таблицы - это запись, которая содержит и

Иерархическая модель данных

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

Иерархическую БД образует каталог файлов, хранимых на диске; дерево каталогов, доступное для просмотра в Total Commander, - наглядная демонстрация структуры такой БД и поиска в ней нужного элемента. Такой же БД является родовое генеалогическое дерево.

Сетевая модель данных

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

Сетевой БД фактически является Всемирная паутина глобальной компьютерной сети Интернет. Гиперссылки связывают между собой сотни миллионов документов в единую сетевую БД.

Реляционная модель данных

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

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

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

Любой тип можно свести к реляционному.

Типы данных

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

Основные типы данных в современных БД:

    числовой;

    текстовый;

  • дата / время;

    денежный;

    логический;

Ключи

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

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

    Первичный ключ – это потенциальный ключ, выбранный, для однозначной идентификации каждой строки в таблице; обычно выбирают наиболее простой для ввода потенциальный ключ, как правил, числовой.

Ключевое поле таблицы в СУБД Access – это первичный ключ таблицы.

Виды реляционных отношений

    один-к-одному;

Каждому значению первичного ключа в главной таблице соответствует одна или не одной записи в подчиненной таблице.

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

    один-ко-многим;

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

Отношение «один-ко-многим» является наиболее часто используемым типом связи между таблицами.

    многие-ко-многим.

При отношении «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Отношение «многие-ко-многим» представляет собой два отношения «один-ко-многим» с третьей таблицей.

Организация межтабличных связей

    один-к-одному – таблицы, связываются по их первичным ключам (первичные ключи обеих таблиц устанавливают одинаковыми);

    один-ко-многим –главная таблица (один) связывается по первичному ключу с подчиненной таблицей (многие) по внешнему ключу (это первичный ключ главной таблицы, вставленный в подчиненную таблицу)

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

Пример организации БД

Условия целостности данных

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

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

Темы: логические модели баз данных, идентификация объектов и записей, поиск записей.

1. Иерархическая и сетевая модели данных.

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

Иерархическая модель позволяет строить базы данных с древовидной структурой. В них каждый узел содержит свой тип данных (сущность) На верхнем уровне дерева в этой модели имеется один узел — «корень», на следующем уровне располагаются узлы, связанные с этим корнем, затем узлы, связанные с узлами предыдущего уровня и т д., причем каждый узел может иметь только одного предка (рис. 1)

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

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

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

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

Сетевую структуру можно описать с помощью исходных и порожденных элементов. Удобно представлять ее так, чтобы порожденные элементы располагались ниже исходных.

Желательно отличать простые и сложные сетевые структуры.

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

Например, одна группа студентов связана со всеми студентами группы. Или в примере учебного заведения на рис. 3 каждый преподаватель может обучать много (теоретически всех) студентов, и каждый студент может обучаться у многих (теоретически всех) преподавателей. Поскольку на практике это, естественно, невозможно, приходится прибегать к некоторым ограничениям.


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

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

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

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

2. Идентификация объектов и записей

В задачах обработки информации атрибуты именуют (обозначают) и приписывают им значения.

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

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

Отдельный объект всегда уникален, поэтому запись, содержащая данные о нем, также должна иметь уникальный идентификатор, причем никакой другой объект не должен иметь такой же идентификатор. Поскольку идентификатор — суть значение элемента данных, в некоторых случаях для обеспечения уникальности требуется использовать более одного элемента. Например, для однозначной идентификации записей о дисциплинах учебного плана необходимо использовать элементы СЕМЕСТР и НАИМЕНОВАНИЕ ДИСЦИПЛИНЫ, так как возможно преподавание одной дисциплины в разных семестрах.

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

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

3. Поиск записей

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

Для этого можно использовать следующие способы:

Задать машинный адрес данных и в соответствии с физическим форматом записи прочитать значение. Это случаи, когда программист должен быть «навигатором».

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

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

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

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

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

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

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

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

В контексте задач поиска можно сказать, что существуют два основных способа организации данных: Первый способ представляет прямую организацию массива, второй — является инверсией первого. Прямая организация массива удобна для поиска по условию «Каковы свойства указанного объекта?», а инвертированная — для поиска по условию «Какие объекты обладают указанным свойством?».

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

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

В литературе, статьях и в обиходной речи иногда встречается использование термина «модель данных» в смысле «схема базы данных » («модель базы данных»). Такое использование является неверным, на что указывают многие авторитетные специалисты, в том числе К. Дж. Дейт , М. Р. Когаловский, С. Д. Кузнецов. Модель данных есть теория , или инструмент моделирования , в то время как модель базы данных (схема базы данных) есть результат моделирования . По выражению К. Дейта соотношение между этими понятиями аналогично соотношению между языком программирования и конкретной программой на этом языке .

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

Тем не менее, длительное время термин «модель данных» использовался без формального определения. Одним из первых специалистов, который достаточно формально определил это понятие, был Э. Кодд . В статье «Модели данных в управлении базами данных» он определил модель данных как комбинацию трех компонентов:

См. также

  • Метамоделирование
  • Статья Метамоделирование в Викиучебнике

Примечания

Литература

  • Дейт К. Дж. Введение в системы баз данных = Introduction to Database Systems. - 8-е изд. - М .: «Вильямс», 2006. - 1328 с. - ISBN 0-321-19784-4
  • Когаловский М. Р. Перспективные технологии информационных систем. - М .: ДМК Пресс; Компания АйТи, 2003. - 288 с. - ISBN 5-279-02276-4
  • Когаловский М. Р. Энциклопедия технологий баз данных. - М .: Финансы и статистика, 2002. - 800 с. - ISBN 5-279-02276-4
  • Цикритзис Д., Лоховски Ф. Модели данных = D. Tsichritzis, F. Lochovsky. Data Models. Prentice Hall, 1982. - М .: Финансы и статистика, 1985. - 344 с.

Wikimedia Foundation . 2010 .

Смотреть что такое "Модель данных" в других словарях:

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

    Модель данных - – способ представления данных информационной модели в вычислительной среде. [ГОСТ 2.053 2006] Рубрика термина: Технологии Рубрики энциклопедии: Абразивное оборудование, Абразивы, Автодороги, Автотехника … Энциклопедия терминов, определений и пояснений строительных материалов

    модель данных - 3.1.7 модель данных (Data Model; DM): Графическое и/или лексическое представление данных, устанавливающее их свойства, структуры и взаимосвязи. [ИСО/МЭК ТО 11404 3:1996, определение 3.2.11] Источник …

    МОДЕЛЬ ДАННЫХ - согласно ГОСТ 2.053–2006 ЕСКД «Электронная структура изделия», – способ представления данных информационной модели в вычислительной среде … Делопроизводство и архивное дело в терминах и определениях

    модель данных многомерная - Модель данных, оперирующая многомерными представлениями данных в виде кубов данных. Такие модели данных стали широко использоваться в середине 90 х годов в связи с развитием технологий OLAP. Операционные возможности многомерных моделей данных… … Справочник технического переводчика

    модель данных Всемирной таможенной организации - Модель данных и набор данных, разработанные во Всемирной таможенной организации на основе Справочника элементов внешнеторговых данных ООН (СЭВД ООН) [Упрощение процедур торговли: англо русский глоссарий терминов (пересмотренное второе издание)… … Справочник технического переводчика

    Иерархическая модель данных представление базы данных в виде древовидной (иерархической) структуры, состоящей из объектов (данных) различных уровней. Между объектами существуют связи, каждый объект может включать в себя несколько объектов… … Википедия

    - (РМД) логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики как теории множеств и логика первого порядка. На реляционной модели данных строятся… … Википедия

    У этого термина существуют и другие значения, см. ER. Модель сущность связь (ER модель) (англ. entity relationship model, ERM) модель данных, позволяющая описывать концептуальные схемы предметной области. ER модель используется при… … Википедия

    ГОСТ Р ИСО/МЭК 19778-1-2011: Информационная технология. Обучение, образование и подготовка. Технология сотрудничества. Общее рабочее пространство. Часть 1. Модель данных общего рабочего пространства - Терминология ГОСТ Р ИСО/МЭК 19778 1 2011: Информационная технология. Обучение, образование и подготовка. Технология сотрудничества. Общее рабочее пространство. Часть 1. Модель данных общего рабочего пространства оригинал документа: 5.4.9 AE CE ID … Словарь-справочник терминов нормативно-технической документации

Книги

  • Модель электронного газа и теория обобщенных зарядов для описания межатомных сил и адсорбции , А. М. Долгоносов. В предлагаемой книге рассмотрены четыре ключевые темы атомной и молекулярной физики, квантовой и физической химии: описание атомного электронного газа и следующий из этого вывод основных…

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

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

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

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

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

Таким образом, если СУБД поддерживает возможность создания подсхем, то архитектура БД становится трехуровневой: уровень схемы хранения, уровень схемы и уровень подсхем.

Рассмотрим теперь основные типы моделей данных.

Иерархическая модель БД является одной из первых моделей БД. Это обусловлено прежде всего тем, что именно такая модель наиболее естественным образом отражает множественные связи между объектами реального мира, когда один объект выступает в качестве родительского, с которым связано большое количество подчиненных объектов.

Принцип иерархической модели БД заключается в том, что все связи между данными описываются с помощью построения упорядоченного графа (дерева). Дерево является упорядоченным в соответствии с иерархией наборов элементов, которые называются узлами. Все узлы связаны между собой ветвями. При этом для описания схемы иерархической БД понятие “дерево” используется как определенный тип данных. Этот тип данных является составным и может включать в себя подтипы или поддеревья. БД является совокупностью деревьев, каждое из которых на языке иерархической модели называется физической базой данных. Каждое дерево состоит из единственного корневого (главного, родительского) типа и связанного с ним упорядоченного множества подчиненных (дочерних) типов. Корневой тип - это такой тип, который имеет подчиненные типы и не имеет родительских. Дочерние типы, имеющие один и тот же родительский тип, называются близнецами. Каждый из подчиненных типов для данного корневого типа может являться как простым, так и составным типом “запись”.

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

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

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

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

Необходимо отметить, что в ряде нотаций может использоваться иная терминология. Так, в нотации Американской Ассоциации по базам данных DBTG (Data Base Task Group) термину “запись” соответствует термин “сегмент”, а записью называется все множество записей, которые относятся к одному экземпляру типа “дерево”.

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

Сетевая модель БД является в некотором смысле обобщением иерархической модели. Основное отличие сетевой модели от иерархической заключается в том, что в сетевой модели подчиненный тип может иметь произвольное количество родительских типов. Основными понятиями сетевой модели являются набор, агрегат, запись и элемент данных. Под элементом данных в данном случае следует подразумевать то же самое, что и в иерархической модели - минимальную единицу данных. Агрегаты данных бывают двух типов: агрегат типа вектор и агрегат типа повторяющаяся группа. Агрегат типа вектор соответствует набору элементов данных. Агрегат типа повторяющаяся группа соответствует совокупности векторов данных. Записью называется совокупность агрегатов данных. Каждая запись имеет определенный тип и состоит из совокупности экземпляров записи. Набором называется граф, связывающий два типа записи. Таким образом, набор отражает иерархическую связь между двумя типами записей. Родительский тип записи в данном наборе называется владельцем набора, а дочерний тип записи -- членом того же набора. Для каких-либо любых двух типов записей может быть задано любое количество связывающих их наборов. При этом между двумя типами записей может быть определено различное количество наборов. Однако один и тот же тип записи не может быть одновременно владельцем и членом набора.

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

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

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

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

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

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

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

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

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

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

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

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

Инкапсуляция означает возможность разграничения доступа различных программ, приложений, методов и функций (в более широком смысле и доступа различных категорий пользователей) к различным свойствам объектов данных. В контексте термина “инкапсуляция” часто используется понятие видимости - степень доступности отдельных свойств объекта. В современных объектно-ориентированных системах программирования (таких как Delphi или С++ Builder) имеются следующие уровни инкапсуляции (видимости), которые принято называть разделами:

  • 1. Разделы Public, Published и Automated - с незначительными отличительными особенностями свойства объекта, описанные как принадлежащие к данным разделам, полностью доступны.
  • 2. Раздел Private - этот раздел накладывает наиболее жесткие ограничения на видимость свойств объекта. Как правило, такие свойства оказываются доступными только владельцу данного объекта (программному модулю, в котором этот объект создан).
  • 3. Раздел Protected - в отличие от раздела Private свойства объекта становятся доступными наследникам владельца объекта.

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

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

Основным достоинством объектно-ориентированых моделей является возможность моделировать разнообразные сложные взаимосвязи между объектами.