Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / вопрос по парадигмам БД / 25 сообщений из 79, страница 1 из 4
17.05.2005, 14:11
    #33069533
Илья(Phantom)
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Пишу статью-обзор по используемым парадигмам отражения логических сущностей в приложениях на БД.
Получилось пока что 3 парадигмы, кратко:
1) сущность -> строка в таблице
2) объектные схемы БД с "класс -> объект" архитектурой
3) объектные схемы БД с "прототип -> объект" архитектурой

Может кто-нибудь в своей практике встечался с чем-то еще - более "экзотическим" и т.д.? Интересуют так же примеры схем БД и по этим 3 парадигмам(в основном по 2 и 3, т.к. в 1 досточно все просто).

Заранее благодарю!
...
Рейтинг: 0 / 0
17.05.2005, 14:34
    #33069610
Павел Воронцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Есть ещё одна парадигма - правильная. Это когда после составления схемы сущность-связь ещё идёт этап норализации. При этом отношение сущность - строка таблицы как правило нарушается. Почитали бы что ли книжки, чем кидаться писать статьи...
...
Рейтинг: 0 / 0
17.05.2005, 15:01
    #33069690
Илья(Phantom)
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Хмммм.... интересно, почему все себя априори считают уменее других? Начинают советовать почитать книжки и т.д.? У меня уже свыше 5 лет опыта проектирования БД и КИС систем, поэтому Ваш "наезд" просто считаю не актуальным.

Согласен - есть некоторая небрежность в моем вопросе, но думается, что человек имевший дело с большими КИС понял бы меня.

Позвольте расшифровать:

Есть некоторая система в которой представлены некоторые логические сущности. Эти сущности должны как-то персистятся (сохраняться) в базу данных. Именно на этом этапе и "случаются" те парадигмы о которых я говорил. В самом простом случае сущность отражается таблицей (одной или несколькими), а колонки таблицы это аттрибуты сущности. В более сложных случаях в КИС обычно разрабатывают в БД свою собственную объектную модель - как бы "поверх" таблиц.
Например возможна таблица object с полями object_id, name, parent_id, type_id ну и т.д. И уже разного типа сущности могут сохранятся в одну и туже схему таблиц. Ну и т.д.
...
Рейтинг: 0 / 0
17.05.2005, 15:11
    #33069730
ChA
ChA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Илья(Phantom)...Эти сущности должны как-то персистятся (сохраняться) в базу данных.Wow...
...
Рейтинг: 0 / 0
17.05.2005, 15:12
    #33069735
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
> почему все себя априори считают уменее других?

Действительно. Вы сами об этом что думаете?

> У меня уже свыше 5 лет опыта проектирования БД и КИС систем

Ну, пять лет можно штаны по-разному протирать. Авторством каких проектов Вы можете похвастать?

> Есть некоторая система в которой представлены некоторые логические
> сущности.

Что это - "логические сущности"? Как они описаны?

Работы каких авторов Вы хотите рассматривать в Вашей статье?
...
Рейтинг: 0 / 0
17.05.2005, 15:51
    #33069890
Павел Воронцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Илья(Phantom)Хмммм.... интересно, почему все себя априори считают уменее других? Начинают советовать почитать книжки и т.д.? У меня уже свыше 5 лет опыта проектирования БД и КИС систем, поэтому Ваш "наезд" просто считаю не актуальным.

Согласен - есть некоторая небрежность в моем вопросе, но думается, что человек имевший дело с большими КИС понял бы меня.

Позвольте расшифровать:

Есть некоторая система в которой представлены некоторые логические сущности. Эти сущности должны как-то персистятся (сохраняться) в базу данных. Именно на этом этапе и "случаются" те парадигмы о которых я говорил. В самом простом случае сущность отражается таблицей (одной или несколькими), а колонки таблицы это аттрибуты сущности. В более сложных случаях в КИС обычно разрабатывают в БД свою собственную объектную модель - как бы "поверх" таблиц.
Например возможна таблица object с полями object_id, name, parent_id, type_id ну и т.д. И уже разного типа сущности могут сохранятся в одну и туже схему таблиц. Ну и т.д.Вам сюда и сюда . Welcome to the club
...
Рейтинг: 0 / 0
17.05.2005, 15:58
    #33069927
Илья(Phantom)
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
да... смешно здесь у вас - ей Богу:) Вместо того, чтобы попробовать понять и помочь человеку пытаетесь воспринять все в штыки:) А я то думал - зарегюсь на сайте - мож что дельное скажут.

2 guest_20040621
Хотя бы IBM и Xerox что-нибудь говорят?:)

