กลับไปหน้าบทความ

อ่าน 2 นาที

ชั้นการเข้าถึงข้อมูล

ชั้น การเข้าถึงข้อมูล (Data Access Layer หรือ DAL ) คือ ชั้น สถาปัตยกรรมซอฟต์แวร์ ที่ให้การเข้าถึงข้อมูลจากแหล่งข้อมูลหนึ่งแหล่งขึ้นไป เช่น ฐานข้อมูลเชิงสัมพันธ์ ฐานข้อมูลNoSQL...

ชั้นการเข้าถึงข้อมูล

ชั้นการเข้าถึงข้อมูล (Data Access Layer หรือDAL ) คือ ชั้น สถาปัตยกรรมซอฟต์แวร์ที่ให้การเข้าถึงข้อมูลจากแหล่งข้อมูลหนึ่งแหล่งขึ้นไป เช่นฐานข้อมูลเชิงสัมพันธ์ฐานข้อมูลNoSQL เอ็นจิ้นการสืบค้นSQL ระบบไฟล์หรือที่เก็บข้อมูลถาวร อื่นๆ โดยจะแยก โค้ด ฝั่งไคลเอ็นต์ ออกจากรายละเอียดของระบบจัดเก็บ ข้อมูลการประมวลผลคำสั่งสืบค้น การจัดการการเชื่อมต่อ และการดึงข้อมูล

เลเยอร์การเข้าถึงข้อมูลมักใช้เพื่อรวมศูนย์ตรรกะการเข้าถึงข้อมูล ลดการเชื่อมโยงระหว่างแอปพลิเคชันและแหล่งข้อมูล และจัดเตรียมอินเทอร์เฟซที่สม่ำเสมอสำหรับการดึงข้อมูล การเขียน หรือการสอบถามข้อมูล ทั้งนี้ ขึ้นอยู่กับระบบ เลเยอร์การเข้าถึงข้อมูลอาจถูกนำไปใช้ในรูปแบบของโค้ดแอปพลิเคชัน ไลบรารีที่ใช้ร่วมกันบริการตัวกลาง หรือเป็นส่วนหนึ่งของเลเยอร์ นามธรรมฐานข้อมูล ที่กว้างขึ้น

ในสถาปัตยกรรมแอปพลิเคชัน

ในซอฟต์แวร์แอปพลิเคชัน เลเยอร์การเข้าถึงข้อมูลทำหน้าที่เป็นขอบเขตระหว่างตรรกะทางธุรกิจหรือโค้ดแอปพลิเคชันกับระบบที่ใช้ในการจัดเก็บหรือเรียกค้นข้อมูล ตัวอย่างเช่น เลเยอร์การเข้าถึงข้อมูลอาจเปิดเผยเมธอดหรืออินเทอร์เฟซสำหรับการเรียกค้น เขียน หรือสอบถามข้อมูล ในขณะที่ซ่อนรายละเอียดต่างๆ เช่น การจัดการการเชื่อมต่อ คำสั่ง SQL API สำหรับจัดเก็บข้อมูล การจัดการข้อผิดพลาด และการแปลงผลลัพธ์ ทั้งนี้ ขึ้นอยู่กับแอปพลิเคชัน เลเยอร์อาจส่งคืนอ็อบเจ็กต์ เรคอร์ด ผลลัพธ์ในรูปแบบตาราง เอกสาร สตรีม หรือการแสดงข้อมูลในรูปแบบอื่นๆ

การใช้งานทั่วไปคือชุดของคลาส ฟังก์ชัน หรือเมธอดที่อ้างอิงโดยตรงไปยังการสืบค้นฐานข้อมูล สตored procedure API การจัดเก็บข้อมูล หรือแหล่งข้อมูลอื่นๆ ตัวอย่างเช่น แทนที่จะใช้คำสั่งต่างๆ เช่นinsert , deleteและupdateตลอดทั้งแอปพลิเคชันเพื่อเข้าถึงตารางเฉพาะ เมธอดต่างๆ เช่นregisterUserหรือloginUserอาจถูกนำไปใช้ภายในเลเยอร์การเข้าถึงข้อมูล นอกจากนี้ เมธอดตรรกะทางธุรกิจจากแอปพลิเคชันยังสามารถแมปไปยังเลเยอร์การเข้าถึงข้อมูลได้ แทนที่จะทำการสืบค้นฐานข้อมูลหลายครั้งโดยตรง แอปพลิเคชันสามารถเรียกใช้เมธอด DAL เดียวที่ทำหน้าที่เป็นตัวกลางในการเรียกใช้ฐานข้อมูลเหล่านั้นได้

