Erwin relation tipleri hakkında

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Erwin relation tipleri hakkında

Mesaj gönderen delphist »

S.a. Onaydın hocamın verdiği seminerler acaip şekilde yararlı ve kaçırdığıma çok pişmanım :( Bir kaç sorum olucak kafama takılan....

Many to Many Relation: Çoktan Çoğa Ana dosyadaki birden fazla kayda
karşılık Hedef dosyada birden fazla kayıt olabilmekte....

One to Many Relation: Yine Ana dosyada tek kayda karşılık Hedef dosyada
bir den fazla kayda tekabül etmekte.

One to One Relation : Burdada Ana dosyadaki bir kayda karşılık hedef dosyadada yine tek kayıt olmakta diye ben biliyorum....

Erwin de Many to Many için tool logical bölümde var peki diğer iki relation için herhangi bir tool var mı ve bu tool ile many to transformdaki gibi one to many transform gibi bir diyalog vs. var mı ben bulamadım...veya göremedim....

Acaba ben yanlış mı düşünüyorum...Fatura dosyasındaki bir kayda karşılık fatura kalem dosyasındaki birden fazla kayıt one to many ve ürün le fatura kalem arasında one to one bir relation yok mu yani bunun için ayrı bir tool var mı yok mu yoksa bizim kafamızda düşündüğümüz gibi mi oluşuyor hani yabancı olunca :) böle sorular sormak belki abes gelebilir ama merak ediyorum


Yardımlarınız için şimdiden teşekkür ederim..
onaydin

Mesaj gönderen onaydin »

Şimdi bizim müşteri tablomuzda bildik iki kuralımız olsun
1. Bir Firmaya birden çok fatura kesilebilir ve bir fatura sadece
bir firmaya kesilebilir, aynı no ile başka bir firmaya fatura kesilemez .
2. Bir faturada birden fazla ürün bulunabilir aynı şekilde bir üründe
birden fazla faturada bulunabilir.

Bunlardan birincisi tekten-çoğa ilişki iken ikincisi çoktan-çoğa ilişki.
Çoktan-çoğa ilişkiyi bir ara tablo yardımıyla oluşturuyoruz.
Örneğin FATURA_URUN de her iki tablonun primary keylerini alıp
adet ve birim fiyat alanlarını ekledik. Transformlara gelince
tekten çoğa ilişkide transform görememeniz normal çünkü
oluşturulması gereken bir ara tablo yok.

Esasında ERwin eski sürümlerinde transform özelliği yok.
Bu özelliğin tasarım aşamasında hız katmasının yanında
bir başka yönüde var.
Örneğin yukarda iki kural tanımladık, işte ERwin program başına
sizin çizdiğiniz nesnelerden cümle kurabiliyor buna bi de html olarak
vs. çıktı üretiyor. Ama biz yukarda cümleleri kurarken araya FATURA_URUN
diye birşey katmadık şimdi biz onu elle oraya koyarsak bu kuralı
Bir Firma birden çok FATURA_URUN e sahiptir
Bir Urun birden çok FATURA_URUN e sahiptir gibi
bir cümle kuracak.

Şöyle bir deneyelim

Resim

Logical tarafında ilişkiye çift tıkladığınızda general sekmesinde
tablolar arasında kullanılacak fiilleri belirtin.
Ardından
Tools -> Report Builder
-> New
Logical başlığı altında Relation Ship e çift tıklayın
sağ tarafa geçecek
Sağdakine tıklayın sonra sol üstte P harfi var tklayın
Parent to Child Rule
ve
Child to Parent Rule u tıklayın
Aşağı doğru ok işareti var onu seçin raporu oluşturacak

Parent to Child Rule Child to Parent Rule
A FATURA Sahiptir zero, one or more URUNs. An URUN Iliskilidir zero, one or more FATURAs.
A MUSTERI Sahiptir zero, one or more KARTs. A KART iliskilidir zero or one MUSTERIs.

sonucunu veriyor tabi gramer inglizce oldugundan tam uyusmuyor ama zaten bende
dogru dürüst fiilleri tutturamıyorum :)

Bir diğer örnek;
Resim
Company ve Person tabloları Subtype transform a tabi tutulmuşlar
eğer transformu reverse ederseniz bu tablolar yok olup ana tabloya eklenecekler.

Parent to Child Rule Child to Parent Rule
A CUSTOMER SAHIPTIR exactly 1 CREDIT_CARDs. A CREDIT_CARD AITTIR zero or one CUSTOMERs.
A PERSON evlidir zero or one ESs. An ES evlidir exactly one PERSON.
A PERSON babasidir exactly 3 COCUKs. A COCUK ogludur exactly one PERSON.
Cevapla