Решение: Родственные связи в базе данных
Ниже представлены два фрагмента таблиц из базы данных о жителях микрорайона. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. Определите, у скольких жителей есть хотя бы одна родная сестра, младшая не менее чем на четыре года. При вычислении ответа учитывайте только информацию из приведённых фрагментов таблиц.
Примечание. Братьев и сестёр считать родными, если у них есть хотя бы один общий родитель.
В таблице 2 указаны следующие пары «ID родителя — ID ребёнка»: 41—37, 42—37, 41—38, 42—38, 58—41, 41—44, 42—44, 62—48, 55—50, 58—55, 55—56, 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 |
Решение по шагам
4 шагаПо таблице 2 определяем группы детей с общими родителями. У родителей с ID 41 и 42 общие дети: 37, 38 и 44. У родителя 62 дети: 48, 59 и 68.
В первой группе женщины имеют ID 38 и 44. Житель 37 имеет сестру 38, которая младше на 5 лет: 2005 − 2000 = 5. Житель 44 имеет сестру 38, младшую на 12 лет: 2005 − 1993 = 12.
В группе детей родителя 62 женщины имеют ID 48 и 68. Житель 48 имеет сестру 68, но разница в возрасте составляет только 3 года: 1985 − 1982 = 3, поэтому это условие не выполняется.
Следовательно, условию соответствуют жители с ID 37, 44 и 48. Всего таких жителей три.
Где здесь ошибаются
Считать сестрой любую женщину из таблицы, не проверяя наличие общего родителя.
Учитывать сестру, младшую менее чем на четыре года.
Считать только женщин, хотя условие относится ко всем жителям, у которых есть сестра.