|
|
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. Разбираюсь в проектировании и очень хочу услышать вашего мнения по следующему вопросу. Предметная область простая - хранение данных по резульататм тестирования студентов. Вот диграмма классов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:04 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Выбрал тип связи - композиция на основании определения: Композиция эта форма агрегации, при которой части принадлежат целому, причем время жизни частей совладает со временем жизни композита. Правильно ли я понял определение, указав такие связи? При создании модели данных, композиция представляется в идентифицирующую связь, возникает вот такая петрушка. Подскажите что не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:06 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Alexey123Доброго времени суток. Разбираюсь в проектировании и очень хочу услышать вашего мнения по следующему вопросу. Предметная область простая - хранение данных по резульататм тестирования студентов. Вот диграмма классов. Так не тяните с вопросом. Задавайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:07 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Класс "Результат тестирования" получается частью двух классов, "Тест" и "Студент", без которых он не может существовать. Но в определени комозиции также говорится, что часть может принадлежать только одному композиту. И мне ненравится миграция первичного ключа в таблицу "Результат тестирования" в результате идентифицируеший связи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:10 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Alexey123 И мне ненравится миграция первичного ключа в таблицу "Результат тестирования" в результате идентифицируеший связи. Имею в виду поле "Номер группы" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:11 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Alexey123Выбрал тип связи - композиция на основании определения: Композиция эта форма агрегации, при которой части принадлежат целому, причем время жизни частей совладает со временем жизни композита. Правильно ли я понял определение, указав такие связи? При создании модели данных, композиция представляется в идентифицирующую связь, возникает вот такая петрушка. Подскажите что не так. Понятно. А чем Вас первая картинка не устроила? Зачем Вам вторая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:13 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Первая - диаграмма классов, вторая ER-диаграмма ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:14 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Alexey123Класс "Результат тестирования" получается частью двух классов, "Тест" и "Студент", без которых он не может существовать. Но в определени комозиции также говорится, что часть может принадлежать только одному композиту. И мне ненравится миграция первичного ключа в таблицу "Результат тестирования" в результате идентифицируеший связи. Да, неприятный получился результат тестирования "результата тестирования". Здесь нужен специалист по тому инструменту, который Вы использовали. Очевидно, что здравого смысла в этом инструменте нет (поскольку объектная модель данных не требует "перехода в модель данных"), но специалист ответит как его "насадаить", тем не менее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:17 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Alexey123Первая - диаграмма классов, вторая ER-диаграмма А зачем Вы применяете такую технологию - в чем смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:18 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Сначала анализ предметной области, моделирование бизнесс процессов, вариантов использования, потом выявление классов и их связей - для ООП. Потом модель данных для реализции реляционной БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:24 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Alexey123Сначала анализ предметной области, моделирование бизнесс процессов, вариантов использования, потом выявление классов и их связей - для ООП. Потом модель данных для реализции реляционной БД. Эта популярная технология понятна. Не понятно в чем ее смысл. Вот видите на первом же элементарном примере возникают вопросы. В общем Вам ничего не остается, как ждать специалиста по этой технологии, не имеющей никакого отношения к проектированию и использованию баз данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:31 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Т.е. вы считаете использование такой технологии бесмысленной? Я только начинаю понимать её суть, хоть базами данных (MS SQL и ORACLE) занимаюсь уже года 3. Стоит ли вообще продолжать, или её использование приводит только к проектированию ради проектирования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:35 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Alexey123Т.е. вы считаете использование такой технологии бесмысленной? Я только начинаю понимать её суть, хоть базами данных (MS SQL и ORACLE) занимаюсь уже года 3. Стоит ли вообще продолжать, или её использование приводит только к проектированию ради проектирования? Вы три года проектировали БД MS SQL и ORACLE без "этой технологии"? Результат Вас не удовлетворил? Чем? Что улучшит использование еще одной модели над "базовой моделью" MS SQL и ORACLE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:43 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Результат меня удовлетворил. Просто написание дипломной работы столкнуло с проектированием по такой технологии, которая меня заинтерисовала. Хочу разобраться и понять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 19:47 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Alexey123Результат меня удовлетворил. Просто написание дипломной работы столкнуло с проектированием по такой технологии, которая меня заинтерисовала. Хочу разобраться и понять. Это - разобраться и понять - безусловно правильно. Успехов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 20:00 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Спасибо. Если-бы ещё кто-то немного помог ответом, было-бы совсем замечательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 20:05 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Alexey123Спасибо. Если-бы ещё кто-то немного помог ответом, было-бы совсем замечательно. По конкретному продукту - да. Но Вас же технологии интересуют. А в этой области "ответ" не поможет, а, в лучшем случае, не навредит. Кто-нибудь наверняка немного поможет, тем не менее... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 20:10 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Алексей. Тест является просто некоторым измерением, координатой х по которой оценивается студент. Поэтому тест не агрегирует результаты теста. Но говоря это я имею в виду систему ориентированную на анализ успеваемости студента. Может быть другой (-ие) случай. Например, статистический анализ валидности теста. Тогда тест будет ведущей сущностью, а студент - мыслится по-другому - не могу сходу сказать как. Все идет от конкретики задачи. Если сказать просто - уберите агрегирование результатов теста в тестах. Если сказать правильно - любая реальная задача имеет некотороую сложность и повод задуматься. Ваша задача учебная и поэтому немного аморфная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 22:02 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
apapacyАлексей. Тест является просто некоторым измерением, координатой х по которой оценивается студент. Поэтому тест не агрегирует результаты теста. Но говоря это я имею в виду систему ориентированную на анализ успеваемости студента. Может быть другой (-ие) случай. Например, статистический анализ валидности теста. Тогда тест будет ведущей сущностью, а студент - мыслится по-другому - не могу сходу сказать как. Все идет от конкретики задачи. Если сказать просто - уберите агрегирование результатов теста в тестах. Если сказать правильно - любая реальная задача имеет некотороую сложность и повод задуматься. Ваша задача учебная и поэтому немного аморфная. Спасибо большое за ответ. Кажется я понимаю, может быть два виденья системы. В одном студент агрегирует результаты, в другом тест. Выбрать надо более подходящий. Остался второй вопрос. Если группа агрегирует студентов, а студент агрегирует результаты, в сущности "Результат тестирования" появляется первичный ключ "Номер группы" по правилу представления композиции в идентифицирующую связь. Который уж никак не хочется там видеть, ведь в сущности "Студент" достаточно первичного ключа "Номер студенческого", он является сквозным уникальным значением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 23:32 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Как-то привычнее жить с суррогатными ключами, но раз ты взял естественные... Почему номер студбилета не может один, без номера группы, работать первичным ключем? [достает студенческий из куртки] Он ведь такой длинный :) Ну если все-таки не может, то все нормально -- составной ключ мигрирует в ссылающуюся таблицу, и никакого нарушения тут нет, опять же, если выполняется условие (см выше). Ну и по второй картинке: Имя VARCHAR(1)? Отчество SMALLINT??? Да и для фамилии 50 символов мало. Мало ли какие фамилии бывают... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 23:39 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Leshij Как-то привычнее жить с суррогатными ключами, но раз ты взял естественные... К суррогатным я тоже привык, но они тоже мигрируют. :) Leshij Почему номер студенческого билета не может один, без номера группы, работать первичным ключом? [достает студенческий из куртки] Он ведь такой длинный :) Может конечно, вопрос о идеологии проектирования. Если студент связан с группой композицией, то идентифицирующая связь и мигрирует ключ. Leshij Ну если все-таки не может, то все нормально -- составной ключ мигрирует в ссылающуюся таблицу, и никакого нарушения тут нет, опять же, если выполняется условие (см выше). Вот это и интересует, правило проектирование в ущерб красоте и здравому смыслу. Никто ведь не захочет выбирать все результаты группы, без указания студента. Leshij Ну и по второй картинке: Имя VARCHAR(1)? Отчество SMALLINT??? Да и для фамилии 50 символов мало. Мало ли какие фамилии бывают... Уж простите за оплошности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2008, 23:53 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Алексей, а что ты хотел получить изначально? Т.е. нарисуй модельку с первичными и внешними ключами руками, а не то, что предлагает ERWIN(или какой программой пользовался?) Ведь вроде по смыслу Студент и Тест должны быть связаны "многие-ко-многим" через промежуточную таблицу, которая помимо первичных ключей из этих двух таблиц, будет еще иметь оценку за тест(кстати, а попробуй именно эту связь указать в программе для проектирования, может все нормально и будет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2008, 00:05 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
РуматаАлексей, а что ты хотел получить изначально? Т.е. нарисуй модельку с первичными и внешними ключами руками, а не то, что предлагает ERWIN(или какой программой пользовался?) Ведь вроде по смыслу Студент и Тест должны быть связаны "многие-ко-многим" через промежуточную таблицу, которая помимо первичных ключей из этих двух таблиц, будет еще иметь оценку за тест(кстати, а попробуй именно эту связь указать в программе для проектирования, может все нормально и будет) Это Rational Rose с использованием Data Modeler. Если не занимать проектированием по правилам то я бы эту задачу решил так, с использованием суррогатных ключей. В сущности "Результат тестирования" ключ "ИД Результата" необходим так как в один день, по одному тесту может протестировать один студент два раза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2008, 00:35 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2008, 00:35 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, вот диаграмма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2008, 00:36 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Никто не строит из объектной модели модель данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2008, 18:13 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Alexey123Никто не строит из объектной модели модель данных? Строят... Просто в данном случае, может проблема в инструменте? Что требуется? Как я понимаю, схема дана вот здесь : Alexey123 Сначала анализ предметной области, моделирование бизнесс процессов, вариантов использования, потом выявление классов и их связей - для ООП. Потом модель данных для реализции реляционной БД. 1. Анализ предметной области. Тестирование студентов. Каждый студент обладает некоторыми атрибутами. Что-то позволяет его идентифицировать - в нашем случае это будет номер студака, еще ему нужна фамилия-имя-отчество, номер группы. Каждая группа относится к какому-то курсу. Перейдем к тестам. Тест у нас классифицируется темой и сложностью. Сам процесс тестирования. Студент получает тест, проходит его, получает оценку. Может тест пересдать, причем в тот же день. 2. Бизнес-процесс: прохождение теста. Описан чуть выше. 3. Использование. Тут описывается возможные варианты - прохождение тестов с целью проверки текущей успеваемости, прохождение аттестационных тестов и т.д. 4. Из анализа предметной области вытекают следующие классы : студент, группа, тест, контейнер пройденных тестов. Связи - очевидны 5. Модель данных для РБД : 4 таблицы. Да, есть специальные инструменты для выполнения всего этого разом... Но можно ведь и по отдельности сделать... И каждый пункт хоть в Ворде описывать и строить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2008, 20:48 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Спасибо большое Румата за подробный ответ. Именно вот такой путь я пытаюсь пройти и разобраться. РуматаДа, есть специальные инструменты для выполнения всего этого разом... Но можно ведь и по отдельности сделать... И каждый пункт хоть в Ворде описывать и строить... Полностью с Вами согласен. Я использовал Rational Rose только как средство рисования диаграмм, можно было и на листочке ручкой рисовать, суть не в инструменте. Просто изучаю проектирование естественно по литературе, а в ней описываются различные правила, которым нужно следовать, на подобии представлении композиции в идентифицирующую связь. В результате я получил структуру БД, которая мне как программисту не нравится. Получается либо я что-то неправильно проектировал, либо следовать строго этим правилам не стоит? Отклонятся от них, если это позволит сделать систему лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2008, 23:28 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Alexey123Спасибо большое Румата за подробный ответ. Именно вот такой путь я пытаюсь пройти и разобраться. Полностью с Вами согласен. Я использовал Rational Rose только как средство рисования диаграмм, можно было и на листочке ручкой рисовать, суть не в инструменте. Просто изучаю проектирование естественно по литературе, а в ней описываются различные правила, которым нужно следовать, на подобии представлении композиции в идентифицирующую связь. В результате я получил структуру БД, которая мне как программисту не нравится. Получается либо я что-то неправильно проектировал, либо следовать строго этим правилам не стоит? Отклонятся от них, если это позволит сделать систему лучше? Понимаешь, Алексей(можно на "ты" ? Мы вроде по возрасту не сильно отличаемся ), стоит следовать правилам и стоит читать литературу... Но стоит фильтровать то, что тебе говорят, четко осознавать то, что пишут... Я так сходу даже не скажу, что такое "представление композиции в идентифицирующую связь", хотя все это тривиально... Ты читал Дейта? Его книга изобилует такими понятиями, как, например, кортеж... Но более ведь употребимо что-то вроде выборки, строки... Хочешь - оперируешь одним понятием, хочешь - другим. Главное, заранее договориться, чем оперировать. Да, в какой-то момент следует отклоняться от правил, если что-то не нравится. Если ты понимаешь, что не все так гладко, как описано в книге. Нельзя быть обыкновенным кодером, наша задача быть _думающими_ программистами. PS. Мы не имеем права не прислушиваться к Дейту, но иногда мы имеем право заменить "кортеж" на что-то свое... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2008, 00:54 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Румата, конечно можно на "ты" :) К сожалению Дейта не читал, но если стоящее то обязательно почитаю. Для меня какими словами что называть тоже неважно, я больше практик, главное понять смысл и научится грамотно использовать. В некоторых книгах действительно пишут такими словами, что даже элементарные знакомые веши из уст автора кажется чем-то сверхъестественным. Вот и приходится искать ответ сразу в нескольких источниках, чтобы отфильтровать мысли автора от железных правил, заодно спросить у специалистов на форуме. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2008, 01:23 |
|
||
|
Из объктной модели в модель данных
|
|||
|---|---|---|---|
|
#18+
Alexey123Румата, конечно можно на "ты" :) К сожалению Дейта не читал, но если стоящее то обязательно почитаю. Для меня какими словами что называть тоже неважно, я больше практик, главное понять смысл и научится грамотно использовать. В некоторых книгах действительно пишут такими словами, что даже элементарные знакомые веши из уст автора кажется чем-то сверхъестественным. Вот и приходится искать ответ сразу в нескольких источниках, чтобы отфильтровать мысли автора от железных правил, заодно спросить у специалистов на форуме. ) Дейт - классика жанра :) Посмотри, обязательно! Да, и расскажи потом ,чем эпопея с дипломом закончится :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2008, 01:26 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1544102]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
170ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 452ms |

| 0 / 0 |
