powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / выбор модели данных
24 сообщений из 99, страница 4 из 4
выбор модели данных
    #36379966
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot --------------------------------]
Создавать и уничтожать переменные можно практически в любом ЯП.
Экземпляр объекта - это и есть переменная.
select это сразу две операции - проекции по столбцам и по строкам.
Математический формализм позволяет не упростить получение результата, а получить этот результат единственно возможным способом.
...
Рейтинг: 0 / 0
выбор модели данных
    #36379970
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(-)Каким образом этот математический формализм позволяем упростить получение результата?
Общепринятый математический формализм. Типа (2+2)->4. Считать всяко надо, но все понимают. Преимущества рел алгебры еще более на виду. Берешь (одно, два...n) отношений (то есть множеств) и опана - получаешь новое отношение (множество). множество кортежей, записей если угодно. А нет такого формализма и приходится пользоваться циклами, вложенными. Вы сами прикиньте, что стоит в циклах сделать SELECT атрибутоа FROM две связанные таблицы WHERE какиенить условия да еще и ORDER BY впридачу (хотя ORDER by уже и не операция рел алгебры, ну да ладно :) ).

Что бы спор стал конструктивным, предложите что-то взамен.
Код: plaintext
1.
2.
------------------------------
!Напрасный труд хуже пьянства!
------------------------------
...
Рейтинг: 0 / 0
выбор модели данных
    #36380041
Т.е. наличие алгебры предполагает, что любую задачу можно решить без циклов?

А рассуждая про selectы вы не путаете реляционную алгебру с языком программирования?
...
Рейтинг: 0 / 0
выбор модели данных
    #36380054
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--------------------------------alexeyvgРешение уравнения бывают разные - это не только упрощение или преобразование, но и само решение, т.е. получение результата.

Для такого решения примеры, по моему, очевидны.

Ну тогда также очевидны и объектные решения.Дык вот все в этом топике пока что не видят ни одного решения, не подразумевающего затрат тысяч человеко-лет, уже потраченных разработчиками СУБД.

Даже для простейшего джойна нужно писать гору кода, причём этот код даже сам не распаралелится на много процессоров - для этого нужно написать ещё больше кода...

--------------------------------Непонятно почему именно наличие "реляционной алгебры" рассматривается как большое преимущество.
Каким образом этот математический формализм позволяем упростить получение результата?Непонятно, вам не нравится именно формализм, именно слова "реляционная алгебра"?

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

Кстати, в обычной жизни "реляционная алгебра" массово используется всеми людьми, хотя эти слова знают единицы.
...
Рейтинг: 0 / 0
выбор модели данных
    #36380058
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет не предполагает. Но циклов будет немножко меньше.

Не путаю. Честно. Хотя и рассуждаю про SELECTы. :)
Код: plaintext
1.
2.
------------------------------
!Напрасный труд хуже пьянства!
------------------------------
...
Рейтинг: 0 / 0
выбор модели данных
    #36380066
Igor Lemeshko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--------------------------------
...
Непонятно почему именно наличие "реляционной алгебры" рассматривается как большое преимущество.
Каким образом этот математический формализм позволяем упростить получение результата?

Джеффри Д. Ульман, Дженнифер Уидом
Введение в системы баз данных
http://www.onlinedisk.ru/file/162437
Глава 4 - алгебра реляционных операций.
Вы ими наверняка постоянно пользуетесь, и это не кажется чем-то необычным.
Но до Кодда был целый комитет - КОДАСИЛ. Документировали навигационные СУБД.
Там, чтобы выполнить обычный SELECT ... FROM, MINUS, UNION, перечисление столбцов,
фильтры в WHERE, надо было писать цикл на языке 3го уровня(как правило) - выходила
примерно страничка кода для одного SELECT, а если объединяешь две таблицы - тогда несколько циклов(вложенных). Фильтры - там же руками.
Плюс надо было всегда помнить текущее положение курсора(в каком наборе(таблице) находишься) знать
команды для перехода из набора в набор(таблицу), команды
для быстрого поиска, команды для ..., вместо того чтобы просто написать SELECT ... FROM ....
Связи между наборами (включая многие-ко-многим без промежуточной таблицы)
создавались во время создания схемы базы - но это сомнительное преимущество.

