Жизнь и системы управления базами данных

Мы привыкли жить в мире, в котором информация об объекте едва ли не важнее, чем сам материальный объект. Когда рождается новый человек, он сразу получает имя, наследует фамилию и отчество (прямо-таки по законам объектно-ориентированного программирования, будь оно неладно), на него заводят первый документ – свидетельство о рождении, вписывают всю его подноготную в различные реестры. По мере его роста и развития будут множиться и расти архивы информации о нём: истории болезни, документы в детском саду, а потом и в школе, чуть позже им заинтересуется военкомат, и так на протяжении всей жизни. Можно подумать, что вся человеческая жизнь посвящена лишь тому, чтобы различные системы управления базами данных (СУБД) могли набивать своё ненасытное информационное нутро. Каким-то непостижимым образом мы продолжаем считать себя – человека – венцом природы, хотя животные, похоже, часто оказываются мудрее нас.

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

При обучении профессии программиста в числе прочего изучается и система управления базами данных Access. Строго говоря, эта СУБД самая бестолковая, поскольку не предоставляет настоящей мощи полноценных серверов: при одновременной работе нескольких человек с одной базой данных начинаются блокировки фрагментов информации, а то и целых таблиц, при больших объёмах данных появляются сбои в работе и так далее. Остаётся загадкой, для чего вообще включён Access в систему образования, ведь профессиональные программисты с ним работать не будут, а все остальные вообще не желают знать, чем одни системы управления базами данных отличаются от других. Лучше бы вместо Access’а студентам давали навыки работы с PostgreSQL и MySQL, попутно объясняя различия между ними. Правда, обе этих СУБД работают лишь как сервера, то есть для создания полноценной базы данных придётся разрабатывать ещё и клиентское приложение – то, с чем будут работать уже конечные пользователи. Но по этому пути идёт всё профессиональное программирование, и не стоит изобретать свой собственный велосипед.

А что вообще включает в себя понятие профессиональной системы управления базами данных? Во-первых – возможность работать с очень большими массивами информации (электронный каталог крупного книжного магазина может насчитывать миллионы описаний, по каждому из которых можно узнать цену, количество доступных экземпляров и на каких складах они находятся); во-вторых – работа со многими пользователями одновременно, каждый из которых получает актуальную информацию (иными словами, два продавца не смогут продать разным клиентам единственный экземпляр какой-нибудь редкой книги). Третий параметр – информация защищена от случайной порчи в случаях, когда её изменение началось, но не было корректно завершено. Гипотетически можно представить такую ситуацию: магазин получает оплату по безналичному переводу, средства списываются со счёта покупателя и далее должны быть зачислены на счёт магазина, но из-за сбоя вторая часть операции не была выполнена. Грамотная СУБД обе части операции выполняет в рамках одной транзакции, которая либо полностью подтверждается (в случае, когда всё прошло гладко), либо полностью отменяется (при любом сбое). На уровне покупателя это даёт уверенность, что если с его счёта средства списаны, то на счёт магазина они гарантированно поступили.

Статья закончилась. Вопросы остались?
Комментарии 0
Подписаться
Я хочу получать
Правила публикации
Редактирование комментария возможно в течении пяти минут после его создания, либо до момента появления ответа на данный комментарий.