แอปพลิเคชันที่ใช้เลเยอร์การเข้าถึงข้อมูลอาจขึ้นอยู่กับหรือไม่ขึ้นอยู่กับเซิร์ฟเวอร์ฐานข้อมูลเฉพาะก็ได้ หากเลเยอร์การเข้าถึงข้อมูลรองรับระบบฐานข้อมูลหลายระบบ แอปพลิเคชันสามารถใช้ระบบฐานข้อมูลใดก็ได้ที่ DAL สามารถเข้าถึงได้ ไม่ว่าในกรณีใด เลเยอร์การเข้าถึงข้อมูลจะให้ตำแหน่งส่วนกลางสำหรับการเรียกใช้ข้อมูลในที่เก็บข้อมูลพื้นฐาน ซึ่งจะช่วยให้การบำรุงรักษา การทดสอบ หรือการย้ายแอปพลิเคชันไปยังระบบจัดเก็บข้อมูลอื่นทำได้ง่ายขึ้น

รูปแบบการนำไปใช้

ชั้นการเข้าถึงข้อมูลสามารถนำไปใช้ได้โดยใช้รูปแบบและเทคโนโลยีหลายอย่าง รวมถึงวัตถุการเข้าถึงข้อมูล ที่เก็บข้อมูลขั้นตอนการจัดเก็บ ตัวสร้างแบบสอบถาม ไดรเวอร์ฐานข้อมูล หรือ เครื่องมือ การแมปออบเจ็กต์-รีเลชันกลไกเหล่านี้อาจนำไปใช้ในส่วนใดส่วนหนึ่งหรือทั้งหมดของชั้นการเข้าถึงข้อมูล แต่ไม่ได้เทียบเท่ากับชั้นนั้นเสมอไป

เครื่องมือ การแมปอ็อบเจ็กต์-รีเลชัน (Object–relational mapping tools) มักใช้ในเลเยอร์การเข้าถึงข้อมูลสำหรับแอปพลิเคชันเชิงวัตถุ (object-oriented applications) ซึ่งแมปเรคอร์ดในฐานข้อมูลเชิงสัมพันธ์ไปยังอ็อบเจ็กต์ในภาษาโปรแกรม เลเยอร์การเข้าถึงข้อมูลอื่นๆ อาจเปิดเผยอินเทอร์เฟซฐานข้อมูลระดับล่าง ผลลัพธ์ในรูปแบบตาราง ข้อมูลเชิงเอกสาร ไฟล์ สตรีม หรืออินเทอร์เฟซระดับโปรโตคอล

ใช้งานร่วมกับระบบข้อมูลพื้นฐานหลายระบบ

เลเยอร์การเข้าถึงข้อมูล (Data Access Layer หรือ DAL) อาจใช้เพื่อลดความแตกต่างระหว่างระบบข้อมูลพื้นฐานหลายระบบ ทำให้แอปพลิเคชันสามารถเข้าถึงระบบเหล่านั้นผ่านอินเทอร์เฟซที่สอดคล้องกันมากขึ้น ในการออกแบบเช่นนี้ แอปพลิเคชันจะเรียกใช้ DAL แทนที่จะโต้ตอบโดยตรงกับฐานข้อมูลหรือระบบจัดเก็บข้อมูลแต่ละระบบ จากนั้นเลเยอร์อาจจัดการการเชื่อมต่อ การสร้างคำสั่งค้นหา การแมปผลลัพธ์ การจัดการข้อผิดพลาด และรายละเอียดการใช้งานอื่นๆ

เลเยอร์การเข้าถึงข้อมูลอาจถูกนำไปใช้ในรูปแบบของไลบรารีที่ใช้ร่วมกัน หรือในรูปแบบของบริการตัวกลาง เช่นพร็อกซีหรือเกตเวย์ในการกำหนดค่านี้ แอปพลิเคชันหรือบริการไคลเอ็นต์จะเชื่อมต่อกับเลเยอร์การเข้าถึงข้อมูล ซึ่งจะสื่อสารกับฐานข้อมูลหรือเอ็นจิ้นการสืบค้นข้อมูลพื้นฐานอย่างน้อยหนึ่งรายการ สิ่งนี้สามารถจัดหาตำแหน่งทั่วไปสำหรับการตรวจสอบสิทธิ์การอนุญาตการบันทึก การกำหนดเส้นทาง และการแปลงระหว่างอินเทอร์เฟซฐานข้อมูลต่างๆ ได้

