ใบความรู้ที่ 1การออกแบบฐานข้อมูล
Transcript of ใบความรู้ที่ 1การออกแบบฐานข้อมูล
ใบความรู้ท่ี 1.1 เร่ือง การออกแบบฐานข้อมลู
ฐานข้อมลู (Database) หมายถงึ กลุ่มของขอ้มลูทีม่คีวามสมัพนัธก์นั น ามาเกบ็รวบรวมเขา้ไว้ด้วยกนัอย่างมรีะบบและขอ้มูลที่ประกอบกนัเป็นฐานขอ้มูลนัน้ ต้องตรงตามวตัถุประสงค์การใช้งานขององค์กรด้วยเช่นกนัเช่น ในส านักงานก็รวบรวมข้อมูล ตัง้แต่หมายเลขโทรศพัท์ของผู้ที่มาตดิต่อจนถงึการเก็บเอกสารทุกอย่างของส านักงาน ซึ่งขอ้มูลส่วนนี้จะมสี่วนทีส่มัพนัธ์กนัและเป็นที่ต้องการน าออกมาใช้ประโยชน์ต่อไปภายหลงั ขอ้มูลนัน้อาจจะเกี่ยวกบับุคคล สิง่ของสถานที่ หรอืเหตุการณ์ใดๆ กไ็ดท้ีเ่ราสนใจศกึษาหรอือาจไดม้าจากการสงัเกต การนับหรอืการวดักเ็ป็นได ้รวมทัง้ขอ้มลูทีเ่ป็นตวัเลข ขอ้ความ และรปูภาพต่างๆ กส็ามารถน ามาจดัเกบ็เป็นฐานขอ้มลูได ้ และทีส่ าคญัขอ้มลูทุกอยา่งต้องมคีวามสมัพนัธก์นั เพราะเราตอ้งการน ามาใชป้ระโยชน์ต่อไปในอนาคต ก่อนการออกแบบฐานขอ้มลู ควรจดัแบ่งขอ้มลูเป็นระบบอยา่งเหมาะสม ไมซ่ ้าซอ้น โดยการด าเนินการดงันี้
1. ก าหนดว่าจะตอ้งมขีอ้มลูอะไรบา้งทีเ่กีย่วกบัตาราง (Table) นัน้ เช่น ตาราง (Table) ลกูคา้ (Costumers) จะตอ้งมขีอ้มลูเกีย่วกบั ชื่อ สกุล วนัเดอืนปีเกดิ ทีอ่ยู ่หมายเลขโทรศพัท์ ส่วน ตาราง (Table) ใบสัง่ซือ้ (Orders) จะตอ้งมขีอ้มลูเกีย่วกบัรหสัสนิคา้ จ านวน ส่วนลด เป็นตน้
2. ลดความซ ้าซอ้นของฐานขอ้มลูโดยก าหนด เขตขอ้มลู (Field) ต่างๆ อยา่งถูกตอ้งเหมาะสม 3. ก าหนดความสมัพนัธร์ะหว่าง ตาราง (Table) โดยก าหนด คยีห์ลกั (Primary Key :PK) และ คยีน์อก
(Foreign Key :FK) ขึน้ในตาราง (Table) ทีเ่กีย่วขอ้ง 1) คยีห์ลกั(Primary Key :PK) หมายถงึ Field ทีม่ขีอ้มลูไมซ่ ้ากนั เช่น เขตขอ้มลู (Field) รหสัลกูคา้ ซึง่จะตอ้งไม่มลีกูคา้คนใดใชร้หสัซ ้ากนั โดยในหนึ่ง ตาราง (Table) ควรม ีคยีห์ลกั (Primary Key : PK) เพยีง 1 คยี ์และในคยีห์ลกั (Primary Key : PK) จะตอ้งไมเ่ป็นค่าว่าง Null 2) คยีค์ู่แขง่(Candidate Key) หมายถงึเขตขอ้มลู (Field) หนึ่งหรอืหลายเขตขอ้มลูมีคุณสมบตัเิป็น คยีห์ลกั PK (ไมซ่ ้า) และไมไ่ดใ้ชเ้ป็นคยีห์ลกั เช่น รหสัสนิคา้เป็น คยีห์ลกั ส่วนชื่อสนิคา้ก็ไมซ่ ้าเช่นกนัแต่ไมไ่ดเ้ป็นคยีห์ลกัจงึเป็นคยีค์ู่แขง่ 3) คยีน์อก (Foreign Key : FK) หมายถงึ เขตขอ้มลู (Field) หรอืส่วนประกอบของตาราง (Table) หนึ่ง
เอกสารประกอบการสอน
ตัวอย่างการออกแบบฐานข้อมูลการลงทะเบียนเรยีนของนักเรียน
Course Student
Teacher
เรยีน
สอน
ID Name
Code
Name
Room
Time
Name ID
M
M M
1