İki varlık arasında zorunlu, tanımlayıcı olmayan bir ilişkiyi nasıl oluşturabilirim?


3

MS Visio 2010'da çalışıyorum. Bu, ERD cihazımın ilgili kısmı:

ERD

Etkinlik ve Macera arasındaki ilişki doğrudur: Etkinlikten Maceraya yabancı bir anahtar var ve FK, Etkinlik'in ana anahtarının bir parçası.

Bununla birlikte, anlayamadığım şey, Adventure ile AccomodationType arasındaki ilişkiyi, Adventure ile PK arasındaki bir ilişki yapmadan, Event'den Adventure ile nasıl aynı hale getireceğimiz. Bu ilişki çizgisinin 'Çeşitli' özelliklerine baktığımda, şöyle olmasını istiyorum:

  • Kardinalite: Sıfır veya daha fazla
  • İlişki türü: tanımlayıcı değil
  • Çocuğun ebeveyni var: İsteğe bağlı değil (zorunlu)

Ancak üçüncü özellik için onay kutusu gri renktedir ve tanımlayıcı olmayan / tanımlayıcı bir ilişki kurarken Doğru / Yanlış arasında geçiş yapar.

Anlayabilmemin tek yolu, iki sütunu, 'İsteğe Bağlı' onay kutusunun işaretini kaldıran 'Tanım' sekmesinden çıkarmaktı, ancak daha sonra accomType sütunundaki yabancı anahtar özelliğini kaybettim ve ilişki simgeleriyken doğruysa, çizgi noktalı kalır.

Soldaki çizginin kardinalliğini sağdaki ilişki çizgisiyle aynı görünebilir, Macera PK'sına accomType eklemeden nasıl yapabilirim?

Yanıtlar:


1

Bu MS TechNet iş parçacığı , varlıklar arasında bir ilişki oluşturduğunuzda Visio 2010'un yabancı anahtarı otomatik olarak ekleme biçimiyle ilgili olarak sorunu tanımlamaktadır:

Gerçekten de, önce yabancı anahtar alan adını yazıp ardından ilişki kurmanın bunu mümkün kıldığı görülüyor. Yabancı anahtar üzerindeki Req'd'in işaretlenmesi / işaretinin kaldırılması, ardından otomatik olarak ilişkinin Opsiyonunu kontrol eder / işaretini kaldırır.

Diyagramınız üzerinde yeni bir ilişki oluşturmanıza veya var olan bir sorunu gidermeye çalışmanıza bağlı olarak, bu sorunu çözmenin iki yolu vardır.

Zorunlu, tanımlayıcı olmayan bir ilişki nasıl oluşturulur?

İlişkiyi oluşturmadan önce, istenen FK özniteliklerini, üst varlığın PK'sindeki aynı adları kullanarak, alt öğeye ekleyin. Her FK özelliği için "Req" seçeneğinin işaretli olduğundan emin olun.

Örneğinizde, Macera varlığına bir "ad" niteliği ekliyoruz:

Şimdi ilişkinin eklenmesi otomatik olarak FK'yi oluşturur, ancak Adventure'daki mevcut özniteliğin tanımlayıcı olmayan, isteğe bağlı olmayan durumunu korur:

Bu noktada istediğiniz gibi FK özelliğini yeniden adlandırmakta özgürsünüz.

"Çocuğun ebeveyni: İsteğe bağlı" onay kutusunun hala gri olduğunu unutmayın. Bu noktadan sonra bile, ilişkinin özelliklerini ve / veya ilgili nitelikleri değiştirmek bazen istenmeyen yan etkilere neden olur ve yanlış karga ayak sembolünün tekrar "sıkışıp kaldığını" görebilirsiniz. Neyse ki, ilişkiyi silmek ve baştan başlamaktan daha hızlı bir yol var.

Mevcut bir ilişki nasıl düzeltilir

"Sıkışmış" karga ayak sembolü ile olan ilişkiyi seçin ve Veritabanı Özellikleri penceresindeki Tanım sekmesine gidin.

Üst ve alt varlıklarda PK ve FK niteliklerini bağlayan oklarla bir çizgi göreceksiniz. Her iki tabloda da bağlı özellikleri seçin ve orta sütundaki düğmeyi tıklatarak bağlantılarını kesin. Anahtar bir bileşikse, birden çok özellik çifti görürsünüz:

İlişkiye dahil olan tüm özniteliklerin bağlantısını kestikten sonra, Çeşitli sekmesindeki "Çocuk ana: İsteğe bağlı" kutusu tekrar etkin hale gelecektir. İsteğe bağlı ebeveynle özdeşleşmeyen ilişkinin özelliklerini ayarlayın, alt öğedeki FK özniteliklerinin "Req'd" olarak ayarlandığını iki kez kontrol edin ve ardından Tanım sekmesine geri dönün ve PK ve FK özniteliklerini yeniden ilişkilendirin :


-1

Visio, yeni ilişki oluştururken yabancı anahtar sütununu otomatik olarak ekler. İlişkinin zorunlu olarak değiştirilebilmesi için, sadece bu sütunun gerekli niteliğini ayarlayın (Varlık tekliflerinde, sekme sütunlarında).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.