Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8 9 10 .. 51   вперед  Ctrl
 Re: Закат RDBMS?  [new]
ЧАЛ-овек
Guest
мод
ЧАЛ-овек
Вот и возникают сомнения, это совершенно разные вещи или все-таки разный формы одного и того же (кортеж и объект).

это совершенно разные вещи

И в чем разница между объектом (a, b, c) и кортежем <a, b, c>?
13 сен 07, 17:56    [4665132]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
ЧАЛ-овек
И в чем разница между объектом (a, b, c) и кортежем <a, b, c>?


Еще интересный вопрос в чем разница между отношением и записью в табличной БД? Кортеж есть упорядоченный набор элементов. Это нужно РМД чтобы идентифицировать эти элементы в записи и поставить в соответствие значения колонкам. Т.е. это нужно чтобы сформировать А=а, Б=б, В=в где АБВ - имена полей == шапка отношения, а абв - значения этих полей из соотв. доменов. Существует точка зрения, что упорядочивать колонки в таблице есть зло, т.к. при изменении порядка колонок в процессе жизненного цикла БД некоторые запросы могут потерять работоспособность, и что * в селекте есть зло, я ее разделяю. Тогда получается, что упорядочение значений в кортеже тоже есть зло )) И как следствие нужно именование или идентификация значений в кортеже. В любом случае, упорядочивать кортеж или нет, он служит для построения соответствия имен колонок и значений колонок для каждой отдельной строки. По сути кортеж есть подмножество декартова произведение множества колонок на множество всех возможных значений этих колонок (объединение всех доменов) т.е. отношение. Итого, в РМД кортеж вещь лишняя. Могли бы одними отношениями обойтись. А строка это не кортеж а тоже отношение по сути. Это с точки зрения самой же РМД.
13 сен 07, 18:22    [4665351]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
rm15
Member

Откуда:
Сообщений: 86
Немного отвлеченной философии.
Для эффективного поиска хранить действительно лучше не по ключу, а по значению, то есть по "столбцам". Получается что-то вроде ассоциативного мышления, как у человека. Тогда не нужно оптимально или неоптимально перебирать хранилище на поиск первичного ключа, проверяя выполнение заданных условий на столбце, а просто взять нужный столбец. Эффективный ИИ наверное должен работать так.
14 сен 07, 01:37    [4666539]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
mir
Member

Откуда: Томск
Сообщений: 1027
shuklin
Еще интересный вопрос в чем разница между отношением и записью в табличной БД?
Если уж сравнивать, то сопоставимое. Либо отношение и таблицу, либо кортеж и запись. Первые два понятия (отношение, кортеж) — абстрактные, логического уровня вторые два (таблица и запись) — уровень реализации, физический уровень. Впрочем, иногда вторые два тоже используют в логическом смысле, поэтому приходится догадываться по контексту. Поэтому при попытке объясниться на уровне теории лучше говорить в терминах логического уровня, тогда недопонимания точно не будет.

Можно сравнивать и понятия «кортеж» и «отношение» (я ниже сравню). Но сравнивать «отношения» и «записи» смысла нет. Как и сравнивать велосипеды с религией. Как апельсины с интегралами. Это никому особо не интересно в силу отсутствия теоретической и практической пользы.

