140 likes | 218 Views
Tips : หลักการในการออกแบบฐานข้อมูล. วรวิทย์ พูล สวัสดิ์. หลักปฏิบัติ ในการออกแบบฐานข้อมูล. ควรมีตัวอย่างข้อมูล ต้องพิจารณาว่าต้องเก็บ Attribute ใดบ้าง พิจารณาว่าต้องใช้ข้อมูลนั้นๆเป็น Search Key หรือไม่ Key หมายรวมไปถึง PK , FK หรือ Search Key
E N D
Tips : หลักการในการออกแบบฐานข้อมูล วรวิทย์พูลสวัสดิ์
หลักปฏิบัติในการออกแบบฐานข้อมูลหลักปฏิบัติในการออกแบบฐานข้อมูล • ควรมีตัวอย่างข้อมูล • ต้องพิจารณาว่าต้องเก็บ Attribute ใดบ้าง • พิจารณาว่าต้องใช้ข้อมูลนั้นๆเป็น Search Key หรือไม่ • Key หมายรวมไปถึง PK , FK หรือ Search Key • ควรรู้จักคำศัพท์ภาษาอังกฤษที่เกี่ยวข้อง • ตัวอย่างข้อมูลมักศึกษาได้จาก รายงานต่างๆที่เป็น Output ของระบบ
ตัวอย่าง • ข้อมูลที่อยู่ : 57 หมู่ 1 ตำบลโขมง อ.ท่าใหม่ จ.จันทบุรี 22170 • จะแยกเก็บเป็น เลขที่ / หมู่ / ตำบล / อำเภอ / จังหวัด / รหัสไปรษณีย์ • หรือ Address1 : เลขที่ 57 หมู่ 1 Address2 : ตำบลโขมง อำเภอท่าใหม่ Address3 : จ.จันทบุรี 22170
หลักปฏิบัติในการออกแบบฐานข้อมูล-2 • ข้อมูลไม่มีลำดับ • ต้องวิเคราะห์ว่าสิ่งที่ออกแบบจะต้องเป็น Filed หรือ ค่าใน Filed • ระวังเรื่องค่า 0 / Space / Null • อาจมี error ในการประมวลผล
ตัวอย่างข้อมูล : ข้อมูล การขาย
โครงสร้างข้อมูลที่ไม่เหมาะสม มีผลกับคำสั่ง SQL และการประมวลผล Select sum(bg), sum(md), sum(sm) from sale ; หากมีการคำนวณมูลค่าการขายจะทำได้อย่างไร?
ตัวอย่างโครงสร้าง และ ข้อมูลที่ไม่เหมาะสม • Filed bg , md , sm ควรมีประเภทเป็น ตัวเลขหรือตัวอักษร? • หากเป็นตัวเลขจะคำนวณได้
การเก็บค่าที่เกิดจากการคำนวณการเก็บค่าที่เกิดจากการคำนวณ • ไม่เก็บค่าที่เกิดจากการคำนวณ เช่น อายุ แต่เก็บค่าที่ใช้ในการคำนวณ คือวันเกิดแทน
พิจารณาถึงการที่ข้อมูลมีการเปลี่ยนแปลงตามวันเวลาที่เปลี่ยนไป พิจารณาถึงการที่ข้อมูลมีการเปลี่ยนแปลงตามวันเวลาที่เปลี่ยนไป • เช่น ปีการศึกษา ปีงบประมาณ จะมีช่วงเวลาเริ่มต้น เวลาสิ้นสุด • จะรู้ได้อย่างไรว่าขณะนี้อยู่ช่วงเวลาใด • ต้องตระหนักถึงข้อมูลที่มีการเปลี่ยนแปลงตามเวลา
พิจารณาถึงการที่ข้อมูลมีการเปลี่ยนแปลงตาม สถานะที่เปลี่ยนแปลงไป • ระบบจะมี Action ต่างๆ ต่อสถานะของข้อมูลที่เปลี่ยนไป • การออกแบบต้องพิจารณาจาก Process • ควรมีนิยามที่ชัดเจนสำหรับการเปลี่ยนแปลง ของแต่ละสถานะ • เช่น สั่งซื้อชำระเงินจัดส่งสินค้า หรือ • สั่งซื้อยกเลิกโดยลูกค้า หรือ • สั่งซื้อยกเลิกจากเจ้าของร้าน (ก่อนชำระเงิน)
ประเภทของตารางในการเก็บข้อมูล – ตารางหลัก • ตารางหลัก (Master Table) • เป็นข้อมูลหลักของระบบ หากไม่มีข้อมูลชุดนี้ระบบไม่สามารถทำงานได้ • มักเป็นตารางที่มีข้อมูลจำนวนมาก • มีการเปลี่ยนแปลงได้ เป็นเพียงบาง Field แต่ทุกครั้งที่มีการเปลี่ยนแปลงต้องมีการบันทึกหลักฐาน • เช่น ตารางข้อมูลนิสิต ข้อมูลสินค้า
ประเภทของตารางในการเก็บข้อมูล – ตาราง Transaction • เป็นตารางที่ทำหน้าที่บันทึกการทำงานที่เกิดขึ้น • การทำงานนั้นๆ จะมีผลต่อข้อมูลหลัก • เป็นตารางที่มักต้องมีข้อมูลสถานะมาเสริมการทำงาน (ซึ่งต้องสำรวจจากการทำงาน ไม่ได้ดูจากข้อมูล เพียงอย่างเดียว)
ประเภทของตารางในการเก็บข้อมูล – ตาราง Set Up • เป็นตารางที่คล้ายกับตาราง master • มีจำนวนข้อมูลไม่มาก • มีเพื่อช่วยในการงาน หากไม่มีจะทำให้ทำงานไม่สะดวกเท่า
Homework • ทำการออกแบบฐานข้อมูลตามตัวอย่างข้อมูลในแฟ้ม Clothes.zip