เรื่องการออกแบบ database ค่ะ
กระทู้เก่าบอร์ด อ.Yeadram

 1,730   4
URL.หัวข้อ / URL
เรื่องการออกแบบ database ค่ะ

มีปัญหาเรื่องออกแบบความสัมพันธ์ในส่วนของ สินค้า ที่มีการแยกตามเรท ราคาค่ะ
มี table ที่เกี่ยวข้องดังนี้นะคะ
1.T_product (pro_id) :เก็บรายละเอียดสินค้า เช่น DR302 เป็นต้น

2.T_rateprice (rateID,startdate,enddate) :เก็บรายละเอียดของชื่อเรท และ ระยะเวลาการใช้งานในเรทนั้น เช่น 2014 ราคามีผลตั้งแต่ 01/01/2014-31/12/2014 เป็นต้นค่ะ

3.T_rate (rateID,pro_id,price) :เก็บเรทสินค้า เช่น
rateID      pro_id          price
2014        DR302        29000
2013        DR302        19000


4.T_quotationDetatail (ID,Quotation_No,Rec_id,pro_id) :เก็บรายละเอียดของสินค้าที่ลงในใบเสนอราคา เอาข้อมูลไปใช้ใน sub form

5.T_quotation (Quotation_No,Rec_id) :เก็บรายละเอียดของใบเสนอราคา เช่นชื่อลูกค้า เงิื่อนไขการชำระเงิน ชือพนักงานขาย เป็นต้น

ปัญหาคือ จะเชื่อมความสัมพันธ์ตัว rateID ระหว่าง T_rate กับ กับ T_quotationDetail เพื่อจะดึงราคาในสินค้าที่อยู่ในเรทนั้นมาใช้ค่ะ

แต่พอลองเชื่่อมแล้ว ตัว relationship type เป็น indeterminate ค่ะ
รบกวนแนะนำด้วยค่ะ

ขอบคุณล่วงหน้านะคะ

4 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R19091
ถ้าในตาราง T_rate กำหนดให้ rateID เป็น PrimaryKey และในตาราง T_quotationDetail ก็มี rateID เป็น ForeignKey อยู่ด้วย มันจะสามารถเชื่อมกันได้ และเป็นแบบ One to many ครับ
2 @R19095
ขอบคุณคุณสมชายค่ะ

แต่ลองทำแล้วค่ะ อย่างที่บอกว่ามันขึ้น relationship type เป็น indeterminate ค่ะ

ก่อนหน้านี้คือเก็บ RateID ไว้ใน T_product เลย แต่กลายเป็นว่า สินค้ามีซ้ำกันเยอะมาก เมื่อมีการเปลี่ยนแปลงเรทราคา

แต่พอแยก Table ออกมา มันก็เชื่อมต่อกับตัว T_quotationDetails เพื่อจะใช้ราคาจากเรทนั้นไม่ได้หน่ะค่ะ TT



3 @R19096
ลองทำ Normalization หน่อยดีมั๊ย

ตาราง Product กับตาราง Quotation น่ะ ท่าทางจะก่อให้เกิดปัญหาในอนาคตนะครับ
4 @R19097
มันต้องเชื่อม
T_Rate.RateID + T_Rate.ProID
ไปยัง
T_Quotation_Details.RateID + T_Quotation_Details.ProID
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3825s