Я работал с MDBS-III - мощная для того времени(1992-95) система,
но вот там и не было этой алгебры, и процесс разработки был существенно медленнее(отчеты - вообще отдельная песня). Сопровождение - аналогично.
Нынешняя вяло-текущая возня с объектами ОЧЕНЬ напоминает деятельность того комитета.
:)
Один человек сделал больше, чем целое поколение.
...
Рейтинг: 0 / 0
выбор модели данных
    #36380083
alexeyvg
Вы не возражаете, что для решения практических задач нужна арифметика? Чем "реляционная алгебра" хуже? Почему для задач, требующих сложения и вычитания можно использовать эти операции, а для задач, требующих операций над множествами, нужно использовать систему, в которой этих операций нет, и писать их самому?

Кстати, в обычной жизни "реляционная алгебра" массово используется всеми людьми, хотя эти слова знают единицы.
Так в обычной жизни и объектное проектирование\программирование массово используется.
А здесь говорят, что там даже операций нет. :(

Я не против реляционной алгебры, но я не понимаю как ее наличие сказывается на языке SQL.
По моему это все равно, что считать использование арифметики достоинстом BASICа
...
Рейтинг: 0 / 0
выбор модели данных
    #36380105
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--------------------------------Я не против реляционной алгебры, но я не понимаю как ее наличие сказывается на языке SQL.
По моему это все равно, что считать использование арифметики достоинстом BASICаКак-же - наличие реляционной алгебры сказывается на SQL тем, что её там можно применить - в этом его преимущество для решения задач, требующих её применения.

И использование арифметики тоже является достоинстом BASICа - ведь было бы хуже, еслиб её там не было?

Т.е. если для решения задачи нужна арифметика, то BASIC попадает в число кандидатов по этому критерию, а если нужна реляционная алгебра, то SQL попадает в число кандидатов по этому критерию.
...
Рейтинг: 0 / 0
выбор модели данных
    #36380132
Не понял - что почему ставится знак равенства между декларативным программированием и алгеброй?

Почему вы считаете, что запись
Код: plaintext
forall e in Collection do e.sum = e.sum+ 2 
менее понятная и более длинная чем
Код: plaintext
update Collection set sum = sum +  2  ?
Чем запись
Код: plaintext
{ (p.name, d.sum) | p as Person, d as Document where d.client = p}
хуже
Код: plaintext
select p.name, d.sum from Person as p, Document as d where d.client = p.id}

Ни в том ни в другом случае реляционная алгебра не использовалась.

А уж навигация с использованием синтаксиса d.client.department.name и подавно удобней реляционных джойнов
...
Рейтинг: 0 / 0
выбор модели данных
    #36380164
Основные плюсы наличия алгебры:

1. Возможность записывать сложные выражения вместо цепочки примитивных инструкций по вычислению. Аналогия: запись выражений в языке высокого уровня (типа (a+b)^2 - (c-d)^2 ) по сравнению с языком ассемблера, где надо записать цепочку примитивных инструкций, чтобы получить тот же результат.

Следствия:
1.1. Компактификация записи.
1.2. Возможность использовать встроенный системный оптимизатор для выбора конкретного способа расчёта сложного выражения.
1.3. Снижение количества ошибок, т.к. в длинной низкоуровневой программе их всё же легче наделать, чем в записи алгебраического выражения

2. Возможность формулировать достаточно сложные ограничения целостности (правила) декларативно , в виде выражений над базой данных, вместо необходимости писать все проверки процедурно, навигационным способом.
...
Рейтинг: 0 / 0
выбор модели данных
    #36380170
--------------------------------
Чем запись
Код: plaintext
{ (p.name, d.sum) | p as Person, d as Document where d.client = p}
хуже
Код: plaintext
select p.name, d.sum from Person as p, Document as d where d.client = p.id}

Ни в том ни в другом случае реляционная алгебра не использовалась.
Да ну? К вашему сведению, выражение Person, Document есть алгебраическая операция декартова произведения (иначе Person CROSS JOIN Document)
...
Рейтинг: 0 / 0
выбор модели данных
    #36380204
