Техническая библиотека CITForum.ru CITKIT.ru - все об Open Source Форумы Курилка
Все новости / Все статьи Деловая газета - шквал(!) IT-новостей :: CITCITY.RU
Первая полоса ИТ-Инфраструктура Телекоммуникации Безопасность BI Интеграционные платформы КИС IT-бизнес Ширпотреб Точка зрения

21.11.2017

Новости:


Все новости

Обсуждение статьи "Почему формальную реляционную модель данных можно рассматривать как основу безимпедансных систем"

В библиотеке CITForum.ru опубликована статья Евгения Григорьева
Почему формальную реляционную модель данных можно рассматривать как основу безимпедансных систем.
На этой странице Вы можете высказать свое мнение.


Комментарии

Сергей Савушкин, Wed Aug 8 08:33:43 2007:
Совершенно очевидны попытки автора свести ОО-системы и соответствующие им объектные модели к только одной, реляционной модели. Объектная модель не просто имеет право на существование, она должна отражать современный подход к представлению данных. Разные подходы – разные модели. Дайте им возможность существовать. Существуют же разные подходы в физике, например квантовая и волновая теория.

Статья фактически пытается ответить на вопрос, Вами же сформулированный "РМД вводит единственный тип "отношение", и, наоборот, ОО-система позволяет описывать любые типы, как это вообще можно совместить в рамках единой системы?". На самом деле все эти "любые" типы в ОО-системах являются разновидностями одного типа "объект". Формируется некоторая иерархическая зависимость между типами. И это главная особенность ОО-систем должна отражаться в соответствующей им модели, объектной модели. Неужели для ее формализации мы должны ждать нового Кодда? Почему бы не заняться этим например Вам? :)
Дмитрий Малюгин, Fri Jul 13 22:36:05 2007:
Спасибо за отклик.
Очень интересно, в чем именно Вы (и Сергей Кузнецов) несогласны с Дейтом, - хотя это и не относится к теме статьи.

IMHO, для сближения традиционной РМД и ОО-подхода надо вначале, как минимум, расширить РМД поддержкой (в операциях):
1) значения "Все значения" (и значений-множеств);
2) понятия амплитуда (и мощность) кортежа. Последнее позволяет организовать выборку релевантных кортежей. (В природе амплитуды реализованы - это амплитуды состояний волновой функции). Механизм релевантности - это и есть вызов наиболее уместных (контекстно-зависимых) методов (процедур) и значений атрибутов.
Евгений Григорьев, Fri Jul 13 19:20:54 2007:
Я попытаюсь ответить на все замечания. Но не сразу :)

Касательнго третьего манифеста - я написал, что разделяю _основные_ идеи. Это не значит, что я принимаю все утверждения и запреты (некоторые из них явно конфликтуют с тем, что я предлагаю). Однако то, что нужно разделять модель и систему, что домен=тип=класс, что класс не стоит отождествлять с отношением и некоторые другие общие идеи у меня действительно сомнения не вызвывают.

К тому же в ТТМ есть еще одна вещь, которая мне немного не дает покоя. Как я провел эксперимент и попыталя с полном тексте 3-го манифеста (в русском переводе)поискать словосочетание по маске "модел? данных". Интересный факт - оно встречается всего 4 (четыре!) раза. Первый во вступительной главе, где говориться о том, что ТТм "прочно опирается" на РМД. Второй - в приложении I в сочетании "Модель данных ODMG включает реляционную модель данных ...". Третий в "ссылках и библиографии". Четвертый в заключительном приложении - и снова про прочный фундамент. Видимо в англицком варианте ситуация та же самая - если судить по индексу.

