ORM: Object Relational Mapping (โออาร์เอ็ม: อ็อบเจค รีเรชั่นนอล แม็ปปิ้ง) คืออะไร

ตอบกระทู้


คำถามนี้ เพื่อป้องกันการส่งแบบอัตโนมัติจากสแปมบอท
รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[flash] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: ORM: Object Relational Mapping (โออาร์เอ็ม: อ็อบเจค รีเรชั่นนอล แม็ปปิ้ง) คืออะไร

ORM: Object Relational Mapping (โออาร์เอ็ม: อ็อบเจค รีเรชั่นนอล แม็ปปิ้ง) คืออะไร

โพสต์ โดย md040 » 26/11/2016 10:44 am

800px-Capabilities1-2.png
800px-Capabilities1-2.png (113.21 KiB) เปิดดู 256 ครั้ง

ในอดีตการพัฒนาระบบส่วนใหญ่จะใช้ร่วมกับฐานข้อมูลที่รองรับ SQL (เอสคิวเเอล) เพราะ SQL (เอสคิวเเอล) เป็นภาษาที่ได้รับความนิยมเป็นอย่างมาก ฐานข้อมูลส่วนใหญ่จะรองรับ SQL (เอสคิวเเอล) เพราะง่ายต่อการเข้าถึงข้อมูล และการเรียนรู้ เรียนรู้ภาษา SQL (เอสคิวเเอล) ครั้งเดียวก็สามารถนำไปใช้ได้กับหลายๆ ระบบ แต่ต่อมามีการพัฒนาระบบหรือแอพพลิเคชั่นเป็นแบบ OOP (โอโอพี) ซึ่งเป็นการเขียนโปรแกรมเชิงวัตถุซึ่งลดระยะเวลาในการพัฒนาโปรแกรมลงได้ และสามารถพัฒนาต่อยอดได้ง่าย แต่การเชื่อมต่อกับฐานข้อมูลแบบ SQL (เอสคิวเเอล) นั้นเป็นเรื่องยากเพราะต้องแปลงข้อมูลที่อยู่ในรูปวัตถุ หรือ Object (อ็อบเจค) ให้อยู่ในรูปแบบของ SQL (เอสคิวเเอล) ก่อนแล้วค่อยไปสั่งคำสั่ง SQL (เอสคิวเเอล) อีกรอบ ทำให้เกิดความยุ่งยากขึ้น จึงมีการนำแนวคิดการทำ ORM (โออาร์เอ็ม) มาใช้
ORM: Object Relational Mapping (โออาร์เอ็ม: อ็อบเจค รีเรชั่นนอล แม็ปปิ้ง) คือ การแปลงข้อมูลแบบ OOP (โอโอพี) ให้เป็น SQL (เอสคิวแอล) และแปลงข้อมูลจากรูปแบบ SQL (เอสคิวแอล) ให้กลับไปเป็นแบบ OOP (โอโอพี) เช่น มีตารางข้อมูล “customer” (คัสโทเมอร์) ก็จะถูกแปลงให้เป็น class customer (คลาส คัสโทเมอร์) คุณลักษณะหรือ Attribute (แอททริบิว) ก็จะถูกแปลงเป็น object (อ็อบเจค) ของคลาสด้วย เป็นการแปลงข้อมูลกลับไปกลับมาเพื่อให้ง่ายต่อการเข้าถึงข้อมูล และลดเวลาของการเขียนโปรแกรมลง

ที่มาภาพ: upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Capabilities1-2.png/800px-Capabilities1-2.png

ข้างบน