Шешімі: Родственные связи в базе данных
Ниже представлены два фрагмента таблиц из базы данных о жителях микрорайона. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. Определите, у скольких жителей есть хотя бы один родной брат, отличающийся по возрасту не более чем на четыре года. При вычислении ответа учитывайте только информацию из приведённых фрагментов таблиц.
Примечание. Братьев и сестёр считать родными, если у них есть хотя бы один общий родитель. В таблице 2 указаны пары «ID родителя — ID ребёнка»: 41—37, 42—37, 41—38, 42—38, 58—41, 41—44, 42—44, 62—48, 62—50, 58—55, 55—56, 58—55, 55—59, 62—59, 62—68.
| ID | Фамилия_И.О. | Пол | Год_рождения |
|---|---|---|---|
| 37 | Макаренко С.Д. | М | 2000 |
| 38 | Макаренко О.Д. | Ж | 2005 |
| 41 | Макаренко О.И. | Ж | 1970 |
| 42 | Макаренко Д.С. | М | 1969 |
| 44 | Келдыш А.Д. | Ж | 1993 |
| 48 | Мазинг А.Е. | Ж | 1982 |
| 50 | Шварц А.И. | М | 1999 |
| 55 | Шварц И.И. | М | 1973 |
| 56 | Шварц В.И. | М | 2006 |
| 58 | Шварц З.М. | Ж | 1949 |
| 59 | Хитрово Ф.Е. | М | 1979 |
| 62 | Хитрово Е.Ф. | М | 1956 |
| 68 | Хитрово С.Е. | Ж | 1985 |
Шешім по шагам
3 қадамПо таблице 2 группируем детей по общему родителю. У родителей с ID 41 и 42 есть общие дети 37, 38 и 44; у родителя 42 также есть ребёнок 50.
Житель 37 — мужчина, родился в 2000 году. Житель 50 — мужчина, родился в 1999 году. Они имеют общего родителя с ID 42, поэтому являются родными братьями, а разница в возрасте составляет один год.
Остальные жители либо не имеют родного брата среди приведённых данных, либо разница в возрасте с братом превышает четыре года.
Где здесь ошибаются
Считать родными братьями и сёстрами всех детей бір родителя без проверки пола брата.
Считать братьями жителей 37 и 38, хотя житель 38 — женщина.
Учитывать различие в возрасте более төрт лет.