Казалось бы, ну что стоит, раз это такой _прочный_ фундамент, определить, что этот фундамент из себя представляет? Но нет, Дейт постоянно говорит о какой-то по сути своей _модели_, определяя её как "абстрактное, замкнутое, логическое определение объектов, операций и т.д., которые совместно представляют абстрактную _МАШИНУ_, с которой взаимодействуют пользователи". Получается, что "модель" Дейта - это описание некой абстрактной реляционной _системы_, которая соотносится с реляционной моделью данных приблизительно так же как (условно) "идеальный абстрактный калькулятор" с той же арифметикой. И выходит, что помимо необходимости различать Дейтовскую "модель" и систему, нужно еще различить Дейтовскую "реляционную модель" и "реляционную модель данных" по Кодду. А когда Дейту пытаются намекнуть, что _система_, реализующая формальную РМД, может быть немножко совсем по другому устоена, он обижается и начинает утверждать, что это неправильно и нарушены некие основные принципы, и в этом смысле ТТМ начинает выглядеть как догма.

Постараюсь продолжить.
Дмитрий Малюгин, Thu Jul 12 10:22:21 2007:
Положения статьи как-то не очень соотносятся с постулатами Третьего Манифеста (3М).
Авторы 3М призывают тех, кто разделяет предписания 3М, использовать определенный язык и термины, исключающие путаницу понятий.
Одно из пожеланий - не злоупотреблять терминами "Объект", "Ссылка", "OID" и т.п. Есть "Тип данных" и "Значение типа" - вроде бы достаточно.

С примерами мне тоже не все ясно. Хотя допускаю, что я чего-то не понимаю.
"Class Shipment" это тип, одним из атрибутов которого является множество значений "Items", определенное на структуре {Article, Pieces}. Странно, что мы можем объявить данное множество хранимым независимо от того, являются ли хранимыми значения типа-владельца Shipment. Получается, что мы можем определить переменную типа Shipment и сохранить (в БД) только часть ее атрибутов (Items)?

Вообще интересно, есть ли у кого-нибудь ясность с тем, как соотносятся понятия "Класс = Домен = Тип" и "Отношение = RelVar = Переменная"?
Вроде бы Пространством Значений Типа является Множество = Отношение = Переменная. То есть Тип тесно связан с Переменной. Или это не так?

Спасибо всем авторам за статьи.
Сергей Кузнецов, Wed Jul 11 06:17:45 2007:
Я уже давно слежу за статьями Евгения Григорьева и должен сказать, что эта статья мне понравилась больше, чем все предыдущие. В ней имеется ряд мыслей, с которыми я полностью согласен. Однако многое в этой статье кажется мне, как минимум, надуманным, а кое-что попросту неверным.

Во-первых, мне не нравится, что Евгений в качестве «русскоязычного» эквивалента термина impedance mismatch использует просто «импеданс». В соответствии с www.multitran.ru, impedance mismatch – это рассогласование нагрузки (неспособность входа одной системы принять выход другой). И это вполне гармонирует с обычно используемым мной термином «потеря соответствия», под чем обычно имеется в виду потеря соответствия типов данных в разных моделях данных. Так что системы, в которых отсутствует impedance mismatch, неправильно называть «безимпедансными» системами.

Теперь про модели данных. Меня радует, что господин Григорьев хорошо относится к Третьему манифесту и считает выраженные в нем идеи общепринятыми (сам я в этом не уверен). Но меня удивляет его отношение к объектно-ориентированной модели данных. Модель данных ODMG 3.0 является полноценной моделью данных в смысле Эдгара Кодда, несмотря на ряд технических дефектов. Фактически она отличается от реляционной модели, представленной в Третьем манифесте, только тем, что объектная база данных представляется в виде множества персистентных переменных (объектов) произвольных типов (классов), в то время как реляционная база данных – это множество переменных типа отношений. Если уж не признавать модель ODMG за модель данных, то это нужно, как минимум, мотивировать.

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

Наконец, мне решительно непонятно, чем Евгения Григорьева не устраивает то, что называется «объектной моделью» SQL. Мне тоже многое не нравится в этой модели, но я могу сказать, что и почему мне не нравится. Мне многое не нравится и в модели ODMG, но примерно понятно происхождение ее недостатков. Но полностью закрывать глаза на объективно существующие технологии и предлагать подходы, в которых не учитывается их существование, нерационально и неправильно.

И все равно, здорово, что Григорьев пишет такие статьи. Хорошо, когда имеются разные мнения, и есть о чем поспорить.

Комментарии заморожены.

Последние комментарии:

Самое интересное:


© 2004–2009 Проект CITCITY.ru