shuklin
Кортеж есть упорядоченный набор элементов.
Да в исходном математическом смысле. Упорядоченный — означает, что каждому элементу кортежа (неявно) соответствует порядковый номер. То есть кортеж в строгом смысле есть такое специальное отношение, т.е. множество пар (<индекс>,<элемент>) с рядом дополнительных ограничений, которые обычно интуитивно очевидны и редко явно формулируются. То есть кортеж <a, b, c > есть просто сокращенная форма записи множества пар { (1, a), (2, b), (3, c) }. К слову, пара (x, y) тоже есть сокращенная форма записи множества { {x}, {x, y} }. Короче, всё в итоге выразимо через множества, но это будет громоздко и поэтому используются сокращенные записи. Итак, кортеж не есть базовое понятие теории множеств, это производное понятие, это в итоге бинарное отношение, но отношение, условно говоря, настолько удобное и ходовое, что его используют «по умолчанию», без расшифровки.
Что сделал Кодд? Он просто для удобства предложил использовать другое множество индексов для кортежей. Вместо индексов — натуральных чисел удобнее использовать индексы-имена. Это сделано именно для удобства, поскольку с точки зрения чистой математики без разницы, как идентифицировать элементы кортежей, по номеру или по символьному имени. С точки зрения идентификации элементов множество {1, 2, 3} ничем не лучше и не хуже множества {Фамилия, Имя, Отчество}. Зато с точки зрения человека, второй вариант понятнее и потому удобнее.
Поэтому в РМД понятие «кортеж» несколько модифицировано, путём использования несколько иного способа идентификации элементов кортежа. Принципиально это ничего не меняет, поскольку сводится одно к другому (имена можно однозначно занумеровать и дело в шляпе).

Кстати, Кодд предложил это не сразу, в его первой классической статье ещё нет понятия атрибута. Атрибуты и есть символьные индексы для кортежей. Причем название атрибута есть, по мысли Кодда, ни что иное, как название роли домена в данном отношении. Один и тот же домен может использовать в отношении несколько раз, но в разных ролях, и атрибуты называют (и отличают) эти роли.
shuklin
Существует точка зрения, что упорядочивать колонки в таблице есть зло, т.к. при изменении порядка колонок в процессе жизненного цикла БД некоторые запросы могут потерять работоспособность, и что * в селекте есть зло, я ее разделяю.
Можно добавить, что, поскольку элементы кортежей уже идентифицируются именами, целочисленные индексы с логической точки зрения избыточны. Кроме того, по мысли Кодда, Дейта и других, отсутствие жесткого порядка атрибутов в отношении даёт разработчикам СУБД больше свободы в реализации, поскольку разработчики не обязаны поддерживать на физическом уровне порядок атрибутов.
shuklin
Тогда получается, что упорядочение значений в кортеже тоже есть зло
Нет, не так. Элементы кортежей в математике упорядочивают при записи для удобства. Я показал выше, что можно обойтись без этого, но будет громоздко, неудобно. Писать <1, 0, 18> компактнее, чем {(1,1), (2,0), (3,18)}. Истинная же цель состоит в возможности отличить <1, 0, 18> от <18, 0, 1>, <0, 18, 1> и т.д. То есть порядок здесь важен не сам по себе, а как средство различения одних множеств-значений от других множеств-значений с тем же набором элементов.

Итак, порядок элементов здесь не цель, а только средство. Иногда физическое упорядочивание удобно, иногда нет. Это может быть удобно при перечислении значений для вставки, но неудобно для обращения к значению нужного атрибута, т.к. человеку (повторю) легче помнить и использовать понятные имена атрибутов, чем и порядковые номера.
shuklin
Итого, в РМД кортеж вещь лишняя. Могли бы одними отношениями обойтись.
Во первых, если на то пошло, то не в РМД, а в математике вообще.
Во-вторых, могли бы, но не стали, и хорошо. Это неудобно на практике.
14 сен 07, 08:05    [4666696]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
мод
Guest
ЧАЛ-овек
И в чем разница между объектом (a, b, c) и кортежем <a, b, c>?

(a, b, c) - это объект ? Не похож :)
14 сен 07, 09:40    [4666965]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
мод
Guest
shuklin
Еще интересный вопрос в чем разница между отношением и записью в табличной БД?

Лучше подумайте чем отношение отличается от таблицы. О результате раздумий доложите :)
14 сен 07, 09:59    [4667085]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
мод
Лучше подумайте чем отношение отличается от таблицы. О результате раздумий доложите :)

