Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7] 8 9 10 11   вперед  Ctrl      все
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Basil A. Sidorov
U-gene
Вариант с классами (доступен сейчас)
...
А как реализуется разрешение или запрет каскадного удаления предметов?
Скажем, вуз решил сократить непопулярную дисциплину?
Хороший вопрос, такие помогают. В прототипе этого нет. Идея ясна, механизм тоже. Это должно определятся для атрибутов, когда они реализуются как хранимые, можно использовать синтаксис близкий к традиционному.

ALTER CLASS СТУДЕНТЫ
REALIZE
изучает SET OF
{
предмет ПРЕДМЕТЫ ON DESTROY CASCADE
...
} КEY предмет
AS STORED

[quot Basil A. Sidorov]
В полной реализации, когда будут доступны таблицы, можно воспользоваться ими
И чем этот вариант лучше изучения одного или нескольких SQL-диалектов?[quot] 1) У коллеги Бредятины много М. Я в одном диалекте реализую два разных варианта
2) C какими существующими SQL диалектами будем сравнивать? Какой SQL диалект поддерживает полноценные, привычные и понятные классы декларативным образом? В каком SQL диалекте я могу обращаться с запросами непосредственно к классу (а не к типизированным таблицам, построенным на основе лиловых UDT)?

Basil A. Sidorov
Вы преподавали?
Анекдот про "я им два часа объяснял, уже сам всё понял, а до них так и не дошло" - знаете? Презентация не лучший, мягко говоря способ излагать основы.
Не преподавал. Знаю :). Вот, например, какие то тоосновы. Но, по опыту, продвигать чистую теорию занятие вообще неблагодарное. А в презентации вживую видно, что эта теория уже работает.
4 июн 13, 23:28    [14391690]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
2 Бредятина

Я выделю Ваш КМК ключевой вопрос.

Бредятина
U-gene
Объектное описание ортогонально реляционному представлению, и единственное что их связывает - общие имена.

Приведите пример!!!)))


Посмотрите же видео!!! ))) Я там долго объясняя почему, описав всего три класса, связанных ссылками, я могу считать, что в системе тем самым определено существования огромного числа отношений, где представлены данные объектов этих классов, и эти отношения пользователь может использовать, вообще не задумываясь об случившемся переходе от объектов к отношениям.

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

Кстати
Бредятина
...Вероятно, Вы считаете, что МД нет, потому что нет второго и третьего аспектов? ОЦ и манипулирования? Это как же так?...
Посмотрите видео!!! Там и ключи есть, и методы, и ad-hoc запросы. Как то так.

И еще. Вы все же читайте целыми постами и до конца. Хотя бы для того, что бы внутри Вашего поста не было Ваших же раздумий и метаний, за Дейта я или против. Я за себя. :)
5 июн 13, 00:01    [14391828]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Бредятина
U-gene
Схематично
Вариант с классами (доступен сейчас)
CLASS ПРЕДМЕТЫ
{
...
}

CLASS СТУДЕНТЫ
{
...
изучает SET OF
{
предмет ПРЕДМЕТЫ
...
} КEY предмет
}

Это детально раскритиковано, в том числе и Дейтом. Несимметричный доступ. _мод так тоже делает в своей системе (см. тему про МД верхнего уровня).
Я всего дейта наизусть не помню. Давйте пожалуста сслочку. И вообще, что значит "несимметричный доступ"? :)
Бредятина
U-gene
В полной реализации, когда будут доступны таблицы, можно воспользоваться ими
CLASS ПРЕДМЕТЫ
{
...
}

CLASS СТУДЕНТЫ
{
...
}

ТABLE Изучает
{
предмет ПРЕДМЕТЫ
студент СТУДЕНТЫ
} КEY (предмет, студент)


Поясните, пожалуйста, почему конкретно не может быть (а это же очевидно из Вашего примера, что не может быть)
CLASS Изучает
?
Да шут ее знает почему. :) По мне, с классом коряво получается, но если хотите - попробуйте. А если есть вариант связного объяснения - валяйте. :) Мне кажется, он у Вас есть.
5 июн 13, 00:10    [14391853]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
PSV100
Member

Откуда:
Сообщений: 157
U-gene
PSV100
Пусть есть класс "сотрудники", у него есть два потомка - "менеджеры" и "уборщики". Данные, записанные непосредственно в "сотрудники" не должны быть видны из потомков, также "менеджеры" не должны видеть "уборщиков" и наоборот. Но через класс "сотрудники" мы должны видеть всех или нет? (т.е. непосредственно "сотрудников" и всех "потомков"). Или как состыковывать данные, когда создаётся объект "менеджер" и его также нужно зафиксировать в "сотрудниках" ?.

Не очень понял. Объекты класса наследника являются объектами родительского класса, но не наоборот. Родительский класс включает объекты дочерних классов, но не наоборот.

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

ALTER Сотрудники[<такое-то where>] TO Менеджеры

U-gene
В полной реализации, когда будут доступны таблицы, можно воспользоваться ими

CLASS ПРЕДМЕТЫ
{
...
}

CLASS СТУДЕНТЫ
{
...
}

ТABLE Изучает
{
предмет ПРЕДМЕТЫ
студент СТУДЕНТЫ
} КEY (предмет, студент)

Имхо, некие таблицы могут нарушить "ООП-гармонию", многие заявят, что уже попахивает костылями. Собственно, отчасти может быть это и так. Если ставить задачу просто упрощения написания SQL-кода, то, в принципе, можно подойти к проблеме именно в рамках РМД и SQL. Здесь на сайте когда-то представляли проект Macro T-SQL (форум, плюс связанный проект TSQLMacro). Проекты, конечно, имеют свою специфику, но я просто говорю о том, что есть потенциал.
В Вашем случае, имхо, лучше оставаться в рамках ООП, раз такая пьянка.

