Перше, що розробники повинні знати про бази даних, це таке: для чого це бази даних ? Не як вони працюють, ні як ви створюєте їх, ні навіть як ви пишете код для отримання або оновлення даних у базі даних. Але для чого вони?
На жаль, відповідь на це - рухома мета. У період розквіту баз даних, починаючи з 1970-х на початку 1990-х, бази даних були для обміну даними. Якщо ви використовували базу даних, і ви не обмінювалися даними, ви або брали участь в академічному проекті, або витрачали ресурси, включаючи себе. Налаштування бази даних та приборкання СУБД були такими монументальними завданнями, що окупність, з точки зору даних, що експлуатувались неодноразово, мала бути величезною, щоб відповідати інвестиціям.
За останні 15 років бази даних стали використовуватись для зберігання стійких даних, пов’язаних лише з одним додатком. Побудова бази даних для MySQL або Access або SQL Server стала настільки звичайною, що бази даних стали майже звичайною частиною звичайного додатку. Іноді ця початкова обмежена місія підштовхується вгору повзанням місії, оскільки реальна цінність даних стає очевидною. На жаль, бази даних, які були розроблені з єдиною метою, часто різко виходять з ладу, коли їх починають відштовхувати від ролі, яка є загальноприйнятою та важливою для місії.
Друге, що розробникам потрібно дізнатися про бази даних - це весь погляд на світ, орієнтований на дані . Світогляд, орієнтований на дані, значно відрізняється від світогляду процесів, орієнтованих на процес, ніж усе, що коли-небудь дізналися розробники. Порівняно з цим розривом, розрив між структурованим програмуванням та об'єктно-орієнтованим програмуванням порівняно невеликий.
Третє, що розробникам потрібно навчитися, принаймні на огляді, - моделювання даних, включаючи концептуальне моделювання даних, логічне моделювання даних та фізичне моделювання даних.
Концептуальне моделювання даних - це дійсно аналіз вимог з точки зору, орієнтованого на дані.
Логічне моделювання даних - це звичайно застосування конкретної моделі даних до вимог, виявлених при концептуальному моделюванні даних. Реляційна модель використовується набагато більше, ніж будь-яка інша конкретна модель, і розробникам потрібно точно вивчити реляційну модель. Розробка потужної та відповідної реляційної моделі для нетривіального вимоги не є тривіальним завданням. Ви не можете створити хороші таблиці SQL, якщо неправильно зрозуміли реляційну модель.
Фізичне моделювання даних, як правило, є специфічним для СУБД, і його не потрібно докладно вивчати, якщо розробник не є також розробником бази даних або DBA. Що розробникам потрібно зрозуміти, це ступінь фізичного дизайну баз даних може бути відокремлена від логічного дизайну баз даних, а також ступінь створення високошвидкісної бази даних може бути досягнуто лише шляхом налаштування фізичного дизайну.
Наступне, що розробникам потрібно навчитися, це те, що хоча швидкість (продуктивність) важлива, інші заходи якості дизайну ще більш важливі , такі як можливість перегляду та розширення сфери застосування бази даних вниз або простота програмування.
Нарешті, кожен, хто поспішає з базами даних, повинен розуміти, що значення даних часто переживає систему, яка їх захопила .
Вау!