• 19-04-2020, 13:28:53
    #1
    Merhabalar, Composite Attribute ile mesela Adress niteliğini alt dallara bölmek istiyorum street vb. gibi, ER diyagramında bunu yapabiliyorum ancak SQL veritabanında nasıl yapacağımı tam olarak anlayamadım. Yani varlıkların niteliği oluyor biliyorum ama niteliğin niteliği SQL'de nasıl yapılıyor hiç anlamadım. Yardımcı olabilirseniz sevinirim. Kullandığım veri tabanı MYSQL
  • 19-04-2020, 13:43:18
    #2
    örneğin müşterinizin handi şehirde olduğunu ilişkilendirmek istiyoruz. musteri tablosuna o sehrin id sini tanımlıyoruz.

    #sehir tablosu
    sehirId
    sehirAdi

    #musteri tablosu
    musteriId
    sehirId
  • 19-04-2020, 13:47:43
    #3
    MCERAN adlı üyeden alıntı: mesajı görüntüle
    örneğin müşterinizin handi şehirde olduğunu ilişkilendirmek istiyoruz. musteri tablosuna o sehrin id sini tanımlıyoruz.

    #sehir tablosu
    sehirId
    sehirAdi

    #musteri tablosu
    musteriId
    sehirId
    Mesela resimde Customer varlığına ait 3 adet nitelik var gördüğünüz üzere ancak Customer_Name niteliğine 2 adet daha nitelik eklenmiş, bu nitelikleri veritabanına kodlarken nasıl yapıyoruz. Customer bir tablo, customer_id, customer_name, adress bu tablonun kolonları ancak attribute composite özelliği ile customer_name niteliğine 2 adet daha nitelik ekleniyor. Tam olarak anlayamadığım nokta burası
  • 19-04-2020, 14:53:19
    #4
    Reel de böyle bir tablo yapısı kullanmayız. Aşağıdaki gibi kullanılır.

    customer
    -customer_id
    -fname
    -lname
    -address

    şeklinde tutulur. Gereksiz çok fazla ilişkilendirme sorgu sayısını arttırır, performans ve kaynak sorunlarına yol açar. Ama illaki aynısını yapacağım derseniz.

    customer tablosu
    -customer_id
    -customer_name_id
    -address

    customer_name tablosu
    -customer_name_id
    -fname
    -lname

    customer_name alt niteliklere sahipse onuda ayrı bir tablo oluşturup, ilişkilendiriyoruz. customer ana tablomuza customer_name_id değerini atıyoruz.
  • 19-04-2020, 15:44:00
    #5
    MCERAN adlı üyeden alıntı: mesajı görüntüle
    Reel de böyle bir tablo yapısı kullanmayız. Aşağıdaki gibi kullanılır.

    customer
    -customer_id
    -fname
    -lname
    -address

    şeklinde tutulur. Gereksiz çok fazla ilişkilendirme sorgu sayısını arttırır, performans ve kaynak sorunlarına yol açar. Ama illaki aynısını yapacağım derseniz.

    customer tablosu
    -customer_id
    -customer_name_id
    -address

    customer_name tablosu
    -customer_name_id
    -fname
    -lname

    customer_name alt niteliklere sahipse onuda ayrı bir tablo oluşturup, ilişkilendiriyoruz. customer ana tablomuza customer_name_id değerini atıyoruz.
    Anladım teşekkür ederim, ERD Tool web sayfaları neden bu özelliği kullanıyor, amacı nedir bir fikriniz var mı?
  • 21-04-2020, 01:05:26
    #6
    mantiksal (logical) ve fiziksel (physical) model birbirinden farkli olur
    burada musteri ismi mantiksal, fname, lname fizikseldir.

    bir baska ornek
    a tablosu ile b tablasu arasinda many-to-many iliski varsa bunu modelleme programi sadece iki tablo seklinde gosterebilir
    bu fiziksele tasindiginda,
    a tablosu, b tablosu ve many-to-many iliskiyi saglayacak a_to_b_iliski tablosu olusturulur.
    mantiksal - a ve b tablosu
    fiziksel - a , b ve a_to_b tablolari gibi