Шрифт:
Интервал:
Закладка:
Она уселась, положила все еще немного дрожащие пальцы на клавиатуру.
– Но я сейчас на вашем рабочем поле, – обратила она внимание. – Мне перейти на свое?
– Нет, спокойно оставайтесь на моем. Позже я хочу иметь возможность еще раз все посмотреть в спокойной обстановке.
– Хорошо. – Правда, это означало, что в ее распоряжении нет схем, но с ними будет слишком сложно для начала. – Итак, поставьте задачу.
Она наблюдала, как он некоторое время смотрел в пустоту, со стальным сиянием в глазах, которое вызывало у нее страх и беспокойство.
– Что-нибудь с определением местонахождения, – сказал он наконец. – Это приводит меня в восторг. – Это прозвучало как бы вскользь, так, будто только что пришло ему в голову – но, с другой стороны, и нет. – Напишите запрос, который покажет, кто был вчера в Веймарском отделении Рейхсбанка между 10:30 и 11:30.
Хелена помедлила, спросила:
– Вам нужны имена или номера телефонов?
– Что проще?
– Номера телефонов.
– Тогда для начала давайте их, – распорядился Леттке.
Хелене пришлось притормозить себя, чтобы не взяться за дело чересчур стремительно. Это была задача, которую она обычно выполняла за считаные минуты, но теперь, когда он смотрел через ее плечо и хотел точно знать, что она делает, она начала с самого начала. Объяснила ему, как создать пустой запрос, как сохранить его, чтобы использовать позже, объяснила вслух вещи, которые обычно сами текли из-под пальцев и о которых она не задумывалась со школьных лет. Разницу между обычной программой и командой СЯЗ, например.
– Что такое СЯЗ? – спросил Леттке.
– Аббревиатура от «Структурированного языка запросов», – пояснила Хелена. – Его используют, просто чтобы извлечь данные из таблиц. С помощью определенных командных слов четко описывают, какие данные необходимы, а затем программа СЯЗ выполняет все остальное автоматически. Для отдельного запроса сделать это быстрее, чем написать специальную программу.
– А чем отличаются действия программы?
– Программа определяет, что конкретно должен сделать компьютер. Поскольку компьютер делает все, что ему прикажут, нужно быть осторожным, чтобы случайно не задать ему команды, которые повлекут за собой ошибку. Поэтому программирование – кропотливое дело.
Леттке призадумался над этим.
– Хорошо. Значит, в таком случае лучше использовать команду СЯЗ?
– Верно.
– Всего одну?
– Да, но такая команда обычно получается довольно длинной.
– Но зато ничего не случится? Я имею в виду, что компьютер сделает что-то неверно.
Хелена невольно вздохнула.
– Не в этом смысле. Если вы неправильно введете условия, то получите неправильные данные. Но вы ничего из-за этого не сломаете.
– Понимаю, – ответил он. Казалось, его впечатлило то, что с помощью программы можно что-то сломать.
Она не должна допустить, чтобы он разочаровался. Чтобы выдумал что-то другое. Хелена быстро показала ему, как создать запрос, какие вообще доступны таблицы и как посмотреть их структуру.
– А нам нужна вот эта таблица, не так ли? – Он постучал ногтем по экрану. – ТЕЛЕФОНЫ. РЕГИСТРАЦИЯ. Верно?
– Да, верно. – Она показала ему структуру: номер телефона, дата, время, номер радиовышки и географические координаты регистрации. – Но откуда берутся координаты, я не знаю, – призналась она. – На самом деле, я понятия не имею, как работает сеть мобильной телефонии.
– Скорее всего, это снова мужское дело, – предположил Леттке и объяснил ей: вокруг каждой радиовышки находится радиодиапазон, который можно разделить на секторы, и все они исходят из одной точки – из вышки. Когда регистрируется телефон, радиовышка определяет направление и длительность сигнала до точки, где находится телефон, преобразует все это в географические координаты, которые затем заносятся в таблицу. Каждые несколько минут радиовышка и телефон обмениваются новым сигналом, он используется только для ориентации; если местоположение меняется, то формируется новый набор данных.
– Понятно, – сказала Хелена, хотя по-прежнему у нее оставалось весьма поверхностное представление о том, что происходит за техническими кулисами. – В любом случае нам нужны географические координаты искомого места, то есть местного отделения Рейхсбанка.
Она открыла карту, отыскала Веймар и банк, записала долготу и широту: 11,3249 восточной долготы, 50,9791 северной широты.
– Разве там не должно быть что-то с минутами и секундами? – удивился Леттке.
– Это будет навигационный формат записи, его используют моряки и пилоты, – объяснила Хелена. – В наших базах данных используется только десятичное представление, потому что его проще и быстрее вычислить.
– Восточная долгота, – прочитал Леттке. – То есть немецкая телефонная сеть по-прежнему использует английские координаты?
– Переход на немецкую систему координат должен произойти после окончательной победы.
От этого изменилось бы немногое: по сути, только отсчет долготы: нулевой меридиан пройдет уже не через обсерваторию в Гринвиче в Англии, а через центр запланированного Большого зала славы в столице Германского рейха. В базе данных сделать это можно быстро, но также придется перепечатывать и все карты, а на это во время войны нет времени.
– Да и не важно, – произнес Леттке. – Так что, вы напишете этот запрос сейчас?
Хелена набрала:
ВЫБРАТЬ ИЗ ТЕЛЕФОНЫ. РЕГИСТРАЦИЯ
ВСЕ (НомерТелефона)
ДЛЯ (
ПОЗ.ДЛ= 11,3249
И
ПОЗ.ШР= 50,9791
И
ВРЕМЯ («11.8.1942 10:30»,
«11.8.1942 11:30», 0)
)
– Первая строка указывает, к какой таблице я обращаюсь, – объяснила она. – Затем я говорю, какие поля должны быть отображены в результате. И все, что стоит после ДЛЯ и круглой скобки, является условием, поэтому оно определяет, какие записи должны отображаться.
– «ПОЗ.ДЛ» – это долгота позиции, я полагаю?
– Точно.
– А почему там между строками постоянно стоит «И»?
– Потому что все эти условия должны быть выполнены. Есть также случаи, когда применяется одно или другое условие, тогда нужно поставить дополнительные скобки и связать союзом «ИЛИ».
– Ага, – согласился Леттке.
Не было похоже, что он это понял. И в его взгляде было что-то стеклянное. Хелена быстро добавила:
– Но такое случается редко. Очень редко. Это скорее… теоретическая возможность.