Восемь лет спустя
kv75
дневник заведен 05-10-2003
постоянные читатели [82]
закладки:
цитатник:
дневник:
местожительство:
Москва, Россия
интересы [13]
шахматы, грибы, Пратчетт, Иваси, Morrowind, Guild Wars
[1] 08-05-2008 07:37
Альпы

[Print]
Элизабет
07-05-2005 16:51 БД метро
И опять я вспомнил о своей глупой идее создать БД по линиям и станциям московского (и любого другого) метрополитена. Такая БД должна содержать всю информацию об истории эксплуатации станций (начало, конец, возобновление, переименование) и линий. Конечный итог – возможность нарисовать схему линий метро на любой день (начиная с 1935 года).

Кроме того, такая БД должна содержать характеристики станций (тип, глубина и т.п.) и перегонов (длина). Всяческие депо, съезды и тупики пока можно отложить до лучших времён.

Но и сформулированная задача на поверку оказывается весьма нетривиальной. Во-первых, какие основные объекты (сущности, таблицы) мы имеем? Казалось бы, достаточно линий и станций, да? Ничего подобного.

Первый объект – это станция. Станция – то, что рисуется на схеме метро.

Второй объект – это линия. Линия тоже рисуется на схеме метро. Пока всё понятно.

Третий объект – это станционный зал (формулировка лично моя). Дело в том, что существуют совмещённые пересадочные станции (станции типа "Китай-город"). При этом пути одной и той же линии расположены в разных станционных залах. Если при отрисовке линий ориентироваться на станционные залы, мы должны были бы сказать, что к Калужско-Рижской линии относятся две станции "Китай-город". Но это противоречит нашим привычкам, да и здравому смыслу. Единственный выход из создавшегося положения – считать, что к линии относится станция, а физически станция может состоять из одного или нескольких станционных залов (именно к станционному залу относятся такие характеристики, как тип, глубина и т.п.).

При этом становится очевидно, что одна станция в один и тот же момент времени может относиться к нескольким линиям. Связь между линиями и станциями – это тоже отдельная таблица.

Четвёртый объект – перегон. Перегон – тоже вещь хитрая. Она относится к линии и соединяет две станции (не станционных зала). При этом нельзя забывать, что один и тот же перегон в разное время может относиться к разным линиям. Например, перегон между станциями "Александровский сад" и "Арбатская"-мелкая (использую современные названия) с 1935 до 1938 гг. относился к Сокольнической линии, с 1938 по 1953 – к Арбатско-Покровской, с 1953 по 1958(?) был закрыт, а с 1958 по настоящее время относится к Филёвской линии (и на этом его история, похоже, не окончена).

Пятый (и самый непонятный) объект – это переход! Во-первых, что он соединяет? Переход физически расположен между станционными залами, но формально рисуется между станциями. Во-вторых, между двумя станционными залами может быть несколько переходов. И тут надо определиться, что мы называем различными переходами. Например, переходы между "Театральной" и "Площадью Революции". Два из них выходят из одного места в середине станции "Площадь Революции", но дальше разделяются, и на "Театральную" они приходят в совершенно разных местах. Третий переход – через общий наземный вестибюль; считать ли его переходом?

В общем, вопросов очень много.

Ваш комментарий:
Камрад:
Гость []
Комментарий:
[смайлики сайта]
Дополнительно:
Автоматическое распознавание URL
Не преобразовывать смайлики
Cкрыть комментарий
Закрыть