Sybase Power Designer ile Veritabanı Tasarımı

POWER DESIGNER İLE VERİTABANI TASARIMI

 

POWER DESIGNER; Veritabanımızı modellememizi yani görsel olarak tasarlamamızı sağlayan bir araçtır. Sadece bununla da kalmayıp referential integrity i sağlayan trigger ları ve stored procedure leri de oluşturabilmektedir. Yani tek bir tuşla veritabanımızı oluşturan bütün öğeleri (MetaData) seçilen veritabanımızın yönetim aracına aktarabiliyoruz . Bu öğeler; tablo , primary key , index , trigger , stored procedure , alan (column) v.b. elemanlardır .

 

Bu modelleme aracı başlıca 3 çeşit model ortamını desteklemektedir . Bunlar;

-         Conceptual Data Model (CDM) : Herhangi bir yazılımdan veya veri depolama yapısından  bağımsız genel anlamda bir mantıksal modeldir. Daha sonra PDM ye veya OOM ye çevrilebilir.

-         Physical Data Model (PDM) : Herhangi bir DBMS yazılımı veya veri depolama yapısını göz önüne alarak veritabanı yapısını fiziksel olarak oluşturur. Daha sonra CDM ye veya OOM ye çevrilebilir.

-         Object Oriented Model (OOM): Java veya diğer nesneye yönelik dilleri göz önüne alarak yapılan nesne tabanlı (object-oriented) modelleme . Daha sonra PDM ye veya CDM ye çevrilebilir.

Biz burada Fiziksel Modellemeyi kullanarak yeni bir veri tabanı oluşturalım,

 

POWER DESIGNER ı başlatıyoruz .

File -> New ile yeni bir model oluşturulur ve Physical Data Model seçilir .

 

 

VeriTabanımız DBMS seçilir . Burada görüldüğü gibi ilgili veri tabanlarının hepsi bulunmaktadır (Sadece FireBird yok , o da Interbase  6.0 seçilerek halledilebilir. ) .

 

 

OK lendikten sonra artık yeni veritabanımız oluşmuş demektir .

 

 

Burada sol tarafta Object Browser ımızı ve sağ tarafta ise tablolarımızı oluşturacağımız çalışma alanımız görülüyor. Palette yazan küçük pencere ise Tablo eklememize , tabloları ilişkilendirmemize v.b. işlere yarayan araç paletidir.

 

Tablo oluşturma: Paletteki table simgesine tıklayıp çalışma alanında uygun bir yere tıklayalım ve sağ tuşla fareyi eski haline getirelim.

 

 

 

Aynı işlemleri yaparak bir ikinci tablo oluşturalım.

 

 

Her bir tablonun üzerine çift tıklayarak o tabolaya ait özellikleri belirleyebiliriz. Ve General tabından tablonun adını belirleyelim ,

 

 

Not: Yaptığımız her işlem için yukarda ki pencerede de görüldüğü gibi UYGULA butonu ile değişiklikleri uygulayalım..

 

Sıra geldi bu tabloya ait olacak olan kolonlar yani alanları oluşturmaya.. Yine aynı yerde Columns tabından ilgili kolonları oluşturalım . Name kısmına alanın adı ve DataType kısmına ise veri tipini girelim . Eğer alanımız Birincil Alan olacak ise P kutucuğunu işaretleyelim. Alanımız Not Null yani mutlaka değer girilmesi gereken bir alan ise M (Mandatory - Zorunlu)  kutucuğunu işaretleyelim.

 

 

Her kolonun Properties özelliğinden veya kolon isminin üzerine çift tıkladığımızda karşımıza Column Properties gelecektir , burada ilgili alanın özelliklerini daha kapsamlı olarak oluşturabiliriz veya değiştirebiliriz .

 

 

Görüldüğü gibi alanın ismini , veri tipini eğer bir Domain oluşturmuşsak o domaini veri tipi olarak atayabiliriz .  

Domain oluşturmak aynı kolon  yani alan oluşturmak gibidir . Bunun için Model -> Domains menüsüne gidilerek oluşturulabilir.

 

 

Tekrardan kolon oluşturmaya dönelim . Detail tabından Computed yani hesplanmış alan oluşturulabilir (Computed kutucuğu işaretli olmak kaydı ile). Standart Checks tabından ise o alnın Minimum , Maximum , Default , Format v.b. gibi özellikleri oluşturulabilir.

 

 

Herhanig bir veya birden fazla alanı INDEX lemek için Index tabından index oluşturulur ve üzerine çift tıklayarak açılan properties penceresinden indexin adını , hangi alana ait olduğunu belirtebiliriz.

 

 

 

Interbase de herhangi bir alanı Autoincrement yapmak için ise Model -> Sequences dan otomatik olarak artacak olan değer oluşturulur.

( Sybase de bu işlem Colunun özelliğini Identity yaparak belirlenebiliyor )

 

 

Ve bu değeri ilgili alana atamak için ise Column Properties den Sequence comboboxundan oluşturduğumuz Autoincrement seçilir ve uygulanır. (Apply)

 

 

Yukardaki adımları takip ederek MUSTERI ve SATIS adında ve alanları belirlenmiş tablolarımızı oluşturalım .

 

 

Tablolarımızı biribirine bağlama işini ise Reference ile yapacağız .

 

 

Burada, MUSTERI (Ana Tablo) tablosunda ki MUSTERI_NO ile SATIS (Detay Tablo) tablosunda ki MUSTERI_NO alanları vasıtası ile bu iki tablomuzu ilişkilendirelim. Böylece bir Referential Intergrity oluşturmuş olacağız .

Tool Palette deki Reference ikonuna tıklayalım ve detay tablodan başlayarak ana tabloya doğru sürükleyelim. Bağlantı hazır . Bağlantının özelliklerine girmek için üzerine gelip çift tıklayalım.

 

 

General tabından ; Bağlantının adını (Name) , Ana Tabloyu (Parent Table) ve Detay Tabloyu (Child Table) kontrol edelim.

Joins tabından ise bağlantının hangi alan ile kurulacağını kontrol edelim.

 

 

Integrity tabında ise Referential Integrity nin trigger ile nasıl sağlanacağını belirleyebiliriz.

 

 

Kayıt Güncellenirken tetiklenecek sınırlandırma (Update Constraint) ve Kayıt Silinirken tetiklenecek sınırlandırma (Delete Constraint) belirlenir.

Son olarakta bu işlemler için oluşturulacak Trigger ları oluşturulur .

Tools -> Rebuild Triggers

 

 

ve bu oluşturulan Referential Integrity nin hangi tablolar için oluşturulması gerektiği belirilenir.

 

 

File -> SaveAll ile çalışmamızı kaydedelim.

 

Oluşturduğumuz bu modeli VeriTabanımıza aktaralım:

Database -> Generate Database

 

 

Tamam dedikten sonra Veritabanımıza ait oluşturduğumuz elemanları *.TEXT olarak daha sonra bir script ile kullanılmak üzere kaydediyoruz.

Aynı işlemler Trigger ve Stored Procedure oluşturmak için de yapıyoruz .

Database -> Generate Triggers and Porcedures

 

 

Anlaşılmayan yerler olabilir , bunun için şimdiden özür dilerim .

 

Saygılar..

 


bimeks borland component database delphi delphi.net delphi dersleri firebird help interbase makale oracle seminer software sybase veritabanı web