ข้ามไปเนื้อหา

โอเพนออฟฟิศดอตอ็อก/เข้าใจระบบฐานข้อมูลเชิงสัมพันธ์

จาก วิกิตำรา

ในหัวข้อนี้ เราจะมาทำความเข้าใจในเรื่องต่างๆ ที่จำเป็นต่อการออกแบบระบบฐานข้อมูล เราจะต้องเข้าใจกับศัพท์ต่างๆ เกี่ยวกับระบบฐานข้อมูล ดังต่อไปนี้ เอนทิตี้ (Entity)

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

แอตทริบิวต์ (Attribute)

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

ความสัมพันธ์ (Relationships)

หมายถึง ความสัมพันธ์ระหว่างเอนทิตี้ต่างๆ ในระบบ เช่น ในระบบการสั่งซื้อสินค้า จะประกอบด้วยเอนทิตี้ใบสั่งซื้อสินค้า และเอนทิตี้ลูกค้า ซึ่งมีความสัมพันธ์จากลูกค้าไปยังใบสั่งซื้อสินค้าเป็นแบบหนึ่งต่อกลุ่ม (One-to-Many) หมายความว่า ลูกค้าสามารถสั่งสินค้าได้หลายๆ ครั้ง คือ มีใบสั่งสินค้าหลายใบนั่นเอง แต่ใบสั่งซื้อแต่ละใบจะมาจากลูกค้าเพียงรายเดียวเท่านั้น เป็นต้น ความสัมพันธ์ระหว่างเอนทิตี้ที่กล่าวมาสามารถแสดงได้ ดังรูป


ฝั่งที่มี 1 อยู่จะเป็นฝั่งที่เป็นหนึ่งในความสัมพันธ์ (One) ส่วนฝั่งที่มี N อยู่จะเป็นฝั่งที่เป็นกลุ่มในความสัมพันธ์ (Many) (ส่วนรายละเอียดของความสัมพันธ์แต่ละประเภทจะกล่าวถึงในหัวข้อต่อไป) ฐานข้อมูลเชิงสัมพันธ์ (Relational Database)

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

ต่อไปเราจะกล่าวถึงคำศัพท์ต่างๆ ในระบบฐานข้อมูลในทางคอมพิวเตอร์ เนื่องจากคอมพิวเตอร์จะเก็บข้อมูลในรูปแบบบิต (เลข 0 กับ 1 เท่านั้น) ซึ่ง 1 ไบต์หรือ 1 อักขระจะเท่ากับ 8 บิต ถ้าเราจะให้ความหมายของคำศัพท์ต่างๆ ที่กล่าวมาข้างต้น ในความหมายทางคอมพิวเตอร์จะได้ดังนี้ ฟิลด์ (Field)

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

จะเป็นการนำฟิลด์หลายๆ ฟิลด์มารวมกัน เช่น เรคอร์ดลูกค้า ก็จะเก็บฟิลด์ข้อมูลของลูกค้าทั้งหมดที่ประกอบด้วย ชื่อ ที่อยู่ หมายเลขโทรศัพท์ เป็นต้น จากความหมายนี้ เรคอร์ด คือ เอนทิตี้นั่นเอง เราจะใช้คำนี้ เมื่อเราอ้างอิงถึงเอนทิตี้ในทางคอมพิวเตอร์ ตาราง (Table)

จะเป็นการนำเรคอร์ดหลายๆ เรคอร์ดมารวมกัน เช่น ตารางลูกค้า จะประกอบด้วยเรคอร์ดของลูกค้าที่เป็นลูกค้าแต่ละราย ตัวอย่างตารางลูกค้า เป็นดังรูป


ดังนั้น ถ้าเราจะนิยามระบบฐานข้อมูลในทางคอมพิวเตอร์ ก็คือ การรวบรวมตารางที่มีความสัมพันธ์กันเข้าไว้ด้วยกันนั่นเอง