Решение: Дочери и внучки в базе данных
Ниже представлены две таблицы из базы данных. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. Определите на основании приведённых данных общее число дочерей и внучек у Баурн А.С.
| ID | Фамилия_И.О. | Пол | ID_Родителя | ID_Ребёнка |
|---|---|---|---|---|
| 16 | Дурново И.М. | Ж | 26 | 27 |
| 26 | Виеру А.В. | М | 46 | 27 |
| 27 | Виеру В.А. | М | 27 | 28 |
| 28 | Виеру В.В. | М | 66 | 28 |
| 36 | Аганян Т.А. | Ж | 26 | 36 |
| 37 | Аганян Б.Г. | Ж | 46 | 36 |
| 38 | Аганян Г.Г. | М | 36 | 37 |
| 46 | Баурн А.С. | Ж | 38 | 37 |
| 47 | Баурн В.А. | М | 16 | 38 |
| 48 | Альберт К.Г. | Ж | 36 | 48 |
| 49 | Альберт И.К. | М | 38 | 48 |
| 56 | Лещенко Н.В. | Ж | 27 | 56 |
| 66 | Чивадзе Г.В. | Ж | 66 | 56 |
| … | … | … | … | … |
Решение по шагам
4 шагаВ таблице 1 у Баурн А.С. значение ID равно 46.
$$ID(\text{Баурн А.С.}) = 46$$В таблице 2 находим детей с ID_Родителя = 46: это записи с ID_Ребёнка 27 и 36. По таблице 1 ребёнок с ID 36 имеет пол «Ж», поэтому это одна дочь.
$$46 \to 27,\ 36;\quad \text{дочь}: 36$$Рассматриваем детей ID 27 и ID 36. У ID 27 дети — 28 и 56, из них девочка только ID 56. У ID 36 дети — 37 и 48, обе девочки.
$$27 \to 28,\ 56;\quad 36 \to 37,\ 48$$Всего одна дочь и три внучки.
$$1 + 3 = 4$$Где здесь ошибаются
Учитывают только детей с ID_Родителя = 46 и не ищут внучек.
Считают всех внуков, не проверяя поле «Пол».
Не учитывают ребёнка ID 56, который является ребёнком сына ID 27.