Лично я в последние времена размышляю иногда над другими таблицами, как раз в рамках проектирования и моделирования. Речь идёт о таблицах решений (на всякий случай, книга Хамби), об организации "распределенных" связанных таблиц, плюс их увязка с объектным-ориентированным проектированием (скорее всего, без многоуровневого наследования). Конкретностей пока выразить не могу.
(кстати, есть ещё современные мотивы таблиц решений, как здесь, для прямой разработки спорно, но для ряда разборов полётов полезно).

Спасибо за ответ.
5 июн 13, 02:16    [14392002]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
PSV100
Member

Откуда:
Сообщений: 157
Бредятина
U-gene
Схематично
Вариант с классами (доступен сейчас)

CLASS ПРЕДМЕТЫ
{
...
}

CLASS СТУДЕНТЫ
{
...
изучает SET OF
{
предмет ПРЕДМЕТЫ
...
} КEY предмет
}

Это детально раскритиковано, в том числе и Дейтом. Несимметричный доступ. _мод так тоже делает в своей системе (см. тему про МД верхнего уровня).

А можно в двух словах подробнее о чём речь ? Или направить куда-то почитать.


Вот вырезка из "официальной документации":
CREATE CLASS BANKS
	( Name STRING //component-scalar
);

CREATE CLASS CONTRACTORS
(   Name STRING,
	Bank BANKS, // component-reference
	ID STRING
)KEY(ID); //class keys are non-obligatory

CREATE CLASS GOODS
( 	Art STRING;
	Turnover SET OF //component-relation
	( 	DocN STRING,
		Cntr CONTRACTORS, //reference attribute
		Pieces INTEGER
	)KEY(DocN), //component key
	Pieces INTEGER //...remain on stock
)KEY(Art); //class key

CREATE CLASS DOCS
( 	DocN STRING,
	Date DATETIME,
	Comment STRING,
	Cntr CONTRACTORS,
	Items SET OF
	( 	Art STRING,
		Pieces INTEGER
	)KEY(Art),
	DoShip(inDate DATETIME) //method
)KEY(DocN)
REFERENCE Items(.Art)
	ON GOODS(.Art) //foreign key


Вот пример запроса, где есть выборка из "Items" не только одного конкретного объекта, т.е. не через явную ссылку или переменную:
SELECT
	#d.DocN
	#d.Items.Art
	#d.Items.Pieces
FROM DOCS[.Cntr.Name = "TheRetail"] #d;

	The result is

DocN        Items   Items
	      .Art     .Pieces
---------------------------
Ship3
Sale1 	Axe 	50
Sale1 	Tie 	50


Можно теоретически (пока предположить) выбрать все "Items" из всех классов как-то так:
SELECT
	.CLASS.NAME
	.Items.Art
	.Items.Pieces
FROM *;

Здесь есть вопрос на счёт типизации, ведь в классе DOCS не указано явно имя типа для Items, и возможно в разных классах будут свои Items и разного типа. Но пусть пока действует "утиная типизация".
Или вот так мы получаем ссылку на объект:
NEW CONTRACTORS WITH SET
	.Name:="TheRetail",
	.Bank:=(FIRST OF BANKS<.Name="TheBank">),
	.ID:="CoID002";

где через "FIRST OF ..." возвращается ссылка на объект (или null, наверное), через "метасистему" или "RTTI" можем узнать класс объекта, составить список ссылок на класс, добраться до нужных классов и их свойств и т.д.

Короче говоря, на первый взгляд, вроде как можно вертеть в разные стороны. Или это только на первый взгляд ?
5 июн 13, 02:21    [14392004]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Бредятина
Member [заблокирован]

Откуда: Москва
Сообщений: 2497
U-gene
У коллеги Бредятины много М. Я в одном диалекте реализую два разных варианта.

Это, конечно же, не так. У всех своя М. Одна. В том числе, и у Вас. Постепенно проясняется, что это МД, описанная _мод.
5 июн 13, 06:25    [14392086]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Бредятина
Member [заблокирован]

Откуда: Москва
Сообщений: 2497
U-gene
Посмотрите же видео!!! )))

На данный момент посмотрел 4 (четыре) раза.
U-gene
Я там долго объясняя почему, описав всего три класса, связанных ссылками, я могу считать, что в системе тем самым определено существования огромного числа отношений, где представлены данные объектов этих классов, и эти отношения пользователь может использовать, вообще не задумываясь об случившемся переходе от объектов к отношениям.

Проще нужно сделать.
Два класса (с вложенной коллекцией, содержащей ссылки):
К1) Документ-накладная (коллекция операций отгрузки, каждая из которых содержит ссылку на отгруженный товар)
К2) Товар
И три отношения:
О1) Документ ("шапка" накладной)
О2) Операция отгрузки (запись в документе)
О3) Товар
Пользователь не знает о существовании каких-то там отношений на уровне системы хранения. Я именно эту очевидную ситуацию рассматриваю. А не программистов, которые решают разные задачи перманентно, потому что пользователи просто не в состоянии их решить при использовании реляционной системы.
У пользователя есть К1 и К2. Как, например, получить данные об отгрузках конкретного товара? В системах с симметричным доступом можно использовать интерактивный интерфейс (неотъемлемая часть современной СУБД), и это, действительно, может сделать пользователь. А как это сделать в случае, когда целевой объект "запрятан" внутри другого "объекта". Мы даже не знаем о его существовании (а программист знает - на уровне системы хранения).
U-gene
В остальном Вы что то понавыдумывали, чего у меня нет, в какие-то дебри забрели и меня туда же тащите. Я не пойду, ибо боюсь увязнуть в этих ваших вариантах.

