ช่วยหน่อยครับ เรื่องออกแบบฐานข้อมูล!!
กระทู้เก่าบอร์ด อ.Yeadram

 5,567   22
URL.หัวข้อ / URL
ช่วยหน่อยครับ เรื่องออกแบบฐานข้อมูล!!

ผมจะทำโปรแกรมเก็บข้อมูลของการทำเกษตรกรรมของเกษตรกร ในจังหวัดครับ
ตอนนี้งงกับการทำตารางแยกประเภทเกษตรกรรมนะคับ ไม่รู้จะแยกยังไงดี

วิธีที่ 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

21 @R13181
เรื่องการลบข้อมูล

- ประเด็น ความสัมพันธ์ (Relationship) ที่กำหนดลักษณะแบบ ลบระเบียนที่เกี่ยวข้องทั้งหมด - ผมมีความเห็นเหมือนคุณ yeadram ครับ คือถ้าไม่จำเป็นอย่าใช้ - ส่วนตัวผมใช้บ้าง ในกรณีข้อมูลไม่สำคัญ และเป็นข้อมูลส่วนตัว ใช้งานอยู่คนเดียว ไม่กลัวพลาด

- อีกประเด็นคือความเป็นจริงทางด้านข้อมูล ปกติแล้ว ข้อมูลที่เกิดขึ้นแล้ว(โดยเฉพาะทางธุรกิจ) ไม่ควรมีการลบข้อมูล(ที่ถูกต้อง)
เช่น กรณีบัญชี ออกเอกสารผิด ห้ามยกเลิก ห้ามแก้ไข แต่ให้ออกเอกสารเพื่อแก้ไขข้อมูลแทน
ฉะนั้น ทางการจัดการฐานข้อมูล มักจะมีกรณีที่สร้าง DeleteFlag เป็นการระบุว่าข้อมูลบางตัวที่เก่าแล้ว ไม่ใช้แล้ว (ไม่ใช่ข้อมูลที่ผิด) ห้ามนำมาใช้อีก จะไม่ใช้การลบจริง ลบแบบถาวร เพราะข้อมูลที่เกี่ยวข้องจะพลอยเสียหายไปด้วย

สรุปในกรณีของคุณ ไม่ควรใช้ความสัมพันธ์แบบลบระเบียนที่เกี่ยวข้องทั้งหมด และหากคิดว่าระบบจะใช้ไปอีกนาน จะทำเผื่อยาวๆก็ให้เพิ่ม DeleteFlag เข้าไปใน table TB_Plant, TB_Famers และ TB_AgriculturType ซึ่งเวลา code หรือ query ก็ต้องเพิ่ม Where DeleteFlag = True ด้วยในจุดที่จะเรียกใช้ข้อมูล ซึ่งแน่นอนว่าจะมีความซับซ้อนอะไรตามมาอีก
22 @R13189
ขอบคุณสำหรับคำแนะนำครับ. ได้ความรู้ใหม่อีกเช่นเคยครับ


การเพิ่ม DeleteFlag เพิ่มในกรณีที่ผมกำหนดลักษณะแบบ ลบระเบียนที่เกี่ยวข้องทั้งหมด หรือป่าวครับ หรือว่าไม่เกี่ยวข้องกัน ผมคงต้องศึกษาเพิ่มเติมเรื่อง DeleteFlag
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.5248s