İlişkileri tanımlamak ve tanımlamamak arasındaki fark nedir?


800

Farklılıkları tam olarak kavrayamadım. Hem kavramları tanımlayabilir, hem de gerçek dünya örneklerini kullanabilir misiniz?


11
Bu sorunun cevabı o kadar kafa karıştırıcı ki komik değil
Dennis

Güzel soru, tekerlek yeniden icat edilmedi: Peter Chen. Varlık İlişki Modeli, Birleştirilmiş Veri Görüşüne Doğru, 1976 § 2.3.2: "Varlıkları tanımlamak için ilişkiler kullanılıyorsa, buna zayıf bir varlık ilişkisi diyelim. Varlıkları tanımlamak için ilişkiler kullanılmazsa, msgstr " normal bir varlık ilişkisi ". OP sorusu aşağıdakilere dayanır: Zayıf / düzenli varlık ilişkileri nedir? .
dakika

Yanıtlar:


1063
  • Bir tanımlama ilişki bir çocuğun tablodaki bir satırın varlığı bir üst tablodaki bir satıra bağlıdır ne zaman olacağı. Bu da çocuğun tablo için bir pseudokey oluşturmak için bu gün yaygın bir uygulama olduğu için kafa karıştırıcı, ama olabilir değil çocuğun birincil anahtarın üst kısmına yabancı anahtar olun. Resmi olarak, bunu yapmanın "doğru" yolu, yabancı anahtarı çocuğun birincil anahtarının bir parçası haline getirmektir. Fakat mantıklı ilişki, çocuğun ebeveyn olmadan var olamayacağıdır.

    Örnek: A'nın Personbir veya daha fazla telefon numarası vardır. Sadece bir telefon numarası olsaydı, bir sütununda saklayabiliriz Person. Birden fazla telefon numarasını desteklemek istediğimizden PhoneNumbers, birincil anahtarı tabloya person_idreferans veren ikinci bir tablo yapıyoruz Person.

    Ayrı bir tablonun özellikleri olarak modellendikleri halde, telefon numaralarını bir kişiye ait olarak düşünebiliriz. Bu, bunun tanımlayıcı bir ilişki olduğuna dair güçlü bir ipucudur (kelimenin tam anlamıyla person_idbirincil anahtarına dahil olmasak bile PhoneNumbers).

  • Tanımlayıcı olmayan bir ilişki , üst öğenin birincil anahtar özniteliklerinin alt öğenin birincil anahtar öznitelikleri olmaması gerektiğidir . Bunun iyi bir örneği Person.state, birincil anahtarını referans alan yabancı anahtar gibi bir arama tablosudur States.state. Personile ilgili bir çocuk masasıdır States. Ancak bir satır Person, stateözniteliği tarafından tanımlanmaz . Yani state, birincil anahtarının bir parçası değildir Person.

    Tanımlayıcı olmayan bir ilişki isteğe bağlı veya zorunlu olabilir , yani yabancı anahtar sütunu sırasıyla NULL'a izin verir veya NULL'a izin vermez.


Ayrıca benim cevap bakınız etmek Hala Sigara belirlenmesi İlişkiler vs belirlenmesi Hakkında Confused


9
+1: Bill, "Bu günlerde bir çocuk masası için bir pseudokey oluşturmak yaygın bir uygulamadır, ancak çocuğun birincil anahtarının ana kısmının yabancı anahtarını yapmayın" - bunun neden olduğuna dair herhangi bir bağlantı? Google beni başarısızlığa uğrattı.
hobodave

17
"Doğru" tanımlayıcı ilişkiler kurmak, iğrenç derecede büyük birincil anahtarlara yol açacaktır. Örn. Binada Kat vardır Odada Yatak vardır. PK için Yatak (bed_id, floor_id, room_id, building_id) olur. Bunu pratikte hiç görmediğim ve hiçbir şey yapmanın bir yolu olarak önerildiğini duyma tuhaf görünmüyor. PK'da çok fazla veri var.
hobodave

24
@hobodave: Çok daha büyük olan çok sütunlu birincil anahtarlar gördüm. Ama anlıyorum. Çok sütunlu birincil anahtarların daha fazla bilgi verdiğini düşünün; herhangi bir birleştirme Bedsyapmadan tabloyu belirli bir binadaki tüm yataklar için sorgulayabilirsiniz .
Bill Karwin