Приведите хотя бы один пример выдумки. Пока, это Ваше высказывание не корректно. Отмазка, грубо говоря)))
U-gene
Посмотрите видео!!! Там и ключи есть, и методы, и ad-hoc запросы. Как то так.

))))) То есть, МД верхнего уровня налицо. И почему же так сложно начать именно с ее описания???
U-gene
И еще. Вы все же читайте целыми постами и до конца. Хотя бы для того, что бы внутри Вашего поста не было Ваших же раздумий и метаний, за Дейта я или против. Я за себя. :)

Поскольку это очевидно и без чтения, то непонятно зачем Вы это написали)) Мои метания абсолютно симметричны Вашим. Как только прекратятся Ваши метания, и Вы опишете, наконец, используемую МД верхнего уровня, прекратятся и мои метания. Я, либо внесу ее в перечень МД верхнего уровня, либо пойму, что это одна из уже описанных в нем моделей.
5 июн 13, 06:51    [14392102]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Бредятина
Member [заблокирован]

Откуда: Москва
Сообщений: 2497
U-gene
Давайте пожалуйста ссылочку. И вообще, что значит "несимметричный доступ"? :)

Вся глава 25 (И8). В частности, стр. 1031.
U-gene
Да шут ее знает почему. :) По мне, с классом коряво получается, но если хотите - попробуйте. А если есть вариант связного объяснения - валяйте. :) Мне кажется, он у Вас есть.

Что значит "кажется"?
14020991
Итак, без таблиц тоже можно. Следовательно, для рассмотренного примера (обозначим пример со Студентами и Предметами - П1) варианты идентичны: классы ничем не отличаются от таблиц в аспекте структуры. Правильно? Тогда перейдем к П2 - Документ-Отгрузка-Товар...
5 июн 13, 07:04    [14392113]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Бредятина
Member [заблокирован]

Откуда: Москва
Сообщений: 2497
PSV100
А можно в двух словах подробнее о чём речь ? Или направить куда-то почитать.
13545785
и вся эта тема...
Выше дал ссылку на Дейта.

PSV100
Короче говоря, на первый взгляд, вроде как можно вертеть в разные стороны. Или это только на первый взгляд ?

Да, только на первый. Вы говорите о программистах и СХОД, а я говорю о не программистах и СУБД.
5 июн 13, 07:12    [14392118]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Бредятина
Проще нужно сделать.
Два класса (с вложенной коллекцией, содержащей ссылки):
К1) Документ-накладная (коллекция операций отгрузки, каждая из которых содержит ссылку на отгруженный товар)
К2) Товар
И три отношения:
О1) Документ ("шапка" накладной)
О2) Операция отгрузки (запись в документе)
О3) Товар
То есть Вы считаете, что эти два класса и три отношения проще чем мои просто два класса? Сильно :)

Бредятина
Пользователь не знает о существовании каких-то там отношений на уровне системы хранения. Я именно эту очевидную ситуацию рассматриваю.

О какой системе хранения Вы все время говорите? Объектные виды это способ представить данные для пользователя. Они генерятся динамически , когда пользователь обращается в систему за данными.
Бредятина
Как, например, получить данные об отгрузках конкретного товара? В системах с симметричным доступом можно использовать интерактивный интерфейс (неотъемлемая часть современной СУБД), и это, действительно, может сделать пользователь.

На примере Студентов и Предметов.

Схема

CLASS ПРЕДМЕТЫ
{
Название
...
}

CLASS СТУДЕНТЫ
{

Имя
...
изучает SET OF
{
предмет ПРЕДМЕТЫ
...
} КEY предмет
}

Запрос, который вытаскивает данные по ссылке
SELECT Название FROM СТУДЕНТЫ[.Имя = 'Бредятина']. Изучает. Предмет
Результат - названия всех предметы, которые изучает Бредятина

Запрос, который вытаскивает данные "против" ссылке
SELECT Имя FROM СТУДЕНТЫ[.Изучает. Предмет.Название  = 'СУБД ']
Результат - имена всех студентов, которые изучают СУБД

Отрабатываются одинаково эффективно, как в системах с симметричном доступом.
Вообще никаких проблем.

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

Это я и имел в виду когда говорил, что бытие определяет сознание. У вас в голове уровни и Вы их везде видите. А их нет.

Бредятина
Приведите хотя бы один пример выдумки. Пока, это Ваше высказывание не корректно. Отмазка, грубо говоря)))
пожалуйста
- Непонятые мне уровни, которых нет.
- Дайте мне тынц где я "подтвердил, что делаю по Дейту", как Вы здесь утверждаете. Я к Дейту местами прислушиваюсь, но делаю все по себе. Если бы я "делал по Дейту", у меня получился бы "Tutorial D".
- Там же фраза "система типов выполняет роль отношений РМД". Система типов, описывающих предметную область, состоит из классов и таблиц. Она выполняет свою собственную роль. Не надо ничего "гипотетически предполагать"
- Ваш фирменный способ все переврать особенно ярко проявляется здесь...
Бредятина
U-gene
... я могу классы, которые есть множества объектов, использовать как домены таблиц (более строго, доменом являются множество ссылок на объекты класса)....

...опять по Дейту)) Он и не отрицает, что значением атрибута отношения может быть значение переменной отношения...
Дайте тынц, где я до этого сказал, что у меня "объекты = значение переменной отношения"? Откуда Вы это взяли?
- И тд

