SORU
2 EYLÜL 2009, ÇARŞAMBA


Birincil anahtar/yabancı Anahtar adlandırma

Dev grubumuz içinde şiddetli bir tartışma, Birincil ve Yabancı Anahtarlar için adlandırma kuralı ile ilgili. Temelde bizim grupta iki düşünce okulları vardır:

1:

Primary Table (Employee)   
Primary Key is called ID

Foreign table (Event)  
Foreign key is called EmployeeID

ya

2:

Primary Table (Employee)  
Primary Key is called EmployeeID

Foreign table (Event)  
Foreign key is called EmployeeID

Sütunların herhangi bir seçenek 1 Yukarıda tercih ederim () tablonun adı çoğaltmak için değil tercih ederim. Kavramsal olarak, özellik adları nesnenin adını kullanmayın diğer diller, önerilen uygulamaları bir sürü ile tutarlıdır. Yabancı anahtar EmployeeID (ya da Employee_ID Daha iyi olabilir) adlandırma Employee Tablo ID sütun olduğunu okuyucu söyler.

Diğerleri birincil anahtarın İsmi Nereden seçenek 2 tercih bazı sütun adı veritabanı boyunca aynı şekilde tablo adı öneki. Bunu anlıyorum, ama şimdi görsel olarak yabancı anahtar, birincil anahtar ayırt edemez.

Ayrıca, bence gereksiz var tablo adı, sütun adı, çünkü eğer bu tablo gibi bir varlık ve bir sütun gibi bir özellik ya da niteliğin bir varlık, sence bunun KİMLİĞİ öznitelik Employee, EmployeeID öznitelik bir çalışanı. ** 11 veya PersonGender onun ne benim iş arkadaşı sormak yok. Yaşı ne onu soruyorum.

Dediğim gibi, şiddetli bir tartışma ve üzerinde ve üzerinde ve başlıyoruz. Bazı yeni bakış açıları edinmek için ilgileniyorum.

CEVAP
2 EYLÜL 2009, ÇARŞAMBA


Eğer iki sütun her iki tablo (Kongre #2) aynı ada sahip, SQL sözdizimini KULLANARAK yazın ve bazı demirbaş gürültü bazı kaydetmek için kullanabilirsiniz:

SELECT name, address, amount
  FROM employees JOIN payroll USING (employee_id)

Sözleşmenin iyilik #2 başka bir argüman the relational model tasarlanmıştır yolu bu.

Her sütunun önemi. kısmen ile etiketleme iletti ilgili etki alanı adı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Google Developers

    Google Devel

    23 AĞUSTOS 2007
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008
  • tsweeney79

    tsweeney79

    21 Ocak 2008