Centrum wiedzy o technologiach i pracy w IT
orm

ORM, czyli mapowanie obiektowo-relacyjne – zasady i zalety

Ostatnia aktualizacja 12 października, 2023

ORM (Object-Relational Mapping) to technika programowania, która służy do łączenia baz danych z obiektowymi językami programowania. Umożliwia ona programistom pracę z bazami danych w sposób, który jest zgodny z ich zrozumieniem obiektowego programowania. W tym tekście przyjrzymy się, na czym dokładnie polega Object-Relational Mapping, jakie są jego zalety i wady, a także wymienimy popularne narzędzia wykorzystujące tę metodę.

Nie udało się zapisać Twojej subskrypcji. Spróbuj ponownie.
Udało się! Widzimy się niebawem – newsletter wysyłamy w każdy wtorek

Otrzymuj za darmo unikalne poradniki, dane i wiedzę o pracy w IT – dostarczane co tydzień

Klikając “Zapisz mnie” wyrażasz zgodę na otrzymywanie e-maili od redakcji, a także ofert partnerów oraz akceptujesz naszą Politykę prywatności.

Co to jest ORM?

Object-Relational Mapping to proces tworzenia “wirtualnej bazy obiektów”, którą można manipulować za pomocą obiektowego języka programowania.

Programiści mogą pracować z danymi w bazie w sposób, który jest bardziej zgodny z obiektowym podejściem do programowania. Zamiast pisać zapytania SQL do manipulowania danymi, programiści używają obiektów i metod w swoim preferowanym języku programowania, np. Javie, Pythonie czy C#.

Dzięki ORM różnorodne operacje, czyli dodawanie nowych rekordów, aktualizacja istniejących czy usuwanie, są realizowane przez manipulację obiektami w kodzie. Następnie te obiekty są mapowane na rekordy w bazie danych.

Na przykład, obiekt klasy “Użytkownik” w kodzie może być reprezentacją rekordu w tabeli “użytkownicy” w bazie danych. Metody i atrybuty tego obiektu mogą odpowiadać operacjom i polom w tej tabeli.

W efekcie programiści mogą skupić się na logice biznesowej aplikacji, nie martwiąc się o szczegóły implementacji bazy danych. To znacząco przyspiesza proces tworzenia oprogramowania i sprawia, że kod jest bardziej czytelny oraz łatwiejszy do utrzymania.

Dalsza część tekstu znajduje się pod materiałem wideo:

    Zasady działania ORM

    Istnieje kilka fundamentalnych zasad, które kierują mapowaniem obiektów w kodzie na rekordy w bazie danych.

    • Pierwsza zasada to tzw. “Identity Map”, która zapewnia, że każdy obiekt jest jednoznacznie identyfikowany w całym systemie.
    • Druga zasada to “Unit of Work”, mówiąca o tym, że zmiany w obiektach są zbierane i następnie zapisywane w bazie danych w jednej, spójnej transakcji.
    • Trzecia zasada, “Lazy Loading”, pozwala na opóźnienie wczytywania danych aż do momentu, gdy są one rzeczywiście potrzebne.

    Dzięki tym i innym zasadom, ORM umożliwia efektywną i zorganizowaną pracę z bazami danych, jednocześnie zachowując spójność i integralność danych.

    Popularne narzędzia ORM

    Wśród narzędzi wykorzystujących ORM można wyróżnić kilka:

    1. Entity Framework – często używane w aplikacjach .NET.
    2. Django ORM – popularne w środowisku Pythona.
    3. Sequelize – używane w aplikacjach Node.js.
    4. Hibernate – bardzo popularne w środowisku Java.

    Zalety korzystania z Object-Relational Mapping

    • Nie musisz znać języka SQL ani szczegółów implementacji bazy danych. Wszystko to jest ukryte za obiektowym interfejsem.
    • Kod jest bardziej przenośny między różnymi systemami baz danych.
    • Kod staje się czytelniejszy i łatwiejszy do utrzymania.
    • Bezpieczeństwo. Wiele narzędzi ORM oferuje wbudowane mechanizmy zabezpieczające przed atakami typu SQL Injection.
    • Dobre narzędzia ORM są zaprojektowane tak, aby ułatwić skalowanie aplikacji, zarówno wertykalne, jak i horyzontalne.
    • Dzięki wyższemu poziomowi abstrakcji, programiści mogą szybciej implementować funkcje, koncentrując się na logice biznesowej.
    • Wiele popularnych frameworków programistycznych oferuje zintegrowane rozwiązania ORM, co dodatkowo ułatwia rozwój aplikacji.

    Wady korzystania z Object-Relational Mapping

    • Zbyt duży poziom złożoności skutkuje tym, że narzędzia ORM mogą być trudne do nauczenia i skonfigurowania.
    • Nie wszystkie funkcje dostępne w SQL są łatwo dostępne w ORM, co może wymagać mieszania kodu SQL i obiektowego.
    • Łatwość użycia ORM może prowadzić do nadużyć, takich jak nadmierne użycie “Lazy Loading”, co może wpłynąć na wydajność.

    Czytaj także:

    SQL – klucz do zarządzania bazami danych

    Programowanie obiektowe – na czym polega?

    Total
    0
    Shares
    _podobne artykuły