Съдържание:
- Определение - Какво означава обектно-релационно картографиране (ORM)?
- Техопедия обяснява обектно-релационно картографиране (ORM)
Определение - Какво означава обектно-релационно картографиране (ORM)?
Обектно-релационното картографиране (ORM) е техника на програмиране, при която се използва дескриптор на метаданни за свързване на обектния код към релационна база данни. Обектният код е написан на езици за обектно-ориентирано програмиране (OOP) като Java или C #. ORM конвертира данни между системи от тип, които не могат да съществуват съвместно в релационни бази данни и езици на OOP.
Техопедия обяснява обектно-релационно картографиране (ORM)
ORM разрешава несъответствието на обектния код и релационната база данни с три подхода: отдолу нагоре, отгоре надолу и срещи в средата. Всеки подход има своя дял от ползи и недостатъци. При избора на най-доброто софтуерно решение, разработчиците трябва да разбират напълно средата и изискванията за дизайн.
В допълнение към техниката за достъп до данни, предимствата на ORM включват също:
- Опростена разработка, тъй като тя автоматизира преобразуването от обект в таблица и таблица в обект, което води до по-ниски разходи за разработка и поддръжка
- По-малко код в сравнение с вграден SQL и ръкописни съхранени процедури
- Прозрачно кеширане на обекти в слоя на приложението, подобряване на работата на системата
- Оптимизирано решение, което прави приложението по-бързо и по-лесно за поддръжка
Появата на ORM в разработването на множество приложения създаде разногласия сред експертите. Основните притеснения са, че ORM не работи добре и че съхранените процедури могат да бъдат по-добро решение. Освен това зависимостта от ORM може да доведе до лошо проектирани бази данни при определени обстоятелства.
