ช่วยดูการออกแบบ Database + แนะนำแนวทางทีครับ
กระทู้เก่าบอร์ด อ.Yeadram

 1,401   4
URL.หัวข้อ / URL
ช่วยดูการออกแบบ Database + แนะนำแนวทางทีครับ

สวัสดีทุกท่านที่เข้ามาโพสต์นะครับ

ผมอยากได้คำแนะนำในการออกแบบดาต้าเบสหน่อยครับ

จากตัวอย่าง table และ relations ที่ผมสร้างขึ้นนี้

- ผมอยากทราบว่า มันสร้างแบบนี้ได้มั้ย ต้องแก้ไขตรงไหนบ้าง
- แล้วถ้าผมสร้างแบบนี้ มันจะมีปัญหาอะไร ทีหลังรึป่าว
(อ่อ...เหตุผลที่ผมต้องสร้างความสัมพันธ์และตารางแบบนี้เพราะ ในฟอร์มของผม มันต้องใช้ cus_Name และ cusPartNo จากตารางต่าง ๆ เช่น Tbl_Quotation ใช้ cus_Name และ cusPartNo จาก tbl_CusPartNo แต่ Tbl_PO ใช้ cus_Name และ cusPartNo จาก Tbl_Quotation เป็นต้น )



หรือมีคำแนะนำดี ๆ ช่วยหน่อยนะครับ

แล้วอีกอย่าง ช่วยบอกวิธีอัพไฟล์ตัวอย่างให้ผมด้วยนะครับ

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

1 @R02123
Relationship เป็นการสร้างความสัมพันธ์ของฟิลด์ที่มีความหมายเดียวกันจากเทเบิลหนึ่งไปยังอีกเทเบิลหนึ่ง แล้วทำไมความสัมพันธ์ระหว่างเทเบิล tbl_Quotation และ tbl_CusPartNo จึงเป็นฟิลด์ tbl_Quotation.Cus_Name กับฟิลด์ tbl_CusPartNo.Cus_id หล่ะคับ นอกจากนี้ยังมี Relationship อื่นๆี่ที่มีปัญหาเดียวกันนี้อีกหลายจุดครับ
2 @R02124
ผมอยากทราบว่าถ้าผมทำแบบนี้แล้วมันจะใช้ได้มั้ย คือ

     ผมต้องการสร้างฟอร์ม ที่สามารถระบุหรือเลือกชื่อลูกค้าได้หนะครับ ผมจึงต้องสร้างฟิลด์ Cus_name มาเก็บชื่อลูกค้า แทนการใช้ฟิลด์ Cus_id อ่ะครับ

แต่ตามจริงแล้วใน tbl_Quotation.Cus_Name มันเก็บค่าเป็น Cus_id นะครับ

     ที่ผมทำแบบนี้เพราะ Cus_name กับ CusPartNo ในแต่ละตารางไม่ได้มาจาก tbl_CusPartNo ที่เดียวครับ อย่างที่ผมแจ้งไว้แล้วข้างต้น tbl_Quotation และtbl_Fc จะใช้ Cus_name กับ CusPartNo เฉพาะที่ tbl_CusPartNo เท่านั้น

     ส่วนtbl_PO ก็จะใช้ Cus_name กับ CusPartNo ที่มีเฉพาะใน tbl_CusPartNo เท่านั้น
3 @R02125
"     ผมต้องการสร้างฟอร์ม ที่สามารถระบุหรือเลือกชื่อลูกค้าได้หนะครับ ผมจึงต้องสร้างฟิลด์ Cus_name มาเก็บชื่อลูกค้า แทนการใช้ฟิลด์ Cus_id อ่ะครับ

แต่ตามจริงแล้วใน tbl_Quotation.Cus_Name มันเก็บค่าเป็น Cus_id นะครับ "

1) คุณจะออกแบบยังไงก็แล้วแต่ แต่สิ่งที่ควรจะเป็นคือ คุณจะเก็บ Cus_id เมื่อคุณต้องการอ้างไปยังเทเบิลอื่นที่มี Cus_id และคุณจะเก็บ Cus_name เมื่อคุณอยากจะเก็บชื่อเอาไว้เป็นอีกก๊อปปี้นึงแยกออกมาจากเทเบิล tbl_Customer    

2 ) ในกรณีที่มีความหมายเดียวกัน คุณไม่ควรตั้งชื่อให้แตกต่างกัน เพราะจะทำให้สับสนเอง และไม่มีใครเขาทำเช่นนั้น    

3) การจะให้บนฟอร์มสามารถเลือกชื่อลูกค้าได้ มันไม่เกี่ยวอะไรกับว่าต้องให้เทเบิลมีฟิลด์ที่เก็บชื่อลูกค้าไปด้วย เพราะเราสามารถให้ combo box แสดงรายชื่อลูกค้า ในขณะที่ combo box นั้นจะเก็บค่าของรหัสลูกค้าแทน คุณไปศึกษา combo box ให้ดีๆว่ามันทำอะไรได้บ้างก็จะแก้ปัญหานี้ได้
4 @R02136
ขอบคุณมากครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.4255s