/

תפקידו של ה-ORM הוא להמיר ולתאם בין בסיס הנתונים לשרת הצורך את המידע מבסיס הנתונים. משתמשים ב- ORM בשכבת המידע (DAL – Data Access Layer) המטפלת בכל הקשור למידע הנדרש לתוכנית. ישנם סוגי מסדי נתונים שונים וכל אחד עובד בצורה שונה:

1. במסד נתונים רילאציוני הטבלאות מקושרות ביניהם באמצעות קשרים.

2. בקבצי XML הנתונים הם במבנה עץ.

3. בבסיסי נתונים לא רלציונים הנתונים הם במבנה של אובייקטים.

ה- , ORM מתקשר עם כל מקורות המידע, ממיר אותם למבנה אחיד וחושף API לביצוע שאילתות בצורה קלה פשוטה ואחידה בלא תלות מול איזה מסד נתונים אנו עובדים.

היתרונות של עבודה באמצעות ORM הם רבים, נמנה את חלקם:

  • מסתיר מהאפליקציה את מקורות המידע.

  • מייצר מבנה אחיד של מידע ושיטה אחידה של עבודה מול המידע.

  • מפחית את כמות הקוד שנדרש לכתוב את התוכנית.

  • משפר את השימוש החוזר (ניתן לעשות בו או בחלקים ממנו שימוש חוזר).

  • מסתיר את מסד הנתונים מהתוכנית ובכך משפר את האבטחה (אלא אם עושים טעויות קריטיות בחשיפת השאילתות).

  • מקטין את מאמצי התחזוקה.

ישנם מספר סוגי ORM :

1. Prisma

2. TypeORM

3. Mongoose

4. Sequelize

לכל אחד יתרונות משלו אך על קצה המזלג ממש, יכולת קטנה אך משמעותית לטובת ה-Prisma אני חושב היא האפשרות לבצע סינון בתוך ה-Relation עצמו, כלומר אם אני רוצה להביא משתמש שיש לו פוסטים המכילים מילה מסוימת.. רק ב-Prisma אוכל לבצע את הסינון בשאילתא אחת בעוד באחרים אצטרך לבצע שאילתא שתביא לי את כל הפוסטים של היוזר ואז לסנן אותם.