บทนำ
ในการจัดการฐานข้อมูล การทำให้มั่นใจว่าข้อมูลถูกทำให้เป็นปกติและมีโครงสร้างที่ถูกต้องเป็นสิ่งสำคัญต่อการรักษาความสมบูรณ์และความมีประโยชน์ของข้อมูล บางครั้งคุณอาจพบตารางที่ขาดความสัมพันธ์ที่จำเป็นระหว่างจุดข้อมูล ทำให้โครงสร้างของฐานข้อมูลไม่เป็นระเบียบ สถานการณ์ที่เกิดขึ้นบ่อยคือการที่มีตารางที่บันทึกที่ตั้งของลูกค้าโดยไม่มีฟิลด์เฉพาะสำหรับชื่อบริษัท
โพสต์นี้มีวัตถุประสงค์เพื่อจัดการกับตัวอย่างเฉพาะที่มีคนส่งตารางที่ประกอบด้วยประมาณ 18,000 แถว โดยมีฟิลด์เดียวสำหรับ “ชื่อสถานที่” และไม่มีฟิลด์สำหรับ “ชื่อบริษัท” สถานการณ์นี้นำมาซึ่งความท้าทายเนื่องจากการไม่มีการกำหนดชื่อบริษัทที่เหมาะสมสำหรับหลาย ๆ สถานที่ที่ดำเนินการโดยบริษัทเดียวกัน ซึ่งอาจทำให้เกิดความยุ่งยากในการดึงข้อมูลและการวิเคราะห์
ในบล็อกนี้เราจะตรวจสอบวิธีการที่เป็นระบบในการทำให้ตารางดังกล่าวเป็นปกติ สร้างรายชื่อบริษัทตามคำอธิบายสถานที่ที่แตกต่างกัน และทำให้ฐานข้อมูลมีประสิทธิภาพอีกครั้ง
การเข้าใจโครงสร้างตารางปัจจุบัน
ตารางสถานที่ที่มีอยู่มีโครงสร้างที่เรียบง่าย:
ID Location_Name
1 TownShop#1
2 Town Shop - Loc 2
3 The Town Shop
4 TTS - Someplace
5 Town Shop,the 3
6 Toen Shop4
สิ่งที่เราต้องการคือผลลัพธ์ที่มีโครงสร้างมากขึ้นซึ่งรวมถึง “Company_ID” สำหรับแต่ละสถานที่:
ID Company_ID Location_Name
1 1 Town Shop#1
2 1 Town Shop - Loc 2
3 1 The Town Shop
4 1 TTS - Someplace
5 1 Town Shop,the 3
6 1 Toen Shop4
คู่กับตารางสถานที่นี้ เราจะสร้างตารางบริษัทแยกต่างหาก:
Company_ID Company_Name
1 The Town Shop
การสร้างชื่อบริษัท
เนื่องจากไม่มีรายชื่อบริษัทที่มีอยู่ เราจำเป็นต้องสร้างมันจากชื่อสถานที่ที่ให้ไว้ นี่คือวิธีการทีละขั้นตอนเพื่อให้บรรลุเป้าหมายนี้:
ขั้นตอนที่ 1: ระบุชื่อบริษัทที่เป็นไปได้
- ดึงชื่อสถานที่: สร้างรายการของ
ชื่อสถานที่
ที่ประกอบด้วยอักขระพยัญชนะเป็นหลัก - ใช้การแสดงออกเชิงปกติ: เพื่อกรองรายการที่ไม่เกี่ยวข้อง (เช่น สถานที่ที่มีตัวเลขหรืออักขระพิเศษ) ใช้การแสดงออกเชิงปกติในการวิเคราะห์ข้อมูล
ขั้นตอนที่ 2: การตรวจสอบด้วยมือ
- จัดเรียงรายการ: จัดเรียงรายการชื่อสถานที่ที่กรองแล้วตามลำดับตัวอักษร
- เลือกชื่อบริษัท: ตรวจสอบรายการที่จัดเรียงแล้วด้วยมือเพื่อตัดสินใจว่าสถานที่ใดเหมาะสมที่สุดในการเป็นชื่อบริษัทแทน
ขั้นตอนที่ 3: คะแนนการจับคู่
- อัลกอริธึมซอฟต์แวร์สำหรับการจับคู่: ใช้ระยะทางเลเวนสตีนหรืออัลกอริธึมเปรียบเทียบสตริงที่คล้ายกันเพื่อตรวจสอบความใกล้เคียงระหว่างแต่ละ
ชื่อบริษัทที่เป็นไปได้
และชื่อสถานที่
ต่าง ๆ - สร้างระบบคะแนน: เก็บผลลัพธ์เหล่านี้ในตารางใหม่ที่สะท้อนถึง
CompanyName
,LocationName
และMatchScore
ที่เกี่ยวข้อง
ขั้นตอนที่ 4: ดำเนินการตั้งค่าช่วงคะแนน
- กรองการจับคู่: กำหนดคะแนนที่เป็นเกณฑ์; การจับคู่ใด ๆ ที่อยู่ต่ำกว่าคะแนนที่กำหนดนี้จะถูกตัดออกจากการพิจารณาต่อไป
ขั้นตอนที่ 5: การตรวจสอบด้วยมือ
- ตรวจสอบข้อมูล: ตรวจสอบแต่ละรายการที่แสดงโดย
CompanyName
,LocationName
และMatchScore
ด้วยมือ และทำการสรุปชื่อที่แท้จริงซึ่งแทนบริษัทแต่ละแห่ง - จัดระเบียบเพื่อประสิทธิภาพ: จัดเรียงผลลัพธ์ตาม
MatchScore
เพื่อลดภาระงานและทำให้กระบวนการตรวจสอบมีประสิทธิภาพ
สรุป
แม้ว่า กระบวนการที่อธิบายอาจดูเหมือนใช้เวลานาน แต่ก็ใช้ประโยชน์จากเทคนิคการทำงานอัตโนมัติและอัลกอริธึมในการจัดการกับความซับซ้อนของการจัดการแถวประมาณ 18,000 แถว วิธีการที่มีโครงสร้างนี้ไม่เพียงแต่ช่วยประหยัดเวลา แต่ยังช่วยในการจัดประเภทข้อมูลอย่างมั่นใจ ซึ่งสุดท้ายจะนำไปสู่ความสมบูรณ์ของฐานข้อมูลที่ดีกว่าและการวิเคราะห์ที่มีความหมายในอนาคต
โดยการใช้วิธีนี้ คุณควรพบว่าการทำให้ตารางที่มีความสมบูรณ์ต่ำเป็นปกติง่ายขึ้นและปรับปรุงการใช้งานของฐานข้อมูลของคุณได้มากขึ้น เสมอจำไว้ว่า: เป้าหมายของการทำให้เป็นปกติไม่เพียงแต่เพื่อจัดโครงสร้างข้อมูลแต่เพื่อเพิ่มการเข้าถึงและความเชื่อถือได้ของข้อมูล