|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Всем здрасте. Не вдаваясь в суть всего задания, мне нужно сделать, скажем, генеалогическое древо. Я себе представляю это примерно как-то так: Собственно мне суда надо ещё как-то прикрутить, что бы у пары был ребенок. И в этом главный вопрос. Если моя модель ущербна, подскажите как ее исправить и как сделать ребенка(что бы он в дальнейшем сам мог стать семьянином)? Модератор: Тема перенесена из форума "Oracle". ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2017, 15:17 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
RED_Snail, поскольку картинку не видно, буду рассуждать абстрактно. Возможны, как минимум, две модели: Человек — является родителем (либо ребенком, но чем-то одним) — Человека; Человек — входит в состав — Семьи (в некотором качестве [отец, мать, ребенок, приемный…]), т.е. так же, как описываются Отделы и Сотрудники. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2017, 16:52 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Лобовое решение create table pers (id int primary key, dad_id int references pers, mom_id int references pers) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2017, 17:04 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Биологически у человека есть отец и мать. Социально человек может состоять в разных отношениях с другими людьми, причем во времени эти отношения могут меняться. На какие именно вопросы должна отвечать информационная система и кто ей будет пользоваться? Для курсовика наверное достаточно отца и матери ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2017, 17:13 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
SERG1257Лобовое решение create table pers (id int primary key, dad_id int references pers, mom_id int references pers) Еще надо в явном виде описать семью. У семьи ведь может и не быть детей, а факт женитьбы зафиксировать надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2017, 10:33 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Cane Cat FisherЕще надо в явном виде описать семью. У семьи ведь может и не быть детей, а факт женитьбы зафиксировать надо. А еще можно наплодить детей, не создавая семьи :) Поэтому идем к мормонам (гуглим GEDCOM) и нагло копируем нужные нам части их модели, т.е. примерно те, что я описал в начале: Человек — является родителем (либо ребенком, но чем-то одним) — Человека; Человек — входит в состав — Семьи (в некотором качестве [отец, мать, ребенок, приемный…]). ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2017, 12:58 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Ы2Человек — входит в состав — Семьи (в некотором качестве [отец, мать, ребенок, приемный…]). Точнее говоря, в состав семьи человек входит как муж или жена (ну или ребенок, верно). А отцом он может быть ребенка из другой семьи, хотя в ту семью он сам не входит. Осталось развернуть это все во времени, и получится прекрасная модель. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2017, 13:25 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Cane Cat Fisher, вот поэтому и нужны два вида связей (человек—человек и человек—семья): так мы учтем и биологическое, и социальное. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2017, 15:34 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
WebSharper Социально человек может состоять в разных отношениях с другими людьми, причем во времени эти отношения могут меняться.В лоб Код: sql 1. 2.
Целостность такой структуры (многоженство, приемные дети), а также чтобы dbirth<=dfrom и dto<=ddeath полностью ложится на прикладную программу, разве что можно будет добавить ключ Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.12.2017, 16:40 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Всего 2 таблицы: Персона: id, name, surename Отношения: id_персоны1, id_персоны2, тип отношения, дата начала, дата конца Тип отношения: жена, муж, отец, мать и т.д. Для оптимизации хранения можно сделать, чтобы обратные связи не хранить. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.12.2017, 22:40 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Serguei Тип отношения: жена, мужто есть две записи на женитьбу Serguei отец, матьсын, дочь для каждого родителя? И в чем выгода по сравнению с сущностью семья ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2017, 01:49 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
SERG1257Serguei Тип отношения: жена, мужто есть две записи на женитьбу Serguei отец, матьсын, дочь для каждого родителя? И в чем выгода по сравнению с сущностью семья ? Все зависит от задачи, но по-хорошему нужно факт воспроизводства (биологическая составляющая) фиксировать для каждого родителя (и для отца, и для матери) либо ребенка — на выбор разработчика. А Семья существует параллельно как социальная составляющая (плюс разрешает ситуации типа «жили-были два брата женатых» без создания фиктивных Человеков). Двумя таблицами (Человеки и Семьи) в общем случае не отделаться. P.S. За время обсуждения уже много тысяч раз можно было нагуглить GEDCOM :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2017, 02:37 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Ы2 факт воспроизводства (биологическая составляющая) 21011911 Ы2А Семья существует параллельно как социальная составляющая 21015774 Ы2Двумя таблицами (Человеки и Семьи) в общем случае не отделаться.При каких обстоятельствах будет выгодно усложнение лобовой структруры из трех таблиц (человек, семья, члены семьи)? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 02:24 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
SERG1257При каких обстоятельствах будет выгодно усложнение лобовой структруры из трех таблиц (человек, семья, члены семьи)? Тысячи их :) в зависимости от задачи, естественно. Напр., если вам нужно учитывать только биологическое родство, хватит единственной таблицы Человеки (id, id_отца, id_матери, что-то еще). Но если вы хотите приблизиться к реальности™… тут уже возможны варианты. Поскольку ТС уже тихо сдал свою лабораторную, можно позволить себе опуститься до вырожденных случаев, которыми реальная реальность™ кишмя кишит. Пусть задача звучит примерно так: «в системе должна быть возможность отразить все известные факты о биологическом и социальном родстве учтенных персон». В трехтабличную схему плохо укладываются, напр., следующие случаи из жизни: брак — рождение детей — развод [— новый брак — еще дети]; супружеская пара с приемным ребенком, биологические родители которого а) известны, б) не создавали семьи; мать-одиночка (отец известен, но совместного заявления не подавал); незамужняя женщина рожает, потом выходит замуж за другого, рожает от него, разводится и выходит замуж за отца своего первого ребенка (там еще продолжение было). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 16:46 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Ну давайте, не флейма ради Сущность семья нужна только для объединения людей. Для однообразия положим, что все люди должны состоять в семье даже если в ней только один член. Ы2 брак — рождение детей — развод [— новый брак — еще дети]; 1 брак Одинокие семьи жениха и невесты закрываются (записи в family_member обновляют dto ). Новая семья (запись в family добавляется), для новой семьи добавляются записи в family_member с открытой датой dto 2 рождение детей Добавляется запись в family_member 3 развод семья разбивается, создаются новые семьи 4 новый брак Старые семьи закрываются, новые создаются Ы2супружеская пара с приемным ребенком, биологические родители которого а) известны, б) не создавали семьи; Биологические родители - это в таблице "человеки" с социальной семьей никак не связаны >б) не создавали семьи Смотри выше. Семья есть у всех, но у некоторых она вырожденая Ы2 мать-одиночка (отец известен, но совместного заявления не подавал); В семье два члена, мать и дитя. У отца своя семья. Ы2 незамужняя женщина рожает, потом выходит замуж за другого, рожает от него, разводится и выходит замуж за отца своего первого ребенка (там еще продолжение было). 1 незамужняя женщина рожает Дитя добавлен к ней в семью 2 потом выходит замуж за другого Создается новая семья 3 рожает от него Добавляем дитя в семью 4 разводится Закрываем старую семью, организуем новые 5 выходит замуж за отца своего первого ребенка Закрываем старую семью женщины и отца ребенка, организуем новую Пока не вижу проблемы. Еще одно - по достижению 18 лет молодые люди выходят из семьи родителей и получают свою собственную семью из одного члена. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 17:51 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Ы2В трехтабличную схему плохо укладываются, напр., следующие случаи из жизни: брак — рождение детей — развод [— новый брак — еще дети]; супружеская пара с приемным ребенком, биологические родители которого а) известны, б) не создавали семьи; мать-одиночка (отец известен, но совместного заявления не подавал); незамужняя женщина рожает, потом выходит замуж за другого, рожает от него, разводится и выходит замуж за отца своего первого ребенка (там еще продолжение было). Не вижу проблем описать все эти случаи тремя таблицами - просто будет довольно много "типов семьи" и "ролей в семье". Ну и, конечно, никакого ограничения "человек [в текущий момент времени] входит только в одну семью" - но это и так имхо очевидно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 17:53 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
SERG1257 Ы2 мать-одиночка (отец известен, но совместного заявления не подавал); В семье два члена, мать и дитя. У отца своя семья. Итого информация о биологическом родстве потеряна - не очень хорошо. Я бы создал 2 записи "семьи" 1. Тип "неполная семья", члены - мать, ребенок 2. Тип "биологическая (незарегистрированная) семья", члены - мать, отец, ребенок. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 17:59 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Кот МатроскинИтого информация о биологическом родстве потерянаВовсе нет. В таблице человеки у ребенка dad_id будет указывать на отца. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 18:33 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
SERG1257Кот МатроскинИтого информация о биологическом родстве потерянаВовсе нет. В таблице человеки у ребенка dad_id будет указывать на отца. Ok, суррогатную мать как будете хранить? Я бы все-таки решал все это единообразным и идеально расширяемым способом - через "типы семьи" и "роли в семье". ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 18:39 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Кот МатроскинSERG1257пропущено... В семье два члена, мать и дитя. У отца своя семья. Итого информация о биологическом родстве потеряна - не очень хорошо. Я бы создал 2 записи "семьи" 1. Тип "неполная семья", члены - мать, ребенок 2. Тип "биологическая (незарегистрированная) семья", члены - мать, отец, ребенок. И зачем усложнять модель сверх необходимого? Тип семьи — это бирка, присваиваемая задним числом по обобщении результатов анализа. Если вынуть данные о биологическом родстве из Человеков (мои дети никак не являются моими атрибутами), то получается простая и стройная модель: Человек (id, как зовут, что-то еще); Дети Человеков (id_Человека_1, id_Человека_2, что-то еще); Семья (id, какие-то данные); Члены Семей (id_Семьи, id_Человека, роль, что-то еще). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 18:41 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Ы2Кот Матроскинпропущено... Итого информация о биологическом родстве потеряна - не очень хорошо. Я бы создал 2 записи "семьи" 1. Тип "неполная семья", члены - мать, ребенок 2. Тип "биологическая (незарегистрированная) семья", члены - мать, отец, ребенок. И зачем усложнять модель сверх необходимого? В смысле "зачем усложнять"? Вы говорите - "три таблицы не справятся, надо усложнять". Я говорю "Да нет, вполне справятся". И кто тут усложняет? :) И "тип семьи", и "роль в семье" Вам все равно нужны - просто часть информации Вы хотите хранить не с их помощью, а с помощью других, дополнительных механизмов. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 18:47 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Я нигде не писал, что на трех таблицах нельзя сделать. Можно-то можно, но работать со сделанным будет неудобно. Сам проверял :) SERG1257Сущность семья нужна только для объединения людей. Это даже в нашей умозрительной задаче не вполне так. SERG1257Для однообразия положим, что все люди должны состоять в семье даже если в ней только один член. Семейный кодекс с вами не согласен, да и социологи с антропологами тоже (предельно упрощая, полагается, что семья — это про связи между людьми, а не про минимальную ячейку). Не говоря уже, что одноместные семьи — просто куча лишней работы оператору/системе и бесполезная трата байтов: вы ничего не выигрываете, объявив холостых/незамужних семьями. SERG12571 брак Одинокие семьи жениха и невесты закрываются (записи в family_member обновляют dto ). Новая семья (запись в family добавляется), для новой семьи добавляются записи в family_member с открытой датой dto По-хорошему, брак, развод и т.п. — это события со своими атрибутами, но мы их не рассматривали. Вообще, создание семьи и регистрация брака совпадать не обязаны. С этим даже кодекс согласен. SERG1257Еще одно - по достижению 18 лет молодые люди выходят из семьи родителей и получают свою собственную семью из одного члена. Совершенно небоснованная затея. Я не помню, что думает по этому поводу Семейный кодекс, но реальная практика точно против вас: в Москве семья с тремя и более детьми считается многодетной до достижения младшим ребенком 16 (а при определенных обстоятельствах и 18) лет, соответственно, к этому времени старшим вполне может быть за 18, в некоторых эми-/иммиграционных случаях дети признаются членами семьи до 23 включительно и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2017, 23:48 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Кот Матроскин В смысле "зачем усложнять"? Вы говорите - "три таблицы не справятся, надо усложнять". Я говорю "Да нет, вполне справятся". И кто тут усложняет? :) И "тип семьи", и "роль в семье" Вам все равно нужны - просто часть информации Вы хотите хранить не с их помощью, а с помощью других, дополнительных механизмов. Схема из четырех таблиц не обязательно сложнее схемы из трех. Я предлагаю отделить людей от факта происхождения их друг от друга. Тип семьи мне не нужен совсем. Я могу его присвоить, если понадобится, по результатам анализа, но для системы он не нужен. Нужность «роли в семье» я никогда не отрицал. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2017, 00:03 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Ы2Тип семьи мне не нужен совсем. Т.е. официальные браки от неофициальных отличать не хотите? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2017, 10:19 |
|
Построение модели IDEF1X для семьи.
|
|||
---|---|---|---|
#18+
Предлагаю всем желающим описать на их моделях следующую жизненную ситуацию: Женившаяся сама на себе британка изменила сама себе Жительница британского города Брайтон Софи Тэннер, два года назад женившаяся сама на себе, публично покаялась в измене, сообщает Metro. Несмотря на это, женщина не торопится подавать на развод. Человеком, который расстроил гармоничный брак 38-летней Софи Тэннер с самой собой, стал некий Руари Баррет. При этом сам мужчина, который ранее был сторонником полигамных отношений, во время пятимесячного романа с британкой внезапно обратился к моногамии. В конце концов Баррет последовал примеру возлюбленной и вышел замуж за самого себя. В то же время Софи Тэннер после измены не собирается разводиться, считая, что она дала пожизненное обещание нести всю ответственность за свое счастье. Софи Тэннер женилась сама на себе в мае 2015 года в присутствии нескольких десятков гостей. После пафосной вечеринки в центре Брайтона женщина отправилась тогда в медовый месяц. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2017, 10:22 |
|
|
start [/forum/search_topic.php?author=%D0%9A%D0%90%D0%9A&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 444ms |
total: | 584ms |
0 / 0 |