Реляционная модель данных. Для реализации основных функций в ИС используются различные принципы описания данных

 

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

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

Каждая реляционная таблица должна обладать следующими свойствами:

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

- все столбцы таблицы содержат однородные по типу данные (целочисленный, числовой, текстовый и т.д.);

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

- число столбцов задаётся при создании таблицы;

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

- записи не должны повторяться;

- количество записей в отношении не ограничено.

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

Первичным ключом отношения называется поле или группа полей, однозначно определяющие запись. В отношении СТУДЕНТ первичным ключом может быть поле ФАМИЛИЯ, если во всём списке нет однофамильцев – это будет простой ключ. Если есть однофамильцы, то совокупность полей – фамилия, имя, отчество – создадут составной первичный ключ. На практике обычно в качестве простого первичного ключа выбирают поле, в котором совпадения заведомо исключены. Для рассматриваемого примера таким полем может служить номер зачётной книжки студента или уникальный код студента (читательского билета).

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

Поступают в таком случае так: в отношение СТУДЕНТ (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ГРУППА) вводят поле «КОД вуза» (целое число) и добавляют ещё одно отношение – ВУЗ (КОД вуза, НАЗВАНИЕ, АДРЕС). Таблицы СТУДЕНТ и ВУЗ при этом будут связаны по полю «КОД вуза». В отношении ВУЗ поле «КОД вуза» будет первичным ключом, а в отношении СТУДЕНТ поле «КОД вуза» будет внешним ключом. При работе с такими таблицами повторяться могут только данные в поле «КОД вуза», а все необходимые сведения о вузе можно взять из отношения ВУЗ.

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

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

– один ко многим (1:М или 1:∞) – любая запись одной таблицы может быть связана с несколькими записями другой, но любая запись второй таблицы связана только с одной записью первой таблицы. Связь «один ко многим» была установлена в вышеприведённом примере, так как одной записи таблицы ВУЗ соответствует множество записей таблицы СТУДЕНТ;

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

 








Дата добавления: 2015-08-26; просмотров: 644;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.