กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
328 1
URL.หัวข้อ /
URL
Article: Data Normalization Fundamentals
มีคนถามไว้ที่
http://www.utteraccess.com/forums/showflat.php?Cat=&Board=access_any_version&Number=108159&page=0&view=collapsed&sb=5&o=7&fpart=1#Post109419
Performance"Costs" of Normalization?
การทำ Normalization แล้วทำให้การทำงานดีขึ้นจริงหรือ?
Hello
I'm impatiently waiting for my book on Access Development to arrive, so I've
been reading a lot of posts on these forums hoping to learn something in the
interim. I've read quite a few posts dealing with normalization.
I understand the way it works, and the importance of it, but I do have a question
concerning the performance "costs", if any. For example, if one was to strictly
apply all 3 normal forms to every database, will your queries run slower
because of the fact that data is being retrieved from lots of tables?
I downloaded a sample databse last night to look at, and there were a couple
of tables which basically contained one field only. From a technical
normalization point of view, this seemed the correct approach, but I couldn't
help wondering if the databse designers hadn't "lost the plot". Surely it isn't
practical to include tables like these? At the end of the day, a query based on 5
tables will be slower than one based on 3 tables, or not?
So... to cut my ramble short IS there a cost to normalization? If so, what is the
practical approach to take ?
________________________________________
You are guaranteed to fail at 100% of the things you never try.
บางคนก็บอกว่าคุ้มค่า แต่บางคนก็บอกไม่ทำให้ดีขึ้นถ้าข้อมูลเป็นอีกแบบหนึ่ง (แบบไหนหล่ะ) และมีการแนะนำให้ไปอ่านบทความเกี่ยวกับเรื่องการทำ Normalization
ที่ http://www.fmsinc.com/tpapers/datanorm/
ซึ่งเป็นบทความที่ผมเคยเข้าไปอ่านเมื่อปีกว่าๆ มาแล้ว ผมเห็นว่าน่าสนใจดีครับ เลยตัดเอาเฉพาะบทสรุปมาแปลให้อ่านเล่นๆ
"การทำ Normalization ให้ data แล้วแยกเป็น Front End/Back End เป็นการปูพื้นฐานที่สำคัญในการพัฒนาฐานข้อมูลของท่าน เพราะมันไม่เพียงแต่ช่วยทำให้ข้อมูลมีความถูกต้องแม่นยำเท่านั้น ยังทำให้ง่ายในการวิเคราะห์ การดูแลรักษาและการขยายฐานข้อมูลให้ใหญ่ขึ้น การทำ Front End/Back End ยังช่วยให้สามารถใช้งานแบบ multiple users และปรับปรุงการพัฒนาได้ต่อไปเรื่อย โดยไม่ได้ไปรบกวนข้อมูลให้เสียหายได้ หรือถ้าไม่มีการปรับปรุงกันบ่อยขนาดนั้น มันก็ทำให้การสำรองข้อมูลเป็นไปได้โดยง่าย เพราะสามารถสำรองเฉพาะไฟล์ที่เป็น Back End ซึ่งมีการเปลี่ยนแปลงข้อมูลทุกๆ วัน"
ไปอ่านตัวจริงได้ตามลิ้งค์ครับ
ถ้าต้องการดูหลักการหรือความหมายของ Front End Back End ให้ค้นหาในกระดานข่าวนี้ได้ครับ
http://www.utteraccess.com/forums/showflat.php?Cat=&Board=access_any_version&Number=108159&page=0&view=collapsed&sb=5&o=7&fpart=1#Post109419
Performance"Costs" of Normalization?
การทำ Normalization แล้วทำให้การทำงานดีขึ้นจริงหรือ?
Hello
I'm impatiently waiting for my book on Access Development to arrive, so I've
been reading a lot of posts on these forums hoping to learn something in the
interim. I've read quite a few posts dealing with normalization.
I understand the way it works, and the importance of it, but I do have a question
concerning the performance "costs", if any. For example, if one was to strictly
apply all 3 normal forms to every database, will your queries run slower
because of the fact that data is being retrieved from lots of tables?
I downloaded a sample databse last night to look at, and there were a couple
of tables which basically contained one field only. From a technical
normalization point of view, this seemed the correct approach, but I couldn't
help wondering if the databse designers hadn't "lost the plot". Surely it isn't
practical to include tables like these? At the end of the day, a query based on 5
tables will be slower than one based on 3 tables, or not?
So... to cut my ramble short IS there a cost to normalization? If so, what is the
practical approach to take ?
________________________________________
You are guaranteed to fail at 100% of the things you never try.
บางคนก็บอกว่าคุ้มค่า แต่บางคนก็บอกไม่ทำให้ดีขึ้นถ้าข้อมูลเป็นอีกแบบหนึ่ง (แบบไหนหล่ะ) และมีการแนะนำให้ไปอ่านบทความเกี่ยวกับเรื่องการทำ Normalization
ที่ http://www.fmsinc.com/tpapers/datanorm/
ซึ่งเป็นบทความที่ผมเคยเข้าไปอ่านเมื่อปีกว่าๆ มาแล้ว ผมเห็นว่าน่าสนใจดีครับ เลยตัดเอาเฉพาะบทสรุปมาแปลให้อ่านเล่นๆ
"การทำ Normalization ให้ data แล้วแยกเป็น Front End/Back End เป็นการปูพื้นฐานที่สำคัญในการพัฒนาฐานข้อมูลของท่าน เพราะมันไม่เพียงแต่ช่วยทำให้ข้อมูลมีความถูกต้องแม่นยำเท่านั้น ยังทำให้ง่ายในการวิเคราะห์ การดูแลรักษาและการขยายฐานข้อมูลให้ใหญ่ขึ้น การทำ Front End/Back End ยังช่วยให้สามารถใช้งานแบบ multiple users และปรับปรุงการพัฒนาได้ต่อไปเรื่อย โดยไม่ได้ไปรบกวนข้อมูลให้เสียหายได้ หรือถ้าไม่มีการปรับปรุงกันบ่อยขนาดนั้น มันก็ทำให้การสำรองข้อมูลเป็นไปได้โดยง่าย เพราะสามารถสำรองเฉพาะไฟล์ที่เป็น Back End ซึ่งมีการเปลี่ยนแปลงข้อมูลทุกๆ วัน"
ไปอ่านตัวจริงได้ตามลิ้งค์ครับ
ถ้าต้องการดูหลักการหรือความหมายของ Front End Back End ให้ค้นหาในกระดานข่าวนี้ได้ครับ
1 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R00590
สำหรับคนที่ เคยเรียนฐานข้อมูลมาก่อน ผมเห็นว่า การทำ Noemalization เป็นวิธีที่ถูกต้องครับ การที่เราเอาความรู้ของฝรั่งมาใช้ ในบางด้านที่วิทยาการความก้าวหน้าเขามีดีกว่าเรา และเขาทำการวิจัยมามากมายกว่าเรา ก็่น่าเชื่อถือครับ ส่วนบางเรื่องที่สืบทอดเป็นประเพณี ที่ไม่เข้าท่า ก็อย่าไปเอามาครับ..
..ผมสนับสนุนครับ..
Time: 0.1130s