แสดงความสัมพันธ์ของข้อมูลระหว่างเอ็นติตี้
โครงสร้างของฐานข้อมูลเชิงสัมพันธ์
มีการใช้โครงสร้างข้อมูลเชิงตรรกะเพียงรูปแบบเดียวเท่านั้น
คือ รีเลชั่น โดยรีเลชั่นจะมองในรูปแบบของตารางซึ่งมีคุณสมบัติดังนี้
1.แต่ละแถวใช้แทนทัปเพิล
(Tuple) หรือเรคอร์ด ในรีเลชั่น
2.ลำดับของทัปเพิล
ไม่มีความสำคัญ
3.ลำดับของคอลัมน์ไม่มีความสำคัญ
4.ทุกทัปเพิลต้องมีความแตกต่างกันโดยเนื้อหาหรือข้อเท็จจริง
(ข้อมูลต้องไม่ซ้ำกัน)
รีเลชั่น (Relation) หมายถึง ตารางสองมิติ ประกอบไปด้วยคอลัมน์และแถว
แสดงรีเลชั่น
เอ็นติตี้ (Entities) คือ องค์ประกอบต่างๆที่เกี่ยวข้องกับฐานข้อมูล เช่น บุคคล สถานที่ สิ่งของ หรือเหตุการณ์ต่างๆ โดยจะถูกเก็บรวบรวมไว้เพื่อการจัดเก็บในฐานข้อมูล เอ็นติตี้ ตัวอย่างเช่น เอ็นติตี้ลูกค้า เอ็นติตี้สินค้า เอ็นติตี้เที่ยวบิน เป็นต้น
แสดงเอ็นติตี้
แอตทริบิวต์ (Attributes) แอตทริบิวต์ในฐานข้อมูลเชิงสัมพันธ์จะหมายถึงคอลัมน์ในตารางของ รีเลชั่น
คุณสมบัติของค่าแอตทริบิวต์
1.เป็นค่าที่เป็นอะตอมมิค (atommic) หมายถึงค่าที่ไม่สามารถแบ่งย่อยได้
2.ไม่อนุญาตให้มีแอตทริบิวต์ที่มีหลายค่า
3.แต่ละคอลัมน์ต้องมีการกำหนดชื่อที่แตกต่างกัน
4.การตั้งชื่อโดยทั่วไปจะแสดงความหมายของข้อมูลที่ถูกจัดเก็บในคอลัมน์นั้นๆ
5.การจัดลำดับของคอลัมน์จะไม่มีความสำคัญ
แสดงแอตทริบิวต์
โดเมน (Domain) ก็คือการกำหนดขอบเขตค่าข้อมูลที่เป็นไปได้ และรูปแบบชนิดข้อมูลของแต่ละแอตทริบิวต์
ดีกรี(degree) และคาร์นัลลิตี้ (cardinality)
ดีกรี(degree) คือจำนวนของแอตทริบิวต์ที่มีอยู่ในตาราง ตัวอย่างเช่นในรูป ตารางสาขาก็จะมีดีกรี จำนวน 3 ดีกรี
คาร์นัลลิตี้ (cardinality) คือจำนวนของทัปเพิลของรีเลชั่น จำนวนดังกล่าวสามารถเปลี่ยนแปลงได้ขึ้นอยู่ กับการเพิ่ม-ลดทัปเพิลในรีเลชั่น
แสดงดีกรีและคาร์นัลลิตี้
เงื่อนไข (constraints)
เงื่อนไขในฐานข้อมูล หมายถึง
การกำหนดคุณสมบัติเพื่อจำกัดว่าข้อมูลชนิดใดบ้างที่จะสามารถนำมาจัดเก็บไว้ได้ในแต่ละคอลัมน์ของฐานข้อมูล
แบบจำลองข้อมูลเชิงสัมพันธ์
มีการกำหนดเงื่อนไขไว้โดยธรรมชาติน้อยมาก แต่ผู้ใช้สามารถกำหนดเงื่อนไขต่างๆ
ได้ตามที่ต้องการโดยใช้กลุ่มคำสั่ง DDL
เงืื่อนไขโดยทั่วไปของรีเลชันในระบบฐานข้อมูลเชิงสัมพันธ์
คือ
1.ลำดับของคอลัมน์ไม่มีความสำคัญ
2.ลำดับของแถวหรือทับเพิลไม่มีความสำคัญ
3.รีเลชั่นต้องประกอบด้วยทับเพิลที่ไม่ซ้ำกัน
คีย์ (key)
คีย์ หมายถึง .แอตทริบิวต์ที่สามารถใช้ในการบ่งบอกความแตกต่างของแต่ละทับเพิลในรีเลชันได้
แอตทริบิวส์ที่เป็นส่วนหนึ่งของคีย์เรียกว่า คีย์แอตทริบิวต์
และคีย์แอตทริบิวต์ที่เกิดจากการนำเอาหลายแอตทริบิวต์มารวมกัน เรียกว่า
คอมโพสิตคีย์ (composite key) คีย์ต่างๆที่ใช้ในฐานข้อมูลมีด้วยกันหลายชนิดด้วยกัน
คือ
ซุปเปอร์คีย์ (super key) คือ แอตทริบิวต์หรือกลุ่มของแอทตริบิวต์ที่สามารถบ่งบอกความแตกต่างของแต่ละทับเพิลในรีเลชัน
ดังนั้นในหนึ่งรีเลชันจะมีซุปเปอร์คีย์ได้หลายตัว เช่น รีเลชันนักศึกษา
นักศึกษา(รหัสนักศึกษา,ชื่อ,ที่อยู่,วันเดือนปีเกิด,เลขที่บัตรประชาชน)
ซุปเปอร์คีย์ที่ได้
- รหัสนักศึกษา
- รหัสนักศึกษา,ชื่อ
- รหัสนักศึกษา,ชื่อ,ที่อยู่
- เลขที่บัตรประชาชน
แคนดิเดดคีย์ (candidate key)
คือซุปเปอร์คีย์ที่น้อยที่สุดที่สามารถบ่งบอกความแตกต่างของแต่ละทับเพิลในรีเลชันได้
กล่าวคือซุปเปอร์คีย์ที่ไม่มีสับเซต ซึ่งก็อาจมีได้หลายตัวเช่นกัน
จากตัวอย่างรีเลชันนักศึกษา
นักศึกษา(รหัสนักศึกษา,ชื่อ,ที่อยู่,วันเดือนปีเกิด,เลขที่บัตรประชาชน)
แคนดิเดดคีย์
- รหัสนักศึกษา
- เลขที่บัตรประชาชน
ส่วนกลุ่มของแอตทริบิวต์ (รหัสนักศึกษา,ชื่อ) และ
(รหัสนักศึกษา,ชื่อ,ที่อยู่)
ไม่สามารถนำมาเป็นแคนดิเดดคีย์ได้ เนื่องจากมี รหัสนักศึกษา
เป็นสับเซตของซุปเปอร์คีย์
คีย์หลัก (primary key) คือ แคนดิเดดคีย์ที่ถูกเลือกเพื่อใช้บอกความแตกต่างของแต่ละทับเพิลในรีเลชัน
แต่ต้องไม่เป็นค่าว่าง จากตัวอย่างรีเลชันนักศึกษา มีแอตทริบิวต์ที่เป็นแคนดิเดดคีย์อยู่
2 ตัว คือ รหัสนักศึกษา และ รหัสบัตรประชาชน แต่ใน1รีเลชันจะมีคีย์หลักได้เพียงหนึ่งตัวเท่านั้น
เนื่องจากในรีเลชันจำเป็นต้องมีคีย์หลัก ดังนั้นในการออกแบบ ผู้ออกแบบจะต้องเลือกแคนดิเดดคีย์
1ตัว เพื่อกำหนดให้เป็นคีย์หลัก
คีย์หลักอาจเกิดจากแอตทริบิวต์เดียวหรือหลายแอตทริบิวต์รวมกันได้
ซึ่งถ้าในกรณีที่คีย์หลักเกิด จากหลายแอตทริบิวต์
ถ้ามีการยกเลิกไม่ใช่แอตทริบิวต์หนึ่งไป
จะทำให้คุณสมบัติของการไม่ซ้ำกันของแต่ละทับเพิลเสียไปด้วย
คีย์นอก (secondary key) คือ แอตทริบิวต์หรือกลุ่มของแอตทริบิวต์ ที่ใช้ในการเข้าถึงหรือค้นคืนข้อมูลในฐานข้อมูล ซึ่งไม่จำเป็นต้องเป็นเอกลักษณ์ สามารถมีค่าซ้ำกันได้ เช่น ในการเข้าถึงข้อมูลของพนักงานโดยต้องการเลือกเฉพาะพนักงานที่มีรหัสไปรษณีย์ตามที่กำหนดเท่านั้น ดังนั้นสามารถใช้รหัสไปรษณีย์เป็นคีย์รองในการเข้าถึงข้อมูลได้
อินทิกรีตี้ (Integrity)
อินทิกรีตี้ หมายถึง การควบคุมความถูกต้องต่างๆในระบบฐานข้อมูล ซึ่งในระบบฐานข้อมูลเชิงสัมพันธ์สามารถแบ่งการควบคุมได้ต่างๆ ดังนี้
เอนติตี้อินทกรีตี้ (entity integrity) เป็นการกำหนดว่าแต่ละเอ็นติตี้ในแต่ละรีเลชั่นต้องมีค่าไม่ซ้ำกัน สามารถทำได้โดยการกำหนดให้ทุกรีเลชันต้องมีคีย์หลัก และคีย์หลักต้องไม่เป็นค่าว่าง
เรเฟอเรนเชียลเอ็นติกรีตี้ (referential integrity) เป็นกระบวนการตรวจสอบเพื่อหลีกเลี่ยงการป้อนข้อมูลที่ผิดพลาด หรือป้องกันการลบทัปเพิลใดๆทิ้งไปทั้งที่มีคีย์นอกจากรีเลชันอื่นมาอ้างอิงถึงอยู่สามารถกำหนดคีย์นอกจะต้องมีค่าเป็น NULL หรือไม่ต้องเป็นค่าที่ตรงกับค่าที่มีอยู่ในคีย์หลักของรีเลชันที่อ้างอิงอยู่
ที่มา :
http://203.172.182.81/wbidatabase/unit4/unit4.php
ไม่มีความคิดเห็น:
แสดงความคิดเห็น