По крайней мере на данном этапе мне это не интересно. Если рассматривать запись в таблице (а именно поэтому я говорил о табличных БД которые в силу конструктивных ограничений отходят от РМД, а меня интересует именно построение СУБД а не математической теории) как отношение, то это гораздо удобнее чем запись == кортеж. Если запись подмножество декартового произведения объединения множества всех колонок на объединение множества всех доменов - это во первых трактует любое поле объекта как VARIANT т.е. способным без потери типизации хранить любой тип данных, а во вторых позволяет иметь в каждой отдельной строке номенкулатуру аттрибутов, отличную от шапки таблицы. Тогда каждая строка может иметь динамический набор аттрибутов, независимо от всех остальных строк этой же таблицы, уже вся таблица это не отношение а коллекция объектов. А некоторое подмножество от множества всех колонок есть интерфейс по данным. Если запись совместима с интерфейсом - ее можно размещать одновременно в разных таблицах. => Имеем наследование и полиморфизм записей. Т.е. сама по себе РМД мне не интересна как слишком уж примитивная. И что такое таблица и запись в РМД мне без разницы ))) У меня таблица==коллекция объектов, а объект(строка)==отношение. Но практика показала, что здешняя публика способна вменяемо понимать посты только если они написаны в парадигме РМД. )))
14 сен 07, 11:29    [4667853]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
мод
Guest
shuklin
По крайней мере на данном этапе мне это не интересно. Если рассматривать ...

Если не интересно, то зачем что-то рассматривать ? Ответа нет ...
14 сен 07, 12:06    [4668163]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
ЧАЛ-ловек
Guest
мод
ЧАЛ-овек
И в чем разница между объектом (a, b, c) и кортежем <a, b, c>?

(a, b, c) - это объект ? Не похож :)

Чем отличается объект с полями a, b, c от кортежа, содержащего a, b, c? Названием?
14 сен 07, 13:24    [4668992]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
мод
Guest
ЧАЛ-ловек
Чем отличается объект с полями a, b, c

Объект должен иметь: тип, идентификатор, имена свойств, значения свойств. И где это все ?
14 сен 07, 13:54    [4669290]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
ЧАЛ-овек
Guest
shuklin
ЧАЛ-овек
И в чем разница между объектом (a, b, c) и кортежем <a, b, c>?


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

Что такое набор, совокупность или группа я не знаю и обычно его употребляют, когда не имеет значения что это такое. В общем случае есть две модальности для группирования, которые обычно называются так:
1. Множество, отношение, дизъюнекция, коллекция и т.п.
2. Кортеж, запись, объект и т.п.

Если есть элементы а, б и в, то можно их сгруппировать двумя способами (логический подход):

1. (а ИЛИ б ИЛИ в) или с помощью скобок {а, б, в} - отношение
2. (а И б И в) или с помощью скобок <а, б, в> - кортеж

Так что отношение состоящее из кортежей это дизъюнкция конъюнкций. (Но это математика, а в жизни все гораздо сложнее.)
14 сен 07, 14:02    [4669336]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
mir
Member

Откуда: Томск
Сообщений: 1027
ЧАЛ-овек
shuklin
ЧАЛ-овек
И в чем разница между объектом (a, b, c) и кортежем <a, b, c>?


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

Что такое набор, совокупность или группа я не знаю и обычно его употребляют, когда не имеет значения что это такое. В общем случае есть две модальности для группирования, которые обычно называются так:
1. Множество, отношение, дизъюнекция, коллекция и т.п.
2. Кортеж, запись, объект и т.п.

Если есть элементы а, б и в, то можно их сгруппировать двумя способами (логический подход):

1. (а ИЛИ б ИЛИ в) или с помощью скобок {а, б, в} - отношение
2. (а И б И в) или с помощью скобок <а, б, в> - кортеж

Так что отношение состоящее из кортежей это дизъюнкция конъюнкций. (Но это математика, а в жизни все гораздо сложнее.)
А почему отношение есть дизъюнкция?
Точнее так, каков смысл этой дизъюнкции? Как интерпретировать её результат? Относительно кортежей это понятно, а вот для отношений?

