Решение: Реляционная база жителей
Ниже представлены два фрагмента таблиц из базы данных о жителях микрорайона. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. Определите, для скольких жителей выполнено условие: она или он родилась(-лся) в том же городе, что и её или его бабушка либо дедушка. При вычислении ответа учитывайте только информацию из приведённых фрагментов таблиц.
В таблице 2 указаны пары «ID_Родителя — ID_Ребёнка»: 148—131, 150—131, 131—134, 137—134, 139—137, 145—143, 148—145, 150—145, 145—146, 145—147, 153—151, 139—153, 153—156, 153—158.
| ID | Фамилия_И.О. | Пол | Место_рождения |
|---|---|---|---|
| 131 | Данелия А.Г. | Ж | Бийск |
| 134 | Данелия В.И. | Ж | Новокузнецк |
| 137 | Данелия И.С. | М | Иркутск |
| 139 | Данелия С.С. | М | Новосибирск |
| 143 | Ромм В.А. | Ж | Бийск |
| 145 | Ромм М.Г. | Ж | Бийск |
| 146 | Ромм О.А. | Ж | Новосибирск |
| 147 | Ромм О.А. | М | Новосибирск |
| 148 | Роу Г.Е. | М | Бийск |
| 150 | Роу И.И. | Ж | Новокузнецк |
| 151 | Эйзенштейн А.Н. | М | Кемерово |
| 153 | Эйзенштейн А.С. | Ж | Новосибирск |
| 156 | Эйзенштейн Н.Н. | Ж | Новосибирск |
| 158 | Эйзенштейн С.Н. | М | Кемерово |
Решение по шагам
3 шагаВ таблице 2 устанавливаем связи «родитель — ребёнок», а затем для каждого родителя ищем его родителей по полю ID_Ребёнка.
Для найденных бабушек и дедушек по таблице 1 определяем место рождения и сравниваем его с местом рождения ребёнка.
После проверки всех доступных цепочек родства условие выполняется для трёх жителей.
Где здесь ошибаются
Считать совпадение места рождения ребёнка с местом рождения родителя вместо бабушки или дедушки.
Использовать сведения, которых нет в приведённых фрагментах таблиц.
Засчитывать жителя дважды, если совпадение найдено сразу с двумя родственниками.