محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

ORM چیست؟ بررسی مفهوم Object Relational Mapper به زبان بسیار ساده

ORM چیست؟ ORM چه کاری در بحث دیتابیس انجام می دهد؟ ارتباط ORM و زبان برنامه نویسی در چیست ؟ خوب قبل از اینکه سراغ هر تعریف از ORM بریم ، یک سناریو در ذهن خودتون مجسم کنید . به عنوان یک برنامه نویس که در محیط های مختلف برنامه نویسی کار کردید ، همیشه دو قسمت کدنویسی داشتید !

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

( البته اگر خیلی تو اینکار قدیمی تر باشید ) ، یک قسمت نوشتن کدهای خود برنامه به انواع و اقسام زبان های برنامه نویسی شی گرا هست و دومین قسمت نوشتن کدهای Query گرفتن و البته Update  کردن و Select کردن و از همینجور دستورات بوده که برای مدیریت دیتابیس های SQL این برنامه باید نوشته میشده ، خوب یعنی یک برنامه نویس بعد از اینکه برنامه ای رو نوشتن باید به زبانی مثل TSQL هم مسلط باشه تا بتونه Query های مورد نظر رو بنویسه و اینکار رو خیلی خیلی سخت میکرد تا اینکه ORM وارد کار شد .

ORM چیست

باز هم قبل از اینکه بریم سراغ تعریف ORM فراموش نکنید که ما یک فرآیند داریم به نام Object Relational Mapping و یک ابزار داریم به نام Object Relational Mapper که در واقع این ابزار هست که کار ما رو انجام میده و مفهوم رو پیاده سازی می کنه . ORM به زبان بسیار ساده ابزاری هست که به شما به عنوان یک برنامه نویس میگه ، شما کاریت به نوشتن Query های دیتابیس ها نباشه ، کد مورد نظرت رو بنویس ، بده به من ، من به عنوان واسط بین کدها و دیتابیس میام و Query ها رو تولید می کنم و اینجوری باعث میشه دنیا برای برنامه نویس ها بسیار زیباتر بشه . فکر کنید دیگه نیازی نیست که شما درگیر کدهای SQL عجیب و غریب بشید و اینکار رو به عهده ORM می گذارید.

با افتخار به جامعه برنامه نویسان ایرانی ::: مقایسه TOSINSO STORM و Microsoft Entity Framework

در دنیای برنامه نویسی ORM های متنوعی وجود داره ، ابزارهایی که کار برنامه نویسی رو راحت تر می کنن ، اگر با برنامه نویسی دات نت آشنایی داشته باشید حتما واژه ای به نام Entity Framework رو شنیدید . در واقع شما کدهای دات نت رو می نویسید و کار نوشتن Query برای ارتباط با MSSQL Server رو به Entity Framework می سپارید و تمام !! اما بد نیست بدونید که در دنیا فقط همین یک ORM وجود نداره ، درسته که Entity Framework معروفترینشون هست اما قرار نیست الزاما بهترین هم باشه !

خیلی اوقات پیش میاد که اوقدر Query هایی که توسط این ORM های بزرگ و معروف تولید میشن مشکل ساز و کند هستند که عملا باعث میشن برنامه یا وب سایت شما به شدت کند بشن و به همین دلیل هست که برنامه نویس های فوق حرفه ای خودشون برای خودشون ORM های خاص می نویسن . مثلا همین وب سایت توسینسو که با زبان برنامه نویسی ASP.NET Core نوشته شده قبلا از Entity Framework استفاده می کرد و به مرور زمان با بزرگ شدن مجموعه به شدت کند شد !

تا جاییکه 10 تا تب از وب سایت که باز میشد دیگه نمی تونستید با وب سایت کار کنید و تیم برنامه نویسی توسینسو یک ORM نوشت که جایگزین Entity Framework مایکروسافت کرد و الان شما می تونید صدها تب همزمان باز کنید اصلا درگیر کندی وب سایت نشید . اسم این ORM رو STROM گذاشتیم . امیدوارم به خوبی تونسته باشیم مفهوم ORM رو به شما عزیزان منتقل کنیم .

  • او آر ام یا ORM چیست؟

    ابزار ORM مخفف کلمه های Object Relational Mapping و ابزاری است که برای ما کوئری های SQL سرور یا هر بانک اطلاعاتی دیگر را تولید می کند
  • معروف ترین ORM دنیا چیست؟

    پر کاربردترین و معروف ترین ORM در دنیا Entity Framework مایکروسافت است که برای تولید کوئری های SQL در سی شارپ کاربرد دارد

محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات