Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > เราจะควรจะจัดการกับฐานข้อมูลที่ต้องมีการอัพเดทบ่อยๆ ยังไงดีค่ะ



 

เราจะควรจะจัดการกับฐานข้อมูลที่ต้องมีการอัพเดทบ่อยๆ ยังไงดีค่ะ

 



Topic : 073715



โพสกระทู้ ( 367 )
บทความ ( 0 )



สถานะออฟไลน์




สวัสดีค่ะทุกๆ ท่าน

พอดีเรากำลังทำระบบเบิกสินค้าค่ะ

แล้วจะต้องมีฐานข้อมูลสินค้าเพื่อให้เบิกด้วยนะค่ะ
แต่ที่แปลกก็คือ ฐานข้อมูลสินค้านี้จะถูกจัดเป็นชุด ซึ่งแต่ละชุดก็จะมีรายการสินค้าแตกต่างกันไปแล้วแต่เค้าจัดนะค่ะ
และในเดือนนึง ชุดที่ว่านี้อาจจะมีการแก้ไข เช่น

เดือน Jan

สินค้าชุดที่ 1 ประกอบด้วยสินค้า A,B,C,D

พอมาเดือน Feb

สินค้าชุดที่ 1 ก็จะถูกแก้เป็น ประกอบด้วยสินค้า X,Y,Z

ซึ่ง ยังคงใช้ Key Word สินค้าชุดที่ 1 เหมือนเดิมนะค่ะ

แต่จะทำยังไงดีให้เวลา search ออกมาแล้ว สำหรับคนที่เบิก สินค้าชุดที่ 1 ในช่วงเดือน Jan จะต้องหมายถึงสินค้า A,B,C,D
แต่ถ้าคนเบิกสินค้าชุดที่ 1 ในช่วงเดือน Feb สินค้าที่ว่าจะต้องเป็น X,Y,Z

ซึ่งตอนนี้เรามีตาราง 3 ตารางคือ

1.ตารางเบิก
2.ตาราง SET ของสินค้า
3.ตาราง แสดงรายการสินค้าแต่ละ SET

ซึ่งเวลาเรามีการอัพเดท สินค้าชุดที่ 1 ในตารางที่ 3 มันก็จะทำให้ การเบิกเดือนก่อนหน้านี้ถูกเปลี่ยนไปด้วยนะสิค่ะ :'( จัดการยังไงดี

ขอบคุณค่ะ



Tag : PHP, Ms Access







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-02-12 19:27:09 By : unzeen View : 1050 Reply : 4
 

 

No. 1



โพสกระทู้ ( 335 )
บทความ ( 0 )



สถานะออฟไลน์


ตารางที่ 2 กับ ตารางที่ 3 มีความสัมพันธ์ กันแบบ master-detail ใช่รึเปล่าครับ

ถ้างั้นน่าจะตก ตารางที่ 4 ที่ไว้เก็บ ข้อมูลสินค้า รึเปล่า

แล้วตัวอย่างใน เดือน jan กับ feb ชุดสินค้าที่เปลี่ยน ไป จำเป็นหรือเปล่าครับ ที่ต้องใช้ ชื่อ ชุดเดิม แต่เปลี่ยนแค่ detail ข้างใน (ในที่นี้คือสินค้า )มีอะไรอื่นที่สำคัญหรือไม่ ที่ ยังต้องใช้ชื่อชุดสินค้าเดิม

เพราะไม่งั้น ก็ตั้ง ชุดสินค้า ขึ้นมาใหม่ แต่ใช้ คำอธิบายเดิม ดีกว่าไหมครับ น่าจะง่ายกว่า

ถ้าให้เดา อันนี้คงทำ โปรโมชั่น ของสินค้า ในแต่ละเดือนใช่รึเปล่าครับ

เช่น เดือน Jan
โปรโมชั่น ชุดที่ 1 สินค้า A , B , C
โปรโมชั่น ชุดที่ 2 สินค้า A , B , D

แต่ในเดือน Feb
โปรโมชัน ชุดที่ 1 สินค้า X , Y , Z
โปรโมชั่น ชุดที่ 2 สินค้า A , B , Z

ในลักษณะนี้รึเปล่าครับ

เพราะไม่งั้นสู้ Detail ในตารางที่ 2( ตาราง Set ของสินค้า) ก็มี Field คำอธิบาย ไว้ด้วย แบบนี้ดีกว่าไหมครับ
เพิ่ม field month เพื่อไว้เก็บว่าเป็นของเดือนไหน
อาจมี field year เพื่อเก็บ ว่าเป็นของ ปีไหนด้วย

ตาราง Set ของสินค้า
id     title              month
1      โปรโมชั่น ชุดที่ 1      1
2      โปรโมชั่น ชุดที่ 2      1
3      โปรโมชั่น ชุดที่ 1      2
4      โปรโมชั่น ชุดที่ 2      2