?
Это вы про какое выражение?

Второе? - там условие

Первое? - там тоже условие
...
Рейтинг: 0 / 0
выбор модели данных
    #36380225
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--------------------------------?
Это вы про какое выражение?

Второе? - там условие

Первое? - там тоже условиеТем не менее это и есть операции реляционной алгебры.
...
Рейтинг: 0 / 0
выбор модели данных
    #36380246
Второе - да
А первое - это всего лиш определение множества
...
Рейтинг: 0 / 0
выбор модели данных
    #36380269
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 (-)

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

(-).. ничего что я вас в перооде пишу? так быстрее :) навигация с использованием синтаксиса d.client.department.name и подавно удобней реляционных джойнов В общем да. Самое итересное, что одно другому не мешает. В смысле навигачия может быть реализована Join'ами, а Join'ы могут соединять навигационные выражения. Беда только, что это мало кто понимает.

Код: plaintext
1.
2.
------------------------------
!Напрасный труд хуже пьянства!
------------------------------
...
Рейтинг: 0 / 0
выбор модели данных
    #36380370
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-geneВы знаете я не понимаю, о чем спор. Вроде как про объекты сначала был, про какие то там непонтяные фразы, типа операция создания объекта. Ну и мои возражения возникли именно по этому поводу. А сейчас я не против. Исчисление и рел.алгебра равносильны, это вроде еще Кодд доказал.+1

Я не против объектов, я против работы с множествами без использования соответствующих средств. А SQL это будет или Linq - это уже отдельный вопрос - вопрос выбора инструмента.
...
Рейтинг: 0 / 0
выбор модели данных
    #36380676
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Igor LemeshkoНынешняя вяло-текущая возня с объектами ОЧЕНЬ напоминает деятельность того комитета.
Здесь-то и зарыта собака. Очень не нравится поклонникам объектов, что обработка данных легко объходится без них. Вот и спорят ни о чем.
...
Рейтинг: 0 / 0
выбор модели данных
    #36382420
Alexander_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-geneИ никакие ГОСТы и ISO этот факт не прикроют

Газеты надо читать... И ISO тоже, а то в своем болоте завязли, слив накак не найдете, бедолага...
...
Рейтинг: 0 / 0
выбор модели данных
    #36382689
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ви не поняли.
Я просто не нашёл нужных слов, что есть такое "модель данных" в вашей интер т ре п ации. Хотя и надеялся. Видимо Ви не знаете.

Код: plaintext
1.
2.
------------------------------
!Напрасный труд хуже пьянства!
------------------------------
...
Рейтинг: 0 / 0
выбор модели данных
    #36387112
Alexander_111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-gene,

тупость не глупость...
...
Рейтинг: 0 / 0
выбор модели данных
    #36387635
Евгений Мирошниченко aka mir
Если попробовать взять уже существующие аксиоматические концепции, то объект -- переменная, а состояние -- значение этой переменной. ... т.к. переменная существует в пространстве и времени и отличается от других переменных.
Комментировать нечего. Полный бред. Сам то понял, что сказал?

Guest
Чем вам так дорога эта алгебра РМ ? Я ни разу не использовал ее в своей работе.
... В чем прелесть АЛГЕБРЫ ?
Непонятно почему именно наличие "реляционной алгебры" рассматривается как большое преимущество.
Каким образом этот математический формализм позволяем упростить получение результата?
Алгебра нужна для следующих целей: 1. как защитный политический механизм или крыша, 2. Это помогает выстроить более строгую цепочку рассуждений.
Но по большому счету, сама алгебра в мат. смысле конечно никому в моделированни данных не нужна - ни в теории, ни тем более на практике.

alexeyvg
join, where, exists - это и есть алгебра, т.е. так указываются операции над множествами.
Ну тогда выбор бананов домохозяйкой в супермаркете это тоже алгебра, и одновременно еще и квантовая механика, ведь бананы из квантов состоят и подчиняются ее законам.

_мод
Это вам так кажется - любой select это уже операция рел. алгебры. Без нее с таблицами нельзя работать.
Почему реляционной алгебры? До реляционной алгебры не было выборки из таблиц? Если уж говорить о характерный особенностях, то лучше начать с join (и на этом же закончить). Операция весьма неоднозначная и на данный момент очевидно вредная (хотя в свое время прорывная).

