Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2023, 07:50   #1
Александр26091982
Пользователь
 
Регистрация: 25.05.2019
Сообщений: 12
По умолчанию Создание базы данных членов семьи человека.

Добрый день. Только изучаю Access. Подскажите имеется человек у него есть фамилия, имя, отчество, дата рождения и уникальный номер и у него есть родственники у которых есть фамилия,имя, отчество, дата рождения и адрес проживания. При этом у человека может быть 10 родственников, может не быть совсем. Понимаю вопрос возможно глупый, но каким образом можно это реализовать? Спасибо
Александр26091982 вне форума Ответить с цитированием
Старый 22.03.2023, 08:48   #2
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,079
По умолчанию

Цитата:
Сообщение от Александр26091982 Посмотреть сообщение
есть фамилия, имя, отчество, дата рождения и уникальный номер
а есть ли поле родство
-отец, мать, отчим, мачеха
-сын, дочь, сестра, брат
.....
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 22.03.2023, 10:29   #3
Александр26091982
Пользователь
 
Регистрация: 25.05.2019
Сообщений: 12
По умолчанию

Да, есть
Александр26091982 вне форума Ответить с цитированием
Старый 22.03.2023, 10:38   #4
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от shanemac51 Посмотреть сообщение
а есть ли поле родство
Только это не поле должно быть. Таблица: id человека, родство, id человека
Но в этой таблице у вас будет на каждого человека несколько записей.
Или придётся сделать
Цитата:
Сообщение от Александр26091982 Посмотреть сообщение
При этом у человека может быть 10 родственников
десять полей для каждого человека, но это уже ограничения учебной задачи. В реальной базе у человека родственников может быть гораздо больше 10.

Хотя простые родственные связи типа мать, отец можно сделать полями, а вот братьев, сестёр и других придётся описывать таблицей.
macomics вне форума Ответить с цитированием
Старый 22.03.2023, 12:11   #5
Александр26091982
Пользователь
 
Регистрация: 25.05.2019
Сообщений: 12
По умолчанию

Ну в том то и дело, хочу сделать универсально
Александр26091982 вне форума Ответить с цитированием
Старый 22.03.2023, 12:32   #6
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Тогда сделайте два поля: мать и отец. А ещё таблицу родства.

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

Зная id записи можно написать запрос выбора всех записей, в определённом поле которых записан тот же id. При одинарном запросе эта логика выберет всех детей (выбирая из таблицы `моя запись`.`пол` == "женский" ? `моя запись`.`id` == `выбираемая запись`.`мать`, `моя запись`.`id` == `выбираемая запись`.`отец`) и родителей (тут вообще все просто - id записаны в соответствующих полях). Увеличив глубину запросов до двух уже возможно найти всех внуков и бабушек с дедушками.
macomics вне форума Ответить с цитированием
Старый 22.03.2023, 12:42   #7
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 495
По умолчанию

Цитата:
Сообщение от macomics Посмотреть сообщение
Тогда сделайте два поля: мать и отец.
Не вижу смысла. Лучше все данные по родственникам держать в отдельной таблице. Если требуется постоянное построение генеалогического дерева "до 7-го (и выше) колена", то на помощь приходит Nested Set.
Valick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос: по реализации базы данных членов спортивного клуба. Через веб форму и MySQL elovozeleniy Помощь студентам 0 09.08.2016 21:48
Создание новой базы данных с использованием данных из старой Ruslan VDK Помощь студентам 0 19.04.2015 15:25
Создание базы данных Dima-War Фриланс 3 28.05.2014 18:36
составьте банк данных членов своей семьи или (и) ближайших родственников, включающий в себя имя, отчество, степень родства, и в за sdelana_v_rayu Паскаль, Turbo Pascal, PascalABC.NET 0 18.06.2012 00:45