Бредятина
То есть, МД верхнего уровня налицо. И почему же так сложно начать именно с ее описания???
Еще раз - уровней нет, в т.ч. верхнего. Откуда Вы взяли "налицо" его модель? Опять не понимаю, о чем Вы.

Бредятина
... Ваши метания..., ... МД верхнего уровня..., прекратятся и мои метания. Я, либо внесу ее в перечень МД верхнего уровня, либо пойму, что это одна из уже описанных в нем моделей.
Еще раз. Мне кажется, что моя система типов может выразить любую Вашу М. Я уже дал пример, где я одна и та же предметная область описывается двумя разными схемами. А если Вы с этим не согласны - то и фиг с ним. Думать о Ваших М мне действительно неинтересно. Участвовать в Ваших (и только Ваших) метаниях желания нет никакого.
5 июн 13, 12:52    [14393882]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
PSV100
Member

Откуда:
Сообщений: 157
Бредятина
PSV100
А можно в двух словах подробнее о чём речь ? Или направить куда-то почитать.

13545785
и вся эта тема...
Выше дал ссылку на Дейта.

Спасибо.

Но, по моему, у Вас какое-то предвзятое отношение. U-gene декларирует свой продукт как удобную оболочку (причём, по политическим причинам - это именно ООП) над конкретной моделью данных, при этом требуется минимум функционального ограничения питающей почвы. Естественно, как и у каждой технологии есть свои плюсы, так и недостатки.
Я не знаю, кто такой _мод и что он делает, но думаю, что он может вполне успешно применять своё нечто в своей практике.

Я хочу сказать, что Ваше отношение со стороны выглядит как-то так: всё, что не "MUMPS" - в топку.

Бредятина
Да, только на первый. Вы говорите о программистах и СХОД, а я говорю о не программистах и СУБД.


Вам U-gene конкретно сказал, что он здесь специально не рассматривает вопросы моделирования уровня выше, и тем более верхнего уровня. Он представил только маленький "программистский кусочек", и тут же требовать от него сразу не отходя от кассы полного решения проблем всего стека проектирования, моделирования, реализации и т.д., со всей сложностью и многообразия этого тяжёлого пласта, ну, как минимум, не корректно. Тем более в реальной жизни тем же программистам могут дать модель верхнего уровня от "хачу гламурную накладную, тута пусть будет название моей фирмы бальшими буквами, можно и цветочек здеся, а там типа чего мы продали..." до строгой формальной математической модели с верификацией. И, мне кажется, что Вы несколько зациклились на своём М-понимании мира. Вот здесь пытаются математическую модель выразить через когнитивную графику, пока толком ничего не получилось. Может быть Вы попробуете там всех научить, как адекватно отразить математическую сущность через М-реальность.

P.S. Если Вы можете предоставить своё понимание концепции проектирования и моделирование от верхнего до нижнего уровня, некий "NewUML", со всей симметрией, лично я буду очень Вам благодарен.
5 июн 13, 13:12    [14394062]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Бредятина
Вся глава 25 (И8). В частности, стр. 1031.

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

А может и правда верно?:)

CLASS ПРЕДМЕТЫ
{
...
изучаются SET OF
{
студент СТУДЕНТЫ
...
} КEY студент
}

CLASS СТУДЕНТЫ
{

...
изучает SET OF
{
предмет ПРЕДМЕТЫ
...
} КEY предмет
}

Для Дейта это означало бы избыточность данных, поэтому так делать нельзя. А у меня это ничего не значит. Это просто схема, удобно (вместе со всеми "вдруг") описывающая предметную область, поэтому так делать можно. Подобный случай в видео тоже рассматривается. Ну a про иллюзию "несимметричного" доступа я уже сказал.

Бредятина
Что значит "кажется"?
Хороший вопрос! "Кажется" значит, что я про это думать не хочу. В том числе потому, что КМК спор в 14020991 ни о чем - каждый думает по своему. По мне, там Вы пытаетесь усложнить описание предметной области, которое Вам дает DirksDR. Моя система позволяет реализовать его описание напрямую.
5 июн 13, 13:16    [14394107]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Бредятина
Member [заблокирован]

Откуда: Москва
Сообщений: 2497
U-gene
То есть Вы считаете, что эти два класса и три отношения проще чем мои просто два класса? Сильно :)

Итак, есть только два класса:
К1) Документ-накладная (коллекция операций отгрузки, каждая из которых содержит ссылку на отгруженный товар)
К2) Товар
А отношений:
О1) Документ ("шапка" накладной)
О2) Операция отгрузки (запись в документе)
О3) Товар
на уровне РМД нет вообще. Это меняет дело! Я постепенно начинаю понимать))) Еще раз поясните на этом упрощенном примере почему именно Вы считаете, что:
"описав всего [два] класса, связанных ссылками, [вы считаете], что в системе тем самым определено существование [трех] отношений, где представлены данные объектов этих классов, и эти [три] отношения [программист] может использовать, вообще не задумываясь об случившемся переходе от объектов к отношениям".
U-gene
О какой системе хранения Вы все время говорите? Объектные виды это способ представить данные для пользователя. Они генерятся динамически , когда пользователь обращается в систему за данными.

О реляционной, разумеется, в которой есть эти три отношения. Но, теперь, когда Вы сказали, что данные хранятся не в рамках трех переменных отношения (для П2), а в рамках двух классов, я прошу пояснить как именно организовано на логическом уровне хранение данных в MS SQL, которую Вы используете для хранения данных. Какие там (для П2) таблицы (раз термин "отношение" мы больше не используем).
U-gene
На примере Студентов и Предметов.

