Что термин “Кортеж” Означает в Реляционных базах данных?

Из документов

Получите значение в событии выбора палитры цветов следующим образом:

{
    xtype: 'colorpicker'
    listeners: {
        select: function (colorpicker, color) {
                // color comes as a variable
        }
}

58
задан John Saunders 5 July 2009 в 01:48
поделиться

6 ответов

Большинство ответов здесь на правильном пути. Однако строка не является кортежем . Кортежи * представляют собой неупорядоченные наборы известных значений с именами. Таким образом, следующие кортежи - это одно и то же (я использую синтаксис воображаемого кортежа, поскольку реляционный кортеж в значительной степени является теоретической конструкцией):

(x=1, y=2, z=3)
(z=3, y=2, x=1)
(y=2, z=3, x=1)

... при условии, конечно, что x, y и z - целые числа. Также обратите внимание, что не существует такой вещи, как «дублирующий» кортеж. Таким образом, они не только равны, они одно и то же . Наконец, кортежи могут содержать только известные значения (таким образом, без нулей).

строка ** - это упорядоченный набор известных или неизвестных значений с именами (хотя они могут быть опущены). Следовательно, следующие сравнения возвращают ложь в SQL:

(1, 2, 3) = (3, 2, 1)
(3, 1, 2) = (2, 1, 3)

Обратите внимание, что есть способы "подделать это". Например, рассмотрим этот оператор INSERT :

INSERT INTO point VALUES (1, 2, 3)

Предполагая, что x - первое, y - второе, а z - третье, этот запрос можно переписать следующим образом:

INSERT INTO point (x, y, z) VALUES (1, 2, 3)

Или так:

INSERT INTO point (y, z, x) VALUES (2, 3, 1)

. ..но все, что мы на самом деле делаем, это меняем порядок, а не удаляем его.

Также обратите внимание, что могут быть и неизвестные значения. Таким образом, у вас могут быть строки с неизвестными значениями:

(1, 2, NULL) = (1, 2, NULL)

... но учтите, что это сравнение всегда будет давать UNKNOWN . В конце концов, как узнать, равны ли два неизвестных значения?

И, наконец, строки могут дублироваться. Другими словами, (1, 2) и (1, 2) могут сравниваться, чтобы быть равными, но это не обязательно означает, что они одно и то же.

Если это тема, которая вас интересует, Я настоятельно рекомендую прочитать SQL and Relational Theory: How to Write Accurate SQL Code от CJ Date.

* Обратите внимание, что я говорю о кортежах в том виде, в каком они существуют в реляционной модели, что немного отличается от математики в целом.

** И на всякий случай, если вам интересно, почти все в SQL - это строка или таблица. Следовательно, (1, 2) - это строка, а VALUES (1, 2) - это таблица (с одной строкой).

UPDATE : Я немного расширил этот ответ в сообщении блога здесь .

Это обязательно означает, что это одно и то же.

Если это тема, которая вас интересует, я настоятельно рекомендую прочитать SQL и теория отношений: как написать точный код SQL от CJ Date.

* Обратите внимание, что я говорю о кортежах в том виде, в каком они существуют в реляционной модели, которая немного отличается от математики в целом.

** И на всякий случай, если вам интересно, почти все в SQL - это строка или таблица. Следовательно, (1, 2) - это строка, а VALUES (1, 2) - это таблица (с одной строкой).

UPDATE : Я немного расширил этот ответ в сообщении блога здесь .

Это обязательно означает, что это одно и то же.

Если это тема, которая вас интересует, я настоятельно рекомендую прочитать SQL и теория отношений: как написать точный код SQL от CJ Date.

* Обратите внимание, что я говорю о кортежах в том виде, в каком они существуют в реляционной модели, которая немного отличается от математики в целом.

** И на всякий случай, если вам интересно, почти все в SQL - это строка или таблица. Следовательно, (1, 2) - это строка, а VALUES (1, 2) - это таблица (с одной строкой).

UPDATE : Я немного расширил этот ответ в сообщении блога здесь .

Как написать точный код SQL от CJ Date.

* Обратите внимание, что я говорю о кортежах в том виде, в каком они существуют в реляционной модели, которая немного отличается от математики в целом.

* * И на всякий случай, если вам интересно, почти все в SQL - это строка или таблица. Следовательно, (1, 2) - это строка, а VALUES (1, 2) - это таблица (с одной строкой).

UPDATE : Я немного расширил этот ответ в сообщении блога здесь .

Как написать точный код SQL от CJ Date.

* Обратите внимание, что я говорю о кортежах в том виде, в каком они существуют в реляционной модели, которая немного отличается от математики в целом.

* * И на всякий случай, если вам интересно, почти все в SQL - это строка или таблица. Следовательно, (1, 2) - это строка, а VALUES (1, 2) - это таблица (с одной строкой).

UPDATE : Я немного расширил этот ответ в сообщении блога здесь .

80
ответ дан 24 November 2019 в 18:57
поделиться

Это сокращенный " N-tuple " ( как в quadruple , quintuple и т. д.)

Это строка набора строк, взятая как целое.

Если вы выдадите:

SELECT  col1, col2
FROM    mytable

, весь результат будет ROWSET , и каждая пара col1, col2 будет кортежем .

Некоторые базы данных могут работать с кортежем в целом.

Как , вы можете сделать это:

SELECT  col1, col2
FROM    mytable
WHERE   (col1, col2) =
        (
        SELECT  col3, col4
        FROM    othertable
        )

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

14
ответ дан Quassnoi 24 November 2019 в 18:57
поделиться

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

Вики об отношениях:

В математике (точнее, в теория множеств и логика), отношение свойство, которое присваивает значения истинности комбинации (k-кортежи) k физические лица. Как правило, собственность описывает возможное соединение между компонентами k-кортежа. Для данного набора k-кортежей истина значение присваивается каждому k-кортежу в зависимости от того, или не удерживает.

4
ответ дан vartec 24 November 2019 в 18:57
поделиться

Кортеж используется для определения среза данных из куба; он состоит из упорядоченной коллекции одного члена из одного или нескольких измерений. Кортеж используется для идентификации определенных разделов многомерных данных из куба; кортеж, состоящий из одного элемента из каждого измерения в кубе, полностью описывает значение ячейки.

-2
ответ дан 24 November 2019 в 18:57
поделиться

строка из таблицы базы данных

-1
ответ дан Chand 24 November 2019 в 18:57
поделиться

C++ 11

C++ 11 предлагает std:: normal _ distribution , именно так я бы и пошел сегодня.

C или старше C++

Вот некоторые решения в порядке возрастания сложности:

  1. Добавьте 12 однородные случайные числа от 0 до 1 и вычитайте 6. Это соответствует среднему и стандартному отклонению обычной переменной. Очевидным недостатком является то, что диапазон ограничен ± 6 - в отличие от истинного нормального распределения.

  2. Преобразование Бокса-Мюллера. Это перечислено выше и относительно просто в реализации. Однако, если вам нужны очень точные выборки, помните, что преобразование Бокса-Мюллера в сочетании с некоторыми однородными генераторами страдает аномалией, называемой эффектом Нива 1 .

  3. Для лучшей точности я предлагаю рисовать униформу и применять обратное кумулятивное нормальное распределение для получения нормально распределенных вариаций. Здесь - очень хороший алгоритм для обратного кумулятивного нормального распределения.

1. H. R. Neave, «При использовании преобразования Бокса-Мюллера с мультипликативными конгруэнтными генераторами псевдослучайных чисел», Applied Statistics, 22, 92-97, 1973

-121--703268-

W3C предложила таблицу стилей рендеринга по умолчанию для реализации браузеров.

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

-121--1043057-

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

-1
ответ дан 24 November 2019 в 18:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: