2007/Oct/27

หลังจากหายไปนาน แสนนาน เนื่องจากงานยุ่งมากมายมหาศาล

วันนี้มาเขียนแบบมีสาระ กันสุดๆเลยแล้วกัน

วันนี้ในฐานะโปรแกรมเมอร์ จะมาเล่าถึงอีกโลกหนึ่งของการเขียนโปรแกรม โลกอีกโลกที่ต่างจากโลก ของ การเขียน Query โดยสิ้นเชิง

ถ้าคุณเป็นโปรแกรมเมอร์ สิ่งหนึ่งที่โปรแกรมเมอร์เกิน 95 เปอร์เซ็นต์รู้จัก คือกฎขของการ Normalization ยิ่ง Normalze ได้มากเท่าไร การจัดเก็บข้อมูลก็ยิ่งมีประสิทธิภาพ(ไม่เคย ใช้ 4 NF ใช้อย่างมาก 3NF)

แต่คุณเชื่อใหม ยังมีอีกโลกหนึ่งที่ปราศจากการ Normalization โดยสิ้นเชิง ช่ายครับ ผมพูดถึง Program LotusNote

LotusNote มีการเก็บข้อมูล โดยไม่มี Nolmalization การเก็บ ข้อมูลจะเก็บข้อมูลทุกอย่าง ลงไปตรงๆ

ยกตัวอย่างนะครับ ข้อมูลประวัตินายเอ โดยที่นายเอมีที่อยู่ 2 ที่ ถ้านายเป้น Normalization จะเก็บโดย เก็บที เก็บประวัติส่วนตัว 1 table ที่อยู่อีก 1 table  โดยใช้ Key เป้นตัวช่วย ในการลิงค์ข้อมูล ซึ่งการเก็บแบบนี้ จะทำให้เก็บข้อมูลน้อยลง และสามารถสืบค้นได้ง่าย

แต่ LotusNote เก็บข้อมูลตรงๆไปเลย ถ้าประวัตินายเอ มีรายละเอียดมาก ก็เขียนลงไปใน record เดียวกัน โดยไม่มี Primary key (งงอะดิ ไม่มี Primary key )จะค้นข้อมูลได้ไหม  ความเร็วการค้นข้อมูลจะดีไหม

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

ในตอนนี้ผมคงยังอธิบายความลึกลับซับซ้อนของ Note ไม่ได้(ถ้าผมมีโอกาสได้จับ Note จริงๆจังจะเอามาเล่าให้ฟังใหม่อีกครั้ง)

มาถึงคำถามสำคัญกันนะครับ การเก็บข้อมูลที่ไม่ผ่านการ Normalize เนี่ยจะมีองค์กรไหนนำไปใช้ ผมให้คุณทายนะครับว่าจะมีที่ไหนนำไปใช้บ้างง

----

----

----

----

เฉลยครับ องค์กรที่โด่งดังที่สุดที่มีการนำไปใช้ คือ NAZA อึ้งไปเลยไหมครับ หรือถ้าจะใกล้ๆตัวคนไทยก็อย่าง K-BANK BAY ซึ่งเป็นองค์กรใหญ่ ทั้งนั้น   

LotusNote เป็นอีกโปรแกรม ที่น่าสนใจอย่างมาก ถึงแม้ว่าตอนเริ่มต้นเขียนจะต้องขัดใจกับมันมากขนาดไหนก็ตาม

จะพยายามเพื่ออีก 1ภาษาของผม (ทุกวันนี้ Logicของ ภาษาโปรแกรมกำลังจะยกพวกตีกันในหัวผม)

Comment

Comment:

Tweet


อื่ม ... บางที่ผมก็ไม่ normalize นะ แบบว่างานบางอย่างถ้า ไม่ normalize มันก็เข้าถึงข้อมูลได้ง่ายกว่าน่ะ ... ถึงแม้เราจะใช้ SQL Server อ่ะ ... แต่เป็นความรู้ที่ดีมากๆ เลยนะเนี่ยะ ... ขอบคุณคร๊าบ
#7 by papi-papico At 2007-11-06 18:28,
ดีครับพี่เจ

แวะมาทักทายครับ

คิดถึงมากกกกกกกกกกกกกกกกกกก

ไม่ได้คุยกันเลย

มะคืนก็เจอพี่ตั๊ง เห็ฃนงานยุ่งเหมือนกัน

จุ๊บๆ นะค๊าบ
#6 by มังกรสีน้ำเงิน At 2007-11-01 11:38,
Normalization เป็นคำที่แสลงใจมาก ............
ในห้าง ข้อมูลส่วนใหญ่จะต้องทำถึง 5NF เลยครับ เพื่อการทำ promotion และเอาตัวเลขมาวิเคราห์ โดยส่วนตัวมีหนังสือของคนแต่งเพียงคนเดียวของโลกที่อธิบายถึง กฏ NF ได้ดีมากๆคือ navathe หรือไงเนี่ย เป็นคนอินเดีย เพราะหนังสือเค้าผมถึงทำได้ถึง 5 NF
#4 by มนุษย์กล่อง At 2007-10-27 23:28,
ไม่ค่อยได้ Normalize หรอกครับ เพราะไม่ค่อยได้ส้รางระบบใหม่ และไม่ได้ Create Table ใหม่
ส่วนมากจะเป็นการเขียนโปรแกรมที่ผ่านการ Normalize เรียบร้อยแล้ว
ตอนนี้ผมใช้ SAP ซึ่งมีการ Normalize ได้ดี บางทีอาจะมากเกินไปจนเกินความจะเป็น
จะลำบากมากในการหา Table แล้วลูกชิ้นเขียน Lotus note ทำไมครับ


ปล. กลับมาแล้วสิครับ แสดงว่าเริ่มว่างแล้วใช่มั้ยคุณลูกชิ้น
#3 by แพนด้าญี่ปุ่น At 2007-10-27 10:18,
sad smile
อา
เรื่องราวนอกความรู้
#2 by AkE At 2007-10-27 07:44,
exteen เอง บางส่วนก็ไม่ normalize ครับ เพื่อความเร็วในการดึงข้อมูล
#1 by มาสเตอร์แชมป์ At 2007-10-27 01:16,