Схема

CLASS ПРЕДМЕТЫ
{
Название
...
}

CLASS СТУДЕНТЫ
{

Имя
...
изучает SET OF
{
предмет ПРЕДМЕТЫ
...
} КEY предмет
}

Запрос, который вытаскивает данные по ссылке
SELECT Название FROM СТУДЕНТЫ[.Имя = 'Бредятина']. Изучает. Предмет
Результат - названия всех предметы, которые изучает Бредятина

Запрос, который вытаскивает данные "против" ссылке
SELECT Имя FROM СТУДЕНТЫ[.Изучает. Предмет.Название  = 'СУБД ']
Результат - имена всех студентов, которые изучают СУБД

Отрабатываются одинаково эффективно, как в системах с симметричном доступом.
Вообще никаких проблем.

)))
За исключением того, что пользователь не может получить вообще никаких данных. Вы же о программистах говорите. Но одно, пока, важно. Отсутствие симметричного доступа к данным Вы подтверждаете. Это хорошо))
U-gene
Вы опять о Вашем мифическом "нафигаторе"? :)

Нет, конечно. Я о системе управления базами данных. А Вы о системе хранения и обработки данных:)
U-gene
И какой опять "уровень" системы хранения? Нет никаких уровней. Есть схема предметной области в терминах классов и таблиц. "Программист" ее создал, "пользователь" может ее видеть. Это я и имел в виду когда говорил, что бытие определяет сознание. У вас в голове уровни и Вы их везде видите. А их нет.

Отношений нет - это я помню (не ясно только зачем Вы вообще о них говорили, раз их нет). И маппинга разумеется нет, раз нет отношений РМД. Совсем все прояснится, когда ы расскажете о таблицах MS SQL для П1 и П2.
U-gene
Пожалуйста:
- Непонятные мне "уровни", которых нет.
- Дайте мне тынц где я "подтвердил, что делаю по Дейту", как Вы здесь утверждаете. Я к Дейту местами прислушиваюсь, но делаю все по себе. Если бы я "делал по Дейту", у меня получился бы "Tutorial D".
- Там же фраза "система типов выполняет роль отношений РМД". Система типов, описывающих предметную область, состоит из классов и таблиц. Она выполняет свою собственную роль. Не надо ничего "гипотетически предполагать"
- Ваш фирменный способ все переврать особенно ярко проявляется здесь...
Бредятина
пропущено...
...опять по Дейту)) Он и не отрицает, что значением атрибута отношения может быть значение переменной отношения...
Дайте тынц, где я до этого сказал, что у меня "объекты = значение переменной отношения"? Откуда Вы это взяли?
- И тд

То, что я лжец, все уже хорошо знают. Вы сами ответите на все эти вопросы, когда поясните про таблицы на уровне реляционной системы. Так что, нельзя пока однозначно утверждать, что уровней нет. Тынц сейчас поищу... Система типов, описывающих предметную область, в смысле логической структуры, конечно же, аналогична системе отношений, описывающих предметную область. Это не очевидно?))
Я ни разу не сказал, что у Вас "объекты = значение переменной отношения". Вы просто вошли в раж, пытаясь найти хотя бы одну выдумку)))
U-gene
Еще раз. Мне кажется, что моя система типов может выразить любую Вашу М. Я уже дал пример, где я одна и та же предметная область описывается двумя разными схемами.

Вы забыли про третью схему (не вложили Студентов в Предметы), и это не имеет никакого отношения к выражению любой М. Возьмите М2 (в третий раз прошу) и выразите для этого простого примера. Это, я думаю, не получится сделать, так как в Вашей системе на уровне структуры просто нет необходимых концепций.
U-gene
А если Вы с этим не согласны - то и фиг с ним. Думать о Ваших М мне действительно неинтересно.

Это не соответствует действительности))
U-gene
Участвовать в Ваших (и только Ваших) метаниях желания нет никакого.

В своих метаниях участвовать вполне достаточно))
5 июн 13, 13:50    [14394497]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Бредятина
Member [заблокирован]

Откуда: Москва
Сообщений: 2497
PSV100
Спасибо. Но, по моему, у Вас какое-то предвзятое отношение. U-gene декларирует свой продукт как удобную оболочку (причём, по политическим причинам - это именно ООП) над конкретной моделью данных, при этом требуется минимум функционального ограничения питающей почвы. Естественно, как и у каждой технологии есть свои плюсы, так и недостатки.

Заметьте, что я пишу по существу, а Вы - в целом. Если считать, что обсуждение вопроса по существу - это предвзятое отношение к вопросу, то да - у меня именно предвзятое, абсолютно предвзятое отношение к любому вопросу, связанному с теорией и проектированием БД.
PSV100
Я не знаю, кто такой _мод и что он делает, но думаю, что он может вполне успешно применять своё нечто в своей практике.

Уточню. Но хотите знать? А ViPRos? Тоже не знаете? А хотите? Так читайте, например, эту тему:
13577413
PSV100
Я хочу сказать, что Ваше отношение со стороны выглядит как-то так: всё, что не "MUMPS" - в топку.