Если угодно Логическая сущность = объект. Но это немного шире чем просто объект.

В основном работы по онтологиям и экспертным системам В.Л.Стефанюка.
...
Рейтинг: 0 / 0
17.05.2005, 16:06
    #33069964
Павел Воронцов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Илья(Phantom)да... смешно здесь у вас - ей Богу:) Вместо того, чтобы попробовать понять и помочь человеку пытаетесь воспринять все в штыки:) А я то думал - зарегюсь на сайте - мож что дельное скажут.

2 guest_20040621
Хотя бы IBM и Xerox что-нибудь говорят?:)

Если угодно Логическая сущность = объект. Но это немного шире чем просто объект.

В основном работы по онтологиям и экспертным системам В.Л.Стефанюка.Вы просто на мозоль наступили. Оцените размер топиков, на которые я тут ссылки дал (и восхититесь). Слова "персистить" выдают Вас с головой. Ничего более внятного, чем почитать правильные книжки посоветовать Вам не могу к сожалению. Есть только просьба - не пишите статью...
...
Рейтинг: 0 / 0
17.05.2005, 16:19
    #33070015
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
> Вместо того, чтобы попробовать понять и помочь человеку пытаетесь воспринять
> все в штыки

Дружище, меняйте стиль изложения. Не нужно чувствовать себя небожителем, сошедшим к простым смертным. Если Вам советуют что-то почитать прежде, чем писать статьи, то, скорее всего, не без основания.

> Хотя бы IBM и Xerox что-нибудь говорят?:)

Ну, есть такие лавки, и что? Интересно не Ваше место работы, а Ваши реальные проекты. Не знаю, как дела у Xerox, а криворукость т. н. девелоперов IBM мне известна.

> Если угодно Логическая сущность = объект. Но это немного шире чем просто
> объект.

Понятно. Т. е. Вы попутно еще и неологизмы изобретаете. Imho напрасно, ну, да дело не в этом. Раз так, потрудитесь дать определение объекту и опишите разницу между "логическими" сущностями и объектами (заметьте, стоило Вам использовать формулировку "сущность логической модели", вопроса не возникло бы).

> В основном работы по онтологиям и экспертным системам В.Л.Стефанюка.

Не читал, хвастать не буду. Вопрос, однако, задам: по-Вашему, как онтология и экспертные системы связаны с предметом обсуждения? Насколько я знаю, никаких специальных методик проектирования они не предполагаю.
...
Рейтинг: 0 / 0
17.05.2005, 16:38
    #33070083
Илья(Phantom)
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Павел,

поделитесь как слово "персистеть" может выдавать с головой? Здесь что-то кроется какой-то скрытый (чисто данного форума) смысл?
Все проекты у нас делаются на J2EE и процесс сохранения (отражения) состояния системы в БД из покон веков назывался данным словом - сохранение. Что здесь может быть удивительного?

Топики конечно потрясают - но не удивляют. Объектные БД не интересуют как таковые. Интересует процесс "трансформации" - логических сущностей из объектов одной системы в другую.

Поймите, что материал уже набран, но вот проблема - термины абсолютно не те, к которым привыкли люди на этом форуме - те кто крутятся в основном в мире БД.

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

Ладно - я все понял. Товарищи на заграничных форумах намного теплее и понятливее, чем у нас.
...
Рейтинг: 0 / 0
17.05.2005, 16:49
    #33070123
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
> Объектные БД не интересуют как таковые.

Да убогие они. Ограниченные. Без внятной теоретической базы. Исключительно для детерминированных задач. Что здесь в принципе может быть интересного? Болото.

> материал уже набран,

Публикуйте, в чем проблема?
...
Рейтинг: 0 / 0
17.05.2005, 17:05
    #33070191
Илья(Phantom)
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Интересуют конкретные пример схем БД для 2 и 3 типа перечисленных мной. Желательно "открытые", чтоб можно было сослаться и т.д.

> Да убогие они. Ограниченные. Без внятной теоретической базы. Исключительно
> для детерминированных задач. Что здесь в принципе может быть интересного?
> Болото.

даааа - болото болотом и нафига мы его разрабатываем....:)
...
Рейтинг: 0 / 0
17.05.2005, 17:11
    #33070223
вопрос по парадигмам БД
Автору искренне КГ/АМ. Пересказывать то, о чем здесь годами тщательно и в подробностях претирают, народ, видимо, не хочет. А что, в лом поискать "маппинг|mapping" по конфам? Или "термин термин абсолютно не тот" ... в смысле - не знакомый? Ну так и отношение соответствующее. А поискать, так статья может показаться не очень нужной.
...
Рейтинг: 0 / 0
17.05.2005, 17:22
    #33070264
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
> Интересуют конкретные пример схем БД для 2 и 3 типа перечисленных мной.

