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

 

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

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

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

• один элемент таблицы — один элемент данных;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 








Дата добавления: 2015-09-14; просмотров: 552;


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

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

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

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