Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прикладное_ПО_ПК.doc
Скачиваний:
33
Добавлен:
01.12.2018
Размер:
4.05 Mб
Скачать
    1. Виды моделей данных

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

Д

Курс (номер, название специальности, начальник)

1

Судебная экспертиза

Ежов В.В.

Взвод (номер, ЗКВ)

121

Петров И.И.

122

Сидоров Д.В.

123

Иванов К.В.

Курсант (ФИО)

Варламов К.О.

Корнев П.П.

Кудашев И.К.

Пак

Г.В.

Рис. 4.2. Пример иерархической структуры БД

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

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

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

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

Н

Рис. 4.3. Пример сетевой структуры БД

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

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

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

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

– все элементы в столбце имеют одинаковый тип (чис­ловой, символьный и т.д.) и длину;

– каждый столбец имеет уникальное имя;

– одинаковые строки в таблице отсутствуют;

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

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

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

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

Связи между таблицами могут устанавливаться в следующих вариантах:

– при формировании схемы базы данных путем связывания таблиц создаваемой БД;

– при построении запросов к созданной БД;

– путем связывания таблицы создаваемой БД с таблицей другой базы данных.

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

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

Поскольку строки в реляционной таблице явно не упорядочены, нельзя выбрать строку по ее номеру в таблице. В таблице нет «первой» или «последней» строки.

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

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

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

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

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

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

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

– отношение один-ко-многим;

– отношение один-к-одному;

– отношение многие-ко-многим.

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

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

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

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