Как называется строка заголовка отношения
Заголовок и тело отношения
Отношение R, определенное на множестве доменов, содержит две части: заголовок и тело. Заголовок отношения – это фиксированное количество атрибутов отношения, описывающее декартово произведение доменов, на котором задано отношение
.
Заголовок статичен: он не меняется во время работы с базами данных.
Тело отношения содержит множество кортежей отношения. Каждый кортеж отношения представляет собой множество пар вида (либо )
таких, что значение атрибута принадлежит домену . Тело отношения представляет собой множество кортежей, т.е. подмножество декартова произведения доменов.
Таким образом, тело отношения собственно и является отношением в математическом смысле слова. Тело отношения может изменяться во время работы с базой данных, так как кортежи могут изменяться, добавляться и удаляться.
Число атрибутов в отношении называется степенью (либо арностью) отношения, а множество кортежей отношения кардинальностью (либо мощностью) отношения.
Дата добавления: 2015-02-03 ; просмотров: 586 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ
Отношения, атрибуты, кортежи отношения
НЕБОЛЬШОЙ КОММЕНТАРИЙ ПО ПОВОДУ ТЕРМИНОЛОГИИ:
НА ПРАКТИКЕ ИСПОЛЬЗУЮТСЯ БОЛЕЕ ПРОСТЫЕ ТЕРМИНЫ, ПРИБЛИЗИТЕЛЬНО СООТВЕТСТВУЮЩИЕ ИСПОЛЬЗУЕМЫМ В ДАННОМ ТЕКСТЕ.
ЗАПИСЬ (СТРОКА), ДОМЕН
ПОЛЕ (СТОЛБЕЦ), ОТНОШЕНИЕ
ВАЖНО ПОНИМАТЬ, ЧТО ЭТО НЕ ЭКВИВАЛЕНТНЫЕ, НО БЛИЗКИЕ ПОНЯТИЯ. СМ. НИЖЕ СООТВЕТСТВУЮЩИЕ ЗАМЕЧАНИЯ!
Фундаментальным понятием реляционной модели данных является понятие отношения. В определении понятия отношения будем следовать книге К. Дейта [11].
Имена атрибутов должны быть уникальны в пределах отношения. Часто имена атрибутов отношения совпадают с именами соответствующих доменов.
Определение 2. Отношение , определенное на множестве доменов (не обязательно различных), содержит две части: заголовок и тело.
Заголовок отношения содержит фиксированное количество атрибутов отношения:
Тело отношения содержит множество кортежей отношения.
Каждый кортеж отношения представляет собой множество пар вида :
таких что значение атрибута принадлежит домену
Отношение обычно записывается в виде:
,
,
.
Число атрибутов в отношении называют степенью (или -арностью) отношения.
Мощность множества кортежей отношения называют мощностью отношения.
Возвращаясь к математическому понятию отношения, введенному в предыдущей главе, можно сделать следующие выводы:
Вывод 1. Заголовок отношения описывает декартово произведение доменов, на котором задано отношение. Заголовок статичен, он не меняется во время работы с базой данных. Если в отношении изменены, добавлены или удалены атрибуты, то в результате получим уже другое отношение (пусть даже с прежним именем).
Пример 1. Рассмотрим отношение «Сотрудники» заданное на доменах «Номер_сотрудника», «Фамилия», «Зарплата», «Номер_отдела». Т.к. все домены различны, то имена атрибутов отношения удобно назвать так же, как и соответствующие домены. Заголовок отношения имеет вид:
Сотрудники (Номер_сотрудника, Фамилия, Зарплата, Номер_отдела)
Пусть в данный момент отношение содержит три кортежа:
такое отношение естественным образом представляется в виде таблицы:
Номер_сотрудника | Фамилия | Зарплата | Номер_отдела |
Иванов | |||
Петров | |||
Сидоров |
Таблица 1 Отношение «Сотрудники»
Определение 3. Реляционной базой данных называется набор отношений.
Определение 4. Схемой реляционной базы данных называется набор заголовков отношений, входящих в базу данных.
Хотя любое отношение можно изобразить в виде таблицы, нужно четко понимать, что отношения не являются таблицами. Это близкие, но не совпадающие понятия. Различия между отношениями и таблицами будут рассмотрены ниже.
Термины, которыми оперирует реляционная модель данных, имеют соответствующие «табличные» синонимы:
Реляционный термин | Соответствующий «табличный» термин |
База данных | Набор таблиц |
Схема базы данных | Набор заголовков таблиц |
Отношение | Таблица |
Заголовок отношения | Заголовок таблицы |
Тело отношения | Тело таблицы |
Атрибут отношения | Наименование столбца таблицы |
Кортеж отношения | Строка таблицы |
Степень (-арность) отношения | Количество столбцов таблицы |
Мощность отношения | Количество строк таблицы |
Домены и типы данных | Типы данных в ячейках таблицы |
Свойства отношений
Свойства отношений непосредственно следуют из приведенного выше определения отношения. В этих свойствах в основном и состоят различия между отношениями и таблицами.
Замечание. Из свойств отношения следует, что не каждая таблица может задавать отношение. Для того, чтобы некоторая таблица задавала отношение, необходимо, чтобы таблица имела простую структуру (содержала бы только строки и столбцы, причем, в каждой строке было бы одинаковое количество полей), в таблице не должно быть одинаковых строк, любой столбец таблицы должен содержать данные только одного типа, все используемые типы данных должны быть простыми.
Замечание. Каждое отношение можно считать классом эквивалентности таблиц, для которых выполняются следующие условия:
Все такие таблицы есть различные изображения одного и того же отношения.
Первая нормальная форма
Труднее всего дать определение вещей, которые всем понятны. Если давать не строгое, описательное определение, то всегда остается возможность неправильной его трактовки. Если дать строгое формальное определение, то оно, как правило, или тривиально, или слишком громоздко. Именно такая ситуация с определением отношения в Первой Нормальной Форме (1НФ). Совсем не говорить об этом нельзя, т.к. на основе 1НФ строятся более высокие нормальные формы, которые рассматриваются далее в гл. 6 и 7. Дать определение 1НФ сложно ввиду его тривиальности. Поэтому, дадим просто несколько объяснений.
Объяснение 1. Говорят, что отношение находится в 1НФ, если оно удовлетворяет определению 2.
Объяснение 2. Говорят, что отношение находится в 1НФ, если его атрибуты содержат только скалярные (атомарные) значения.
Опять же, определение 2 опирается на понятие домена, а домены определены на простых типах данных.
Требование, что отношения должны содержать только данные простых типов, объясняет, почему отношения иногда называют плоскими таблицами (plain table). Действительно, таблицы, задающие отношения двумерны. Одно измерение задается списком столбцов, второе измерение задается списком строк. Пара координат (Номер строки, Номер столбца) однозначно идентифицирует ячейку таблицы и содержащееся в ней значение. Если же допустить, что в ячейке таблицы могут содержаться данные сложных типов (массивы, структуры, другие таблицы), то такая таблица будет уже не плоской. Например, если в ячейке таблицы содержится массив, то для обращения к элементу массива нужно знать три параметра (Номер строки, Номер столбца, номер элемента в массиве).
Таким образом появляется третье объяснение Первой Нормальной Формы:
Объяснение 3. Отношение находится в 1НФ, если оно является плоской таблицей.
Мы сознательно ограничиваемся рассмотрением только классической реляционной теории, в которой все отношения имеют только атомарные атрибуты и заведомо находятся в 1НФ.
Выводы
Реляционная модель данных состоит из трех частей:
В классической реляционной модели используются только простые (атомарные) типы данных. Простые типы данных не обладают внутренней структурой.
Отношение обладает следующими свойствами:
Реляционной базой данных называется набор отношений.
Схемой реляционной базы данных называется набор заголовков отношений, входящих в базу данных.
Отношение находится в Первой Нормальной Форме (1НФ), если оно содержит только скалярные (атомарные) значения.
ЧИТАТЬ КНИГУ ОНЛАЙН: Базы данных: конспект лекций
НАСТРОЙКИ.
СОДЕРЖАНИЕ.
СОДЕРЖАНИЕ
Базы данных: конспект лекций
Лекция № 1. Введение
1. Системы управления базами данных
Системы управления базами данных (СУБД) – это специализированные программные продукты, позволяющие:
1) постоянно хранить сколь угодно большие (но не бесконечные) объемы данных;
2) извлекать и изменять эти хранящиеся данные в том или ином аспекте, используя при этом так называемые запросы;
3) создавать новые базы данных, т. е. описывать логические структуры данных и задавать их структуру, т. е. предоставляют интерфейс программирования;
4) обращаться к хранящимся данным со стороны нескольких пользователей одновременно (т. е. предоставляют доступ к механизму управления транзакциями).
Соответственно, базы данных – это наборы данных, находящиеся под контролем систем управления.
Сейчас системы управления базами данных являются наиболее сложными программными продуктами на рынке и составляют его основу. В дальнейшем предполагается вести разработки по сочетанию обычных систем управления базами данных с объектно-ориентированным программированием (ООП) и интернет- технологиями.
Изначально СУБД были основаны на иерархических и сетевых моделях данных, т. е. позволяли работать только с древовидными и графовыми структурами. В процессе развития в 1970 г. появились системы управления базами данных, предложенные Коддом (Codd), основанные на реляционной модели данных.
2. Реляционные базы данных
Термин «реляционный» произошел от английского слова «relation» – «отношение».
В самом общем математическом смысле (как можно помнить из классического курса алгебры множеств) отношение – это множество
Например, рассмотрим бинарные отношения строгого порядка «больше» и «меньше» на множестве упорядоченных пар чисел A 1 = A2 = <3, 4, 5>:
Эти же отношения можно представить в виде таблиц.
Отношение «меньше» R
Таким образом, мы видим, что в реляционных базах данных самые различные данные организовываются в виде отношений и могут быть представлены в форме таблиц.
Нужно заметить, что эти два рассмотренных нами отношения R > и R R > и R R > и R R > и R R >):
Отношение строгого порядка (вместо отношения R
Обе таблицы-отношения получают новое (в данном случае одинаковое, так как введением дополнительных заголовков мы стерли различия между отношениями R > и R R > и R
Лекция № 2. Отсутствующие данные
В системах управления базами данных для определения отсутствующих данных описаны два вида значений: пустые (или Empty-значения) и неопределенные (или Null-значения).
В некоторой (преимущественно коммерческой) литературе на Null-значения иногда ссылаются как на пустые или нулевые значения, однако это неверно. Смысл пустого и неопределенного значения принципиально различается, поэтому необходимо внимательно следить за контекстом употребления того или иного термина.
1. Пустые значения (Empty-значения)
Пустое значение – это просто одно из множества возможных значений
Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.
Введение в реляционную модель данных
Основные понятия реляционных баз данных
Для начала покажем смысл этих понятий на примере отношения СЛУЖАЩИЕ, содержащего информацию о служащих некоторого предприятия (рис. 2.1).
Тип данных
Обычно в современных реляционных базах данных допускается хранение символьных, числовых данных (точных и приблизительных), специализированных числовых данных (таких, как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). Кроме того, в реляционных системах поддерживается возможность определения пользователями собственных типов данных (более подробно мы обсудим это в лекции 9, курса «Введение в модель данных SQL»).
В примере на рис. 2.1 мы имеем дело с данными трех типов : строки символов, целые числа и «деньги».
Домен
Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения
Первичный ключ и интуитивная интерпретация реляционных понятий
Конечно, это достаточно грубая терминология, поскольку у обычных таблиц и строки, и столбцы упорядочены, тогда как атрибуты и кортежи отношений являются элементами неупорядоченных множеств. Тем не менее, когда мы перейдем к рассмотрению практических вопросов организации реляционных баз данных и средств управления, то будем использовать эту «житейскую» терминологию. Подобной терминологии придерживаются в большинстве коммерческих реляционных СУБД. Иногда также используются термины файл как аналог таблицы, запись как аналог строки и поле как аналог столбца. Напомню, что этой терминологией мы пользовались в лекции 1.
Как называется строка заголовка отношения
Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализованные n-арные отношения.
Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных базах данных. Это целостность сущностей и целостность внешних ключей.
В данной главе рассматривается структурная часть реляционной модели.
Типы данных
Любые данные, используемые в программировании, имеют свои типы данных.
Важно! Реляционная модель требует, чтобы типы используемых данных были простыми.
Простые типы данных
Структурированные типы данных
С математической точки зрения массив представляет собой функцию с конечной областью определения. Например, рассмотрим конечное множество натуральных чисел
называемое множеством индексов. Отображение
из множества во множество вещественных чисел задает одномерный вещественный массив. Значение этой функции для некоторого значения индекса называется элементом массива, соответствующим . Аналогично можно задавать многомерные массивы.
Запись (или структура) представляет собой кортеж из некоторого декартового произведения множеств. Действительно, запись представляет собой именованный упорядоченный набор элементов , каждый из которых принадлежит типу . Таким образом, запись есть элемент множества . Объявляя новые типы записей на основе уже имеющихся типов, пользователь может конструировать сколь угодно сложные типы данных.
Общим для структурированных типов данных является то, что они имеют внутреннюю структуру, используемую на том же уровне абстракции, что и сами типы данных.
Работая же с простыми типами данных, например с числовыми, мы манипулируем ими как неделимыми целыми объектами. Чтобы «увидеть», что числовой тип данных на самом деле сложен (является набором битов), нужно перейти на более низкий уровень абстракции. На уровне программного кода это будет выглядеть как ассемблерные вставки в код на языке высокого уровня или использование специальных побитных операций.
Ссылочные типы данных
Ссылочный тип данных (указатели) предназначен для обеспечения возможности указания на другие данные. Указатели характерны для языков процедурного типа, в которых есть понятие области памяти для хранения данных. Ссылочный тип данных предназначен для обработки сложных изменяющихся структур, например деревьев, графов, рекурсивных структур.
Типы данных, используемые в реляционной модели
Собственно, для реляционной модели данных тип используемых данных не важен. Требование, чтобы тип данных был простым, нужно понимать так, что в реляционных операциях не должна учитываться внутренняя структура данных. Конечно, должны быть описаны действия, которые можно производить с данными как с единым целым, например, данные числового типа можно складывать, для строк возможна операция конкатенации и т.д.
Именно так в некоторых пост-реляционных СУБД реализована работа со сколь угодно сложными типами данных, создаваемых пользователями.
Домены
В реляционной модели данных с понятием тип данных тесно связано понятие домена, которое можно считать уточнением типа данных.
Например, домен , имеющий смысл «возраст сотрудника» можно описать как следующее подмножество множества натуральных чисел:
Если тип данных можно считать множеством всех возможных значений данного типа, то домен напоминает подмножество в этом множестве.
Отличие домена от понятия подмножества состоит именно в том, что домен отражает семантику, определенную предметной областью. Может быть несколько доменов, совпадающих как подмножества, но несущие различный смысл. Например, домены «Вес детали» и «Имеющееся количество» можно одинаково описать как множество неотрицательных целых чисел, но смысл этих доменов будет различным, и это будут различные домены.
Основное значение доменов состоит в том, что домены ограничивают сравнения. Некорректно, с логической точки зрения, сравнивать значения из различных доменов, даже если они имеют одинаковый тип. В этом проявляется смысловое ограничение доменов. Синтаксически правильный запрос «выдать список всех деталей, у которых вес детали больше имеющегося количества» не соответствует смыслу понятий «количество» и «вес».
Замечание. Понятие домена помогает правильно моделировать предметную область. При работе с реальной системой в принципе возможна ситуация когда требуется ответить на запрос, приведенный выше. Система даст ответ, но, вероятно, он будет бессмысленным.
Замечание. Не все домены обладают логическим условием, ограничивающим возможные значения домена. В таком случае множество возможных значений домена совпадает с множеством возможных значений типа данных.
Отношения, атрибуты, кортежи отношения
Определения и примеры
Фундаментальным понятием реляционной модели данных является понятие отношения. В определении понятия отношения будем следовать книге К. Дейта [11].
Имена атрибутов должны быть уникальны в пределах отношения. Часто имена атрибутов отношения совпадают с именами соответствующих доменов.
Определение 2. Отношение , определенное на множестве доменов (не обязательно различных), содержит две части: заголовок и тело.
Заголовок отношения содержит фиксированное количество атрибутов отношения:
Тело отношения содержит множество кортежей отношения. Каждый кортеж отношения представляет собой множество пар вида :
таких что значение атрибута принадлежит домену
Отношение обычно записывается в виде:
Число атрибутов в отношении называют степенью (или -арностью) отношения.
Мощность множества кортежей отношения называют мощностью отношения.
Возвращаясь к математическому понятию отношения, введенному в предыдущей главе, можно сделать следующие выводы:
Вывод 1. Заголовок отношения описывает декартово произведение доменов, на котором задано отношение. Заголовок статичен, он не меняется во время работы с базой данных. Если в отношении изменены, добавлены или удалены атрибуты, то в результате получим уже другое отношение (пусть даже с прежним именем).
Пример 1. Рассмотрим отношение «Сотрудники» заданное на доменах «Номер_сотрудника», «Фамилия», «Зарплата», «Номер_отдела». Т.к. все домены различны, то имена атрибутов отношения удобно назвать так же, как и соответствующие домены. Заголовок отношения имеет вид:
Сотрудники (Номер_сотрудника, Фамилия, Зарплата, Номер_отдела)
Пусть в данный момент отношение содержит три кортежа:
такое отношение естественным образом представляется в виде таблицы:
Номер_сотрудника | Фамилия | Зарплата | Номер_отдела |
---|---|---|---|
1 | Иванов | 1000 | 1 |
2 | Петров | 2000 | 2 |
3 | Сидоров | 3000 | 1 |
Таблица 1 Отношение «Сотрудники»
Определение 3. Реляционной базой данных называется набор отношений.
Определение 4. Схемой реляционной базы данных называется набор заголовков отношений, входящих в базу данных.
Хотя любое отношение можно изобразить в виде таблицы, нужно четко понимать, что отношения не являются таблицами. Это близкие, но не совпадающие понятия. Различия между отношениями и таблицами будут рассмотрены ниже.
Термины, которыми оперирует реляционная модель данных, имеют соответствующие «табличные» синонимы:
Реляционный термин | Соответствующий «табличный» термин |
---|---|
База данных | Набор таблиц |
Схема базы данных | Набор заголовков таблиц |
Отношение | Таблица |
Заголовок отношения | Заголовок таблицы |
Тело отношения | Тело таблицы |
Атрибут отношения | Наименование столбца таблицы |
Кортеж отношения | Строка таблицы |
Степень (-арность) отношения | Количество столбцов таблицы |
Мощность отношения | Количество строк таблицы |
Домены и типы данных | Типы данные в ячейках таблицы |
Свойства отношений
Замечание. Из свойств отношения следует, что не каждая таблица может задавать отношение. Для того, чтобы некоторая таблица задавала отношение, необходимо, чтобы таблица имела простую структуру (содержала бы только строки и столбцы, причем, в каждой строке было бы одинаковое количество полей), в таблице не должно быть одинаковых строк, любой столбец таблицы должен содержать данные только одного типа, все используемые типы данных должны быть простыми.
Все такие таблицы есть различные изображения одного и того же отношения.
Первая нормальная форма
Труднее всего дать определение вещей, которые всем понятны. Если давать не строгое, описательное определение, то всегда остается возможность неправильной его трактовки. Если дать строгое формальное определение, то оно, как правило, или тривиально, или слишком громоздко. Именно такая ситуация с определением отношения в Первой Нормальной Форме (1НФ). Совсем не говорить об этом нельзя, т.к. на основе 1НФ строятся более высокие нормальные формы, которые рассматриваются далее в гл. 6 и 7. Дать определение 1НФ сложно ввиду его тривиальности. Поэтому, дадим просто несколько объяснений.
Объяснение 1. Говорят, что отношение находится в 1НФ, если оно удовлетворяет определению 2.
Опять же, определение 2 опирается на понятие домена, а домены определены на простых типах данных.
Требование, что отношения должны содержать только данные простых типов, объясняет, почему отношения иногда называют плоскими таблицами (plain table). Действительно, таблицы, задающие отношения двумерны. Одно измерение задается списком столбцов, второе измерение задается списком строк. Пара координат (Номер строки, Номер столбца) однозначно идентифицирует ячейку таблицы и содержащееся в ней значение. Если же допустить, что в ячейке таблицы могут содержаться данные сложных типов (массивы, структуры, другие таблицы), то такая таблица будет уже не плоской. Например, если в ячейке таблицы содержится массив, то для обращения к элементу массива нужно знать три параметра (Номер строки, Номер столбца, номер элемента в массиве).
Таким образом появляется третье объяснение Первой Нормальной Формы:
Объяснение 3. Отношение находится в 1НФ, если оно является плоской таблицей.
Мы сознательно ограничиваемся рассмотрением только классической реляционной теории, в которой все отношения имеют только атомарные атрибуты и заведомо находятся в 1НФ.
Выводы
В классической реляционной модели используются только простые (атомарные) типы данных. Простые типы данных не обладают внутренней структурой.
Реляционной базой данных называется набор отношений.
Схемой реляционной базы данных называется набор заголовков отношений, входящих в базу данных.
Отношение находится в Первой Нормальной Форме (1НФ), если оно содержит только скалярные (атомарные) значения.