← Back to list

İki Veri Tabanı Arasındaki Farkları Karşılaştırma: Tablo, Kolon ve Veri Tipi Seviyesinde İnceleme

Veri tabanı yönetiminde, özellikle geliştirme, test ve üretim ortamları arasında tutarlılık sağlamak önemli bir gerekliliktir. Veri…

Muhammet ORAL · 2024-10-06 22:25 · 0 claps · 2.5 min read
#database-administration #database-management #database-auditing #sql-server #sql-server-audit
Open on Medium ↗
Wiki topics: BIZ · Business Strategy

İki Veri Tabanı Arasındaki Farkları Karşılaştırma: Tablo, Kolon ve Veri Tipi Seviyesinde İnceleme

Veri tabanı yönetiminde, özellikle geliştirme, test ve üretim ortamları arasında tutarlılık sağlamak önemli bir gerekliliktir. Veri tabanları arasındaki farkları belirlemek ve bu farkların olası sorunlara yol açmasını engellemek için çeşitli araçlar ve sorgular kullanabiliriz. Bu makalede, iki veri tabanı arasındaki farkları tablo sayısı, tablo, kolon ve veri tipi seviyesinde nasıl karşılaştırabileceğinizi SQL sorguları ile göstereceğim.

Script 1: İki Veri Tabanındaki Tablo Sayısını Karşılaştırma

Veri tabanlarının genel yapısal farklarını anlamanın ilk adımı, iki veri tabanındaki tablo sayılarını karşılaştırmaktır. Aşağıdaki sorgu, iki veri tabanında bulunan tablo sayısını karşılaştırır:

SELECT
    (SELECT COUNT(*) FROM Audit.sys.objects WHERE type_desc = 'USER_TABLE') AS Database1TableCount,
    (SELECT COUNT(*) FROM Test.sys.objects WHERE type_desc = 'USER_TABLE') AS Database2TableCount;

Bu sorgu, her iki veri tabanında bulunan kullanıcı tanımlı tabloların sayısını verir. İki veri tabanı arasında tablo sayısı farkı olup olmadığını hızlı bir şekilde görmenizi sağlar. Bu tür bir karşılaştırma, veri tabanı yapısında eksik tablolar olup olmadığını tespit etmek için önemlidir.

Script 2: Tablo Farklarını Karşılaştırma

Tablo sayısı belirlendikten sonra, tablolar arasındaki farkları bulmak bir sonraki adımdır. Aşağıdaki sorgu, iki veri tabanı arasındaki tablo farklarını listeleyecektir:

SELECT
    name
FROM
    Audit.sys.objects
WHERE
    type_desc = 'USER_TABLE'
EXCEPT
SELECT
    name
FROM
    Test.sys.objects
WHERE
    type_desc = 'USER_TABLE';

Bu sorgu, Audit veri tabanında olup Test veri tabanında olmayan tabloları listeler. Eğer Test veri tabanında olup Audit’te olmayan tabloları görmek isterseniz, aynı sorguyu ters yönde çalıştırabilirsiniz.

Script 3: Kolon Farklarını Karşılaştırma

Tablolar arasında farkları belirledikten sonra, aynı isimdeki tabloların kolonlarını karşılaştırmak önemlidir. Aşağıdaki sorgu, iki veri tabanındaki tabloların kolonlarını karşılaştırarak kolon seviyesindeki farkları bulur:

SELECT
    c1.TABLE_NAME, c1.COLUMN_NAME
FROM
    Audit.INFORMATION_SCHEMA.COLUMNS c1
    JOIN Audit.INFORMATION_SCHEMA.TABLES t1 ON c1.TABLE_NAME = t1.TABLE_NAME
EXCEPT
SELECT
    c1.TABLE_NAME, c1.COLUMN_NAME
FROM
    Test.INFORMATION_SCHEMA.COLUMNS c1
    JOIN Test.INFORMATION_SCHEMA.TABLES t1 ON c1.TABLE_NAME = t1.TABLE_NAME;

Bu sorgu, Audit veri tabanında olup Test veri tabanında olmayan kolonları listeler. Aynı tablo isimlerine sahip tablolar arasında kolon farklarını bulmak için bu sorguyu kullanabilirsiniz.

Script 4: Veri Tipi Farklarını Karşılaştırma

Kolonlar aynı olsa bile, veri tipleri farklı olabilir. Aşağıdaki sorgu, aynı isimdeki kolonlar arasındaki veri tipi farklarını bulur:

SELECT
    c1.TABLE_NAME, c1.COLUMN_NAME, c1.DATA_TYPE AS Audit_DataType, c2.DATA_TYPE AS Test_DataType
FROM
    Audit.INFORMATION_SCHEMA.COLUMNS c1
JOIN 
    Test.INFORMATION_SCHEMA.COLUMNS c2
    ON c1.TABLE_NAME = c2.TABLE_NAME
    AND c1.COLUMN_NAME = c2.COLUMN_NAME
WHERE
    c1.DATA_TYPE <> c2.DATA_TYPE;

Bu sorgu, Audit ve Test veri tabanlarındaki aynı isimdeki kolonların veri tiplerindeki farkları listeler. Veri tipindeki bu farklılıklar, veri işleme sırasında hatalara yol açabileceğinden, mutlaka dikkat edilmelidir.

Veri tabanlarının tablo sayısı, tabloları, kolonları ve veri tipleri arasındaki farkları anlamak, tutarlılığı sağlamak ve olası hatalardan kaçınmak için kritik öneme sahiptir. Bu makalede sunduğum dört temel sorgu ile, iki veri tabanı arasındaki farkları tespit ederek yönetim süreçlerinizi kolaylaştırabilir ve olası problemleri önceden fark edebilirsiniz.


메타데이터
post_id
d5f7f6f8569a
slug
i̇ki-veri-tabanı-arasındaki-farkları-karşılaştırma-tablo-kolon-ve-veri-tipi-seviyesinde-i̇nceleme-d5f7f6f8569a
url
https://medium.com/@moral37/i%CC%87ki-veri-taban%C4%B1-aras%C4%B1ndaki-farklar%C4%B1-kar%C5%9F%C4%B1la%C5%9Ft%C4%B1rma-tablo-kolon-ve-veri-tipi-seviyesinde-i%CC%87nceleme-d5f7f6f8569a
canonical_url
https://medium.com/@moral37/i%CC%87ki-veri-taban%C4%B1-aras%C4%B1ndaki-farklar%C4%B1-kar%C5%9F%C4%B1la%C5%9Ft%C4%B1rma-tablo-kolon-ve-veri-tipi-seviyesinde-i%CC%87nceleme-d5f7f6f8569a
author_url
https://medium.com/@moral37
status
ok
fetched_at
2026-06-24 04:09:36