P.S. Элементы можно "сгруппировать" не только двумя способами. Вот еще
3. (а ИЛИ (б И в)
4. (а И (б ИЛИ в)
Еще если отрицание подключить, больше можно предикатов написать. Только смысл?
14 сен 07, 14:18    [4669467]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3155
ЧАЛ-овек
1. (а ИЛИ б ИЛИ в) или с помощью скобок {а, б, в} - отношение
2. (а И б И в) или с помощью скобок <а, б, в> - кортеж

А почему нельзя (a или б и в) например? Или еще как. И вообще - как это все понимать? Что означает a и b, a или b? Если это множества, то при чем здесь конъюнкиция и дизъюнкция?
14 сен 07, 14:22    [4669501]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3155
Локшин Марк
Если это множества

Имеется ввиду множества произвольной природы.
14 сен 07, 15:01    [4669772]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
G
Guest
СУБД, изобретенная заново
14 сен 07, 16:46    [4670788]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32882

Привет, G!
Ты пишешь:

G
G> СУБД, изобретенная заново
баян

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4

14 сен 07, 17:01    [4670947]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
ИМХО не баян , а уже гармошка - потому что на русском
14 сен 07, 17:10    [4671045]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
Сахават Юсифов
Member

Откуда: Орел
Сообщений: 3992
shuklin
... уже вся таблица это не отношение а коллекция объектов. А некоторое подмножество от множества всех колонок есть интерфейс по данным.


Да по хорошему все надо слить в одну огромную свалку (объектИД, Свойство) (хранить лучше по отдельным свойствам) + доптаблицы содержащие пользовательские прототипы и (может быть, список соответствующих идентификаторов), тогда можно идентифицировать и по идентификатору напрямую и через прототипы.
14 сен 07, 18:14    [4671549]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
ЧАЛ-овек
Guest
Локшин Марк
ЧАЛ-овек
1. (а ИЛИ б ИЛИ в) или с помощью скобок {а, б, в} - отношение
2. (а И б И в) или с помощью скобок <а, б, в> - кортеж

А почему нельзя (a или б и в) например? Или еще как.

Именно так и делается для получения чего-то более сложного. В основе же все равно две операции или связки.

Локшин Марк
И вообще - как это все понимать?

Зависит от цели и от контекста.

Локшин Марк
Что означает a и b, a или b? Если это множества, то при чем здесь конъюнкиция и дизъюнкция?

Ну можно другие названия выбрать, например, норма и ко-норма или сумма и произведение. Какая разница? Важны их формальные свойства. Важно что есть два базовых способа слепить что-то более сложное из более простого. Часто разные науки изучают одно и то же разными способами. Например, есть булева алгебра, есть исчисление высказываний и есть решетки. Почему там одно и то же разными словами описывают? Потому что исходят из разных традиций.

В представлении данных мы просто группируем элементы тем или иным способом. Семантика данных скрыта в этих связях (т.е. связи это главное). А модель данных собственно предоставляет средства и ограничения для такого группирования.
14 сен 07, 21:19    [4672103]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
kittn2
Member

Откуда: С ПТ. Petroskoi, Karjala
Сообщений: 2339
Любая модель представления сущностей и связей реального Мира в формализованом виде описывает их с большими или меньшими допущениями. Реляционная модель сейчас покрывает подавляющее большинство требованиям по определению сущностей и связей и предоставляет удобные средства для манипулирования ими.

Не вижу причин, по которым бы реляционная модель "загнулась". Это ведь просто удобная для реализации на компьютерах штука. Будет что-то более удобное - будем это использовать.
15 сен 07, 14:47    [4673271]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
okdoky
Member

Откуда:
Сообщений: 349
mir
Стоун Брейкер
Winnipuh
But Stonebraker now argues that relational databases, also known as RDBMSes, are "long in the tooth" and "should be considered legacy technology."


Что касается колоночных БД, то это не просто изменение формата хранения, а изменение взгляда на данные. При таком подходе мы видим прежде всего размерности (колонка это размерность), что к реляционности не имеет никакого отношения.
Чушь.
Идея Стоунбрэкер на счет колоночных СУБД базируется на идеях реализованных в СУБД Sav Zigzag. Там вместо понятия колонка используется понятие класс (именованное множество объектов). Такие СУБД могут легко отобразить взаимосвязанные таблицы, например со структурой R1(A, B) и R2(B, C). Здесь B это общий класс объектов, в двух отношениях R1, R2. Основное отличие таких "колоночных" СУБД: проще отслеживать контроль целостности и запросы с JOIN значительно проще.
SQL
select A from R1, R2 where R1.B = R2.B and R2.C = c1
Zigzag
= A(B(C:c1))
В Zigzag не требуется использовать имена таблиц. В крайнем случае вместо таблиц можно использовать новые классы, например R. Значения класса R - номера записей соответствующей таблицы. Вот так вот, все очень просто. Странно, что для mir это так сложно и недоступно... до сих пор.

Кстати на счет домена или "типа" в понятии реляционщиков (последний термин они тупо взяли из объектных моделей). Домен B в отношении R1 и R2 может отличаться, то есть B(R1) != B(R2).
17 сен 07, 04:40    [4675150]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
mir
Member

Откуда: Томск
Сообщений: 1027
okdoky
Идея Стоунбрэкер на счет колоночных СУБД базируется на идеях реализованных в СУБД Sav Zigzag.

Да ладно, ваш ZigZag -- не более чем убогая поделка, которая неоднократно на этом форуме обсуждалась.

okdoky
Основное отличие таких "колоночных" СУБД...
Дайте чёткое определение "колоночной" СУБД. Скажем, Sybase IQ -- колоночная СУБД?
okdoky

SQL
select A from R1, R2 where R1.B = R2.B and R2.C = c1
Zigzag
= A(B(C:c1))
Вообще неясно, какая связь между первым и вторым текстами, кроме одинаковых букв A, B, C. В первом случае эти буквы -- имен атрибутов отношений R1, R2. Во втором -- неизвестно что. То есть сравнивать эти скрипты имеет не больший смысл, чем фрагмент из BOL с фрагментом из сценария к фильму "Брюс всемогущий". И там и там найдется одинаковые слова, но смысл этого сравнения останется туманным.

okdoky
Странно, что для mir это так сложно и недоступно... до сих пор.
Что именно недоступно?

okdoky
Кстати на счет домена или "типа" в понятии реляционщиков (последний термин они тупо взяли из объектных моделей).
Можно поподробнее: кто, когда и откуда? Просветите нас, исторически безграмотных товарищей.
17 сен 07, 07:20    [4675188]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
okdoky
Member

Откуда:
Сообщений: 349
mir
Дайте чёткое определение "колоночной" СУБД. Скажем, Sybase IQ -- колоночная СУБД?
Опять Вас на четкие определения потянуло. Под "четкими" Вы конечно понимаете "реляционные"? Давайте говорить в терминах колонок и таблиц. Они не требуют определений, но понятны всем, надеюсь и Вам.
mir
okdoky

SQL
select A from R1, R2 where R1.B = R2.B and R2.C = c1
Zigzag
= A(B(C:c1))
Вообще неясно, какая связь между первым и вторым текстами, кроме одинаковых букв A, B, C. В первом случае эти буквы -- имен атрибутов отношений R1, R2. Во втором -- неизвестно что.
В первом и во втором случае A,B,C это имена колонок. Как Вам еще проще объяснить, не знаю.
17 сен 07, 07:51    [4675211]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
мод
Guest
Сахават Юсифов
Да по хорошему все надо слить в одну огромную свалку (объектИД, Свойство)

Такие системы есть, у них есть своя ниша. Основное достоинство - не надо строить модель предметной области - но отсюда и ограничения - нет модели - нет преобразований.
17 сен 07, 09:57    [4675484]     Ответить | Цитировать Сообщить модератору
 Re: Закат RDBMS?  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
okdoky
Идея Стоунбрэкер на счет колоночных СУБД базируется на идеях реализованных в СУБД Sav Zigzag.


А я то все вспоминал, кого не хватает ??? :)
Все в сборе топик можно закрывать
17 сен 07, 10:06    [4675533]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8 9 10 .. 51   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить