none
primary key kullanmadan tabloları bağlama RRS feed

  • Soru

  • merhaba normal şartlarda iki tablonun bağlantısını yapmak için birbirlerine guid atanıyor.ancak ben bunun yerine tabloları birbirleriyle ilişkilendirmek için relation adında bir tablo oluşturdum,çünkü n tane personel bir departmana bağlı bu durumda her personel için departman detay tablosu oluşturup oraya kayıt yapmam gerekiyor, ve bunun gibi diğer tablolar içinde her tablonun detayı olucaktı tablo fazlalığı olmaması için bende bu şekilde yaptım

    relation table

    assetx                                    assetY

    personelId(123456)                 departmanId (6544521)

    personId(569656)                   departmanId(6544521)

    bu mantık doğrumu daha pratik varmı


    • Düzenleyen mustafa3434 24 Kasım 2013 Pazar 23:54 asd
    7 Ekim 2013 Pazartesi 17:31

Yanıtlar

  • Sen coka-coklu iliskiler icin kullanilan ara tabloyu kesfetmissin :) Tabii o tabloya Relation adini vermek pek mantikli degil. Tablolar Personel ve Departmanlar ise PersonelDepartman veya DepartmanPersonel daha uygun bir isim. Bu ornek zaten SQL serverin meshur ornek databasei Northwind'de var:

    Customers 1 > --- + 0*  Orders 0* +---< Employees

    Customers: primary key CustomerId,

    Employees Primary key EmployeeId

    Orders tablosunda: Primary key OrderID. CustomerId ve EmployeeID ile her iki tabloya referans var (baska alanlar olabilir ya da olamayabilir).

    Senin modelinde de:

    Personel: PersonelID, ...

    Departman: DepartmanID, ....

    PersonelDepartman: PersonelID, DepartmanID

    yani bir kisi N tane departmana uye olabilir, ve bir departmanin N tane personeli olabilir demek.

    Yok eger seninkinde bir personel sadece tek bir Departmana ait olabiliyorsa o zaman:

    Personel: PersonelID, DepartmanID, ...

    Departman: DepartmanID, ....

    • Yanıt Olarak İşaretleyen mustafa3434 8 Ekim 2013 Salı 10:36
    7 Ekim 2013 Pazartesi 21:12

Tüm Yanıtlar

  • Sen coka-coklu iliskiler icin kullanilan ara tabloyu kesfetmissin :) Tabii o tabloya Relation adini vermek pek mantikli degil. Tablolar Personel ve Departmanlar ise PersonelDepartman veya DepartmanPersonel daha uygun bir isim. Bu ornek zaten SQL serverin meshur ornek databasei Northwind'de var:

    Customers 1 > --- + 0*  Orders 0* +---< Employees

    Customers: primary key CustomerId,

    Employees Primary key EmployeeId

    Orders tablosunda: Primary key OrderID. CustomerId ve EmployeeID ile her iki tabloya referans var (baska alanlar olabilir ya da olamayabilir).

    Senin modelinde de:

    Personel: PersonelID, ...

    Departman: DepartmanID, ....

    PersonelDepartman: PersonelID, DepartmanID

    yani bir kisi N tane departmana uye olabilir, ve bir departmanin N tane personeli olabilir demek.

    Yok eger seninkinde bir personel sadece tek bir Departmana ait olabiliyorsa o zaman:

    Personel: PersonelID, DepartmanID, ...

    Departman: DepartmanID, ....

    • Yanıt Olarak İşaretleyen mustafa3434 8 Ekim 2013 Salı 10:36
    7 Ekim 2013 Pazartesi 21:12
  • teşekkür ederim çetin bey çok yardımcı oldunuz
    8 Ekim 2013 Salı 10:36