2
@Eugene, evet bunun tanımlayıcı olmayan bir ilişki olmasını beklerdim. user_idtek başına birincil anahtar olmalıdır ve updated_byçok sütunlu birincil anahtarın bir parçası değildir.
Bill Karwin

4
Bunu asla modellemek için kullanmayacağım. En iyi yanıt aşağıdaki "aqsa rao" dan gelir: "Tanımlayıcı bir ilişki, alt tablonun üst öğe olmadan benzersiz bir şekilde tanımlanamayacağı anlamına gelir." Çünkü tanımınız insanları karıştırabilecek gereksiz anlamlar ekliyor. Belirleyici veya belirleyici olmayan bir ilişki yaratmanızın nedeni, varlıklar arasındaki bağımlılık değildir.
Sebastian

887

Gerçek dünyadan bir açıklama daha var:

Bir kitap bir sahibine aittir ve bir sahibi birden çok kitaba sahip olabilir. Ancak, kitap sahibi olmadan da var olabilir ve mülkiyeti bir sahibinden diğerine değişebilir. Bir kitap ve bir sahip arasındaki ilişki, tanımlayıcı olmayan bir ilişkidir.

Ancak bir kitap bir yazar tarafından yazılır ve yazar birden fazla kitap yazmış olabilir. Ancak kitabın bir yazar tarafından yazılması gerekiyor - yazar olmadan var olamaz. Bu nedenle, kitap ve yazar arasındaki ilişki tanımlayıcı bir ilişkidir.


2
İyi bir açıklama ama yine de örneği biraz genişletmenin öğretici olduğuna inanıyorum. Bir kitabın birkaç sayfası vardır. Sayfalar olmadan var olamaz ve bu nedenle bir kitap ile sahip olduğu sayfa sayısı arasındaki ilişkinin de belirleyici bir ilişki olduğu sonucuna varabiliriz. Ancak, sayfa sayısı özelliği kitap için herhangi bir tanımlama şemasının (anahtar) parçası olacak mı? Muhtemelen değil. "İlişki belirleme" terimi normal olarak ilişkisel terimlerle ilişkilendirilen öznitelikleri - asal öznitelikleri tanımlayan ilişkiler için ayrılmıştır .
nvogel

13
Kitap 1'den fazla yazar tarafından yazıldıysa ne olur? Artık ilişkiyi M: N tipi olarak tanımlamıyor, neden?
NGix

2
Bu gerçek örnekler işe yaramaz. ER'de tabloları nasıl oluşturduğunuz ve veri bütünlüğünün nasıl tutulacağını anladığınızda, bu örnekleri atarsınız. İki varlık arasında güçlü bir ilişki oluşturursanız, varlık tablosunda diğer varlıktan PK ile birleştirilmiş bir birincil anahtar oluşturmaya zorlarsınız. Modeliniz aynı kitabın birden fazla yazara sahip olmasına izin veriyorsa, güçlü olmak iyidir. Ancak modeliniz yalnızca 1 yazar 1 kitaba izin veriyorsa, güçlü bir ilişki kullanarak bu kısıtlamaya sahip olamazsınız PK(Book.id, Book.person_id).
Sebastian

2
ancak asıl kullanım "kitap yazar olmadan var olabilir mi?" Cevap gerçekte evet, çünkü insanlar kitabı doğrudan arayacaklar. Bu nedenle pratikte, bu durum için, her zaman "tanımlayıcı olmayan ilişki" olmalıdırlar.
windmaomao

3
neler oluyor çocuklar !!, Bu geçerli bir örnek değil the Identifying relationship !!! evet kitap yazar olmadan yazılamaz, ancak kitap tablosundaki yazar alanı kitap satırını KİMLİK DEĞİLDİR !!!
Muhasebeci م

33

Bill'in cevabı doğrudur, ancak diğer tüm cevaplar arasında kimsenin en önemli yönü belirtmediğini görmek şaşırtıcıdır .

Tekrar tekrar söylenir, ilişkide ve tanımlayıcı bir çocuğun ebeveyn olmadan var olamayacağı söylenir. (örneğin, kullanıcı287724 ). Bu doğrudur, ama noktayı tamamen özlüyor. Bunu başarmak için yabancı anahtarın geçersiz olması yeterli olacaktır . Birincil anahtarın bir parçası olması gerekmez.

İşte asıl sebep:

Belirleyici bir ilişkinin amacı , yabancı anahtarın ASLA DEĞİŞTİRİLMEMESİ , çünkü birincil anahtarın bir parçasıdır ... bu nedenle tanımlamak !!!


