ผมอยากทราบว่า database ของพวก SocialNetwork เค้าเก็บ like,Comment กันยังไงพวกtableอะครับ ใครมี idea ดีๆบ้างแนะที
พวก Comment ลงเก็บไว้ table เดียวกันครับ แต่มี id ระบุว่า comment นี้เป็น sub ของ comment อะไรอีกทีครับ
Date :
2012-04-28 07:23:30
By :
webmaster
แสดงว่า subcomment ไม่ต้องมี relationship กัน comment ใช่มั้ยครับเพราะ id ของ Comment มันต้อง NotNull แล้ว like ก็แยกออกมาอีก table หรอครับ
Date :
2012-04-28 11:29:49
By :
supermang
ถ้าอย่างขอ face น่ะ subcomment ก็คงเก็บ id ของสมาชิกด้วยแหละ เพื่อให้รู้ว่า subcomment นี้สมาชิกคนไหนเป็นคนโพสน่ะ
ก็น่าจะเรียงแบบนี้นะ
1. สมาชิก
2. subcomment
3. Comment จำนวนไลท์ก็คงเก็บไว้ในนี้ด้วยมั้งนะ
ส่วนเรื่องที่ว่าใครกดไลท์บ้างนี่ อันนี้ตามความเข้าใจนะ อาจมีตารางย่อยของ Comment อีกทีป่าวมั้ง
Date :
2012-04-28 14:07:55
By :
บังเอิญผ่านมาเห็น
ตอนนี้ผมก็คิดแบบนั้นแหละครับแต่ผมอยากจะลองลดจำนวนtable เผื่อมีpostหลายๆแบบจะมีtableเพิ่มมาแบบทวีคูณ แบบที่คุนวินบอก น่าจะได้แต่ผมไม่ค่อยเข้าใจ เพราะ memberต้องผุกกับpost และcomment post ก็ต้องผูกกับcomment แบบ id ของ postต้องมาอยู่ในคcommentแล้วมันเป็น notnull ตรงนี้จะจัดการอย่างไร หรือว่าก็ต้องห้าให้ามใช้ออโต้อินครีเม้นแล้วค้าของ id ของpost เริ่มที่1แล้วไปกำหนดในโปรแกรมเอาว่าอันที่เป็น0ใน table comment ก็แสดงว่าไม่ใช่ของ post นั้น อ่านของตัวเองแล้วงง กว่าเดิม 555 ใครมีวิธีดีๆช่วยอธิบายให้ผมเข้าใจหน่อยฮะ
Date :
2012-04-28 18:29:32
By :
supermang
post กับ comment เก็บรวมกันไปเลย
แล้วตรง field ต่างๆก็มี post_id, parent_id, message, member_id
ตรง post_id ก็ auto increment ปกติ แต่ตรง parent_id ถ้าเป็น post ก็ให้เป็น 0 ถ้าเป็น comment ก็กำหนดตาม id ของโพสต์นั้น
แล้วเวลาทำตาราง like ก็ง่าย
like_id, post_id, member_id
ทีนี้ถ้าจะมี postDoor หรือ post ประเภทอื่นอีกก็เพิ่ม field type ลงในตาราง post แล้วตอนกรอก post, comment ก็ระบุ type ลงไปว่าเป็น post/comment ของ type อะไร.
Date :
2012-04-28 18:39:47
By :
mr.v
ขอบคุณครับพึ่งรู้ว่า auto increment มันเริ่มที่ 1 ฮ่าๆๆไม่เคยใช้พอเข้าใจคอมเสปละ
แต่ถ้าการทำงานของ แต่ละ post type ต่างกัน field ใน table ก็จะไม่เหมือนกันใช่มั้ยครับแบบนี้ก็ต้องแยกอยู่ดีใช่ไหม
คือถ้า post type การทำงานต่างกันโดยสิ้นเชิง เช่น postwallเป็นลักษณะ ข้อความเหมือนเว็บบอร์ดมีการ comment
และก็มี postpoll เป็นลักษณะการ check box แล้ว submit แสดงผลให้คนอื่นเห็นแล้วมีการ comment แบบนี้ต้องแยก table แน่ๆ
แล้ว id ของแต่ละตัวก็ต้องมีการซ้ำกัน เพราะเป็นแบบ auto increment แล้ว table comment ที่ทำงานเหมือนกันทุกประการ ควรเป็นอย่างไรครับ ควรมี parent_type แล้วก็ parent_id เป็น PK ถูกหรือป่าวครับ
Date :
2012-04-28 21:12:19
By :
supermang
ก็ใช้ตาราง post ไปเลย แล้วระบุ post_type ว่าเป็น poll แล้วเก็บเฉพาะหัวข้อลงใน message
แล้วสร้างพวกตาราง poll option, ตาราง poll_votes อะไรพวกนี้อีกทีโดยอิง post_id จากตาราง post เหมือนกับที่ทำกับ like
poll_choice
poll_choice_id, post_id, choice_name
poll_votes
poll_vote_id(auto increment), poll_choice_id, member_id
Date :
2012-04-28 23:15:21
By :
mr.v
อ๋อหมายถึง post กับ poll option ความสัมพันเป็นแบบ 1-1 แต่
แค่แยก table เพื่อแยก field ที่เพิ่มเข้ามาเฉยๆใช่ไหมครับ
ประวัติการแก้ไข 2012-04-29 01:57:44
Date :
2012-04-29 01:54:18
By :
supermang
Load balance : Server 02