Это предложение работы? Хм... лично мне эта задача не интересна. Поскольку а) тривиальна, б) уже имеет решения.

> даааа - болото болотом и нафига мы его разрабатываем....:)

Предположу: бабло зарабатываете. Что само по себе не предосудительно: кушать всем хочется. Только делаете Вы это хм... не слишком профессионально. ;))
...
Рейтинг: 0 / 0
17.05.2005, 17:32
    #33070304
XM
XM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Илья(Phantom)
Поймите, что материал уже набран, но вот проблема - термины абсолютно не те, к которым привыкли люди на этом форуме - те кто крутятся в основном в мире БД.

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

Если Вы и статью в таком стиле и такой терминологии собираетесь публиковать, кто её поймёт???

---
"Raffiniert ist der Herr Gott, aber boshaft ist Er nicht." Albert Einstein
...
Рейтинг: 0 / 0
17.05.2005, 18:01
    #33070408
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Илья(Phantom)Пишу статью-обзор по используемым парадигмам отражения логических сущностей в приложениях на БД.
Получилось пока что 3 парадигмы, кратко:
1) сущность -> строка в таблице
2) объектные схемы БД с "класс -> объект" архитектурой
3) объектные схемы БД с "прототип -> объект" архитектурой

Может кто-нибудь в своей практике встечался с чем-то еще - более "экзотическим" и т.д.? Интересуют так же примеры схем БД и по этим 3 парадигмам(в основном по 2 и 3, т.к. в 1 досточно все просто).

Заранее благодарю!

-- Multidimensional ("star" / "snowflacke" схемы) ?
...
Рейтинг: 0 / 0
18.05.2005, 08:18
    #33071032
mir
mir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Илья(Phantom)Пишу статью-обзор по используемым парадигмам отражения логических сущностей в приложениях на БД.
Получилось пока что 3 парадигмы, кратко:
1) сущность -> строка в таблице
...
А где собственно реляционный подход? То, что вы привели в п. 1 есть только частный случай. В более общем случае, каждый кортеж отношения представляет вовсе не сущность, а некоторый факт, то есть истинностное утверждение (аксиому), соответствующее предикату отношения. При этом информация о некоторой сущности реального мира представляется только всей совокупностью фактов о ней, хранящихся в БД.
...
Рейтинг: 0 / 0
18.05.2005, 08:23
    #33071035
mir
mir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
И еще. Как же можно писать о БД и жаловаться, что "вот проблема - термины абсолютно не те, к которым привыкли люди на этом форуме - те кто крутятся в основном в мире БД." Это выше моего понимания. Это, скажем, как писать специализированную статью о биологии и сетовать та то, что приходится использовать термины, привычные биологам.
...
Рейтинг: 0 / 0
18.05.2005, 10:12
    #33071237
Int23
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Как я понимаю автор просто пишет диссертацию и ему нужен список литературы )....Но мне не совсем понятно, что он хочет? Он хочет найти методики "объектно-ориентированного преобразования?"....Тогда нужно смотреть работы Ambler'а....Там есть примеры. А конкретная реализация так это Bold для Дельфи. Там можно построить БД в понятиях классов, а сохранить в реляционной БД (либо в XML). Я смотрел отображение на InterBase. И подобных инструментов куча. Мне кажется автор не до конца описал задачу исследования :))
...
Рейтинг: 0 / 0
18.05.2005, 10:45
    #33071351
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Jimmy-- Multidimensional ("star" / "snowflacke" схемы) ?
Образцовый пример первого типа из перечисленных. Потому как именно что в отличие от нормализованных схем сущность почти однозначно соответствует строке в таблице.
...
Рейтинг: 0 / 0
18.05.2005, 10:49
    #33071373
Int23
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
А почему "звезда" описывает одну сущность в строке таблицы фактов? Ведь там же множество внешних ключей на размерности? И получается что одна строка содержит только ничего не значащие значения (внеш. ключи). А сами данные требуется получать из других таблиц. Так или я что-то не попимаю?
...
Рейтинг: 0 / 0
18.05.2005, 11:06
    #33071433
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Int23А почему "звезда" описывает одну сущность в строке таблицы фактов?
И в строке таблицы измерений тоже. Единственно, принцип несколько нарушается с иерархиями в строгой звезде.

Int23Ведь там же множество внешних ключей на размерности?
И чему это противоречит?