2
+1 "Yabancı anahtarın boş kalmaması, bunu başarması için yeterli olacaktır." O gerektiğini yeterli, ancak daha sonra bir tanımlama ilişki, ancak kullanmadığınız sürece doğru bir varlığın "İd" alanı sadece olmanın bir sonucu olarak 's benzersizliğini kaybeder çalışmıyor İdare Framework, gibi bir şey söz konusu olduğunda maalesef o değil bileşik anahtarın bir parçası.
Triynko

25

Tanımlayıcı ilişki, üst nesne olmadan bir alt nesnenin var olamayacağını belirtir

Tanımlamayan ilişkiler, nesneler arasında 1: 1 veya 1: n kardinalite arasında düzenli bir ilişki olduğunu belirtir.

Tanımlamayan ilişkiler, üst tablonun gerekli olmadığı durumlarda isteğe bağlı olarak veya üst tablonun kardinalitesini ayarlayarak bir üst öğenin gerekli olduğu durumlarda zorunlu olarak belirtilebilir ...


6
Bu, tanımlayıcı bir ilişkiden ziyade bir ilişkiye toplam katılımın tanımı gibi görünür.
Thomas Padron-McCarthy

1
Kelimenin tam anlamıyla 218k üne sahip biriyle rekabet ediyorsunuz. Sadece oraya atıyorsun çünkü ikiniz de benden daha fazlasını biliyorsunuz.
Marc DiMillo

Yukarıdaki tanımlara katılmıyorum. Üst öğesine bağlı bir nesneniz olabilir ve bu nesnenin yalnızca 1 üst satırla bağlantılı olmasını isteyebilirsiniz. A House, Walls'ye sahiptir . Evi kaldırıyorsun ve duvarların yok. Ancak bir duvar sadece bir eve aittir. Yani güçlü bir ilişki yapmak işe yaramaz: PK(Wall.id, House.id)modele aynı duvarı başka bir eve eklemenize izin verir.
Sebastian

15

İşte iyi bir açıklama:

İki varlık arasındaki ilişkiler ya "tanımlayıcı" ya da "tanımlayıcı değil" olarak sınıflandırılabilir. İlişkileri belirleme, üst öğenin birincil anahtarı alt öğenin birincil anahtarına dahil edildiğinde bulunur. Öte yandan, üst varlığın birincil anahtarı alt varlığa dahil edildiğinde, ancak alt varlığın birincil anahtarının bir parçası olmadığında tanımlayıcı olmayan bir ilişki vardır. Ek olarak, tanımlayıcı olmayan ilişkiler ayrıca "zorunlu" veya "zorunlu olmayan" olarak sınıflandırılabilir. Alt tablodaki değer boş olamazsa, tanımlayıcı olmayan zorunlu bir ilişki vardır. Diğer yandan, alt tablodaki değer boş olabildiğinde zorunlu olmayan tanımlayıcı olmayan bir ilişki vardır.

http://www.sqlteam.com/article/database-design-and-modeling-fundamentals

Tanımlayıcı bir ilişkiye basit bir örnek:

Parent
------
ID (PK)
Name

Child
-----
ID (PK)
ParentID (PK, FK to Parent.ID) -- notice PK
Name

İşte karşılık gelen tanımlayıcı olmayan bir ilişki:

Parent
------
ID (PK)
Name

Child
-----
ID (PK)
ParentID (FK to Parent.ID) -- notice no PK
Name

1
Cevabınız, Bill Karwin tarafından verilen Yabancı Anahtarın "değil" veya "olmamalı" arasındaki alt farkın Çocuk satırındaki Birincil Anahtarın bir parçası olması ile çelişiyor.
Nicole

@Andy White Ancak, tanımlayıcı bir ilişkide ebeveynin birincil anahtarı, üç sütunlu bir bileşik birincil anahtarın parçası olduğunda zorunlu olmayabilir, yani null olabilir mi?
Frederik Krautwald

10

user287724'ün cevabı , kitap ve yazar ilişkisine aşağıdaki örneği vermektedir:

Ancak bir kitap yazar tarafından yazılmıştır ve yazar birden fazla kitap yazmış olabilir. Ancak kitabın bir yazar tarafından yazılması gerekir, yazar olmadan var olamaz. Dolayısıyla kitap ve yazar arasındaki ilişki tanımlayıcı bir ilişkidir.