อินเทอร์เฟซและโปรโตคอล

ชั้นการเข้าถึงข้อมูลอาจเปิดเผยหรือใช้อินเทอร์เฟซและโปรโตคอลมาตรฐานสำหรับการเข้าถึงฐานข้อมูล ตัวอย่างเช่นOpen Database Connectivity (ODBC), Java Database Connectivity (JDBC), โปรโตคอลการสื่อสารแบบเนทีฟของฐานข้อมูล และอินเทอร์เฟซใหม่กว่า เช่น Apache Arrow Database Connectivity (ADBC) และ Arrow Flight SQL [ 1 ] [ 2 ] [ 3 ] [ 4 ]

ในระบบที่รองรับแหล่งเก็บข้อมูลหลายแห่ง เลเยอร์การเข้าถึงข้อมูลอาจจัดเตรียมอินเทอร์เฟซที่สม่ำเสมอในขณะที่ใช้ไดรเวอร์ โปรโตคอล หรือกลไกการสืบค้นที่แตกต่างกันภายใน

เลเยอร์การเข้าถึงข้อมูลมีความเกี่ยวข้อง แต่ครอบคลุมมากกว่าอ็อบเจ็กต์การเข้าถึงข้อมูลซึ่งโดยทั่วไปแล้วเป็นรูปแบบการออกแบบเชิงวัตถุสำหรับการห่อหุ้มการเข้าถึงกลไกการคงอยู่ของข้อมูล นอกจากนี้ยังมีความเกี่ยวข้องกับเลเยอร์นามธรรมของฐานข้อมูลซึ่งมุ่งเน้นไปที่การซ่อนความแตกต่างระหว่างระบบฐานข้อมูล ในทางปฏิบัติ คำศัพท์เหล่านี้อาจทับซ้อนกันได้

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Data_access_layer&oldid=1355930431 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ชั้นการเข้าถึงข้อมูล

ชั้น การเข้าถึงข้อมูล (Data Access Layer หรือ DAL ) คือ ชั้น สถาปัตยกรรมซอฟต์แวร์ ที่ให้การเข้าถึงข้อมูลจากแหล่งข้อมูลหนึ่งแหล่งขึ้นไป เช่น ฐานข้อมูลเชิงสัมพันธ์ ฐานข้อมูลNoSQL...

ในสถาปัตยกรรมแอปพลิเคชัน

ในซอฟต์แวร์แอปพลิเคชัน เลเยอร์การเข้าถึงข้อมูลทำหน้าที่เป็นขอบเขตระหว่าง ตรรกะทางธุรกิจ หรือโค้ดแอปพลิเคชันกับระบบที่ใช้ในการจัดเก็บหรือเรียกค้นข้อมูล ตัวอย่างเช่น เลเยอร์การเข้าถึงข้อมูลอาจเปิดเผยเมธอดหรืออินเทอร์เฟซสำหรับการเรียกค้น เขียน หรือสอบถามข้อมูล...

รูปแบบการนำไปใช้

ชั้นการเข้าถึงข้อมูลสามารถนำไปใช้ได้โดยใช้รูปแบบและเทคโนโลยีหลายอย่าง รวมถึง วัตถุการเข้าถึงข้อมูล ที่เก็บข้อมูล ขั้นตอนการจัดเก็บ ตัวสร้างแบบสอบถาม ไดรเวอร์ฐานข้อมูล หรือ เครื่องมือ การแมปออบเจ็กต์-รีเลชัน...

ใช้งานร่วมกับระบบข้อมูลพื้นฐานหลายระบบ

เลเยอร์การเข้าถึงข้อมูล (Data Access Layer หรือ DAL) อาจใช้เพื่อ ลด ความแตกต่างระหว่างระบบข้อมูลพื้นฐานหลายระบบ ทำให้แอปพลิเคชันสามารถเข้าถึงระบบเหล่านั้นผ่านอินเทอร์เฟซที่สอดคล้องกันมากขึ้น ในการออกแบบเช่นนี้ แอปพลิเคชันจะเรียกใช้ DAL...