ความเป็นอิสระของข้อมูลใน DBMS: กายภาพและตรรกะพร้อมตัวอย่าง
ความเป็นอิสระของข้อมูลของ DBMS คืออะไร
ความเป็นอิสระของข้อมูลถูกกำหนดให้เป็นคุณสมบัติของ DBMS ที่ช่วยให้คุณเปลี่ยนสคีมาฐานข้อมูลในระดับหนึ่งของระบบฐานข้อมูลโดยไม่ต้องเปลี่ยนสคีมาในระดับที่สูงกว่าถัดไป ความเป็นอิสระของข้อมูลช่วยให้คุณเก็บข้อมูลแยกออกจากโปรแกรมทั้งหมดที่ใช้งานข้อมูลดังกล่าว
คุณสามารถใช้ข้อมูลที่เก็บไว้นี้สำหรับการคำนวณและการนำเสนอ ในหลายระบบ ความเป็นอิสระของข้อมูลเป็นฟังก์ชันที่สำคัญสำหรับส่วนประกอบต่างๆ ของระบบ
ประเภทของความเป็นอิสระของข้อมูล
In DBMS ความเป็นอิสระของข้อมูลมีสองประเภท
- ความเป็นอิสระของข้อมูลทางกายภาพ
- ความเป็นอิสระของข้อมูลเชิงตรรกะ
ระดับฐานข้อมูล
ก่อนที่เราจะเรียนรู้เกี่ยวกับความเป็นอิสระของข้อมูล การทบทวนระดับฐานข้อมูลเป็นสิ่งสำคัญ ฐานข้อมูลมี 3 ระดับ ดังแผนภาพด้านล่าง
- ทางกายภาพ/ภายใน
- เกี่ยวกับความคิดเห็น
- ภายนอก
พิจารณาตัวอย่างฐานข้อมูลของมหาวิทยาลัย ในระดับต่างๆ การดำเนินการจะมีลักษณะดังนี้:
ประเภทของสคีมา | การดำเนินงาน |
---|---|
สคีมาภายนอก |
ดู 1: ข้อมูลหลักสูตร(cid:int,cname:string) ดู 2: studeninfo(id:int.name:string) |
แนวคิดเชมา |
Students(id: int, name: string, login: string, age: integer) Courses(id: int, cname:string, credits:integer) Enrolled(id: int, grade:string) |
สคีมาทางกายภาพ |
|
ความเป็นอิสระของข้อมูลทางกายภาพ
ความเป็นอิสระของข้อมูลทางกายภาพช่วยให้คุณแยกระดับแนวคิดออกจากระดับภายใน/ทางกายภาพ ช่วยให้คุณสามารถระบุคำอธิบายเชิงตรรกะของฐานข้อมูลโดยไม่จำเป็นต้องระบุโครงสร้างทางกายภาพ เมื่อเปรียบเทียบกับ Logical Independence แล้ว การบรรลุความเป็นอิสระของข้อมูลทางกายภาพนั้นเป็นเรื่องง่าย
ด้วยความเป็นอิสระทางกายภาพ คุณสามารถเปลี่ยนโครงสร้างการจัดเก็บข้อมูลทางกายภาพหรืออุปกรณ์ได้อย่างง่ายดายโดยมีผลกระทบต่อสคีมาแนวคิด การเปลี่ยนแปลงใดๆ ที่ทำเสร็จจะถูกดูดซับโดยแผนผังระหว่างระดับแนวความคิดและระดับภายใน ความเป็นอิสระของข้อมูลทางกายภาพเกิดขึ้นได้จากการมีอยู่ของระดับภายในของฐานข้อมูล จากนั้นจึงเปลี่ยนจากระดับแนวคิดของฐานข้อมูลไปเป็นระดับภายใน
ตัวอย่างการเปลี่ยนแปลงภายใต้ความเป็นอิสระของข้อมูลทางกายภาพ
เนื่องจากความเป็นอิสระทางกายภาพ การเปลี่ยนแปลงใด ๆ ด้านล่างจะไม่ส่งผลกระทบต่อชั้นแนวความคิด
- การใช้อุปกรณ์จัดเก็บข้อมูลใหม่ เช่น ฮาร์ดไดรฟ์หรือเทปแม่เหล็ก
- การปรับเปลี่ยนเทคนิคการจัดไฟล์ในฐานข้อมูล
- การสลับไปใช้โครงสร้างข้อมูลที่แตกต่างกัน
- การเปลี่ยนวิธีการเข้าถึง
- การปรับเปลี่ยนดัชนี
- การเปลี่ยนแปลงเทคนิคการบีบอัดหรืออัลกอริทึมการแฮช
- เปลี่ยนตำแหน่งของฐานข้อมูลจากพูดว่าไดรฟ์ C เป็นไดรฟ์ D
ความเป็นอิสระของข้อมูลเชิงตรรกะ
ความเป็นอิสระของข้อมูลเชิงตรรกะคือความสามารถในการเปลี่ยนแปลงโครงร่างแนวคิดโดยไม่เปลี่ยนแปลง
- มุมมองภายนอก
- API หรือโปรแกรมภายนอก
การเปลี่ยนแปลงใดๆ ที่ทำขึ้นจะถูกดูดซับโดยการทำแผนที่ระหว่างระดับภายนอกและระดับแนวความคิด
เมื่อเปรียบเทียบกับความเป็นอิสระของข้อมูลทางกายภาพ การบรรลุความเป็นอิสระของข้อมูลเชิงลอจิคัลเป็นเรื่องยาก
ตัวอย่างการเปลี่ยนแปลงภายใต้ความเป็นอิสระของข้อมูลเชิงตรรกะ
เนื่องจากความเป็นอิสระทางลอจิคัล การเปลี่ยนแปลงใดๆ ด้านล่างจะไม่ส่งผลกระทบต่อเลเยอร์ภายนอก
- เพิ่ม/แก้ไข/ลบแอตทริบิวต์ เอนทิตี หรือความสัมพันธ์ใหม่ได้โดยไม่ต้องเขียนโปรแกรมแอปพลิเคชันที่มีอยู่ใหม่
- การรวมสองบันทึกเป็นหนึ่งเดียว
- การแบ่งบันทึกที่มีอยู่ออกเป็นสองบันทึกขึ้นไป
ความแตกต่างระหว่างความเป็นอิสระของข้อมูลทางกายภาพและลอจิคัล
ความเป็นอิสระของข้อมูล Logica | ความเป็นอิสระของข้อมูลทางกายภาพ |
---|---|
ความเป็นอิสระของข้อมูลเชิงตรรกะส่วนใหญ่เกี่ยวข้องกับโครงสร้างหรือการเปลี่ยนแปลงคำจำกัดความของข้อมูล | เกี่ยวข้องกับการจัดเก็บข้อมูลเป็นหลัก |
เป็นเรื่องยากเนื่องจากการดึงข้อมูลขึ้นอยู่กับโครงสร้างเชิงตรรกะของข้อมูลเป็นหลัก | มันง่ายที่จะเรียกคืน |
เมื่อเปรียบเทียบกับลอจิก ความเป็นอิสระทางกายภาพ เป็นการยากที่จะบรรลุถึงความเป็นอิสระของข้อมูลเชิงตรรกะ | เมื่อเปรียบเทียบกับ Logical Independence แล้ว การบรรลุความเป็นอิสระของข้อมูลทางกายภาพนั้นเป็นเรื่องง่าย |
คุณต้องทำการเปลี่ยนแปลงในแอปพลิเคชันโปรแกรมหากมีการเพิ่มหรือลบฟิลด์ใหม่ออกจากฐานข้อมูล | การเปลี่ยนแปลงในระดับกายภาพมักไม่จำเป็นต้องเปลี่ยนแปลงในระดับโปรแกรมแอปพลิเคชัน |
การปรับเปลี่ยนในระดับลอจิคัลมีความสำคัญเมื่อใดก็ตามที่โครงสร้างลอจิคัลของฐานข้อมูลมีการเปลี่ยนแปลง | การปรับเปลี่ยนในระดับภายในอาจหรือไม่จำเป็นเพื่อปรับปรุงประสิทธิภาพของโครงสร้าง |
เกี่ยวข้องกับสคีมาแนวคิด | เกี่ยวข้องกับสคีมาภายใน |
ตัวอย่าง: เพิ่ม/แก้ไข/ลบแอตทริบิวต์ใหม่ | ตัวอย่าง: การเปลี่ยนแปลงเทคนิคการบีบอัด อัลกอริทึมการแฮช อุปกรณ์จัดเก็บข้อมูล ฯลฯ |
ความสำคัญของความเป็นอิสระของข้อมูล
- ช่วยให้คุณปรับปรุงคุณภาพของข้อมูล
- การบำรุงรักษาระบบฐานข้อมูลมีราคาไม่แพง
- การบังคับใช้มาตรฐานและการปรับปรุงการรักษาความปลอดภัยของฐานข้อมูล
- คุณไม่จำเป็นต้องเปลี่ยนโครงสร้างข้อมูลในโปรแกรมแอปพลิเคชัน
- อนุญาตให้นักพัฒนามุ่งเน้นไปที่โครงสร้างทั่วไปของฐานข้อมูลแทนที่จะกังวลเกี่ยวกับการใช้งานภายใน
- ช่วยให้คุณสามารถปรับปรุงสภาพที่ไม่เสียหายหรือไม่มีการแบ่งแยกได้
- ความไม่ลงรอยกันของฐานข้อมูลลดลงอย่างมาก
- จำเป็นต้องทำการปรับเปลี่ยนในระดับกายภาพอย่างง่ายดายเพื่อปรับปรุงประสิทธิภาพของระบบ
สรุป
- Data Independence เป็นคุณสมบัติของ DBMS ที่ช่วยให้คุณเปลี่ยนแปลงได้ สคีมาฐานข้อมูล ในระดับหนึ่งของระบบฐานข้อมูลโดยไม่ต้องเปลี่ยนสคีมาในระดับที่สูงกว่าถัดไป
- ความเป็นอิสระของข้อมูลสองระดับคือ 1) ทางกายภาพ และ 2) ตรรกะ
- ความเป็นอิสระของข้อมูลทางกายภาพช่วยให้คุณแยกระดับแนวคิดออกจากระดับภายใน/ทางกายภาพ
- ความเป็นอิสระของข้อมูลเชิงตรรกะคือความสามารถในการเปลี่ยนแปลงโครงร่างแนวคิดโดยไม่เปลี่ยนแปลง
- เมื่อเปรียบเทียบกับความเป็นอิสระของข้อมูลทางกายภาพ การบรรลุความเป็นอิสระของข้อมูลเชิงลอจิคัลเป็นเรื่องยาก
- ความเป็นอิสระของข้อมูลช่วยให้คุณปรับปรุงคุณภาพของข้อมูล