كيفية إزالة الصفوف المكررة من جدول خادم SQL؟



جرب أداة القضاء على المشاكل

عند تصميم الكائنات في SQL Server ، يجب أن نتبع أفضل الممارسات. على سبيل المثال ، يجب أن يحتوي الجدول على مفاتيح أساسية وأعمدة هوية وفهارس مجمعة وغير مجمعة وتكامل البيانات وقيود الأداء. يجب ألا يحتوي جدول SQL Server على صفوف مكررة وفقًا لأفضل الممارسات في تصميم قاعدة البيانات. ومع ذلك ، نحتاج في بعض الأحيان إلى التعامل مع قواعد البيانات حيث لا يتم اتباع هذه القواعد أو حيث تكون الاستثناءات ممكنة عندما يتم تجاوز هذه القواعد عن قصد. على الرغم من أننا نتبع أفضل الممارسات ، فقد نواجه مشكلات مثل الصفوف المكررة.



على سبيل المثال ، يمكننا أيضًا الحصول على هذا النوع من البيانات أثناء استيراد الجداول الوسيطة ، ونود حذف الصفوف المكررة قبل إضافتها فعليًا إلى جداول الإنتاج. علاوة على ذلك ، يجب ألا نترك احتمال تكرار الصفوف لأن المعلومات المكررة تسمح بمعالجة متعددة للطلبات ونتائج تقارير غير صحيحة والمزيد. ومع ذلك ، إذا كان لدينا بالفعل صفوف مكررة في العمود ، فسنحتاج إلى اتباع طرق محددة لتنظيف البيانات المكررة. دعونا نلقي نظرة على بعض الطرق في هذه المقالة لإزالة تكرار البيانات.



الجدول الذي يحتوي على صفوف مكررة



كيفية إزالة الصفوف المكررة من جدول خادم SQL؟

هناك عدد من الطرق في SQL Server للتعامل مع السجلات المكررة في جدول بناءً على ظروف معينة مثل:

إزالة الصفوف المكررة من فهرس فريد في جدول SQL Server

يمكنك استخدام الفهرس لتصنيف البيانات المكررة في جداول الفهرس الفريدة ثم حذف السجلات المكررة. أولا ، نحن بحاجة إلى إنشاء قاعدة بيانات باسم 'test_database' ، ثم أنشئ جدولاً ' موظف 'مع فهرس فريد باستخدام الكود الوارد أدناه.

USE master GO CREATE DATABASE test_database GO USE [test_database] GO CREATE TABLE Employee ([ID] INT NOT NULL IDENTITY (1،1)، [Dep_ID] INT، [Name] varchar (200)، [email] varchar (250) NULL ، [city] varchar (250) NULL، [العنوان] varchar (500) NULL CONSTRAINT Primary_Key_ID PRIMARY KEY (ID))

سيكون الإخراج على النحو التالي.



إنشاء جدول 'الموظف'

الآن أدخل البيانات في الجدول. سنقوم بإدراج صفوف مكررة أيضًا. “Dep_ID” 003،005 و 006 عبارة عن صفوف مكررة ببيانات متشابهة في جميع الحقول باستثناء عمود الهوية مع فهرس مفتاح فريد. نفذ الكود الوارد أدناه.

استخدم [test_database] ادخل إلى الموظف (Dep_ID ، الاسم ، البريد الإلكتروني ، المدينة ، العنوان) VALUES (001، 'Aaaronboy Gutierrez