Принципы, а не продукты
Стоит потратить немного времени на вопрос о том, почему профессионалу в области баз данных необходимо (как я уже отмечал выше) знать реляционную модель. Причина в том, что реляционная модель не связана ни с каким конкретным продуктом; она имеет дело только с принципами. Что я понимаю под принципами? Словарь дает такие определения:
Принцип – основное, исходное положение теории, учения, миро- воззрения; убеждение, взгляд на вещи; основная особенность в устройстве чего-либо.1
Важнейшая особенность принципов состоит в их долговечности. Продукты и технологии (и язык SQL в том числе) все время изменяются – принципы остаются постоянными. Допустим, к примеру, что вы знаете СУБД Oracle; предположим даже, что вы крупный специалист по Oracle. Но если ваши знания ограничены только Oracle, то они могут оказаться непригодными, скажем, в среде DB2 или SQL Server (а могут даже затруднить освоение новой среды). Однако если вы знаете основополагающие принципы – иными словами, реляционную модель, – ваши знания и навыки переносимы: вы сможете применить их в любой среде, и они никогда не устареют.
Поэтому в этой книге мы будем иметь дело с принципами, а не с продуктами, с основами, а не с преходящими увлечениями. Но я понимаю, что в реальном мире иногда приходится идти на компромиссы. Напри- мер, иногда имеются веские причины проектировать базу данных способом, далеким от теоретически оптимального. В качестве другого при- мера снова обратимся к SQL. Хотя нет сомнений, что SQL можно использовать реляционно (по крайней мере, в большинстве случаев), иногда обнаруживается – ведь существующие реализации так далеки от совершенства, – что это влечет за собой существенное падение производительности… и тогда вы более или менее вынуждены делать что-то не «истинно реляционное» (например, писать запрос неестественным об- разом, чтобы заставить реализацию воспользоваться индексом). Однако я абсолютно убежден, что такие компромиссы всегда следует оценивать с концептуальных позиций. Это означает, что:
- Идя на такой компромисс, вы должны понимать, что делаете.
- Вы должны понимать, как выглядит теоретически правильное решение, и иметь основательные причины для отхода от него.
- Вы должны документировать эти причины; тогда в случае, если в будущем они отпадут (например, из-за того, что в новой версии продукта какая-то функция реализована более удачно), можно будет отказаться от первоначального компромисса.
Следующий афоризм – который приписывается Леонардо да Винчи (1452–1519), и, стало быть, ему уже около 500 лет – великолепно описывает эту ситуацию:
Всякий, кто полагается на практику, не зная теории, подобен кормчему, вступающему на судно без руля и компаса, – он не знает, куда плывет. Практика всегда должна опираться на твердые теоретические основания.
Дата добавления: 2017-01-17; просмотров: 513;