หัวข้อ: ช่วยออกแบบ database ให้ผมหน่อยครับ คิดไม่ออก เริ่มหัวข้อโดย: tae861 ที่ 18 กุมภาพันธ์ 2019, 06:22:23 คือผมจะทำระบบ สมาชิก มีหลายระดับแยกตามไปครับ
รูปแบบจะประมาณนี้ครับ ก็ admin >> สร้าง Master A >> Master A สร้าง Agent B >> Agent B สร้าง User C , User D ก็คือว่าง่ายๆ ผมจะทำเช็คยังไงให้ว่า Agent B อยู่สายเดียวกับ Master A แล้วเช็คยังไงถ้า Agent B ทำการ สร้าง User A B C D ลงไปอีก User A B C D ของ Agent B จะยังอยู่ในสายของ Agent B แะล Master A ตามลำดับครับ ปล.admin สร้าง master ได้ไม่จำกัด master สร้าง agent ได้ไม่จำกัด และ สร้าง User ได้ไม่จำกัด agent ไม่สามารถสร้าง master ได้ และ สร้าง user ได้ไม่จำกัด มันเหมือนกับต้นไม้อะครับ หรือมองพวก ธุระกิจขายตรงก็ได้ครับ ผมจะทำให้มันเชื่อมกันได้ยังไง :wanwan012: เหมือนจะคิดออกแต่ก็คิดไม่ออก หัวข้อ: Re: ช่วยออกแบบ database ให้ผมหน่อยครับ คิดไม่ออก เริ่มหัวข้อโดย: devnow ที่ 18 กุมภาพันธ์ 2019, 09:02:00 น่าจะออกมาประมาณนี้นะครับ หาคนที่สร้าง โดยการ where createdby (เก็บ userid) หา root ว่าสายเดียวกันไหมจาก rootUser (เก็บ userid) (https://www.roop.xyz/images/2019/02/17/table.png) หัวข้อ: Re: ช่วยออกแบบ database ให้ผมหน่อยครับ คิดไม่ออก เริ่มหัวข้อโดย: goodwide ที่ 18 กุมภาพันธ์ 2019, 10:18:50 table -- customer
cmid = PK cmcode name groupid typeid directorid parentid **** เอาไป วน หาสมาชิกเอา...ไม่ยากครับ ------------------- select cm.*,cm1.* from customer cm left join customer cm1 on cm1.cmid = cm.parentid ลองดูนะครับ หัวข้อ: Re: ช่วยออกแบบ database ให้ผมหน่อยครับ คิดไม่ออก เริ่มหัวข้อโดย: dekdoo ที่ 18 กุมภาพันธ์ 2019, 12:52:46 ผมแนะให้ลองคิดเองดูก่อนนะ
ต่อให้ออกแบบ database ให้ท่านก็คงยังไม่เข้าใจ database ตัวนั้น ยกตัวอย่างแบบนี้ Table A มีฟิวส์ - aid - name Table B (aid อ้างอิงกับ aid ของ Table A) - bid - aid - name Table C (bid อ้างอิงกับ bid ของ Table B) - cid - bid - name ก็อารมณ์เหมือนเราสร้างหมวดสินค้าไงครับ หมวดหลัก -> หมวดย่อย -> ย่อยอีกที โดยจะมีฟิวส์อันหนึงเชื่อมโยงกัน เพื่อบ่งบอกถึงกันและกัน ส่วนใครจะสร้างอะไร ภายใต้ใคร อันนั้นก็อยู่ที่เงื่อนไขโปรแกรม หัวข้อ: Re: ช่วยออกแบบ database ให้ผมหน่อยครับ คิดไม่ออก เริ่มหัวข้อโดย: gilbert ที่ 21 กุมภาพันธ์ 2019, 22:41:13 table -- customer cmid = PK cmcode name groupid typeid directorid parentid **** เอาไป วน หาสมาชิกเอา...ไม่ยากครับ ------------------- select cm.*,cm1.* from customer cm left join customer cm1 on cm1.cmid = cm.parentid ลองดูนะครับ ถ้าเป็นลักษณะ N โหนด แบบนี้จะยืดหยุ่นสุดครับ แค่บอกว่าพ่อแม่ (parent) คือใคร หัวข้อ: Re: ช่วยออกแบบ database ให้ผมหน่อยครับ คิดไม่ออก เริ่มหัวข้อโดย: patom ที่ 21 กุมภาพันธ์ 2019, 22:54:36 อ่านแล้วมีประโยชน์ขอบคุณมากครับ
|