А Вы ориентируйтесь на существо вопросов, а не на свои ощущения о моем отношении. Они ошибочны. И зачем вместо конкретных П1 и П2 Вы говорите о какой-то MUMPS - совершенно не понятно.
PSV100
Вам U-gene конкретно сказал, что он здесь специально не рассматривает вопросы моделирования уровня выше, и тем более верхнего уровня. Он представил только маленький "программистский кусочек", и тут же требовать от него сразу не отходя от кассы полного решения проблем всего стека проектирования, моделирования, реализации и т.д., со всей сложностью и многообразия этого тяжёлого пласта, ну, как минимум, не корректно. Тем более в реальной жизни тем же программистам могут дать модель верхнего уровня от "хачу гламурную накладную, тута пусть будет название моей фирмы бальшими буквами, можно и цветочек здеся, а там типа чего мы продали..." до строгой формальной математической модели с верификацией. И, мне кажется, что Вы несколько зациклились на своём М-понимании мира. Вот здесь пытаются математическую модель выразить через когнитивную графику, пока толком ничего не получилось. Может быть Вы попробуете там всех научить, как адекватно отразить математическую сущность через М-реальность.

Какое мое М-понимание??? Проделанная мной работа по систематизации моделей, предлагаемых другими людьми - это вовсе не мое понимание, а объективное исследование. Вас это просто не интересует. И я это вполне уважаю. Почему собственно всех должны интересовать модели данных и архитектура "МД верхнего уровня+маппинг+РМД"?
PSV100
P.S. Если Вы можете предоставить своё понимание концепции проектирования и моделирование от верхнего до нижнего уровня, некий "NewUML", со всей симметрией, лично я буду очень Вам благодарен.

Это не по существу темы. Есть П1 и П2. Если они Вас чем-то не устраивают, предложите U-gene П3. И этих П вполне достаточно, чтобы "предоставить своё понимание концепции проектирования и моделирование от верхнего до нижнего уровня, некий "NewUML", со всей симметрией".
5 июн 13, 14:08    [14394647]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Бредятина
Member [заблокирован]

Откуда: Москва
Сообщений: 2497
U-gene
Ну a про иллюзию "несимметричного" доступа я уже сказал.

Неправда. Это не иллюзия. Даже в РМД, о чем умалчивает Дейт, доступ не симметричный. А я не умалчиваю, и это Вам почему-то не нравится:
13545785
U-gene
"Кажется" значит, что я про это думать не хочу. В том числе потому, что КМК спор в 14020991 ни о чем - каждый думает по своему.

Там нет спора никакого. Там я объясняю концепцию связи. Если Вам ближе концепция "Мир состоит только из типов сущностей" (то есть, связей в нем нет), то так ясно и скажите.
13577413
U-gene
По мне, там Вы пытаетесь усложнить описание предметной области, которое Вам дает DirksDR. Моя система позволяет реализовать его описание напрямую.

Не серьезно. Я ничего не "пытаюсь усложнить", потому что не такой идиот, как здесь принято считать)) Чье-либо описание предметной области основано на модели, неужели это не очевидно? Вы реализуете конкретную модель напрямую. Это же очевидно))) Проблемы, которые Вы тем самым сохраняете, тоже очевидны. Я их изучаю, а не "пытаюсь усложнить"))
13254920
14026636
13632149
5 июн 13, 14:22    [14394771]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Бредятина
Member [заблокирован]

Откуда: Москва
Сообщений: 2497
U-gene
- Дайте мне тынц где я "подтвердил, что делаю по Дейту"...

Меня изначально ввела в заблуждение фраза из
14367039
"и таблицы никуда не денутся, а мои классы могут использоваться как домены этих таблиц".
Подтверждаю, что Вы не подтверждали, что делаете по Дейту (в части первого серьезного заблуждения).
5 июн 13, 14:39    [14394918]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Бредятина
U-gene
То есть Вы считаете, что эти два класса и три отношения проще чем мои просто два класса? Сильно :)

Итак, есть только два класса:
К1) Документ-накладная (коллекция операций отгрузки, каждая из которых содержит ссылку на отгруженный товар)
К2) Товар
А отношений:
О1) Документ ("шапка" накладной)
О2) Операция отгрузки (запись в документе)
О3) Товар
на уровне РМД нет вообще. Это меняет дело! Я постепенно начинаю понимать))) Еще раз поясните на этом упрощенном примере почему именно Вы считаете, что:
"описав всего [два] класса, связанных ссылками, [вы считаете], что в системе тем самым определено существование [трех] отношений, где представлены данные объектов этих классов, и эти [три] отношения [программист] может использовать, вообще не задумываясь об случившемся переходе от объектов к отношениям".


Всё, я опять сдаюсь. Не будет у меня для двух классов трех отношений. Откуда Вы эти три отношения взяли?

Еще раз повторяю. В моей СУБД предметная область может описывается как угодно. Все команды для манипуляций с данными даются в терминах этой произвольной схемы данных. В том числе команды запросов данных, которые формируют данные на "выходе" системы. При этом форма представления данных на выходе всегда реляционная. И все это "ввод команд(+данные)" и "вывод данных" - один единственный уровень.

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

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

Бредятина
Отсутствие симметричного доступа к данным Вы подтверждаете.
Я показал, что отсутствие симметричной схемы не мешает получать данные во обоих направлениях. Какие то еще проблемы? А если это не согласуется с М - значит М идет нафиг. :)

Бредятина
Возьмите М2...
Спасибо большое. Я уже три раза отказывался. не хочу. Не надо :) Эта Ваша М, пусть у Вас и остается. Хотя...
Господа! Кому-нибудь нужна М...? Человек предлагает, а мне совсем не нужно :)

Бредятина
14020991 Там нет спора никакого. Там я объясняю концепцию связи. Если Вам ближе концепция...
По ссылке человек просто хотел, что бы у связи был параметр. В моей системе так можно сделать, и никаких проблем не возникнет.
А Вы ему начали объяснять, что он неправильно думает. Если дело дойдет до дела, я думаю, клиент от Вас уйдет. :)