_модЭто не преимущество, а необходимость. Что-бы сложить 2+2 нужна операция +.
Это в математике - там свои законы, которые часто хотят использовать не по назначиению. А в информатике для нахождения 2+2 можно, например, использовать процедуру, или сообщения, или переход между состояниями.

Сахават
"Событие" не понятие прикладной области.
Зависит от модели. Модель может поддерживать понятие "события" в качестве базового, а может и не поддерживать.

Сахават"Верный" дизайн подразумевает бесконечное количество сущностей.
В информатике нет бесконечности (и потому это не математика). Наверное имелось в виде "неограниченное" (что впрочем, тоже сильное отверждение).

_мод
А вот в программном смысле в РМ событием является любые операции, что и используется в триггерах СУБД.
Ну так есть в РМ события или их нет? А то как-то некрасиво получается: в теории их нет, а вот когда рапортавать об успехаъх, то сразу появляются всякие интересные вещи.
_модПри использовании СУБД, в которых нет SQL приходится вручную моделировать (программировать) те же операции рел. алгебры.
Правильно. Но только надо договарить: при наличии SQL приходится на нем вручную моделировать (программировать) другие модели - но зачем такие мучения, никто не знает.

Guest
А вот создание и удаление объекта, на мой взгляд, является операцией.
Есть две совершенно разные операции: создание переменной и создание объекта. Но с алгеброй это почти никак не связано.

_мод
Экземпляр объекта - это и есть переменная.
Экземпляр объекта - это ссылка. А переманная - это где она хранится. Совершенно разные понятия.

U-gene
Преимущества рел алгебры еще более на виду. Берешь (одно, два...n) отношений (то есть множеств) и опана - получаешь новое отношение (множество). множество кортежей, записей если угодно.
А кто сказал, что представлять данные в виде отношений, это есть хорошо? В реальной жизни никто так не делает. Получается, что сами себе создаем проблемы, а потом хвастаемся, что нашли для них хитрое решение. И в этом ценность РМ? Проще говоря, а зачем нам сперва представлять данные в виде нескольких отношений (создать проблему), а потом заниматься нахождением того, что реально нужно через какие-то хитрые операции?
U-geneА нет такого формализма и приходится пользоваться циклами, вложенными. Вы сами прикиньте, что стоит в циклах сделать SELECT атрибутоа FROM две связанные таблицы WHERE какиенить условия да еще и ORDER BY впридачу (хотя ORDER by уже и не операция рел алгебры, ну да ладно :) ).
Не в циклах дело - даже если мы в какой-то ЯП введем что-то типа select, или даже join, то в рел.модель он не превратится. Я бы даже сказал, что можно вполне оставить циклы и получить очень приличную модель данных.
...
Рейтинг: 0 / 0
выбор модели данных
    #36387645
ой извините пьяный был не понял какую чушь писал
...
Рейтинг: 0 / 0
выбор модели данных
    #36387649
U-gene
(-).. ничего что я вас в перооде пишу? так быстрее :) навигация с использованием синтаксиса d.client.department.name и подавно удобней реляционных джойнов В общем да. Самое итересное, что одно другому не мешает. В смысле навигачия может быть реализована Join'ами, а Join'ы могут соединять навигационные выражения. Беда только, что это мало кто понимает.
Это уже более содержательное утверждение, но все-таки слишком поверхностное. Я бы сказал, что есть очень серьезные (глубинные) причины, почему это не сделано (не получается сделать). Объеденить РМ и join'ы конечно проблем нет, но никакого прорыва не будет - возможно несколько меньше писанины в запросах. Это примерно как попытки Дейта и Ко механически прикрутить к РМ теорию типов так, чтобы было два ортогональных направления моделирования - ничего не вышло, поскольку слишком наивно.
...
Рейтинг: 0 / 0
выбор модели данных
    #36389217
случайно забрелой извините пьяный был не понял какую чушь писалТо-то и оно.
...
Рейтинг: 0 / 0
24 сообщений из 99, страница 4 из 4
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / выбор модели данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]