Bu çok kafa karıştırıcı örneğidir ve kesinlikle geçerli bir örnek değil bir için identifying relationship.

Evet, bir booken az biri olmadan yazılamaz author, ancak authorbir (yabancı anahtar) bookolduğu BELİRLENMESİ DEĞİLbook içinde booksmasaya!

Sen kaldırabilirsiniz authordan (FK) booksatır ve hala bazı diğer alan (tarafından kitap satırı belirleyebilir ISBN, ID... vs), ANCAK kitabın DEĞİL yazarı !!

Ben geçerli bir örneği identifying relationship(ürün tablosu) ve (belirli ürün ayrıntıları tablosu) arasındaki ilişki olacağını düşünüyorum1:1

products table
+------+---------------+-------+--------+
|id(PK)|Name           |type   |amount  |
+------+---------------+-------+--------+
|0     |hp-laser-510   |printer|1000    |
+------+---------------+-------+--------+
|1     |viewsonic-10   |screen |900     |
+------+---------------+-------+--------+
|2     |canon-laser-100|printer|200     |
+------+---------------+-------+--------+

printers_details table
+--------------+------------+---------+---------+------+
|Product_ID(FK)|manufacturer|cartridge|color    |papers|
+--------------+------------+---------+---------+------+
|0             |hp          |CE210    |BLACK    |300   |
+--------------+------------+---------+---------+------+
|2             |canon       |MKJ5     |COLOR    |900   |
+--------------+------------+---------+---------+------+
* please note this is not real data

Bu örnekte Product_IDde printers_detailsmasaya bir FK referanslar olarak kabul edilir products.idmasa ve AYRICA bir PK içinde printers_detailsmasa, bunun nedeni tanımlayıcı bir ilişkidir Product_IDyazıcılar tabloda (FK) BELİRLENMESİ IS çocuk tablonun içinde satır, biz kaldıramazsınız product_idbunun birincil anahtar kaybetti çünkü çocuk tablosundan herhangi satırı daha tanıyamıyor nedeniyle

2 satıra koymak istiyorsanız:

tanımlayıcı bir ilişki, alt tablodaki FK, alt tabloya hala başvururken alt tabloda bir PK (veya tanımlayıcı) olarak kabul edildiğinde ilişkidir.

Başka bir örnek , bazı ülke veritabanı için bir ithalat ve ihracatta 3 tablonuz (ithalat - ürünler - ülkeler) olduğunda olabilir