Бредятина
Если Вам ближе концепция...
Еще раз повторю, я не хочу думать о концепциях,и ни одна из них мне не ближе. Я про это сразу сказал, а Вы по-прежнему мне М втюхать пытаетесь. Успокойтесь наконец. :)

Бредятина
Я ничего не "пытаюсь усложнить", ... я лжец
...если что то на что то похоже, то это оно и есть :)

Ищите тынц.
5 июн 13, 16:33    [14395785]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Подтверждаю, что тынц, подтверждающий, что я не утверждал, найден :)
5 июн 13, 16:36    [14395811]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Бредятина
Member [заблокирован]

Откуда: Москва
Сообщений: 2497
U-gene
Всё, я опять сдаюсь. Не будет у меня для двух классов трех отношений. Откуда Вы эти три отношения взяли?
Еще раз повторяю. В моей СУБД предметная область может описывается как угодно. Все команды для манипуляций с данными даются в терминах этой произвольной схемы данных. В том числе команды запросов данных, которые формируют данные на "выходе" системы. При этом форма представления данных на выходе всегда реляционная. И все это "ввод команд(+данные)" и "вывод данных" - один единственный уровень.

Отлично. Теперь понятно. (Всем остальным, наверное, все было понятно из презентации, а мне только теперь). Итак, Вы сделали буквально революцию. Не просто никаких уровней нет, но и никакой МД нет. Реляционной, в том числе. Так как нет первого аспекта МД - структурного! Далее, Вы это не раз подтвердите, выделяя большими буквами, жирным шрифтом и восклицательными знаками, что никакой М (модели данных, а я буквой М обозначаю именно модель данных) нет. Спасибо! Теперь буду в 5-ый раз смотреть презентацию, чтобы понять как Вам удается обходиться без модели данных на этапе проектирования БД (предполагаю, что и сам этот термин - проектирование БД - утрачивает свой исходный смысл при использовании Вашей системы. Мне это напоминает самоструктурирующиеся БД, которые разрабатывали коллеги из Санкт-Петербурга).
U-gene
Система внутри (там где у меня MS SQL) тоже как-то организована. Но эта внутренняя организация, не имеет прямого отношения к тому, что будет сформировано на выходе. Она не равна выходу, как Вы себе это представляете, говоря по 3 отношения и про MS SQL. Про эту внутреннюю организацию в процессе пользования системой думать не надо, достаточно знать, что она оптимальна.

Верю!
U-gene
Говоря об отношениях на выходе, я специально использую фразу "определено существование" вместо "существуют". Это значит, что отношения могут существовать,что система может их вычислить, сформировать по запросу пользователя. И этих отношений очень-очень много, даже для двух классов.

Разумеется. Любая проекция и т.п. Практически, в любой системе результат запроса можно представить в виде отношения (таблицы). Для П2, например, такой:
23 12.05.2013 ООО "Весна" Шуруп 3 кг 110 руб.
23 12.05.2013 ООО "Весна" Гвоздь 2 кг 96 руб.
23 12.05.2013 ООО "Весна" Гайка 1 кг 70 руб.
...
В этом результате присутствуют свойства всех трех типов сущностей, о которых можно догадываться на основании схемы данных, не основанной ни на какой МД, и содержащей, тем не менее, два класса, один из которых включает коллекцию:)
[quot U-gene]Я показал, что отсутствие симметричной схемы не мешает получать данные во обоих направлениях. Какие то еще проблемы? А если это не согласуется с М - значит М идет нафиг. :)
РМД идет нафиг??? Она же модель:) Вы нервничаете, и это о многом говорит. Отсутствие симметричного доступа сильно осложнит реализацию СУБД, когда Вы до нее дойдете. Другое дело, что, вероятно, подобно тому, как Вас не интересуют модели данных, Вас так же не интересуют и интерактивные интерфейсы. И Вы просто будете утверждать, что они реализуются так же легко, как и любые модели данных. В Вашей системе.
U-gene
Я уже три раза отказывался. не хочу. Не надо :) Эта Ваша М, пусть у Вас и остается. Хотя...
Господа! Кому-нибудь нужна М...? Человек предлагает, а мне совсем не нужно :)

Я помню, что Вам не нужна никакая модель данных. Опять нервничаете, вероятно, чувствуя, что не все так гладко в произвольном описании предметной области без какой-либо М)))
U-gene
По ссылке человек просто хотел, что бы у связи был параметр. В моей системе так можно сделать, и никаких проблем не возникнет.
А Вы ему начали объяснять, что он неправильно думает. Если дело дойдет до дела, я думаю, клиент от Вас уйдет. :)

Вы демонстрируете непонимание концепции - это нормально)) Я же тоже, пока, не понимаю, как Вы обходитесь без МД. Не параметр, а свойство. Как у сущности. Человек хотел, чтобы связь была сущностью. Это же очевидно. Я вот пересматриваю Вашу презентацию, и перечитываю Ваши статьи, и спрашиваю Вас, если что-то не понятно. А Вы очень поверхностно рассуждаете, совершенно не вникая в суть вопроса. Связь - это не сущность. Нет у нее никаких свойств. Это совсем не сложно понять))
U-gene
Еще раз повторю, я не хочу думать о концепциях,и ни одна из них мне не ближе. Я про это сразу сказал, а Вы по-прежнему мне М втюхать пытаетесь. Успокойтесь наконец. :)

