У світ плавних форм від точних прямокутників
З приходом у світ об’єктно-орієнтованого програмування, сериализация даних отримала друге дихання. Дійсно, все навколо – лише рядки, бажано невизначеної довжини. Числа і дати – теж рядка символів.
Міць і об’єктивність реляційних відносин – безперечна, але хіба динаміка колонок і рядків завдає шкоди їх репутації? Таблиця – це просто дані, які можуть мати шапку (список колонок) або не мати рядків. Нехай таблиця – це просто сукупність даних, не обов’язково іменована.
Сукупність може бути однорідною і в ній можна виявити дані різної структури. Принципово, однорідність даних свідчить про опрацювання області застосування. Розподіл даних за типами та видами – ознака системності та об’єктивного підходу, але допустити ймовірність динаміки структур все ж доцільно.
Якщо вивести проектування та створення бази даних за межі жорстких конструкцій і припустити, що таблиця – це сукупність рядків не обов’язково однотипних і схожих за семантикою один на одного, то проектування БД кардинально зміниться.
Предметом роботи стане не опис структури бази даних, а динаміка руху інформації. Етапи робіт розподіляться на три центру ваги:
- вхідний інформаційний потік;
- перетворення і рух інформації всередині бази даних;
- вибірка даних для використання.
Поняття структури таблиці відсутня. Немає ні рядків, ні стовпців. Є абстракція – це, визначеної структури задовольняє конкретній точці в алгоритмі. Якщо більш конкретно, то функція обробки інформації вимагає певну інформацію в конкретному обсязі.
Обов’язкова вимога рекурсивности всіх функцій обробки інформації та орієнтація на функції, а не на дані, дозволяє проектувати базу даних у динаміці накопиченої інформації та вхідного потоку даних, які використовуються за ініціативою користувача, процесу або іншої функції.
Фактично: прийшов сигнал на користування, отриманий запит на вибірку, спрацював тригер в додатку і вхідна інформація через те, що вже є, надала потрібне рішення.