Teknoloji Yazılım Araçları

İki veri tabanı arasındaki tablo farkları

Bugün ki yazımda iki farklı veri tabanındaki farklı tabloları nasıl tespit edebiliriz bunu yazacağım.

Öncelikle böyle birşeye neden ihtiyaç duyulur ondan bahsetmek istiyorum. Bir veri tabanınız var ve farklı bir veri tabanı açıp tablolarınızı oraya import ettiniz fakat tablo sayısına bakıyorsunuz oda ne farklılık var biri eksik biri fazla tek tek tablo isimlerinden bulmak oldukça zor işte bu noktada TSQL komutu yazarak iki veri tabanı arasındaki tablo farklarını görebiliriz.

Alpha diye bir ana veri tabanımız olsun Beta diye ikinci bir veri tabanımız olsun. Alpha da 97 tablo olduğunu varsayalım Beta veri tabanına import yaptınız 80 tablo kayıt geldi aradaki 17 tablonuz yani alınmayan tablolar hangileri şu şekilde görebilirsiniz.

SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE='BASE TABLE';

Bu sql sorgusu ile mysqlde tanımlı tüm tablolar, tipleri, versiyonları tablo kayıtları vs hepsini görebilirsiniz. Fakat bu sql komutu bizim sorunumuza çözüm değil sub query yazarak TABLE_SCHEMA kısmında arama yapıyoruz şöyle;

SELECT * FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_TYPE='BASE TABLE' 
and TABLE_SCHEMA='ALPHA' 
and TABLE_NAME not in 
(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_TYPE='BASE TABLE' 
and TABLE_SCHEMA='BETA');

Bunun benzerini MsSQL,Oracle vb veri tabanlarında kullanabilirsiniz.

Gördüğünüz gibi ALPHA veri tabanında tablo adı BETA da olmayanları göster dediğimizde aradaki farklı tabloları görmüş oluyoruz.

Burda yazımı bitiyorum. İyi çalışmalar dilerim.

İnsanlar, yazılımın ürün olmadığını, ürün üretmek için kullanıldığını anlayacaklar.

Linus Torvalds

Yazı hakkındaki düşünceleriniz nelerdir?