กระทู้เก่าบอร์ด อ.Yeadram
5,567 22
URL.หัวข้อ /
URL
ช่วยหน่อยครับ เรื่องออกแบบฐานข้อมูล!!
ผมจะทำโปรแกรมเก็บข้อมูลของการทำเกษตรกรรมของเกษตรกร ในจังหวัดครับ
ตอนนี้งงกับการทำตารางแยกประเภทเกษตรกรรมนะคับ ไม่รู้จะแยกยังไงดี
วิธีที่ 1
ทำตาราง 6 ตาราง(แต่ตารางมีฟิลด์ รหัสพืช , ชื่อพืช , รหัสเกษตรกรรม) 1.ปลูกข้าว 2.ปลูกไม้ผล 3.ปลูกไม้เศรษฐกิจ 4.ปลูกสมุนไพร 5.ปลูกผัก 6.เลี้ยงสัตว์
วิธีที่ 2
ทำตาราง 2 ตาราง(แต่ตารางมีฟิลด์ รหัสพืช , ชื่อพืช , รหัสเกษตรกรรม เหมือนข้อ 1) คือ 1.พืช 2สัตว์ แต่ถ้าหากจะเพิ่ม ชื่อพืช/สัตว์ ก็ลำบาก งงกับชีวิตครับ รายละเอียดที่ผมว่าไป หากไม่เพียงพอ ต้องขออภัยด้วยนะครับ
..ที่กำลังทำอยู่ ทำตารางดังนี้ครับ
1.ตารางเกษตรกร(รหัส ชื่อ ที่อยู่ ....)
2.ตารางกาำำรทำเกษตรกรรม(ข้อมูลการปลูก วันที่เก็บเกี่ยว จำนวนผลผลิต ฯลฯ)
3.ตารางประเภทเกษตรกรรม (รหัสเกษตรกรรม ชื่อเกษตรกรรม)
4.ตารางข้อมูลพืช(รหัสพืช ชื่อพืช)
5.ตารางข้อมูลสัตว์(รหัสสัตว์ ชื่อสัตว์)
ตอนนี้งงกับการทำตารางแยกประเภทเกษตรกรรมนะคับ ไม่รู้จะแยกยังไงดี
วิธีที่ 1
ทำตาราง 6 ตาราง(แต่ตารางมีฟิลด์ รหัสพืช , ชื่อพืช , รหัสเกษตรกรรม) 1.ปลูกข้าว 2.ปลูกไม้ผล 3.ปลูกไม้เศรษฐกิจ 4.ปลูกสมุนไพร 5.ปลูกผัก 6.เลี้ยงสัตว์
วิธีที่ 2
ทำตาราง 2 ตาราง(แต่ตารางมีฟิลด์ รหัสพืช , ชื่อพืช , รหัสเกษตรกรรม เหมือนข้อ 1) คือ 1.พืช 2สัตว์ แต่ถ้าหากจะเพิ่ม ชื่อพืช/สัตว์ ก็ลำบาก งงกับชีวิตครับ รายละเอียดที่ผมว่าไป หากไม่เพียงพอ ต้องขออภัยด้วยนะครับ
..ที่กำลังทำอยู่ ทำตารางดังนี้ครับ
1.ตารางเกษตรกร(รหัส ชื่อ ที่อยู่ ....)
2.ตารางกาำำรทำเกษตรกรรม(ข้อมูลการปลูก วันที่เก็บเกี่ยว จำนวนผลผลิต ฯลฯ)
3.ตารางประเภทเกษตรกรรม (รหัสเกษตรกรรม ชื่อเกษตรกรรม)
4.ตารางข้อมูลพืช(รหัสพืช ชื่อพืช)
5.ตารางข้อมูลสัตว์(รหัสสัตว์ ชื่อสัตว์)
22 Reply in this Topic. Dispaly 2 pages and you are on page number 2
22 @R13189
ขอบคุณสำหรับคำแนะนำครับ. ได้ความรู้ใหม่อีกเช่นเคยครับ
การเพิ่ม DeleteFlag เพิ่มในกรณีที่ผมกำหนดลักษณะแบบ ลบระเบียนที่เกี่ยวข้องทั้งหมด หรือป่าวครับ หรือว่าไม่เกี่ยวข้องกัน ผมคงต้องศึกษาเพิ่มเติมเรื่อง DeleteFlag
การเพิ่ม DeleteFlag เพิ่มในกรณีที่ผมกำหนดลักษณะแบบ ลบระเบียนที่เกี่ยวข้องทั้งหมด หรือป่าวครับ หรือว่าไม่เกี่ยวข้องกัน ผมคงต้องศึกษาเพิ่มเติมเรื่อง DeleteFlag
Time: 0.5248s
- ประเด็น ความสัมพันธ์ (Relationship) ที่กำหนดลักษณะแบบ ลบระเบียนที่เกี่ยวข้องทั้งหมด - ผมมีความเห็นเหมือนคุณ yeadram ครับ คือถ้าไม่จำเป็นอย่าใช้ - ส่วนตัวผมใช้บ้าง ในกรณีข้อมูลไม่สำคัญ และเป็นข้อมูลส่วนตัว ใช้งานอยู่คนเดียว ไม่กลัวพลาด
- อีกประเด็นคือความเป็นจริงทางด้านข้อมูล ปกติแล้ว ข้อมูลที่เกิดขึ้นแล้ว(โดยเฉพาะทางธุรกิจ) ไม่ควรมีการลบข้อมูล(ที่ถูกต้อง)
เช่น กรณีบัญชี ออกเอกสารผิด ห้ามยกเลิก ห้ามแก้ไข แต่ให้ออกเอกสารเพื่อแก้ไขข้อมูลแทน
ฉะนั้น ทางการจัดการฐานข้อมูล มักจะมีกรณีที่สร้าง DeleteFlag เป็นการระบุว่าข้อมูลบางตัวที่เก่าแล้ว ไม่ใช้แล้ว (ไม่ใช่ข้อมูลที่ผิด) ห้ามนำมาใช้อีก จะไม่ใช้การลบจริง ลบแบบถาวร เพราะข้อมูลที่เกี่ยวข้องจะพลอยเสียหายไปด้วย
สรุปในกรณีของคุณ ไม่ควรใช้ความสัมพันธ์แบบลบระเบียนที่เกี่ยวข้องทั้งหมด และหากคิดว่าระบบจะใช้ไปอีกนาน จะทำเผื่อยาวๆก็ให้เพิ่ม DeleteFlag เข้าไปใน table TB_Plant, TB_Famers และ TB_AgriculturType ซึ่งเวลา code หรือ query ก็ต้องเพิ่ม Where DeleteFlag = True ด้วยในจุดที่จะเรียกใช้ข้อมูล ซึ่งแน่นอนว่าจะมีความซับซ้อนอะไรตามมาอีก