ส่วนตารางแสดงรายการ สินค้าแต่ ละ set
id     set     item
1      1       1              //หมายถึง สินค้า A อยู่ใน โปรโมชั่น 1 ของเดือน Jan
2      1       2              //หมายถึง สินค้า B อยู่ใน โปรโมชั่น 1 ของเดือน Jan
3      1       3              //หมายถึง สินค้า C อยู่ใน โปรโมชั่น 1 ของเดือน Jan
4      2       1              //หมายถึง สินค้า A อยู่ใน โปรโมชั่น 2 ของเดือน Jan
5      2       2              //หมายถึง สินค้า B อยู่ใน โปรโมชั่น 2 ของเดือน Jan
6      2       4              //หมายถึง สินค้า D อยู่ใน โปรโมชั่น 2 ของเดือน Jan
7      3       5              //หมายถึง สินค้า X อยู่ใน โปรโมชั่น 1 ของเดือน Feb
8      3       6              //หมายถึง สินค้า Y อยู่ใน โปรโมชั่น 1 ของเดือน Feb
9      3       7              //หมายถึง สินค้า Z อยู่ใน โปรโมชั่น 1 ของเดือน Feb


ตารางที่ 4 ข้อมูลสินค้า (เอาไว้โยงเข้าที่ ตารางแสดงรายการสินค้าแต่ละ set)
id     name
1      A
2      B
3      C
4      D
5      X
6      Y
7      Z


ทำแบบนี้จะได้รึเปล่าครับ ^^








ประวัติการแก้ไข
2012-02-12 19:45:13
2012-02-12 19:45:46
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-12 19:44:31 By : Likito
 


 

No. 2



โพสกระทู้ ( 367 )
บทความ ( 0 )



สถานะออฟไลน์


idea บรรเจิดมากเรยค่ะ คุณพี่ ขอบคุณม๊ากกกกกกกกกมากนะค่ะ จะเอาไปทำนะค่ะพี่

ทำไมคิดไม่ออกเน้อออ 55555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-12 20:13:16 By : unzeen
 

 

No. 3



โพสกระทู้ ( 367 )
บทความ ( 0 )



สถานะออฟไลน์


แล้วถ้า สินค้าสำหรับเดือนที่ Jan พอผ่านเดือน Jan ไปแล้ว เราก็จะไม่ให้เบิกสินค้าส่วนของเดือน Jan แล้วจะเป็นของเดือนใหม่ เรายังจะต้องเก็บสินค้าของเดือน Jan ไว้หรอค่ะ ข้อมูลจะเยอะมากๆ เลยหรือเปล่า เพราะชุดนึงมีเป็น 10 10 รายการอะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-12 20:37:05 By : unzeen
 


 

No. 4



โพสกระทู้ ( 335 )
บทความ ( 0 )



สถานะออฟไลน์


Quote:
แล้วถ้า สินค้าสำหรับเดือนที่ Jan พอผ่านเดือน Jan ไปแล้ว เราก็จะไม่ให้เบิกสินค้าส่วนของเดือน Jan แล้วจะเป็นของเดือนใหม่ เรายังจะต้องเก็บสินค้าของเดือน Jan ไว้หรอค่ะ ข้อมูลจะเยอะมากๆ เลยหรือเปล่า เพราะชุดนึงมีเป็น 10 10 รายการอะ

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

แล้วอีกอย่าง การเก็บข้อมูลแบบนี้ เป็นการทำ ความสัมพันธ์ ของแต่ละตาราง มันจึงไม่ได้เก็บข้อมูลอะไรมากครับ เพราะมีการอ้างอิง แค่ หมายเลข id ของแต่ละตาราง
หมายถึง " ตารางแสดงรายการ สินค้าแต่ ละ set " นะครับ
เพราะ ใช้วิธีการอ้างดึง id โปรโมชั่น จาก ตาราง set ของสินค้า และ id สินค้า จากตารางข้อมูลสินค้า

ถ้ากลัวผ่านการใช้งานไปหลายๆเดือนแล้ว ข้อมูล มันเยอะน่าเกลียด มันก็ขึ้นอยู่กับ การ design ว่าเราจะ SELECT ออกมาโชว์ อย่างไรมากกว่าครับ
เช่น select มาโชว์เฉพาะ โปรโมชั่น เดือนปัจจุบัน และ โปรโมชั่น 2 เดือนที่ผ่านมาล่าสุดเท่านั้น
ส่วนข้อมูลเดือนอื่นๆที่ไม่เอามาโชว์ ก็แค่ มีติดไว้ใน db เฉยๆ

ล้วนอยู่ที่ความต้องการของระบบมากกว่าครับ ว่าเราอยากจะเก็บมันไว้ไหม
แต่สำหรับผม ถ้าทำระบบให้หน่วยงาน ผมคิดว่ามันจำเป็นต้องเก็บไว้นะ ข้อมูลในส่วนนี้ ว่าเดือนที่ผ่านๆมา เราเคยมีสินค้าอะไรบ้าง ให้เค้าเบิกไป แล้ว ที่เบิกไปจำนวนเท่าไร เพราะมันสำคัญมาก เวลา ต้อง ตรวจเช็ค QA


ประวัติการแก้ไข
2012-02-13 08:54:54
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-13 08:54:32 By : Likito
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เราจะควรจะจัดการกับฐานข้อมูลที่ต้องมีการอัพเดทบ่อยๆ ยังไงดีค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่