Ana içeriğe atla

IBEXPERT DataManager- Firebird Database Comparer ipuçları -2

IBEXPERT Data Manager aracının Firebird ve Interbase veritabanı üzerindeki kolaylıklarına bu blogtada devam ediyoruz.Bir önceki blogta yeni bir veritabanı edinerek (create database), araca kayıt etmiş (register database), görsel veritabanı tasarımını yapmıştık.Blogun değişik sayfalarında ise onlarca Firebird ve Interbase kullanarak benzeri başka bir web kaynağında olmayan Asp.Net Web uygulamalarıda yaptık vede yapmaya devam ediyoruz.

Şimdiki konumuz ise Comparer ! nedir comparer ? ; karşılaştırmak, olarakta türkçeleştirebildiğimiz bu sözcüğün IBEXPERT Data Manager için anlamı ise bir Table yada tüm bir Database içindeki veritabanı nesnelerini bir başka kaynak Table yada Database ile karşılaştırabileceğimiz anlamını taşımaktadır.Firebird veritabanını karşılaştırmakta nedir, bunu neden yapacak ve nerede kullanacağız ki ? sorularınıza yanıtı yazının devamında bulabilirsiniz...


Database Comparer Nedir ?
Projeniz Web yada Windows olsun, veritabanız ise Ms Sql, My Sql, Firebird, Interbase hangi birini seçerseniz seçin Comparer işlemi çalışan bir projede mutlaka başvuracağınız bir dizi işlemi barındırır.Peki ama neden ? Projeniz kullanıcılarınıza hizmet etmeye başladığı anda, veritabanınızda dolayısı ile çalışır ve kayıtlar ardı ardına eklenir.Fakat yazılımınızın geliştirme süreci asla bitmez mutlaka her hangi bir yerinde güncelleme yapacak yada yeni kayıt alanları oluşturacaksınızdır.Yazılım geliştiricilerinden akl-ı selim olanlar hiç bir zaman kullanıcı tarafında çalışır durumda olan veritabanı üzerinde geliştirme yapmazlar.Buna göre yedeklediği proje klasöründe Database şeması üzerinde çalışmasını yapar ve bittiğinde ise buraya dikkat "Kullanıcı tarafındaki veritabanını yada nesnelerini yazılımında yapılmış değişiklerle uyarlar, günceller vs". Buna göre bir eski, bir de yeni database anlatımı daha doğrudur.Comparer işlemi burada başlar, normalde Sql Script yazılarak bu Sql Database Manager araçlarında Query kısmında bu Sql Script çalıştırılarak karşıdaki database yenisiyle uyarlanmış olur.

Evet artık IBEXPERT Data Manager ile ücretisiz Firebird veritabanı üzerindeki karşılaştırma işleminin nasıl yapılabildiğini ve geliştirmelerimiz sonrasındaki güncelleme işlemlerini diğer bir veritabanına Sql Script ile nasıl uygulayacağız bir bakalım...

FirebirdDB_OLD - FirebirdDB_NEW
FirebirdDB_OLD veritabanımızı kullanıcı tarafındaki çalışan veritabanı olarak nitelendirebiliriz.Yandada görüldüğü üzere bu Firebird veritabanında sadece bir PROFILES adlı Table bulunmaktadır.











FirebirdDB_NEW veritabanımız ise üzerinde çalışarak yeni güncellediğimiz veritabanı olarak nitelendirebiliriz.Yandada görüldüğü üzere bu Firebird veritabanında 3 Table bulunmaktadır.











Her ne kadar bu örnekte güncelleme işlemi sadece  2  yeni Table Create edilmesi olsada,bu sayı daha fazla olabilecektir.Ayrıca Comparer işlemi sadece Table oluşturmak ile kısıtlı değildir.

Firebird Comparer;
IBEXPERT ile Comparer işlemlerini başlatmak için Tools menusunden Database Comparer komutu ile yandaki resimde açılan pencere ile karşılaşırsınız.Tıpkı yukarıdaki anlatımlara uygun olarak.Şimdi eski ve yeni diyebileceğimiz 2 veritabanımızı karşılaştırma işlemi için  Source Database(kaynak veritabanı) ve Target Database(hedef database) olarak belirtmeliyiz.Yandaki resme göre ben FirebirdDB_NEW(yeni oluşturduğum db) ile FirebirdDB_OLD(eski database) karşılaştırma işlemini Object to compare check edilmiş kısımlarda karşılaştıracak ve ne kadar değişiklik varsa bunların güncelleştirme Sql Script 'ini oluşturacağım.