Я не пытаюсь втюхать Вам модель, я просто, пока, не уверен, что никакой модели у Вас нет. Мне кажется, что в этой части Вы умышленно вводите в заблуждение. Буду смотреть презентацию, выписывать понятия - класс, свойство, ссылка, внешний ключ, и т.п. И постараюсь понять, что все эти понятия не являются понятиями какой-либо логической МД, и позволяют описывать предметную область, используя структурные элементы любой МД. Пока, я не вижу возможности это сделать. Но может быть, я прозевал какое-то важное понятие в презентации, которое позволит это сделать...
U-gene
...если что то на что то похоже, то это оно и есть :)

Это проще всего - подтверждаю, что я лжец и идиот, чтобы больше не возвращаться (надеюсь) к этому вопросу.
5 июн 13, 18:15    [14396415]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Ну и славненько.

Единственно, под М... я везде понимаю исключителььно Ваши М0-M5 (хотя где то я видел, как Вы про М6 говорили, так что подозреваю, что их больше может быть). То есть РМД, как формальная модель, никуда не идет. Система реляционная по определению - все данные представлены как множество отношений.
5 июн 13, 20:54    [14396917]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
PSV100
Member

Откуда:
Сообщений: 157
U-gene,

для начала Вам необходимо здесь представить то, как Ваш проект работает внутри MSSQL. А точнее то, на каких таблицах всё построено. Естественно, частично, или лишь в двух словах концептуально. Т.е. показать, что в основе такая-то некая схема а-ля "EAV" (ключевую сущность), или всё на деревьях построено, при создании классов "Накладные" и "Товары" в БД создаются ли такие-то таблицы (шапки и строки накладных, товары), создаются ли такие-то отношения между ними и т.п. Затем Ваше "внутреннее хозяйство" можно сопоставить с принципами построения указанных "М-моделей" (или вдруг даже выяснить, что комплект не полон). Это даст возможность для согласования понимания сущности прикладных моделей, моделей данных, связь с РМД, какая возникает потребность в "маппинге" и т.д.
На всякий случай, подготовьтесь со своей терминологией. Например, понятие "REFERENCE" является "свойством" класса или его атрибутом (скорее, атрибутом, ибо даже отличается по синтаксису от свойств).
Это, конечно, не избавит Вас от того, что Вас продолжат учить, но даст толчок для финальной развязки.
5 июн 13, 21:09    [14396960]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
PSV100
Member

Откуда:
Сообщений: 157
Бредятина,

спасибо за подборку "М-моделей" в одном компактном месте.
5 июн 13, 21:11    [14396964]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Бредятина
Member [заблокирован]

Откуда: Москва
Сообщений: 2497
U-gene
Ну и славненько. Единственно, под М... я везде понимаю исключительно Ваши М0-M5 (хотя где то я видел, как Вы про М6 говорили, так что подозреваю, что их больше может быть). То есть РМД, как формальная модель, никуда не идет. Система реляционная по определению - все данные представлены как множество отношений.

Не хорошо))) Введение мной обозначений вместо наименований моделей данных не делает их (модели) моими. Это все формальные модели верхнего уровня в архитектуре "модель верхнего уровня+маппинг+РМД", при которой данные хранятся именно в рамках отношений РМД, (а не в рамках, например, модели EAV, реализованной в реляционной системе). Например, М0 - это ER-модель. Даже Дейт не считает ее не формальной. С каких пор под реляционной понимается система, в которой нет хранимых отношений? А есть только временные отношения, как результаты запросов??? А как же нормализация, например (под которой часто понимают именно реляционную нормализацию)? И проектирование БД в целом?
5 июн 13, 22:27    [14397192]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
Бредятина
Member [заблокирован]

Откуда: Москва
Сообщений: 2497
U-gene, поскольку пример из темы про МД верхнего уровня Вас не устроил, вместо него мы используем П1 из данной темы. Просмотрев презентацию еще раз, я пришел к выводу, что Вы используете модель _мод, М5, основанную на гипотезе, что [Мир состоит (только) из сущностей, обладающих свойствами]. Поскольку в М5 поддерживаются "системные первичные ключи" (или системные идентификаторы):

П1
Классы (вместо понятия Типы сущностей):
Студент {Фамилия, Имя, (Изучает, Предмет)}
Предмет {Наименование}

П2
Классы (вместо понятия Типы сущностей):
Документ {Дата, Организация-получатель, (Имеет, Отгрузка {(Относится к, Товар), Количество, Сумма}}
Товар {Наименование}

Но, Классы есть только при описании предметной области (и, извините, на уровне хранения данных). Любой запрос возвращает отношение РМД. Например, запрос, эквивалентный
SELECT * FROM Студент
вернет (считаем, что системные идентификаторы всегда есть в результате запроса):
1) если "Изучает" является значением некого атрибута результирующего отношения:

1 Иванов Петр Изучает 1 Алгебра
1 Иванов Петр Изучает 7 География
2 Петров Иван Изучает 1 Алгебра
2 Петров Иван Изучает 3 Химия

2) если "Изучает" не является значением некого атрибута результирующего отношения:

1 Иванов Петр 1 Алгебра
1 Иванов Петр 7 География
2 Петров Иван 1 Алгебра
2 Петров Иван 3 Химия

Пожалуйста, поправьте что не так.
5 июн 13, 23:07    [14397323]     Ответить | Цитировать Сообщить модератору
 Re: Хранение данных с гибкой структурой и запросы к ним  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
U-gene
[b]Господа! Кому-нибудь нужна М...?

Мне нужно чтобы на М3 пробок не было. Там за 7 км от МКАДА стало не возможно. Ну, если примите меры, буду благодарен.
6 июн 13, 09:21    [14397910]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 5 6 [7] 8 9 10 11   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить