Data Access Layer คืออะไร

data access layer (DAL) เป็นส่วนที่เฉพาะเจาะจงของโปรแกรมคอมพิวเตอร์ทุกโปรแกรมที่อำนวยความสะดวกในการเข้าถึงระหว่างโปรแกรมและที่เก็บข้อมูลถาวรทุกประเภท โปรแกรมคือแอปพลิเคชันใด ๆ ที่ทำงานบนคอมพิวเตอร์ ที่เก็บข้อมูลถาวรหมายถึงที่เก็บข้อมูลถาวรใด ๆ บนคอมพิวเตอร์เช่นฮาร์ดไดรฟ์ ในขณะที่ใช้งานโปรแกรมต่างๆจะเขียนและอ่านข้อมูลไปยังและจากฮาร์ดไดรฟ์อย่างต่อเนื่อง ฟังก์ชั่นของ data access layer คือเพื่อให้แน่ใจว่าโปรแกรมใด ๆ ที่ทำงานบนระบบสามารถรับข้อมูลที่ต้องการได้ทันทีที่ต้องการ

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

ตัวอย่างทั่วไปของชั้นการทำงานของการเข้าถึงข้อมูลเกี่ยวข้องกับโปรแกรมที่ต้องใช้ข้อมูลภายนอกในการทำงาน ในคำอื่น ๆ ข้อมูลที่โปรแกรมไม่ได้มีอย่างสังหรณ์ใจ ตัวอย่างเช่นหากโปรแกรมพยายามคำนวณการเปลี่ยนแปลงในอัตรากำไรของ บริษัท ในช่วง 10 ปีที่ผ่านมาข้อมูลนั้นไม่น่าจะมีอยู่ในโปรแกรมจริง อย่างไรก็ตามจะมีอยู่ในฐานข้อมูลบันทึกการเงินของ บริษัท เนื่องจากโปรแกรมตระหนักดีว่าต้องใช้ "งบการเงิน X" หรือ "Earnings Report Y" จึงแจ้งให้เลเยอร์การเข้าถึงข้อมูลเพื่อค้นหาข้อมูลนั้น data access layer จากนั้นดูดข้อมูลที่จำเป็นจากฐานข้อมูลหรือตารางที่เหมาะสมส่งคืนไปยังโปรแกรมเพื่อให้สามารถทำงานต่อไปได้

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