Hazırlıklar tamamladığımızda Run komutu verildiğinde işlem dizisi IBEXPERT ile başlatılacaktır.


Script Executive;
Script Executive ile karşılaştırılan eski veritabanında tespit edilen nesnlerin Sql Script'i oluşturulmaktadır. Artık veritabanını uptade için olduka kolay bir Sql Script dosyası edinmeliyiz.

Şimdi Script Executive seçeneklerinde yer alan kayıt işlemi ile Sql Script'i  kaydebiliriz.Bu aynı zamanda veritabanı nesnelerinin güncellenecek olan veritabanına yeni nesnelerinin taşınmasından daha basit bir yöntemdir.


Script Executive penceresinde artık Sql Script run edildiğinde yeni nesneler eski veritabanına eklenmiş olacaktır.Fakat güncellenecek veritabanının mevcut sistemine ulaşmak ve IBEXPERT ile bağlantı kurarak Script run edilmesi gerekecektir.

Sql Script Code;

/* Server version: WI-V6.3.0.26074 Firebird 2.5
SET CLIENTLIB 'C:\Working\Databases\Libs-Firebird\Clients\fbclient.dll';
   SQLDialect: 3. ODS: 11.2. Forced writes: On. Sweep inteval: 20000.
   Page size: 8192. Cache pages: 2048 (16384 Kb). Read-only: False. */
SET SQL DIALECT 3;

CONNECT 'localhost:C:\FIREBIRDDB_OLD.FDB' USER 'SYSDBA' PASSWORD 'masterkey';

SET AUTODDL ON;

/* Create Table... */
CREATE TABLE CHEFS(CHEFID INTEGER NOT NULL,
CHEFNAME INTEGER);

CREATE TABLE DEPARTMAN(DPTID INTEGER NOT NULL,
DPTNAME INTEGER);

/* Create Primary Key... */
ALTER TABLE CHEFS ADD CONSTRAINT PK_CHEFS PRIMARY KEY (CHEFID);

ALTER TABLE DEPARTMAN ADD CONSTRAINT PK_DEPARTMAN PRIMARY KEY (DPTID);

/* Create(Add) Crant */
GRANT ALL ON CHEFS TO SYSDBA WITH GRANT OPTION;

GRANT ALL ON DEPARTMAN TO SYSDBA WITH GRANT OPTION;

      Bu Yazının Sponsorları









Yorumlar

Bu blogdaki popüler yayınlar

Firebird SQL Table oluşturma ve SQL komutları

2 nci  Firebird SQL veritabanı blogunda bu kez mevcut Firebird veritabanına ISQL ile bağlanmayı veritabanı nesnelerini oluşturmayı (create table), Kayıt eklemeyi (ınsert) ve kayıtları izlemeyi (show) ile önemli SQL komutlarını anlatmaya çalışacağım...

Firebird Veritabanı Nedir ? Nasıl Kullanılır

Firebird ücretsiz veritabanı kullanmaya ne dersiniz.Üstelik hiç bir süre ve veri sınırı olmadan kulağa hoş geliyor değilmi.Bu Blogta Borland açık kaynak interbase 6 sürümünden sonra ortaya çıkmış ve gelişimini sürekli sürdürmüş Firebird veritabanına bir göz atıcaz. İnternet üzerinde Firebird ile kaynağa çok sık rastlamazsınız artık bu blogtan Firebird ile ilgili bilgileri takip edebilirsiniz...

Asp.Net Access veritabanina resim ve nesne kaydetmek OLE Nesnesi

Ms Access ile ilgili geçmiş yazılarım arasında biraz vakit geçirmişseniz, Ms Access form uygulamaları yada veritabanı olarak kullanmayı sevdiğimi anlamışsınızdır. Birazdan size anlatmaya çalışacağım konu Ms Access veritabanı olarak kullandığımız bir Asp.Net Web projesinde resimleri ve dosyaları paket halinde veritabanının içine gömmek olacak.Neden bilmiyorum bu konuda Türkçe kaynak yok, merak etmeyin bu yazı size iyi gelecek...