Yinelenen Kayıtların Silinmesi(Duplicate)

Posted by: copy_zenx_wordpress_master
Category: Level 50, SQL Server

Yinelenen Kayıtları Seçin ve Silin

SQL Server’da “Select” ve “Delete” komutlarını kullanarak, yinelenen (duplicate) kayıtları seçebilir ve silebiliriz. Bu işlem, veritabanında aynı verilerin birden fazla kez bulunduğu durumlarda gereklidir ve aşağıdaki avantajlara sahip olabilir:

  1. Veri bütünlüğünü koruma: Veritabanlarında yinelenen kayıtlar, veri bütünlüğünü bozabilir ve yanlış sonuçlara neden olabilir. Özellikle büyük veritabanlarında, yinelenen kayıtların tespit edilip silinmesi, veri bütünlüğünü sağlamak açısından önemlidir.
  2. Veri depolama alanını tasarruf etme: Yinelenen kayıtlar, gereksiz bir şekilde veri depolama alanını işgal edebilir. Bu durum, gereksiz disk alanı kullanımına ve performans sorunlarına yol açabilir. Yinelenen kayıtların silinmesi, veri depolama alanının tasarruflu kullanılmasına yardımcı olabilir.
  3. Veri doğruluğunu arttırma: Yinelenen kayıtlar, veri doğruluğunu azaltabilir. Örneğin, aynı müşteriye ait birden fazla kayıt olması durumunda, müşteriye ait bilgilerin tutarlılığını sağlamak zorlaşabilir. Yinelenen kayıtların silinmesi, veri doğruluğunu arttırabilir.
  4. Performansı arttırma: Veritabanlarında yinelenen kayıtların sayısı arttıkça, sorgu ve işlemler daha yavaş çalışabilir. Yinelenen kayıtların silinmesi, veritabanının performansını arttırabilir ve sorgu sonuçlarını daha hızlı elde etmenize yardımcı olabilir.
  5. Veri analitiği için doğru sonuçlar elde etme: Yinelenen kayıtlar, veri analitiği ve raporlama süreçlerinde doğru sonuçların elde edilmesini zorlaştırabilir. Yinelenen kayıtların silinmesi, veri analitiği ve raporlama süreçlerinde daha doğru sonuçlara ulaşmanıza yardımcı olabilir.

Özetle, SQL Server’da Select ve Delete komutları ile yinelenen kayıtları seçme ve silme işlemi, veri bütünlüğünü koruma, veri depolama alanını tasarruf etme, veri doğruluğunu arttırma, performansı arttırma ve veri analitiği için doğru sonuçlar elde etme gibi avantajlara sahip olabilir.

Şimdi size bunu örneklendirelim.

İçinde yinelenen veriler bulunan basit bir tablo oluşturalım. Tempdb veri tabanında bu kodları kullanarak örnek tablo oluşturabilirsiniz.

USE tempdb

GO

CREATE TABLE TestTable (ID INT, NameCol VARCHAR (100))

GO

INSERT INTO TestTable (ID, NameCol)

select 1, ‘First’

UNION ALL

select 2, ‘Second’

UNION ALL

select 3, ‘Second’

UNION ALL

select 4, ‘Second’

UNION ALL

select 5, ‘Second’

UNION ALL

select 6, ‘Third’

GO

–Selecting Data

Select *

From TestTable

GO

–Detecting Data

SELECT NameCol, COUNT(*) TotalCount

FROM TestTable

GROUP BY NameCol

HAVING COUNT(*) > 1

ORDER BY COUNT(*) DESC

GO

–Deleting Duplicate

DELETE

FROM TestTable

WHERE ID NOT IN

(

SELECT MAX(ID)

FROM TestTable

GROUP BY NameCol)

GO

–Selecting Data

SELECT*

FROM TestTable

GO

DROP TABLE TestTable

GO

İlk önce aşağıdaki resimde olan kısmı seçip tablomuzu oluşturalım.

Bu durumumuzda aşağıda seçtiğimiz kısmı execute ettikten sonra, bu sütunun kayıtların birçok kez girildiğini görebilirsiniz.

Yinelenen kayıtları ve bunların sayımını test tablosundan algılayacak komut dosyasını çalıştıralım. Ve aşağıdaki sütunda gördüğünüz gibi ‘second’ değeri, 4 defa girilmiştir.

Aşağıdaki bu sorgu en son eklenen kayıt dışındaki tüm yinelenen kayıtları silecektir.

Ve son olarak aşağıdaki sorguyu bir kez daha seçelim. Bu işlemin sonucunda verilerin silindiğini görebilirsiniz.

Son olarak aşağıdaki kodunu kullanarak tablonun içindeki tüm verileri silebilirsiniz.

DROP TABLE TestTable

Size ve Veritabanlarınıza Yardımcı Olmak İçin Bekliyoruz!

Author: copy_zenx_wordpress_master