|
|
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
mcureenab Компоненты доступа к данным работают с выборками, а не с таблицами, а выборка имеет гораздо больше полезных для приложения свойств, чем БД, например выборка может быть отфильтрована и упорядочена. Выборка как результат рел. операции это тоже таблица. Сортировка ничего принципиально не меняет. mcureenab Только чел сейчас хочет построить модель, а не приложение. Т.е. он хочет поработать на уровне ER модели и модели классов. Т.е. работать не с таблицами, а с объектами ? Так тоже можно, но тогда надо забыть о таблицах, рел. модели и пр. Можно использовать какую-нибудь ОСУБД или сделать собственную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2007, 17:57 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
мод mcureenab Компоненты доступа к данным работают с выборками, а не с таблицами, а выборка имеет гораздо больше полезных для приложения свойств, чем БД, например выборка может быть отфильтрована и упорядочена. Выборка как результат рел. операции это тоже таблица. Сортировка ничего принципиально не меняет. Результат реляционой операции - реляционное отношение, а не таблица. Сортировка (и как частный случай в порядке выборки строк) позволяет работать с выборкой как с массивом или списком элементов-записей, тогда как записи в таблице - множество, причём в многопользовательской БД, это множество меняется в произвольные моменты времени. Собственно, мы никогда с таблицей не работаем, это удел СУБД. Мы, даже выполняя DML запросы оперируем выборками, которые СУБД применяет на таблицу. мод mcureenab Только чел сейчас хочет построить модель, а не приложение. Т.е. он хочет поработать на уровне ER модели и модели классов. Т.е. работать не с таблицами, а с объектами ? Так тоже можно, но тогда надо забыть о таблицах, рел. модели и пр. Можно использовать какую-нибудь ОСУБД или сделать собственную. Делать СУБД нет нужды. Достаточно над реляционным движком создать объектный интерфейс. Так, например поступил оракл. И забывать ни о чём не надо, ибо хранимые объекты по прежнему хранятся в таблицах. Обычно, при создании хранимого объекта нужно указать имя таблицы в БД, где он будет сохранён, когда процесс завершит работау с ним. Объекты приложения отличаются от объектов БД. В процессе копирования записи из БД в процесс приложения (через интерфейс курсора БД, который возвращает выборку) происходит преобразование типов данных, структуры и т.п. Даже если мы на высоком уровне абстракции говорим о том, что запись в базе данных и объект в приложении имеют один и тот же класс, то на уровне реализации мы создаём разные типы - например тип struct в C++, и DDL оператор create table в SQL. Наконец в результате сборки, мы получаем исполняемый код для работы со структурой данных на ПК и таблицу как объект схемы БД. Чтобы привнести конкретики, рассмотрим Oracle Forms. Во время разработки мы создаём блок формы (block) и добавляем в него элементы (item). По сути мы конструируем новый класс. Определённо блок формы, это совсем не таблица БД. Он может даже содержать записи, которых и нет вовсе в БД, да и SQL запросы к нему не применимы. Но на более высоком уровне абстракции мы видим, что блок формы реализует некоторую часть поведения хранимого объекта, обычно связанную с его редактированием в GUI. В отличии от классов C++ блоки и элементы формы имеют предопределённые виртуальные методы - триггеры, которые разработчик может перегрузить своим кодом. Объекты C++ живут в стеке, глобальной памяти или в куче, объекты Forms, живут только в блоке формы. Есть и другие отличия. Кто то может сказать, что аналогия вообще притянута за уши, однако подход вполне продуктивный и пока он позволяет решать задачи моделирования и генерации кода, я его буду использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2007, 21:56 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
mcureenab Результат реляционой операции - реляционное отношение, а не таблица. В СУБД нет никаких отношений, только таблицы=массивы=списки записей и выборка это обычная таблица - зачем еще что-то придумывать. mcureenabДелать СУБД нет нужды. Ессно можно использовать любую промышленную, но только как метод доступа. mcureenab Достаточно над реляционным движком создать объектный интерфейс. Да - нужно полностью подменить DML СУБД на операции с объектами. Но тогда абсолютно все равно какая это субд рел., сетевая или иерарх., т.к. СУБД используется просто как метод доступа. mcureenabОбъекты приложения отличаются от объектов БД. Это плохо. Приложение должно оперировать теми же понятиями что и СУБД. Т.е. если РСУБД, то таблицами, если "ОСУБД" - то объектами. mcureenabОпределённо блок формы, это совсем не таблица БД. Это просто таблица - результат select-a - но всяко не класс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2007, 12:42 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
мод mcureenabОпределённо блок формы, это совсем не таблица БД. Это просто таблица - результат select-a - но всяко не класс. Короче, Вы всё сущее называете таблицами, а раз так, обсуждать различия разных видов "таблиц" непредставляется возможным. Класс описывает общие свойства некоторого множества объектов. Если вы не различаете понятия класс и объект, то дальнейшее обсуждение тоже теряет смысл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2007, 21:02 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
mcureenabКороче, Вы всё сущее называете таблицами Совсем нет. Возьмем пример: сущность: счет-фактура, в РБД представлена 2-мя таблицами: заголовки и строки. Приложение работает с этими таблицами вместе или по отдельности. "Объектный вариант: в ОБД СФ хранится как объект класса СФ, никаких таблиц нет, приложение работает с каждым СФ как с единым объектом. Можно сравнить эти два варианта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 14:09 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
мод mcureenabКороче, Вы всё сущее называете таблицами Совсем нет. Возьмем пример: сущность: счет-фактура, в РБД представлена 2-мя таблицами: заголовки и строки. Приложение работает с этими таблицами вместе или по отдельности. "Объектный вариант: в ОБД СФ хранится как объект класса СФ, никаких таблиц нет, приложение работает с каждым СФ как с единым объектом. Можно сравнить эти два варианта. Это как нет таблиц? А объекты то где хранятся? Чисто теоретически объекты в БД могут храниться в сетевой форме. Однако работать с множествами таких объектов будет достаточно сложно. Прикладная компьютерная наука пока роет в направлении объектно-реляционных БД, где множество однотипных объектов можно представить в виде реляционного отношения и работать с ним традиционными методами. А если, например, взять Оракл, то объекты на объектном уровне он хранит в объектных таблицах, а на реляционном уровне - в реляционных таблицах, причём во время создания объектной таблицы нужно явно описывать таблицы для хранения всех вложенных коллекций объекта. Один счёт-фактура не вызывает тредностей, а как быть с множеством таких счетов? Наверняка многие решат, что их нужно объеденить в объектную таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 16:22 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
mcureenabПрикладная компьютерная наука пока роет в направлении объектно-реляционных БД, где множество однотипных объектов можно представить в виде реляционного отношения и работать с ним традиционными методами. Усе портят "таблицы", "классы" и т.д. обобщения, при том жесткие. Надо от них отказаться. Объекты должны быть сами по себе, а классификация сама по себе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2007, 21:36 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
С.Ю. Усе портят "таблицы", "классы" и т.д. обобщения, при том жесткие. Надо от них отказаться. Объекты должны быть сами по себе, а классификация сама по себе. А как это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2007, 21:42 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
belugin С.Ю. Усе портят "таблицы", "классы" и т.д. обобщения, при том жесткие. Надо от них отказаться. Объекты должны быть сами по себе, а классификация сама по себе. А как это? Как отказаться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2007, 22:17 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
Сахават ЮсифовКак отказаться? Да, мне тоже интересно, как можно отказаться от "таблиц", "классов" (и прочих "жестких обобщений"), Сахават? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2007, 22:56 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
LR Сахават ЮсифовКак отказаться? Да, мне тоже интересно, как можно отказаться от "таблиц", "классов" (и прочих "жестких обобщений"), Сахават? Как в Прологе, наверное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2007, 22:57 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
Меня бесит, что я должен предметную область урезать до своего понимания, когда пишу что-то на продажу. Почему я ЗАРАНЕЕ должен классифицировать до опупения то, в чем до конца не разбираюсь (да и фиг кто разбирается - все течет, все меняется). А тут на тебе - таблица "Материалы", "Товары", ... До того, пока появятся сами объекты классификации. :( Все должно быть с точность наоборот. сначала объекты, а потом уж классификация и коллекцирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2007, 23:02 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
ru.wikipedia.org, ПрологБазовым принципом языка является равнозначность представления программы и данных (декларативность), отчего утверждения языка одновременно являются и записями, подобными записям в базе данных, и правилами, несущими в себе способы их обработки. Сочетание этих качеств приводит к тому, что по мере работы системы Пролога знания (и данные и правила) накапливаются. Поэтому Пролог-системы считают естественной средой для накопления базы знаний. Это имеется ввиду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2007, 23:21 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
LR ru.wikipedia.org, ПрологБазовым принципом языка является равнозначность представления программы и данных (декларативность), отчего утверждения языка одновременно являются и записями, подобными записям в базе данных, и правилами, несущими в себе способы их обработки. Сочетание этих качеств приводит к тому, что по мере работы системы Пролога знания (и данные и правила) накапливаются. Поэтому Пролог-системы считают естественной средой для накопления базы знаний. Это имеется ввиду? В принципе - да. По форме (как это сделано в Прологе (когда я это видел в последний раз может и нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2007, 23:28 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
Сахават ЮсифовМеня бесит, что я должен предметную область урезать до своего понимания, когда пишу что-то на продажу. Почему я ЗАРАНЕЕ должен классифицировать до опупения то, в чем до конца не разбираюсь (да и фиг кто разбирается - все течет, все меняется). А тут на тебе - таблица "Материалы", "Товары", ... До того, пока появятся сами объекты классификации. :( Все должно быть с точность наоборот. сначала объекты, а потом уж классификация и коллекцирование. Так если "на продажу", то наверное и Пролог не поможет... Кто будет вводить данные, которые являются "и правилами, несущими в себе способы их обработки", пользователь? Так уже сейчас есть живой пример подобной (супер-пупер-гибкой) системы - 1С, с целой армией 1С-программистов в придачу :) "Под заказ" подобных проблем нет, разработчик "классифицирует до опупения" по мере надобности... P.S. Нельзя объять необъятное (К.П.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2007, 00:09 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
LRТак если "на продажу", то наверное и Пролог не поможет... Кто будет вводить данные, которые являются "и правилами, несущими в себе способы их обработки", пользователь? Так уже сейчас есть живой пример подобной (супер-пупер-гибкой) системы - 1С, с целой армией 1С-программистов в придачу :) Н думаю, что Нуралиев беднее нас. :) LR"Под заказ" подобных проблем нет, разработчик "классифицирует до опупения" по мере надобности... Найти заказ все труднее. Надо хотя бы 75% функционала уже иметь, что бы кого-то заинтересовать. LRP.S. Нельзя объять необъятное (К.П.) [/quot] Сам то "он" объял. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2007, 00:41 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифов Все должно быть с точность наоборот. сначала объекты, а потом уж классификация и коллекцирование. Для объектных систем так и д.б. Т.е. в БД храняться не таблицы, а сами объекты в виде списков ID и доступ возможен только к свойствам объектов по ID. Классификация по свойствам, классификаторы - объекты специального вида. Правда область применения таких систем достаточно ограничена т.к. нет алгебры объектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2007, 10:26 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
мод[quot Сахават Юсифов] Правда область применения таких систем достаточно ограничена т.к. нет алгебры объектов. Да какая там алгебра? Select что ли? Можно сымитировать, или слить в другие таблицы тут же в табличном виде (продублировать). И опять же не все данные надо держать в объектном виде. Например, все отношения между объектами можно хранить в табличном виде. Сам по себе тот факт, что Selectу надо указать ИМЯ ТАБЛИЦЫ все портит и сужает. Должно быть Select all where ... без from ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2007, 10:39 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифов мод[quot Сахават Юсифов] Правда область применения таких систем достаточно ограничена т.к. нет алгебры объектов. Да какая там алгебра? Select что ли? Можно сымитировать, или слить в другие таблицы тут же в табличном виде (продублировать). И опять же не все данные надо держать в объектном виде. Например, все отношения между объектами можно хранить в табличном виде. Сам по себе тот факт, что Selectу надо указать ИМЯ ТАБЛИЦЫ все портит и сужает. Должно быть Select all where ... без fromКто ж мешает? 1) Код: plaintext 1. 2. 3. 2) Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2007, 12:09 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
ModelRКто ж мешает? 1) Код: plaintext 1. 2. 3. 2) Код: plaintext 1. 2. 3. 4. 5. 6. Вы предлагаете это сделать динамически? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2007, 13:32 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
и From никуда не исчезает. Почему я ДОЛЖЕН знать имя таблицы или генератора таблицы, когда меня волнует совсем другие вещи - мне просто надо узнать "ЗАРПЛАТУ ИВАНОВА ИЗ ЦЕХА №5 за февраль 2007" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2007, 13:35 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифови From никуда не исчезает. Почему я ДОЛЖЕН знать имя таблицы или генератора таблицы, когда меня волнует совсем другие вещи - мне просто надо узнать "ЗАРПЛАТУ ИВАНОВА ИЗ ЦЕХА №5 за февраль 2007" Мне кажется, термины ЗАРПЛАТА и ЦЕХ уже являются результатом классификации. Попробуйте отказаться от них для начала ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2007, 13:47 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
belugin Сахават Юсифови From никуда не исчезает. Почему я ДОЛЖЕН знать имя таблицы или генератора таблицы, когда меня волнует совсем другие вещи - мне просто надо узнать "ЗАРПЛАТУ ИВАНОВА ИЗ ЦЕХА №5 за февраль 2007" Мне кажется, термины ЗАРПЛАТА и ЦЕХ уже являются результатом классификации. Попробуйте отказаться от них для начала ;) Ну и ? Почему я объязан указать FROM? Почему систем не разбирается - где объекты, где классификаторы и т.д.? У нее же вся информация для этого имеется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2007, 14:20 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
Сахават Юсифови From никуда не исчезает. Почему я ДОЛЖЕН знать имя таблицы или генератора таблицы, когда меня волнует совсем другие вещи - мне просто надо узнать "ЗАРПЛАТУ ИВАНОВА ИЗ ЦЕХА №5 за февраль 2007"Хм, только зарплату, заработанную в цехе 5 или всю зарплату? Если всю, то сумму или множество строк по местам зарабатывания? И как система должна догадаться что вопрос требует уточнения? Наконец, удовлетворит ли вопрошающего ответ "0", если: 1) ЦЕХА №5 не обнаружено? 2) ЗАРПЛАТА не обнаружено? и должен ли вопрошающий почуствовать разницу между (1) и (2)? Останавливаюсь - один дурак может задать столько вопросов... В любом случае ИМХО будет генрация запроса, затем выполнение. Причем генерировать запрос к БД придется с использованием по крайней мере метаданных, а то и частично собственно данных (а в каком у нас архиве данные за давно прошедший 2007 год). Раз так, что переживать что в сгенерированном тексте будет FROM? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2007, 15:11 |
|
||
|
отображение ER-модели в ООМ
|
|||
|---|---|---|---|
|
#18+
ModelR 1) ЦЕХА №5 не обнаружено? 2) ЗАРПЛАТА не обнаружено? и должен ли вопрошающий почуствовать разницу между (1) и (2)? Останавливаюсь - один дурак может задать столько вопросов... Так и надо ответить - не обнаружено. А генерировать внутренние запросы и всякие frov должна субд, а не программист. Блин зло берет, целая толпа умных людей гордятся тем, что изучили какой-то Оракл или МС СКЛ и знают что будет если написать а,б в отличии от б,а. Смешно. Как механики жигулей и москвичей в советском сервисе. Гуру чертовы. Все это должна делать прога сама. Если не делает, значит х... прога. Пролог никто не админит, а на вопросы она отвечает лучше всех. Потому что - хорошая. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2007, 16:15 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34786339&tid=1544305]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 467ms |

| 0 / 0 |
