Розглянемо загальний підручник для об'єктно-орієнтованих мов програмування, таких як C ++ або Java: створити просту систему обробки замовлень з об’єктами, що представляють рахунки, замовлення, елементи тощо (або щось більш-менш еквівалентне). Створює ідеальний інтуїтивний сенс, але слон за обіднім столом полягає в тому, що це не реально, оскільки це об'єкти в пам'яті; в реальній системі рахунки, доручення тощо фактично не живуть в пам'яті, в першу чергу вони живуть в базі даних, в пам'яті є лише короткочасне дзеркало.
Ви можете написати багато коду, щоб прочитати та записати з бази даних, але це настільки виснажливо і схильне до помилок, що ніхто насправді цього не робить.
Всі в кінцевому підсумку використовують ORM, але вони самі настільки проблемні, що відомий документ називає їх "В'єтнамом нашої галузі".
Я не думаю, що це невідповідність об’єкта та реляції настільки, як невідповідність мови програмування та бази даних, що є окремими речами, які не знають один про одного . Концепція: рішення полягає в тому, щоб мати єдину мову, яка є і мовою запиту програмування, і базою даних, що, в свою чергу, вимагатиме, щоб час мовлення також був базою даних, а компілятор JIT також був оптимізатором запитів.
Отже, це підсумок проблем, які я бачу. Моє запитання: чи хтось ще,
Фактично побудована така єдина система
Спробував, але не зміг побудувати таку єдину систему
Напишіть щось істотне на тему, як би ви йшли про будівництво таких, або чому чи чому ні
Придумайте альтернативний спосіб вирішення проблеми?