importTablo (bu alanları vardır çocuktur product_id(FK), country_idbirimler, ulaşım yolunu (hava, deniz) İthal (FK), ithalat miktarını, fiyatını) we may use the (product_id , theher tanımlamak için country_id`) Burada "her ikisi de aynı yıl" ise, her iki sütun da alt tabloda (içe aktarma) bir birincil anahtar oluşturabilir ve ayrıca üst tablolara başvurabilir.

Lütfen mutluyum ve nihayet kavramını anlıyorum identifying relationshipve non identifying relationshipbu yüzden lütfen bana tamamen geçersiz bir örnek için tüm bu oylamalarda yanlış olduğumu söyleme

Evet mantıklı olarak bir kitap yazar olmadan yazılamaz, ancak yazar olmadan bir kitap tanımlanabilir, Aslında yazarla tanımlanamaz!

Yazarı% 100 kitap satırından kaldırabilir ve yine de kitabı tanımlayabilirsiniz! .


5
Haklısınız, eğer sadece kitaplarınız ve yazarlarınız varsa. Orada tanımlayıcı bir ilişki yok. Ancak, çoktan çoğa ilişkiyi temsil etmek için üçüncü bir tablo kullanırsanız, bu üçüncü tablonun birincil anahtarı, kitaplar tablosuna ve yazarlar tablosuna başvuran iki yabancı anahtardan oluşur. Bu tablonun hem kitaplar hem de yazarlar ile tanımlayıcı bir ilişkisi vardır. Stackoverflow.com/questions/2814469/…
örneğime

8

Belirleyici olmayan ilişki

Tanımlayıcı olmayan bir ilişki, çocuğun ebeveynle ilişkili olduğu, ancak kendi başına tanımlanabileceği anlamına gelir.

PERSON    ACCOUNT
======    =======
pk(id)    pk(id)
name      fk(person_id)
          balance

HESAP ve KİŞİ arasındaki ilişki tanımlayıcı değil.

İlişki belirleme

Belirleyici bir ilişki, ebeveynin çocuğa kimlik vermek için gerekli olduğu anlamına gelir. Çocuk sadece ebeveyn nedeniyle var olur.

Bu, yabancı anahtarın da birincil anahtar olduğu anlamına gelir.

ITEM      LANGUAGE    ITEM_LANG
====      ========    =========
pk(id)    pk(id)      pk(fk(item_id))
name      name        pk(fk(lang_id))
                      name

ITEM_LANG ve ITEM arasındaki ilişki tanımlanıyor. ITEM_LANG ve LANGUAGE arasında da.


2
PERSON ve ACCOUNT nasıl tanımlanmıyor? HESAP KİŞİ olmadan nasıl var olabilir?
MrRobot9

önceki yorum için neden cevap yok? @ MrRobot9
AAEM

4

Üst öğe silindiğinde alt öğenin silinmesi gerektiğini düşünüyorsanız, tanımlayıcı bir ilişkidir.

Ebeveyn silinmiş olsa bile alt öğe saklanmalıdırsa, tanımlayıcı olmayan bir ilişkidir.

Örnek olarak, kursiyerler, eğitimler, diplomalar ve eğitim oturumları içeren bir eğitim veri tabanım var:

  • kursiyerlerin eğitim oturumlarıyla tanımlayıcı bir ilişkisi vardır
  • eğitimlerin eğitim oturumlarıyla tanımlayıcı bir ilişkisi vardır
  • ancak kursiyerlerin diplomalarla tanımlayıcı olmayan bir ilişkisi var

Sadece ilgili stajyer, eğitim veya diplomadan biri silinirse eğitim oturumları silinmelidir.


3

Tanımlayan akrabalık, çocuk varlığın tamamen ana varlığın varlığına bağlı olduğu anlamına gelir. Örnek hesap tablosu kişi tablosu ve kişisel hesap Kişi hesap tablosu yalnızca hesap ve kişi tablosunun varlığıyla tanımlanır.

Tanımlamayan ilişki, alt tablonun üst tablo örneğinin varlığı ile tanımlanmadığı, hesap türü ve hesap tablosu olarak account.accounttype tablosu tanımlanmadığı anlamına gelir.


2

Aşağıdaki bağlantıda iyi açıklandığı gibi, tanımlayıcı bir ilişki, ER kavramsal modelinde ebeveyniyle zayıf bir varlık türü ilişkisine benzer. Veri modelleme için UML stili CAD'ler ER sembolleri veya kavramları kullanmaz ve ilişki türleri şunlardır: tanımlayıcı, tanımlayıcı olmayan ve spesifik olmayan.

Bunları tanımlamak, çocuğun kendi türlerinde gerçek bir birincil anahtara sahip olmayan ve bu nedenle kendine özgü olarak tanımlanamayan zayıf bir varlık (geleneksel ER modelinde bile tanımlayıcı ilişki olarak adlandırılır) olduğu ilişkiler ebeveynidir. . Fiziksel modeldeki alt tabloya her erişim, ebeveynin birincil anahtarına bağımlı olur (anlamsal olarak dahil edilir), bu da çocuğun birincil anahtarının bir parçasına veya toplamına (ayrıca yabancı bir anahtardır) dönüşür ve genellikle bir bileşik anahtarla sonuçlanır. çocuk tarafında. Çocuğun nihai mevcut anahtarları yalnızca sözde veya kısmi anahtarlardır, ebeveynin PK'sı olmadan bu tür Varlık veya Varlık Kümesi örneğini tanımlamak için yeterli değildir.

Tanımlayıcı olmayan ilişki, tamamen bağımsız varlık kümelerinin sıradan ilişkileri (kısmi veya toplam) olup, örnekleri birbirlerinin benzersiz olarak tanımlanması için birincil anahtarlarına bağlı değildir, ancak kısmi veya toplam ilişkiler için yabancı anahtarlara ihtiyaç duyabilirler, ancak çocuğun birincil anahtarı olarak. Çocuğun kendi birincil anahtarı vardır. Üst kimlik. Her ikisi de bağımsız. İlişkinin temeline bağlı olarak, birinin PK'si diğerine (N tarafı) FK olarak gider ve kısmi ise, toplam ise boş olabilir, boş olmamalıdır. Ancak, böyle bir ilişkide FK, tanımlayıcı bir ilişki söz konusu olduğunda olduğu gibi asla çocuğun PK'si olmayacaktır.

http://docwiki.embarcadero.com/ERStudioDA/XE7/en/Creating_and_Editing_Relationships


2

Do çocuk yardımına ebeveynden göç niteliklerini belirlemek 1 çocuk?

  • Eğer evet : tanımlama-bağımlılık var, ilişki tanımlıyor ve alt varlık "zayıf" dir.
  • Eğer değil mevcut değildir kimlik-bağımlılık, ilişki tanımlayıcı olmayan ve alt varlık "güçlü".

Kimlik bağımlılığının varoluş bağımlılığını ima ettiğini, ancak bunun tersi olmadığını unutmayın. NULL olmayan her FK, ebeveyn olmadan bir çocuğun var olamayacağı anlamına gelir, ancak bu tek başına ilişkiyi tanımlamaz.

Bu (ve bazı örnekler) hakkında daha fazla bilgi için, ERwin Yöntemler Kılavuzu'nun "İlişkileri Tanımlama" bölümüne bakın .

PS Partiye (son derece) geç kaldığımı fark ettim, ama diğer cevapların ya tamamen doğru olmadığını (kimlik-bağımlılık yerine varoluş-bağımlılık açısından tanımlayan) ya da biraz kıvrımlı olduğunu hissediyorum. Umarım bu cevap daha fazla netlik sağlar ...


1 Çocuğun FK değeri, çocuğun PRIMARY KEY veya (NULL olmayan) UNIQUE kısıtlamasının bir parçasıdır.


1

Sipariş işlemeden iyi bir örnek gelir. Bir müşterinin siparişinde genellikle siparişi tanımlayan bir Sipariş Numarası, sipariş tarihi ve Müşteri Kimliği gibi sipariş başına bir kez gerçekleşen bazı veriler ve bir dizi satır öğesi bulunur. Her satır öğesi, bir sipariş içindeki bir satır öğesini, sipariş edilen bir ürünü, o ürünün miktarını, ürünün fiyatını ve satır öğesinin miktarını miktarla çarparak hesaplanabilecek bir öğe numarası içerir. fiyat.

Bir satır öğesini tanımlayan sayı, öğeyi yalnızca tek bir sipariş bağlamında tanımlar. Her siparişteki ilk satır öğesi "1" öğe numarasıdır. Bir satır öğesinin tam kimliği, öğe numarası ve parçası olduğu sipariş numarasıdır.

Siparişler ve satır öğeleri arasındaki ana çocuk ilişkisi tanımlayıcı bir ilişkidir. ER modellemesinde yakından ilişkili bir kavram, satır öğesinin bir sipariş subentitesi olduğu "subentity" adıyla geçer. Genellikle, bir alt öğenin bağlı olduğu varlıkla zorunlu bir çocuk-ebeveyn kimlik ilişkisi vardır.

Klasik veritabanı tasarımında, LineItems tablosunun birincil anahtarı (OrderNumber, ItemNumber) olur. Bugünün bazı tasarımcıları, bir öğeye birincil anahtar görevi gören ve DBMS tarafından otomatik olarak eklenen ayrı bir ItemID verecekti. Bu durumda klasik tasarımı tavsiye ederim.


0

Diyelim ki şu tablolarımız var:

user
--------
id
name


comments
------------
comment_id
user_id
text

Bu iki tablo arasındaki ilişki ilişkiyi tanımlayacaktır. Çünkü yorumlar diğer kullanıcılara değil, yalnızca sahibine ait olabilir. Örneğin. Her kullanıcının kendi yorumu vardır ve kullanıcı silindiğinde bu kullanıcının yorumları da silinmelidir.


0

Belirleyici bir ilişki iki güçlü varlık arasındadır. Tanımlayıcı olmayan bir ilişki her zaman güçlü bir varlık ile zayıf bir varlık arasındaki ilişki olmayabilir. Bir çocuğun kendisinin birincil anahtarı olduğu bir durum olabilir, ancak varlığının varlığı ana varlığına bağlı olabilir.

Örneğin: bir satıcı ile satıcının kendi birincil anahtarına sahip olabileceği bir kitabın satıldığı bir kitap arasında bir ilişki olabilir, ancak varlığı yalnızca bir kitap satıldığında oluşturulur

Bill Karwin'e dayanan referans


5
Burada "güçlü" ve "zayıf" bir varlık ile ne demek istediğinizi tanımlamanıza yardımcı olabilir.
nullabilite
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.