Негизги ачкыч чет өлкөлүк ачкыч болушу мүмкүнбү?
Негизги ачкыч чет өлкөлүк ачкыч болушу мүмкүнбү?

Video: Негизги ачкыч чет өлкөлүк ачкыч болушу мүмкүнбү?

Video: Негизги ачкыч чет өлкөлүк ачкыч болушу мүмкүнбү?
Video: Know Your Rights: Family Medical Leave Act 2024, Апрель
Anonim

Негизги ачкычтар ар дайым уникалдуу болушу керек, чет өлкөлүк ачкычтар Эгерде таблица бирден көпкө байланыш болсо, уникалдуу эмес маанилерге уруксат берүү керек. колдонуу үчүн абдан жакшы болот чет элдик ачкыч катары негизги ачкыч эгерде таблица бирден көпкө эмес, бирден-бирге байланыш менен байланышса.

Ошол сыяктуу эле, биринчилик ачкыч ошол эле таблицада чет элдик ачкыч боло алабы?

түзүү а чет элдик ачкыч түзүү сыяктуу дээрлик оңой негизги ачкыч , мындан тышкары, SQL Server дагы бир нече эрежелерди киргизет чет өлкөлүк ачкычтар . Мисалы, чет элдик ачкыч шилтеме керек а негизги ачкыч же уникалдуу чектөө, бирок ошол шилтеме болот боюнча бол ошол эле стол же башка боюнча стол.

Ошондой эле, негизги жана тышкы ачкычтар кандай айырмаланат? А баштапкы ачкыч таблицадагы жазууларды уникалдуу аныктоо үчүн колдонулган атайын ачкыч, ал эми а чет элдик ачкыч эки таблица ортосундагы байланышты орнотуу үчүн колдонулат. Экөө тең түзүлүшү боюнча окшош, бирок ойношот башкача реляциялык маалымат базасынын схемасындагы ролдор.

Бул жерде сизде негизги ачкычсыз чет элдик ачкыч болушу мүмкүнбү?

Ооба. Биз болот түзүү а Чет элдик ачкыч жок ээ Негизги ачкыч ата-энелик столдо. Көпчүлүгүбүз туура эмес ойдобуз болот түзүү эмес, а Негизги ачкычы жок тышкы ачкыч ата-энелик столдо. Бул уникалдуу ID болот бол негизги ачкыч же уникалдуу ачкыч.

Чет элдик ачкыч дубликат болушу мүмкүнбү?

Баштапкыдан айырмаланып ачкычтар , чет өлкөлүк ачкычтар болот камтыйт дубликат баалуулуктар. Ошондой эле, алар NULL маанилерди камтыса жакшы болот. үчүн индекстер автоматтык түрдө түзүлбөйт чет өлкөлүк ачкычтар ; бирок, DBA катары сиз болот аларды аныктоо. Таблица бирден ашык камтылышына жол берилет чет элдик ачкыч.

Сунушталууда: