כיצד להסיר שורות כפולות מטבלת שרת SQL?



נסה את הכלי שלנו לביטול בעיות

בעת תכנון אובייקטים ב- SQL Server, עלינו לעקוב אחר שיטות עבודה מומלצות מסוימות. לדוגמא, בטבלה צריכים להיות מפתחות ראשיים, עמודות זהות, אינדקסים מקובצים ולא כלולים, שלמות נתונים ואילוצי ביצועים. טבלת שרת SQL לא אמורה להכיל שורות כפולות בהתאם לשיטות העבודה המומלצות בעיצוב מסד נתונים. לעיתים, עם זאת, עלינו להתמודד עם מאגרי מידע שבהם לא מקיימים כללים אלה או היכן שחריגים אפשריים כאשר הכללים הללו עוקפים בכוונה. למרות שאנו פועלים לפי שיטות העבודה המומלצות, אנו עשויים להתמודד עם בעיות כמו שורות כפולות.



לדוגמא, אנו יכולים גם לקבל נתונים מסוג זה בעת ייבוא ​​טבלאות ביניים, ואנו רוצים למחוק שורות מיותרות לפני שנוסיף אותם בפועל לטבלאות הייצור. יתר על כן, אנחנו לא צריכים להשאיר את הסיכוי לשכפול שורות מכיוון שמידע כפול מאפשר טיפול מרובה בבקשות, תוצאות דיווח שגויות ועוד. עם זאת, אם כבר יש לנו שורות כפולות בעמודה, עלינו לבצע שיטות ספציפיות כדי לנקות את הנתונים הכפולים. בואו נסתכל על כמה דרכים במאמר זה להסרת שכפול נתונים.



הטבלה המכילה שורות כפולות



כיצד להסיר שורות כפולות מטבלת שרת SQL?

ישנן מספר דרכים ב- SQL Server לטיפול ברשומות כפולות בטבלה בהתבסס על נסיבות מסוימות כגון:

הסרת שורות כפולות מטבלת שרת SQL ייחודית לאינדקס

אתה יכול להשתמש באינדקס כדי לסווג את הנתונים הכפולים בטבלאות אינדקס ייחודיות ואז למחוק את הרשומות הכפולות. ראשית, אנחנו צריכים ליצור מסד נתונים בשם 'test_database' ואז צור טבלה ' עוֹבֵד 'עם אינדקס ייחודי באמצעות הקוד המופיע להלן.

USE master GO CREATE DATABASE test_database GO USE [test_database] GO CREATE TABLE עובד ([ID] INT לא NULL IDENTITY (1,1), [Dep_ID] INT, [Name] varchar (200), [email] varchar (250) NULL , [city] varchar (250) NULL, [address] varchar (500) NULL CONSTRAINT Primary_Key_ID PRIMARY KEY (ID))

התפוקה תהיה כמו להלן.



יצירת הטבלה 'עובד'

כעת הכנס נתונים לטבלה. נכניס גם שורות כפולות. 'Dep_ID' 003,005 ו- 006 הם שורות כפולות עם נתונים דומים בכל השדות למעט עמודת הזהות עם אינדקס מפתח ייחודי. בצע את הקוד הבא.

השתמש [test_database] הכנס לעובד (Dep_ID, שם, דוא'ל, עיר, כתובת) ערכים (001, 'Aaaronboy Gutierrez