ใบความรู้ที่ 1การออกแบบฐานข้อมูล

2
ใบความรู ้ที 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) หนึ ่ง

Transcript of ใบความรู้ที่ 1การออกแบบฐานข้อมูล

Page 1: ใบความรู้ที่ 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) หนึ่ง

Page 2: ใบความรู้ที่ 1การออกแบบฐานข้อมูล

เอกสารประกอบการสอน

ตัวอย่างการออกแบบฐานข้อมูลการลงทะเบียนเรยีนของนักเรียน

Course Student

Teacher

เรยีน

สอน

ID Name

Code

Name

Room

Time

Name ID

M

M M

1