что такое кортеж в реляционной базе данных
Кортеж (базы данных)
Содержание
В математике
В математике корте́ж — последовательность конечного числа элементов. Многие математические объекты формально определяются как кортежи. Например, граф определяется как кортеж (V,E), где V — это набор вершин, а E — подмножество V × V, обозначающее рёбра.
В теории множеств, кортеж обычно определяется индуктивно. Кортеж с нулём элементов — это просто нулевое множество, а если , то
.
Программировании
В некоторых языках программирования (например Lisp), кортеж — особый тип структуры данных. В языке Python кортеж (англ. tuple) отличается от списка тем, что кортеж нельзя изменять.
В базах данных
В базах данных, кортежем называется группа взаимосвязанных элементов данных;
В реляционных базах данных кортеж — это элемент отношения, строка таблицы; упорядоченный набор из N элементов.
Внешние ссылки
Полезное
Смотреть что такое «Кортеж (базы данных)» в других словарях:
Реляционные базы данных — Реляционная база данных база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение[1]). Для работы с реляционными БД применяют реляционные СУБД. Использование реляционных баз данных было… … Википедия
Таблица (базы данных) — У этого термина существуют и другие значения, см. Таблица (значения). Таблица (англ. table) (в реляционной модели данных) структура хранения данных, состоящая из строк и столбцов и обладающая следующими свойствами: значения, находящиеся в одном… … Википедия
Реляционная база данных — Реляционная база данных база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение[1]). Для работы с реляционными БД применяют реляционные СУБД. Использование реляционных баз… … Википедия
Ссылочная целостность — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете … Википедия
Стандартная библиотека Python — Богатая стандартная библиотека является одной из привлекательных сторон языка программирования Python. Здесь имеются средства для работы со многими сетевыми протоколами и форматами интернета, например, модули для написания HTTP серверов и… … Википедия
Нормальная форма — У этого термина существуют и другие значения, см. Нормальная форма (значения). Нормальная форма свойство отношения в реляционной модели данных, характеризующее его с точки зрения избыточности, потенциально приводящей к логически ошибочным… … Википедия
Python — У этого термина существуют и другие значения, см. Python (значения). Python Класс языка: му … Википедия
Агат (компьютер) — У этого термина существуют и другие значения, см. Агат (значения). «Агат» первый советский серийный универсальный 8 разрядный персональный компьют … Википедия
Отношение (реляционная модель) — У этого термина существуют и другие значения, см. Отношение. Отношение фундаментальное понятие реляционной модели данных. По этой причине модель и называется реляционной (от лат. relatio отношение, связь). Содержание 1… … Википедия
Пайтон — Python Класс языка: функциональный, объектно ориентированный, императивный, аспектно ориентированный Тип исполнения: интерпретация байт кода, компиляция в MSIL, компиляция в байт код Java Появился в: 1990 г … Википедия
Что такое кортеж в реляционной базе данных
В верхней части таблицы отношения задается перечень наименований атрибутов. Атрибуты выполняют функцию наименования столбцов и содержательно описывают смысл и назначение элементов данных в соответствующих ячейках.
Схема отношения, схема базы данных
Наименования отношения и атрибутов этого отношения называют схемой ( schema ) отношения. Схема отношения представляется в виде имени отношения, за которым идут список атрибутов заключенных в круглые скобки.
Пример: Кинофильмы (Наименование, Год, Продолжительность, Жанр)
Атрибуты схемы отношения образуют множество, а не упорядоченный список. То есть схема отношения Кинофильмы (Продолжительность, Жанр, Наименование, Год) и схема, приведенная выше представляют собой одно и тоже отношение.
Проект базы данных выполненный в рамках реляционной модели включает одно или несколько схем отношений. Набор схем отношений называют реляционной схемой базы данных ( relational database schema ) или просто схемой базы данных ( database schema ).
Домен
Одно из требований, выдвигаемых реляционной моделью гласит, что каждый элемент данных должен быть атомарным, т.е. относиться к какому либо атомарному типу. В качестве значений нельзя использовать такие структуры данных как массивы, списки, множества и другие составные типы которые допускают разбиение на более мелкие элементы.
Также полагается, что с каждым атрибутом ассоциирован определенный домен ( domain ), т.е. некоторый базовый тип. Значения атрибутов должны принадлежать соответствующим доменам, определяемым каждым из атрибутов отношения.
Наиболее правильной интуитивной трактовкой понятия домена является понимание домена как допустимого потенциального множества значений данного типа.
Кортеж, отношение
Строки отношения, отличные от той, которая представляет наименования атрибутов, называют кортежами ( tuples ). Кортеж содержит по одному компоненту для каждого атрибута отношения. Если необходимо описать кортеж отдельно, вне контекста отношения, принято заключать его в круглые скобки и разделять компоненты символом запятой:
(«Бриллиантовая рука», 1982, 93, «Комедия»)
В этом случае, видимая связь кортежа с отношением теряется, и необходимо явно указывать к какому отношению относится, и перечислять порядок атрибутов.
Формы представления отношений
Более того, допускается без каких либо последствий изменить и порядок следования атрибутов отношения. Все возможные версии таблицы являются различными формами представления отношения.
Экземпляры отношения
Отношения, содержащие информацию об окружающем мире, по своей природе является статичным; отношениям свойственно изменяться. Изменения обычно затрагивают содержимое отношения: в базу данных помещаются новые кортежи, а также модифицируются или удаляются существующие.
Гораздо менее вероятны изменения, которые затрагивают схему отношения. Однако ситуации, связанные с добавлением, изменением или удалением атрибутов отношения, на практике все же возникают. Процессы, вызывающие изменение схемы отношений принято называть эволюцией схемы базы данных. Операции по модификации схем баз данных в которых уже есть информация обычно весьма дорогостоящи, так как могут затрагивать изменение миллионов кортежей. Например, добавление атрибутов ведет не только к модификации физического хранилища, но и к тому, что может потребоваться определение осмысленного значения атрибута для каждого кортежа отношения.
Конкретное множество кортежей называют экземпляром ( instance ) отношения. В течени и длительного времени конкретный кортеж может претерпевать многочисленные изменения. Большинство современных базы данных поддерживают только одну версию отношения – набор кортежей, которые содержатся в отношении «в данный момент». Такой экземпляр отношения принято называть текущим экземпляром ( current instance ).
Что такое кортеж в реляционной базе данных
Основными понятиями реляционных баз данных являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение.
Для начала покажем смысл этих понятий на примере отношения СОТРУДНИКИ, содержащего информацию о сотрудниках некоторой организации:
4.1.1. Тип данных
Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). Достаточно активно развивается подход к расширению возможностей реляционных систем абстрактными типами данных (соответствующими возможностями обладают, например, системы семейства Ingres/Postgres). В нашем примере мы имеем дело с данными трех типов: строки символов, целые числа и «деньги».
4.1.2. Домен
Понятие домена более специфично для баз данных, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу типа данных. Если вычисление этого логического выражения дает результат «истина», то элемент данных является элементом домена.
Наиболее правильной интуитивной трактовкой понятия домена является понимание домена как допустимого потенциального множества значений данного типа. Например, домен «Имена» в нашем примере определен на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут изображать имя (в частности, такие строки не могут начинаться с мягкого знака).
Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену. В нашем примере значения доменов «Номера пропусков» и «Номера групп» относятся к типу целых чисел, но не являются сравнимыми. Заметим, что в большинстве реляционных СУБД понятие домена не используется, хотя в Oracle V.7 оно уже поддерживается.
4.1.3. Схема отношения, схема базы данных
4.1.4. Кортеж, отношение
Однако в реляционных базах данных это не принято. Имя схемы отношения в таких базах данных всегда совпадает с именем соответствующего отношения-экземпляра. В классических реляционных базах данных после определения схемы базы данных изменяются только отношения-экземпляры. В них могут появляться новые и удаляться или модифицироваться существующие кортежи. Однако во многих реализациях допускается и изменение схемы базы данных: определение новых и изменение существующих схем отношения. Это принято называть эволюцией схемы базы данных.
Как видно, основные структурные понятия реляционной модели данных (если не считать понятия домена) имеют очень простую интуитивную интерпретацию, хотя в теории реляционных БД все они определяются абсолютно формально и точно.
4. Кортежи. Типы кортежей
4. Кортежи. Типы кортежей
Понятие кортежа в системах управления базами данных может быть интуитивно найдено уже из предыдущего пункта, когда мы говорили об именованном значении кортежа на различных атрибутах. Итак, кортеж (обозначается t, от англ. tuple – «кортеж») со схемой отношения S определяется как множество именованных значений этого кортежа на всех атрибутах, входящих в данную схему отношений S. Другими словами, атрибуты берутся из области определения кортежа, def(t), т. е.:
Важно, что одному имени атрибута обязательно должно соответствовать не более одного значения атрибута.
В табличной форме записи отношения кортежем будет любая строка таблицы, т. е.:
Кортежи в СУБД различаются по типам в зависимости от своей области определения. Кортежи называются:
Это общий случай в практике баз данных;
2) полными, в том случае если их область определения полностью совпадает, равна схеме отношения, т. е. def(t) = S;
Поясним на примере. Пусть у нас имеется отношение, заданное следующей таблицей.
Пусть здесь t 1 = <10, 20, 30>, t 2 = <10, 20, Null>, t 3 =
Интересно, что сравнимыми, т. е. возможно равными, являются только кортежи с одной и той же схемой отношений. Поэтому, например, два нигде не определенных кортежа с различными схемами отношений не будут равными, как могло ожидаться. Они будут различными так же, как их схемы отношений.
Данный текст является ознакомительным фрагментом.
Продолжение на ЛитРес
Читайте также
Типы планов
Типы планов В ключевых практиках описаны два основных типа планов: формальные (например, планы разработки ПО, обеспечения качества ПО и управления конфигурацией ПО) и неформальные (например, планы экспертной оценки, управления рисками и управления
R.3.6 Типы
R.3.6 Типы Существуют два вида типов: основные и
Типы, характеризуемые значениями, ссылочные типы и оператор присваивания
Типы, характеризуемые значениями, ссылочные типы и оператор присваивания Теперь изучите следующий метод Main() и рассмотрите его вывод, показанный на рис. 3.12.static void Main(string[] args) < Console.WriteLine("*** Типы, характеризуемые значением / Ссылочные типы ***"); Console.WriteLine(-› Создание p1"); MyPoint
Типы, характеризуемые значениями и содержащие ссылочные типы
Типы, характеризуемые значениями и содержащие ссылочные типы Теперь, когда вы чувствуете разницу между типами, характеризуемыми значением, и ссылочными типами, давайте рассмотрим более сложный пример. Предположим, что имеется следующий ссылочный тип (класс),
Типы, характеризуемые значениями, и ссылочные типы: заключительные замечания
Типы, характеризуемые значениями, и ссылочные типы: заключительные замечания Чтобы завершить обсуждение данной темы, изучите информацию табл. 3.8, в которой приводится краткая сводка основных отличий между типами, характеризуемыми значением, и ссылочными типами.Таблица
3. Схемы отношений. Именованные значения кортежей
3. Схемы отношений. Именованные значения кортежей В теории и практике СУБД понятия схемы отношения и именованного значения кортежа на атрибуте являются базовыми. Приведем их.Схема отношения (обозначается S) определяется как конечное множество атрибутов с уникальными
Типы исключений
Типы объектов
Типы объектов В титры можно помещать следующие элементы:• надписи (текст, оформленный одним из предопределенных или пользовательским стилем);• графические примитивы (прямоугольник и эллипс);• статические изображения (из графических файлов на диске);• кнопки (правда,
Типы данных
Типы данных Многие языки программирования при объявлении переменной требуют указывать, какой тип данных будет ей присваиваться. Например, в языке Java кодint i = 15;объявит переменную целого типа int с именем i и присвоит ей значение 15. В этом случае тип данных ставится в
1.3 Типы и Описания
1.3 Типы и Описания Каждое имя и каждое выражение имеет тип, определяющий операции, которые могут над ними производиться. Например, описаниеint inch;определяет, что inch имеет тип int, то есть, inch является целой переменной.Описание – это оператор, который вводит имя в программе.
1.3.1 Основные Типы
2.3 Типы
2.3 Типы Каждое имя (идентификатор) в С++ программе имеет ассоциированный с ним тип. Этот тип определяет, какие операции моно применять к имени (то есть к объекту, на который оно ссылается), и как эти операции интерпретируются. Например:int error number; float real(complex* p);Поскольку error_number
BestProg
Базовые понятия реляционной модели данных
Содержание
Поиск на других ресурсах:
1. Какие есть базовые понятия реляционной модели данных?
Как известно, реляционная модель данных основывается на сохранении данных в виде взаимосвязанных таблиц. Связь между таблицами может быть реализована по некоторому полю и называется отношением (relation).
Реляционная модель данных использует следующие основные понятия:
2. Что такое тип данных в реляционной модели данных?
Тип данных есть характеристикой объекта в языке программирования. Таким объектом может выступать переменная, константа и т.п. Тип данных определяет допустимое множество значений, которые может принимать переменная величина или объект.
В системах управления базами данных тип данных имеет такое самое значение как и языках программирования.
Пример. Пусть задана таблица Worker, описывающая данные о работнике предприятия.
В вышеприведенной таблице целесообразно установить следующий тип данных для каждого поля:
3. Какие типы данных поддерживаются системами управления базами данных?
Современные СУБД поддерживают следующие основные типы данных:
4. Домены в реляционной модели данных
Домен – это множество отдельных допустимых значений данных, которые:
Пример. Пусть дана таблица Worker, описывающая данные о работнике.
В домене «Идентификационный код» допустимыми являются строки из цифр, которые имеют строго 10 разрядов. В домене «Пол» возможны только 2 значения. В домене «Разряд» могут быть целочисленные значения от 1 до 6.
5. Атрибуты в реляционной модели данных
Атрибуты – это столбцы таблицы (поля таблицы). Атрибуты имеют имена. По имени атрибута осуществляется обращение к таблице.
Пример. В таблице Worker (см. п. 4) названия атрибутов следующие:
6. Что такое схема отношения? Что такое схема базы данных?
Схема отношения – это список имен атрибутов отношения с указанием имен типов.
Пример. Для таблицы Worker схема отношения будет приблизительно следующей:
Множество именованных схем отношения, называется схемой базы данных.
7. Что такое степень отношения?
Количество атрибутов в таблице называется степенью отношения. Для примера (см. п. 4) таблицы Worker степень отношения равна 6 (таблица имеет 6 полей).
Унарное отношение – это отношение степени один. Бинарное отношение – это отношение степени два. Тернарное отношение – это отношение степени три. n-арное отношение – это отношение степени n.
8. Что такое кортеж в базах данных?
Кортеж рассматривается для конкретной (данной) схемы отношения. В такой схеме кортеж есть множество пар, которые представлены следующим образом:
где имя_атрибута – имя конкретного атрибута.
Например. Пусть задана таблица Worker с такими данными
Схема отношения для данной таблицы будет следующая:
Тогда кортеж, который отвечает первой строке таблицы Worker будет иметь вид:
Таким самым образом можно определить кортеж, который соответствует второй строке таблицы Worker а также и следующим строкам таблицы.
9. Что называется кардинальным числом или мощностью отношения?
Кардинальное число – это количество кортежей. В таблице Worker (см. п. 8) кардинальное число равно 7. Кардинальное число еще называют мощностью отношения.
10. Что собою представляет пустое значение (NULL) в базе данных?
Существуют случаи, когда в таблице базы данных некоторые значения еще неизвестны на данный момент времени. Такие значения называются пустыми значениями и могут быть заполнены со временем (позже). Для задавания пустых значений, в базе данных используется слово NULL. Системы управления базами данных допускают использования значения NULL для задавания данных, которые могут быть заполнены позже.
Следует заметить, что значение NULL не является нулем и не является пустой строкой.
Например. В таблице Worker (п. 8) возможна ситуация, когда работник еще не имеет разряда. В этом случае в соответствующей ячейке нужно ввести значение NULL. Как только работнику будет присвоен некоторый разряд, значение NULL будет заменено этим новым значением.
11. Что такое ключи отношения? Что такое первичный ключ?
Важным условием любой базы данных есть то, что в ней не должно быть двух одинаковых записей. Или другими словами, в таблице базы данных не должно быть двух кортежей, которые содержат одинаковые значения. Во избежание этой проблемы, используются первичные ключи.
Первичный ключ – это специальное дополнительное поле (атрибут) таблицы, которое создается для обеспечения уникальности идентификации записей таблицы. Основная цель создания первичного ключа – предотвратить дублирование (повторение) записей таблицы.
Например. Пусть дана таблица Worker (см. п.8). Чтобы не повторялись записи, в этой таблице может быть создано дополнительное поле (атрибут) с именем, например, ID_Worker. Тип этого поля может быть выбран как счетчик (counter), который автоматически увеличивается при добавлении новой записи в таблицу.
12. Что такое простой и составной (сложный) ключи?
Простой ключ – это ключ, который содержит только один атрибут (поле). Сложный или составной ключ– это ключ, который содержит несколько атрибутов, то есть состоит из нескольких полей, значения в которых не могут повторяться.
Пример. Пусть дана таблица Student, содержащая данные о студенте. Таблица содержит следующие поля:
Название поля | Тип | Описание |
ID_Student | Целое число, int | Уникальный идентификатор поля, счетчик, первичный ключ, простой ключ |
Num_book | Целое число, int | Номер зачетной книжки |
Name | Строка с 100 символов, char(100) | Фамилия и имя студента |
Course | Целое число, int | Курс, на котором учится студент |
В этой таблице поле ID_Student есть первичным ключом, которое обеспечивает уникальность. Это поле есть счетчиком. При добавлении нового студента в таблицу, значение счетчика увеличивается на некоторое число, как правило на 1. Если удалить студента из таблицы, максимальное значение счетчика уже не уменьшается. Таким образом обеспечивается уникальное число, которое соответствует данному студенту.
В таблице Student составным ключом может быть комбинация полей (атрибутов) ID_Student и Num_book (номер зачетной книжки). Однако, в данной таблице такая комбинация не имеет смысла, поскольку поле ID_Student и без того обеспечивает уникальность.
13. Что такое искусственный (суррогатный) ключ?
Искусственный ключ создается самой СУБД или пользователем. Этот ключ не содержит никакой информации. Искусственный ключ используется для создания уникальных идентификаторов строк. Создание идентификатора строки осуществляется таким образом, что сущность строки описывается полностью. Такой метод позволяет однозначно идентифицировать конкретный элемент (значение).
Система управления базами данных поддерживает искусственный ключ так, что он невидим для пользователя.
14. Что такое естественной ключ?
Естественной ключ базируется на атрибутах (полях), которые имеют смысл. Значение в таких атрибутах (полях) не могут повторяться по своей сущности.
Использование естественных ключей позволяет получить более компактную форму таблиц для представления данных.
Пример 1. В таблице Worker (см. п.8) поле «Идентификационный код» есть уникальным, так как не может быть двух людей с одинаковым идентификационным кодом. Это поле и есть естественном ключом.
Пример 2. В таблице Student поле Num_book (№ зачетной книжки) есть уникальным по своей природе. Не может быть двух студентов с одинаковым номером зачетной книжки.
15. Какие преимущества и недостатки использования естественных ключей?
Преимуществом использования естественных ключей есть то, что они несут информацию, и потому не нужно добавлять в таблицу дополнительных полей. Естественные ключи позволяют избегнуть избыточной (неинформативной) информации, которая используется только для связи между таблицами базы данных.
Основные недостатки естественных ключей: