lostyazilim
tr.link

ER Diyagramı çizme konusunda yardım

3 Mesajlar 3.301 Okunma
acebozum
tr.link

Referee Referee Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.10.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad Ö** A**
  • Mesajlar 504
  • Beğeniler 20 / 127
  • Ticaret 44, (%98)
Selamlar, bir problemim var ER diyagramını sağlıklı bir şekilde çizebilecek bir üye var mıdır acaba ?

Soru : Bir hayvanat bahçesi ile ilgili aşağıdaki bilgiler mevcuttur.

a- Değişik türde hayvanlar yaşamaktadır. Hayvanların bazı nitelikleri aynı olmakla beraber bazı nitelikleri de farklıdır.(Yaşam alanı gibi.)

b- Hayvanat bahçesinde çalışanlar (idari personel, bakıcılar, tanıtıcılar) olarak ayrılmaktadır.

c- Hayvanların bir sponsoru bulunmaktadır.

d- Ziyaretçiler göreceği hayvanları önceden planlamak durumundadırlar.

e- Hayvanlara ait saklanan genel bilgiler tanıtıcılar tarafından ziyaretçilere sunulmaktadır. (Nerede yaşadıklarıi ömürleri, ne ile beslendikleri vb.)

f- Hayvanların kaldıkları yerler belirlidir.

g- Bazı hayvanların bakım işleri vardır (Atım tımarı gibi..)

h- Tüm hayvanların yemek saati belirlidir ?


Bu tanımlara göre hayvanat bahçesi için tasarlanacak olan veritabanı için varlık kümeleri, bağıntıları, nitelikleri,... tipleri (tek değerli, çok değerli,oluşturulan, birleşik, tekil) ilişki tipleri, alt sınıf, zayıf ilişki kavramlarını dikkate alarak ER diyagramı oluşturun ?
 

 

elektronikssl
webimgo

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
a- Değişik türde hayvanlar yaşamaktadır. Hayvanların bazı nitelikleri aynı olmakla beraber bazı nitelikleri de farklıdır.(Yaşam alanı gibi.)

ANIMAL
ID
ANIMAL_TYPE_ID(FK)
ANIMAL_SPEC_ID(FK)
NAME
..
.
.
(Ortak olan özellikleri sıralarsınız)


ANIMAL_TYPE(Bu tablo union bir tablo olmalı, PARENT_ID, ID'ye bağlanmalı)
ID(PK)
NAME
PARENT_ID(FK)
ANIMAL_SPEC_ID(FK)

ANIMAL_SPEC
ID
SPEC_NAME

Mantıksal olarak a'yı şöyle tasarladım.

ANIMAL ana tablomuz, buna baglı tür(ANIMAL_TYPE) ve farklı yani kendine has özellikler için (ANIMAL_SPEC) fakat biraz kalıtım(Inheritance) 'ı kullanacağınızı ön görerek ve şiddetle tavsiye ederek, ANIMAL_TYPE üzerinede ANIMAL_SPEC_ID ekledim. Sebebi şu ; Mesela sizin Van Kedisi türünde bir Kediniz olsun, bu Kedi'nin türüne has olan tüm özellikleri direkt olarak ANIMAL_SPEC üzerindende rahatça ulaşabilesiniz ve gereksiz yere her VAN Kedisi türünde bir kedi eklediğinizde tekrar tekrar aynı türdeki özellikleri girmezsiniz.

ANIMAL_TYPE üzerindeki union ilişkinin sebebi ise Tür'lerin alt türleri ve birbirine bağlu olarak devam eden bir ilişkisi var. Bu ilişkiyi sağlamak içindir.


Bence oldu, oldukçada güzel :)

Geri kalan için malesef vaktim yok. Yarın sınavım var, sınavım geçsin, Ctesi yada Pazar akşamı diğerlerinide kalırsa arkadaşlardan dizayn etmenize yardımcı olurum.

Bu arada şu üç tablo için mükemmel bir Object Oriented tasarım yapılabilir ;)

Sınav yada Ödev sorusunuda direkt buraya olduğu koymanda pek etik değil. Tavsitem önce kendin bir şeyler çıkar sonra, bu soruya böyle bir çözüm getirdim, eksik yada yanlış yönlerini biz bulup, yardımcı olalım ve böyle devam edelim.

Sevgi ile,
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

Referee Referee Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.10.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad Ö** A**
  • Mesajlar 504
  • Beğeniler 20 / 127
  • Ticaret 44, (%98)

Turgay Can adlı üyeden alıntı

a- Değişik türde hayvanlar yaşamaktadır. Hayvanların bazı nitelikleri aynı olmakla beraber bazı nitelikleri de farklıdır.(Yaşam alanı gibi.)

ANIMAL
ID
ANIMAL_TYPE_ID(FK)
ANIMAL_SPEC_ID(FK)
NAME
..
.
.
(Ortak olan özellikleri sıralarsınız)


ANIMAL_TYPE(Bu tablo union bir tablo olmalı, PARENT_ID, ID'ye bağlanmalı)
ID(PK)
NAME
PARENT_ID(FK)
ANIMAL_SPEC_ID(FK)

ANIMAL_SPEC
ID
SPEC_NAME

Mantıksal olarak a'yı şöyle tasarladım.

ANIMAL ana tablomuz, buna baglı tür(ANIMAL_TYPE) ve farklı yani kendine has özellikler için (ANIMAL_SPEC) fakat biraz kalıtım(Inheritance) 'ı kullanacağınızı ön görerek ve şiddetle tavsiye ederek, ANIMAL_TYPE üzerinede ANIMAL_SPEC_ID ekledim. Sebebi şu ; Mesela sizin Van Kedisi türünde bir Kediniz olsun, bu Kedi'nin türüne has olan tüm özellikleri direkt olarak ANIMAL_SPEC üzerindende rahatça ulaşabilesiniz ve gereksiz yere her VAN Kedisi türünde bir kedi eklediğinizde tekrar tekrar aynı türdeki özellikleri girmezsiniz.

ANIMAL_TYPE üzerindeki union ilişkinin sebebi ise Tür'lerin alt türleri ve birbirine bağlu olarak devam eden bir ilişkisi var. Bu ilişkiyi sağlamak içindir.


Bence oldu, oldukçada güzel :)

Geri kalan için malesef vaktim yok. Yarın sınavım var, sınavım geçsin, Ctesi yada Pazar akşamı diğerlerinide kalırsa arkadaşlardan dizayn etmenize yardımcı olurum.

Bu arada şu üç tablo için mükemmel bir Object Oriented tasarım yapılabilir ;)

Sınav yada Ödev sorusunuda direkt buraya olduğu koymanda pek etik değil. Tavsitem önce kendin bir şeyler çıkar sonra, bu soruya böyle bir çözüm getirdim, eksik yada yanlış yönlerini biz bulup, yardımcı olalım ve böyle devam edelim.

Sevgi ile,


Selamlar, öncelikle cevabınız için çok teşekkür ederim. Kendim bir çalışma yaptım fakat doğruluğundan emin olamadım değilde, çok saçma olduğunu düşündüğüm için eklemek istemedim. Son paragrafta söylediklerinize tamamen katılıyorum ki bende olsam aynı yaklaşımı yapardım.

Ancak, şöyle bir durum var ki sınav yarın (3.6.2014) olduğu için ve bu soru elime dün (2.6.2014) de ulaştığı için, üzerinde çok kafa yormadan doğru çözüme ulaşmam gerekiyordu.

Tekrar yineliyorum, söylediklerinize tamamen katılıyorum, bende olsam aynı cevabı verirdim.
 

 

wmaraci
wmaraci
Konuyu toplam 3 kişi okuyor. (0 kullanıcı ve 3 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al