EclipseLink – 07 – Relationship – 01
Merhaba Arkadaslar
Bu bolumde Relationship/Iliski kavramini daha iyi anlayabilmek icin su kavramlari inceleyecegiz.
- Role
- Directionality
- Cardinality
- Ordinality/Optionality
Relationship/iliskiden kastimiz tabi ki Entity Relationship’tir.
Role
Bir iliski/relationship dusundugumuzde 2 tarafin varligindan soz edebiliriz. Her iliskide/ relationship birbirleriyle ilgili 2 tane Entity vardir. Her bir Entity bu iliskide bir rol oynar.
Ornek olarak Employee ve Deparment olmak uzere 2 tane Entity olsun. Employee , departmanda /ofiste calisma rolunu oynar ,Department ise iscilerin calistigi yer rolunu oynar. Bu ve benzeri ornekler cogaltilabilir.
Directionality
Bir iliskide bir Entity’in diger Entity’e isaret etmesi/gostermesi/pointer kavramidir. Eger bu 2 Entity’den sadece bir tanesi digerini gosteriyorsa bu durumda iliski unidirectional ‘dir. Eger ikiside birbirlerini gosteriyorsa bu durumda iliski bidirectional ‘dir.
Ornegin Employee ve Department Entity’leri arasinda iliski bidirectional olsun. Bunu su sekilde ifade edebiliriz ;
Benzer sekilde Employee ve Address Entity’leri arasinda unidirectional iliski olsun ve Employee Entity’si Address Entity’sini isaret etsin/gostersin. Bunu su sekilde ifade edebiliriz.
Directionality kavramini iliskiyi tanimlamak icin kullanmaktayiz. Tum bidirectional iliskiler bir cift unidirectional iliskiden olusur.
Cardinality
Cardinality in konumuzla iliskili olarak kelime anlami “nicelik”tir.
Dusunecek olursak bir departmanda birden fazla isci calisacaktir, fakat bir isci sadece bir tek departmana bagli olarak calisacaktir.
Bir baska ornek olarak Employee-Project iliskisi dusundugumuzde. Bir isci birden fazla projede calisabilir , benzer sekilde bir projede birden fazla calisan olabilir.
Employee – Department iliskini dusundugumuzde ManyToOne (birden fazla isci – bir departman) Cardinality durumu soz konusu olacaktir.
Employee – Project iliskisini dusundugumuzde ManyToMany (birden fazla isci – birden fazla proje) Cardinality durumu soz konusu olacaktir.
Diagramda many tarafini yildiz * ile , one tarafini 1(bir) ile ifade edebiliriz.
Bidirectional kavrami Directionality kavramina , ManyToOne ise Cardinality kavramina karsilik gelir.
Ordinality/Optionality
Ordinality/ Optionality kavrami bir iliskide, iliskili/associated Entity’in zorunlu/mandatory ya da secimlik/optional olup olmamasi durumudur.
Ornek olarak User ve BillingInfo adinda birbiriyle iliskili 2 tane Entity olsun. Her User icin bir fatura bilgisi (BillingInfo) olmak zorunda degildir, bu nedenle iliski optional’dir. BillingInfo her zaman User’a baglidir.
Yazimi burada sonlandiriyorum.
Herkese Bol Javali Gunler dilerim.
Be an oracle man , import java.*;
Levent Erguder
OCP, Java SE 6 Programmer
OCE, Java EE 6 Web Component Developer
Leave a Reply