หน่วยการเรียนรู้ที่ 3
แบบจำลองฐานข้อมูลเชิงสัมพันธ์
(The Relational Database Model)
3.1
บทนำ(Introduction)
แบบจำลองฐานข้อมูลเชิงสัมพันธ์ถูกนำเสนอโดย
E.F.
Codd ในปี 1970 ซึ่งเป็นแบบจำลองที่มีพื้นฐานจากทฤษฎีทางคณิตศาสตร์ เนื่องจากแบบจำลองฐานข้อมูลแบบลำดับชั้น(Hierarchical
Database Model) และแบบจำลองแบบเครือข่าย(Network Database
Model) มีการแสดงความสัมพันธ์ระหว่างเรคคอร์ดใดๆของแฟ้มข้อมูลสองแฟ้ม
แต่ละเรคคอร์ดจะต้องมีการใช้เขตข้อมูลที่เป็นพอยเตอร์(pointer)ที่บอกตำแหน่งที่อยู่จริงในจานแม่เหล็กของอีกเรคคอร์ดหนึ่งที่มีความสัมพันธ์กัน ซึ่ง E.F. Codd กล่าวว่ารูปแบบของแบบจำลองทั้งสองแบบจะทำให้เกิดข้อจำกัดในการจัดการข้อมูลภายใน
เนื่องจากถ้ามีการเพิ่มฟิลด์ข้อมูลลงไปในเรคคอร์ดใดๆของแฟ้มข้อมูล
จะต้องมีการจัดตำแหน่งที่อยู่ใหม่ของเรคคอร์ดต่างๆ ทั้งหมดในจานแม่เหล็ก
ซึ่งต้องมีการเขียนโปรแกรมจัดการในด้านนี้โดยเฉพาะ แสดงให้เห็นว่าผู้ที่จะจัดการกับฐานข้อมูลทั้งสองแบบนี้ได้นั้นจะต้องเป็นผู้ที่มีความเชี่ยวชาญเกี่ยวกับการเขียนโปรแกรมเป็นอย่างดี ทำให้การจัดการข้อมูลในฐานข้อมูลแบบนี้ยุ่งยาก
จากข้อจำกัดของแบบจำลองฐานข้อมูลแบบลำดับชั้นและแบบเครือข่ายที่กล่าวมาแล้วนั้น จึงนำไปสู่การพัฒนาระบบฐานข้อมูลแบบใหม่ขึ้นมา
ซึ่งก็คือแบบจำลองฐานข้อมูลเชิงสัมพันธ์นั่นเอง ซึ่งเป็นแบบจำลองที่นิยมใช้กันมากในปัจจุบัน
เนื่องจากเป็นแบบจำลองที่ง่ายต่อการใช้งานและผู้ใช้ไม่จำเป็นต้องทราบวิธีการจัดเก็บข้อมูลในระดับกายภาพ เช่น ไม่ต้องทราบว่าข้อมูลเก็บอยู่ ณ
ตำแหน่งใดในสื่อบันทึกข้อมูล
และไม่ต้องทราบว่ามีวิธีการเข้าถึงข้อมูลในสื่อบันทึกอย่างไร
3.2
โครงสร้างข้อมูลเชิงสัมพันธ์(Relational Data
Structure)
3.2.1 องค์ประกอบของรีเลชัน
แบบจำลองฐานข้อมูลเชิงสัมพันธ์มีลักษณะการจัดเก็บข้อมูลในลักษณะของตารางข้อมูล ซึ่งตารางข้อมูลแต่ละตารางในฐานข้อมูลจะมีความสัมพันธ์กัน เรียกตารางข้อมูลดังกล่าวนี้ว่า รีเลชัน(Relation) ดังรูปที่ 3.1 ซึ่งมีองค์ประกอบของรีเลชันดังนี้
· รีเลชัน(Relation) หมายถึง ตารางข้อมูลแบบ 2 มิติ
ซึ่งแต่ละรีเลชันจะมีชื่อรีเลชันเพื่อใช้อ้างอิง
· แอททริบิวต์(Attribute) หมายถึง แต่ละคอลัมน์ที่อยู่ในรีเลชัน
แต่ละแอททริบิวต์จะมีชื่อกำกับแต่ละแอททริบิวต์ในต่ละรีเลชัน
· ทูเพิล(Tuple) หมายถึง แต่ละแถวหรือแต่ละรายการข้อมูลในรีเลชัน
· ดีกรี(Degree) หมายถึง
จำนวนแอททิริบิวท์ของแต่ละรีเลชัน
· คาร์ดินัลลิตี้
(Cardinality)
หมายถึง จำนวนทูเพิลในแต่ละรีเลชัน
· โดเมน(Domain) หมายถึง ขอบเขตค่าของข้อมูลที่เป็นไปได้ที่กำหนดให้แต่ละแอททริบิวท์
เพื่อป้องกันความผิดพลาดในการป้อนข้อมูลในรีเลชัน เช่น เงินเดือน เป็นข้อมูลตัวเลข
มีค่าตั้งแต่ 5000 – 100000 เป็นต้น ดังรูปที่ 3.2
รูปที่ 3.1 รีเลชันสาขาและพนักงาน
จากรูปที่ 3.1 รีเลชัน “สาขา” และ “พนักงาน” มีดีกรี เท่ากับ 4 , 8 และมีคาร์ดินัลลิตี้ เท่ากับ 5
, 6 ตามลำดับ
ตารางที่
3.1 โดเมนของบางแอททรริบิวท์ของรีเลชัน
“สาขา” และ “พนักงาน”
3.2.2
คุณสมบัติของรีเลชัน
รีเลชันมีคุณสมบัติดังนี้
§ มีชื่อรีเลชันไม่ซั้น
§ ในแต่ละเซลล์(cell)ของรีชัน บรรจุข้อมูลได้ 1 ค่าเท่านั้น
§ แต่ละแอททริบิวท์ต้องมีชื่อไม่ซ้ำกันในรีเลชันเดียวกัน
§ ค่าข้อมูลที่อยู่ในแอททริบิวท์เดียวกันต้องอยู่ในขอบเขตโดเมนเดียวกัน
§ ห้ามมีทูเพิลซ้ำกันในรีเลชันเดียวกัน
§ การเรียงลำดับแอททริบิวท์ในรีเลชันไม่ถือเป็นสำคัญ
§ การเรียงลำดับทูเพิลในรีเลชันไม่ถือเป็นสำคัญ
3.2.3
กุญแจของรีเลชัน
จากคุณสมบัติของรีเลชันที่กล่าวว่า
ห้ามมีทูเพิลซ้ำกันในรีเลชันเดียวกัน
ดังนั้นเราจึงสามารถที่จะระบุค่าในแอททริบิวท์ใดแอททริบิวท์หนึ่งซึ่งไม่ซ้ำกันในแต่ละทูเพิลได้
ซึ่งในส่วนนี้จะกล่าวถึงกุญแจต่างๆ ที่เกี่ยวข้องกับรีเลชัน(Relational key)
กุญแจคู่แข่ง(Candidate key)
กุญแจคู่แข่ง
หมายถึง แอททริบิวท์หรือกลุ่มของแอททริบิวท์ ที่ระบุแต่ละทูเพิลได้อย่างไม่ซ้ำกันในแต่ละรีเลชัน กุญแจคู่แข่งบางกุญแจอาจประกอบด้วยแอททริบิวท์เดียวหรือมากกว่าหนึ่งแอททริบิวท์
ถ้าไม่มีแอททริบิว์เดียวที่สามารถระบุค่าทูเพิลไม่ซ้ำกันได้ แต่การกำหนดกุญแจคู่แข่งควรให้มีจำนวนแอททริบิวท์ที่น้อยที่สุดที่ประกอบกันเป็นกุญแจหนึ่งกุญแจ
ในแต่ละรีเลชันสามารถมีกุญแจคู่แข่งได้มากกว่า
1 กุญแจ
กุญแจหลัก(Primary Key)
กุญแจหลัก
หมายถึง กุญแจคู่แข่งที่ถูกเลือกให้ทำหน้าที่ในการระบุค่าในทูเพิลไม่ให้ซ้ำ
กัน ในทุกรีเลชันจะต้องกำหนดแอททริบิวท์ให้เป็นกุญแจหลักของแต่ละรีเลชันเสมอ โดยแต่ละรีเลชันสามารถมีกุญแจหลักได้เพียงกุญแจเดียว
แต่อาจเป็นกุญแจที่ประกอบขึ้นจากหลายแอททริบิวท์รวมกันทำหน้าที่เป็นกุญแจหลักของรีเลชัน
ส่วนใหญ่แล้วเราจะกำหนดกุญแจหลักมาจากกุญแจคู่แข่ง ถ้าในรีเลชันมีกุญแจคู่แข่งมากกว่า 1 กุญแจ
เราจะพิจารณาเลือกกุญแจคู่แข่งที่มีขนาดเล็กที่สุดมาเป็นกุญแจหลักของรีเลชัน
กุญแจรวม(Composite Key)
กุญแจรวม หมายถึง
กุญแจที่ประกอบขึ้นจากแอททริบิวท์มากกว่า 1 แอททริบิวท์
กุญแจสำรอง(Alternate Key)
กุญแจสำรอง
หมายถึง กุญแจคู่แข่งที่เหลือไม่ถูกเลือกให้เป็นกุญแจหลัก ในกรณีที่มีกุญแจคู่แข่งหลายกุญแจ
กุญแจนอก(Foreign Key)
กุญแจนอก หมายถึง
แอททริบิวท์หรือกลุ่มของแอททริบิวท์ที่มีความสัมพันธ์กับกุญแจคู่แข่งหรือกุญแจหลักในอีกรีเลชันหรือในรีเลชันเดียวกัน
ยกตัวอย่าง เช่น ในรูปที่ 3.1 พิจารณาแอททริบิวท์ “รหัสสาขา” ในรีเลชัน “สาขา” และ “พนักงาน” โดย “รหัสสาขา” ในรีเลชัน “สาขา” ทำหน้าที่เป็นกุญแจหลักของรีเลชัน ส่วน “รหัสสาขา” ในรีเลชัน “พนักงาน”
ทำหน้าที่เป็นกุญแจนอก เพื่อเชื่อมโยงความสัมพันธ์ของข้อมูลระหว่าง 2 รีเลชันนี้
3.2.2
การแสดงเค้าร่างของฐานข้อมูลเชิงสัมพันธ์
ฐานข้อมูลเชิงสัมพันธ์ประกอบด้วยรีเลชันที่เป็นบรรทัดฐาน
ดังรูปที่ 3.3 เป็นตัวอย่างของฐานข้อมูลของบริษัทบ้านในฝัน ส่วนเค้าร่างของฐานข้อมูลเชิงสัมพันธ์
จะแสดงโครงร่างของรีเลชัน ซึ่งประกอบด้วยชื่อรีเลชันและแอททริบิวท์ของแต่ละรีเลชัน
จากรูปที่ 3.3 สามารถเขียนเค้าร่างของฐานข้อมูลบริษัทบ้านในฝันได้ดังนี้
สาขา(รหัสสาขา
, ที่อยู่ , จังหวัด , รหัสไปรษณีย์)
พนักงาน(รหัสพนักงาน
, ชื่อ , นามสกุล ,ตำแหน่ง , เพศ , วันเกิด ,เงินเดือน ,รหัสสาขา)
สิ่งปลูกสร้าง(รหัสสิ่งปลูกสร้าง
, ที่อยู่ , จังหวัด,รหัสไปรษณีย์ , ประเภท ,จำนวนห้อง ,
ค่าเช่า, รหัสเจ้าของ
, รหัสพนักงาน , รหัสสาขา)
ลูกค้า(รหัสลูกค้า
, ชื่อ , นามสกุล , ที่อยู่ ,โทรศัพท์ , ประเภทที่ต้องการ , ค่าเช่าสูงสุด/)
เจ้าของ(รหัสเจ้าของ
, ชื่อ , นามสกุล , ที่อยู่ ,โทรศัพท์)
การเข้าชมสิ่งปลูกสร้าง(รหัสลูกค้า
, รหัสสิ่งปลูกสร้าง , วันที่เข้าชม , ความคิดเห็น)
การลงทะเบียน(รหัสลูกค้า
, รหัสสาขา , รหัสพนักงาน , วันที่ลงทะเบียน)
ในการแสดงเค้าร่างของรีเลชัน
จะเขียนชื่อรีเลชันตามด้วยชื่อแอททริบิวท์ภายในวงเล็บ ขีดเส้นใต้ที่กุญแจหลัก
และขีดเส้นประที่กุญแจนอก
แบบจำลองแนวคิดหรือเค้าร่างแนวคิด(Conceptual
schema) คือ เค้าร่างรีเลชันทั้งหมดของฐานข้อมูล รูปที่ 3.3 แสดงตัวอย่างข้อมูลของเค้าร่างฐานข้อมูลเชิงสัมพันธ์
3.1
ความคงสภาพของข้อมูล(Data Integrity)
ความคงสภาพของข้อมูล
หมายถึงข้อบังคับ หรือ ข้อกำหนด ที่บังคับใช้กับข้อมูลในฐานข้อมูล
ในแบบจำลองฐานข้อมูลเชิงสัมพันธ์มีกฏความคงสภาพที่สำคัญ 2
ข้อ ได้แก่ ความคงสภาพของเอนติตี้(Entity integrity) และความคงสภาพของการอ้างอิง(Referential
integrity) แต่ก่อนที่จะอธิบายกฏทั้งสองข้ออย่างละเอียด
เราควรทำความเข้าใจกับ ”ค่าว่าง(Null)”
ของฐานข้อมูลก่อน
3.1.1
ค่าว่าง(Null)
ค่าว่าง หมายถึง
ค่าที่เว้นว่างไว้ในบางแอททริบิวท์ของทูเพิล
เหตุที่เว้นเป็นค่าว่างไว้อาจเกิดจากการที่ยังไม่ทราบค่าดังกล่าว
การกำหนดข้อมูลเป็นเลขศูนย์(0) , เครื่องหมายขีด(-) หรือการกดแป้นเคาะวรรค(Space
bar) ไม่ใช่ค่าว่าง
ค่าว่างคือค่าที่ปล่อยให้ว่างเปล่าไว้ไม่ต้องกำหนดค่าใด ๆ มาแทน
ตัวอย่างของค่าว่าง
เช่น พิจารณารูปที่ 3.3
ที่รีเลชัน “การเข้าชมสิ่งปลูกสร้าง” ในแอท-ทริบิวท์
“ความคิดเห็น” จะถูกเว้นว่างไว้
จนกว่าจะมีลูกค้าเข้าชมสิ่งปลูกสร้างที่สนใจแล้วกลับมาบอกความคิดเห็นแก่ตัวแทนของบริษัท
3.1.2
ความคงสภาพของเอนติตี้(Entity
integrity rule)
กฏความคงสภาพของเอนติตี้เกี่ยวข้องกับกุญแจหลักของรีเลชัน
โดยมีนิยามดังนี้
“ห้ามแอททริบิวท์ที่เป็นกุญแจหลักของรีเลชันบรรจุค่าว่าง”
จากคุณสมบัติของกุญแจหลักที่ต้องเป็นแอททริบิวท์ที่สามารถระบุค่าของทูเพิลที่ไม่ซ้ำกัน
ดังนั้นค่าข้อมูลในแอททริบิวท์ที่เป็นกุญแจหลักจึงไม่สามารถเก็บค่าว่างได้ ตัวอย่างเช่น รีเลชัน “สาขา” มีแอททริบิวท์ “รหัสสาขา” ทำหน้าที่เป็นกุญแจหลัก
ดังนั้นจากกฏความคงสภาพนี้ จึงทำให้แอททริบิวท์ “รหัสสาขา” ไม่สามารถบรรจุค่าว่างได้
อีกตัวอย่าง พิจารณาที่รีเลชัน “การเข้าชมสิ่งปลูกสร้าง” มีกุญแจหลักเป็นแบบกุญแจรวมคือประกอบด้วยแอททริบิวท์ “รหัสลูกค้า” และ “รหัสสิ่งปลูกสร้าง” จากกฏความคงสภาพของเอนติตี้นี้
มีผลทำให้ไม่สามารถบรรจุค่าว่างลงในแอททริบิวท์ “รหัสลูกค้า” หรือ “รหัสสิ่งปลูกสร้าง”
หรือทั้งสองแอททริบิวท์
3.1.3
กฎความคงสภาพของการอ้างอิง(Referential
integrity rule)
กฎความคงสภาพของการอ้างอิงเกี่ยวข้องกับกุญแจนอกของรีเลชัน
โดยมีนิยามดังนี้
“ถ้าในรีเลชันมีกุญแจนอก
ค่าข้อมูลในแอททริบิวท์ที่เป็นกุญแจนอกต้องมีค่าตรงกับค่าของแอททริบิวท์ที่เป็นกุญแจคู่แข่งหรือกุญแจหลักของอีกรีเลชันที่กุญแจนอกนั้นมีความสัมพันธ์เกี่ยวข้องด้วย”
ยกตัวอย่างเช่น
แอททริบิวท์ “รหัสสาขา” ในรีเลชัน “พนักงาน” ทำหน้าที่เป็นกุญแจนอกซึ่งอ้างอิงไปยังแอททริบิวท์ “รหัสสาขา” ในรีเลชัน “สาขา”
จากกฎความคงสภาพของการอ้างอิงนี้กำหนดให้ค่าข้อมูล “รหัสสาขา” ที่พนักงานทำงานอยู่ในรีเลชัน “พนักงาน” ต้องมีค่าตรงกับ “รหัสสาขา”
ที่ปรากฏในรีเลชัน “สาขา” พิจารณารูปที่ 3.3 พนักงานจะสังกัดสาขาที่มีรหัส B025
ไม่ได้ เนื่องจากไม่มีรหัสสาขานี้ปรากฏในรีเลชัน “สาขา”
3.1.4
ข้อกำหนดในการปรับปรุงข้อมูล
ในกรณีที่มีกุญแจนอกจากรีเลชันอื่นอ้างอิงมายังกุญแจหลักของรีเลชัน เช่น แอททริ-บิวท์ “รหัสสาขา” ในรีเลชัน “สาขา” ซึ่งเป็นกุญแจหลัก ถูกอ้างอิงกับ “รหัสสาขา” ในรีเลชัน “พนักงาน” , “สิ่งปลูกสร้าง” และ “การลงทะเบียน”
ดังนั้นหากมีการแก้ไขหรือลบข้อมูลในรีเลชัน “สาขา” ย่อมมีผลต่อรีเลชันดังที่กล่าวมาแล้ว
เพื่อรักษากฏความคงสภาพของการอ้างอิง ดังนั้นในขั้นตอนการสร้างรีเลชันที่มีกุญแจนอก
จะมีวิธีรักษาความถูกต้องของข้อมูลเมื่อมีการอ้างอิงได้ 4 รูปแบบดังนี้
§ แบบมีข้อจำกัด(Restrict) หากมีการปรับปรุง(Update)หรือลบ(Delete) ข้อมูลในกุญแจหลักของรีเลชันหลัก(Parent
relation) ที่มีข้อมูลที่เป็นกุญแจนอกอ้างอิงอยู่ในขณะนั้น จะไม่สามารถปรับปรุงหรือลบข้อมูลดังกล่าวได้
ตัวอย่าง
การแก้ไขหรือลบแบบมีข้อจำกัด
หากต้องการแก้ไข “รหัสสาขา” ในรีเลชัน “สาขา” จาก “B005” เป็น
B050” (หรือต้องการลบ สาขาที่มีรหัส “B005” ออกจากรีเลชัน “สาขา”)
จะไม่สามารถทำได้หากมีการอ้างถึงข้อมูล “B005” ในแอททริบิวท์
“รหัสสาขา” ในรีเลชัน “พนักงาน” (ซึ่งทำหน้าที่เป็นกุญแจนอก) จะแก้ไขได้ก็ต่อเมื่อ
ไม่มีการอ้างถึงข้อมูลดังกล่าวในกุญแจนอกของรีเลชัน “พนักงาน”
แล้ว
§ แบบต่อเนื่อง(Cascade) หากมีการปรับปรุง(Update) ข้อมูลในกุญแจหลักของรีเลชั่นหลัก(Parent relation) ที่มีข้อมูลที่เป็นกุญแจนอกอ้างอิงอยู่ในขณะนั้น ระบบจัดการฐานข้อมูล
จะปรับปรุงข้อมูลทุกรายการในกุญแจนอกที่อ้างอิงอยู่ในขณะนั้นให้เป็นค่าตามกุญแจหลัก หรือหากมีการลบ(Delete)
ข้อมูลในกุญแจหลักของรีเลชั่นหลัก(Parent relation) ที่มีข้อมูลที่เป็นกุญแจนอกอ้างอิงอยู่ในขณะนั้น ระบบจัดการฐานข้อมูลจะลบรายการข้อมูลที่กุญแจนอกนั้นอ้างอิงอยู่
ตัวอย่าง
การแก้ไขหรือลบแบบต่อเนื่อง
หากต้องการแก้ไข “รหัสสาขา” ในรีเลชัน “สาขา” จาก “B005”
เป็น “B050”
ระบบจัดการฐานข้อมูลจะทำการแก้ไขข้อมูลรหัสสาขา ที่เป็นกุญแจนอกในรีเลชัน “พนักงาน” ในรายการที่มีรหัสสาขา “B005” ให้เป็น “B050” อย่างอัตโนมัติ
หากต้องการลบข้อมูลในรีเลชัน
“สาขา” ที่มีรหัสสาขา “B005” ออกจากรีเลชัน
“สาขา” ระบบการจัดการฐานข้อมูลจะลบทูเพิลในรีเลชัน
“พนักงาน” ที่มีรหัสสาขา เป็น “B005”
ออกไปโดยอัตโนมัติ
§ แบบเป็นค่าว่าง(Nullify) หากมีการปรับปรุง(Update)หรือลบ(Delete) ข้อมูลในกุญแจหลักของรีเลชั่นหลัก(Parent
relation) ที่มีข้อมูลที่เป็นกุญแจนอกอ้างอิงอยู่ในขณะนั้น ระบบจัดการฐานข้อมูล
จะปรับค่าข้อมูลทุกรายการในกุญแจนอกที่อ้างอิงอยู่ในขณะนั้นให้เป็นค่าว่าง(Null)
ตัวอย่าง
การแก้ไขหรือลบแบบให้เป็นค่าว่าง
หากต้องการแก้ไขรหัสสาขา
ในรีเลชัน “สาขา” จาก “B005” เป็น “B050” ระบบจัดการฐานข้อมูลจะทำการแก้ไขข้อมูลรหัสสาขา ที่เป็นกุญแจนอกในรีเลชัน
“พนักงาน” ในทูเพิลที่มีรหัสสาขา “B005”
ให้เป็นค่าว่าง(Null value) อย่างอัตโนมัติ
หากต้องการลบข้อมูลในรีเลชัน
“สาขา” ที่มีรหัสสาขา “B005” ออกจากรีเลชัน
ระบบการจัดการฐานข้อมูลจะแก้ไขแอททริบิวท์ รหัสสาขา ของทูเพิลในรีเลชัน “พนักงาน” ที่มีรหัสสาขา “B005”
เป็นค่าว่าง(Null value) โดยอัตโนมัติ
§ แบบกำหนดให้เป็นค่าเริ่มต้น(Default) หากมีการปรับปรุง(Update)หรือลบ(Delete) ข้อมูลในกุญแจหลักของรีเลชั่นหลัก(Parent
relation) ที่มีข้อมูลที่เป็นกุญแจนอกอ้างอิงอยู่ในขณะนั้น ระบบจัดการฐานข้อมูล
จะปรับค่าข้อมูลทุกรายการในกุญแจนอกที่อ้างอิงอยู่ในขณะนั้นให้เป็นค่ากำหนดเริ่มต้นของระบบ(Default)
ตัวอย่าง
การแก้ไขหรือลบแบบให้เป็นค่าเริ่มต้น
หากต้องการแก้ไขรหัสสาขา
ในรีเลชัน “สาขา” จาก “B005” เป็น “B050” ระบบจัดการฐานข้อมูลจะทำการแก้ไขข้อมูลรหัสสาขา ที่เป็นกุญแจนอกในรีเลชัน
“พนักงาน” ในทูเพิลที่มีรหัสสาขา “B005”
ให้เป็นค่าเริ่มต้นค่าหนึ่งที่กำหนดไว้ในระบบอย่างอัตโนมัติ
หากต้องการลบข้อมูลในรีเลชัน
“สาขา” ที่มีรหัสสาขา “B005” ออกจากรีเลชัน
ระบบการจัดการฐานข้อมูลจะแก้ไขค่าในแอททริบิวท์ของทูเพิลในรีเลชัน “พนักงาน” ที่มีรหัสสาขา “B005” ให้เป็นค่าเริ่มต้นค่าหนึ่งที่กำหนดไว้ในระบบโดยอัตโนมัติ
3.2
มุมมองหรือวิว(View)
ในสถาปัตยกรรม 3 ระดับของ
ANSI/SPARC ได้กล่าวถึง
มุมมองภายนอก(External view) ว่าเป็นเหมือนโครงสร้างของฐานข้อมูลที่ปรากฏให้ผู้ใช้มองเห็น
ในฐานข้อมูลเชิงสัมพันธ์ คำว่า “มุมมอง หรือ วิว” หมายถึง รีเลชันเสมือน ที่ไม่มีการการจัดเก็บอยู่จริงในฐานข้อมูลแต่เกิดจากการดึงข้อมูลจากรีเลชันใดรีเลชันหนึ่งหรือหลายรีเลชันที่มีเก็บอยู่จริงในฐานข้อมูล
หรือเกิดจากการคำนวณค่าจากข้อมูลในรีเลชันที่เก็บอยู่ในฐานข้อมูล
3.2.1
คำศัพท์ที่เกี่ยวข้องกับวิว
รีเลชันหลัก(Base
relation) หมายถึง
รีเลชันที่มีชื่อตามเอนติตี้ในเค้าร่างแนวคิด(Conceptual schema) ซึ่งมีการจัดเก็บข้อมูลจริงในฐานข้อมูล
มุมมองหรือวิว(View) หมายถึง ผลจากการดำเนินการกับรีเลชันหลักเพื่อสร้างเป็นอีกรีเลชัน
วิวเป็นรีเลชันเสมือนซึ่งไม่ได้มีการจัดเก็บอยู่จริงในฐานข้อมูลแต่จะถูกสร้างขึ้นเมื่อต้องการโดยผู้ใช้ในช่วงเวลาที่ต้องการ
3.2.2
จุดประสงค์ในการสร้างมุมมองหรือวิว
เหตุผลในการสร้างวิวมีดังนี้
§ เพื่อให้กลไลในการป้องกันข้อมูลมีประสิทธิภาพและยืดหยุ่น
โดยการซ่อนบางส่วนของฐานข้อมูล
ผู้ใช้อาจจะมองไม่เห็นข้อมูลบางแอททริบิวท์หรือบางทูเพิลของรีเลชัน
ซึ่งหายไปจากวิว
§ เพื่อให้ผู้ใช้สามารถเข้าถึงข้อมูลในรูปแบบที่ต้องการได้
ตัวอย่างเช่น ข้อมูลเดียวกันแต่มีรูปแบบในการมองเห็นไม่เหมือนกัน
ไม่มีความคิดเห็น:
แสดงความคิดเห็น