Допустим, я живу возле м. Сокол. Это - атрибут меня как сущности. Но само м. Сокол вместе со всеми его рельсами, поездами, сотрудниками, Ленинградским шоссе над и домами вокруг - моим атрибутом не является.

Так и здесь: атрибутом, реквизитом факта является "упоминание", ссылка на измерение, "измерение как объект", но не атрибуты собственно измерения.

Int23И получается что одна строка содержит только ничего не значащие значения (внеш. ключи). А сами данные требуется получать из других таблиц. Так или я что-то не попимаю?
Полагаю, Вы глобально заблуждаетесь.

В первую очередь, строка таблицы содержит не столько внешние ключи, сколько значения, measures. Скажем, для факта покупки - сумму покупки. Таблицы фактов, все атрибуты которых являются измерениями - вырожденный случай; я такого, пожалуй, никогда не встречал. Можно, конечно, сделать сумму покупки измерением - но смысл?

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

Внешний ключ в таблице фактов не нужен для доступа к данным измерения. Если есть измерение, допустим, (код района, название района) - второе из этих полей нужно исключительно для целей визуализации. Никакой информации для обработки оно не несет. Если Вы захотите узнать, например, "десять районов с наибольшим объемом продаж" - Вы сделаете запрос к таблице фактов (продаж), найдете эти десять районов, а затем, может быть, для визуализации загляните в справочник и возьмете их названия.

Разумеется, в измерениях в принципе могут храниться какие-то показатели. Скажем, может храниться ставка НсП, разная для разных субъектов федерации. Но во-первых, именно этот случай - скорее исключение, а во-вторых, это будет именно атрибут субъекта федерации, измерения (меняющийся по времени). Атрибутом продажи может быть "текущая ставка НсП" - которая как правило будет выделена как measure в таблице фактов, скорее даже как "В том числе НсП".
...
Рейтинг: 0 / 0
18.05.2005, 11:21
    #33071487
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
[quot softwarer Образцовый пример первого типа из перечисленных. Потому как именно что в отличие от нормализованных схем сущность почти однозначно соответствует строке в таблице.[/quot]

Ну, насчет образцовости я бы не стал утверждать, т.к. кроме иерархий (в "звезде") есть и другие отличия, типа истории изменения значения атрибута, которая хранится в таблице фактов. Если учитывать это обстоятельство, то понятие "сущность -> строка в таблице" нужно расширить до "сущность в определенный момент времени -> строка в таблице"
Мне так кажется.
...
Рейтинг: 0 / 0
18.05.2005, 12:17
    #33071676
ModelR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
Попробуем перевести обсуждение в более техническую плоскость.
Есть два факта:
"Джим съел собаку", "Вчера Джим получил письмо от Джейн"
Логически (не вдаваясь в вопросы о ключах и индексах) их можно формализовать различными предикатными конструкциями:
Код: plaintext
( 1 )  Человек(Имя=Джим, Съел=собака, Получил_письмо_от=Джейн, Получил_письмо_когда=вчера)
Код: plaintext
1.
( 2 ) Съел (Кто=Джим, Кого=собака)
Получил_письмо (Кто=Джим, От=Джейн, Когда=Вчера)
Код: plaintext
1.
2.
3.
( 3 ) АтрибутТипаСобытия(Тип=съел, Номер_атрибута= 1 , Тип_атрибута=Кто)
АтрибутТипаСобытия(Тип=съел, Номер_атрибута= 2 , Тип_атрибута=Кого)
Событие (Тип=съел, Арибут1знач=Джим,Атрибут2знач=собака, ..., Атрибут100знач=NULL)
...
достаточно для начала.
Способы отличаются тем, что в одном случае "съел" отображается в атрибут, в другом в предикат, в третьем в значение.

2 Илья(Phantom) :
не вдаваясь в вопрос о том какое их этих отображений правильное (в частности что будет если Джим съест еще кого-нибудь или получит больше писем :), только чтобы понять вашу терминоглогию, точнее, ее применение к БД:
сколько здесь парадигм?
сколько здесь онтологий?
...
Рейтинг: 0 / 0
18.05.2005, 12:34
    #33071728
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по парадигмам БД
JimmyНу, насчет образцовости я бы не стал утверждать,
Скажем так, куда более близкий к образцу, нежели обычная нормализованная схема :)

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

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

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

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

История как контрпример принципа "одна строка - одна сущность" опять-таки видна скорее в таблицах измерений, во всяких SCD2.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / вопрос по парадигмам БД / 25 сообщений из 79, страница 1 из 4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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