บทนำ

ในการจัดการฐานข้อมูล การทำให้มั่นใจว่าข้อมูลถูกทำให้เป็นปกติและมีโครงสร้างที่ถูกต้องเป็นสิ่งสำคัญต่อการรักษาความสมบูรณ์และความมีประโยชน์ของข้อมูล บางครั้งคุณอาจพบตารางที่ขาดความสัมพันธ์ที่จำเป็นระหว่างจุดข้อมูล ทำให้โครงสร้างของฐานข้อมูลไม่เป็นระเบียบ สถานการณ์ที่เกิดขึ้นบ่อยคือการที่มีตารางที่บันทึกที่ตั้งของลูกค้าโดยไม่มีฟิลด์เฉพาะสำหรับชื่อบริษัท

โพสต์นี้มีวัตถุประสงค์เพื่อจัดการกับตัวอย่างเฉพาะที่มีคนส่งตารางที่ประกอบด้วยประมาณ 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 แถว วิธีการที่มีโครงสร้างนี้ไม่เพียงแต่ช่วยประหยัดเวลา แต่ยังช่วยในการจัดประเภทข้อมูลอย่างมั่นใจ ซึ่งสุดท้ายจะนำไปสู่ความสมบูรณ์ของฐานข้อมูลที่ดีกว่าและการวิเคราะห์ที่มีความหมายในอนาคต

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